Flask (framework)
Flask est un micro framework open-source de développement web en Python. Il est classé comme microframework car il est très léger[2]. Flask a pour objectif de garder un noyau simple mais extensible. Il n'intègre pas de système d'authentification, pas de couche d'abstraction de base de données, ni d'outil de validation de formulaires. Cependant, de nombreuses extensions permettent d'ajouter facilement des fonctionnalités[3]. Il est distribué sous licence BSD[4].
Développé par | Armin Ronacher (en) |
---|---|
Première version | |
Dernière version | 3.1.0 ()[1] |
Dépôt | github.com/pallets/flask |
Assurance qualité | Intégration continue |
État du projet | En développement actif |
Écrit en | Python |
Système d'exploitation | Multiplateforme |
Environnement | Multiplate-forme |
Langues | Anglais |
Type | Framework web |
Politique de distribution | Gratuit |
Licence | BSD 3-clauses |
Documentation | flask.palletsprojects.com |
Site web | flask.palletsprojects.com |
Histoire
modifierFlask a été créé initialement par Armin Ronacher comme étant un poisson d'avril[5]. Le souhait de Ronacher était de réaliser un framework web contenu dans un seul fichier Python mais pouvant maintenir des applications très demandées.
En 2018, Flask était élu "Framework web le plus populaire" par le Python Developers Survey[6]. En janvier 2020, il cumulait plus de 59000 étoiles sur GitHub[7], plus que n'importe quel autre framework de développement web Python.
Fonctionnalités
modifierFlask se base sur deux modules (Werkzeug et jinja2) pour proposer plusieurs les fonctionnalités suivantes :
- serveur de développement[8] et debugger ;
- simplifie l'écriture de tests unitaires[9] ;
- moteur de template pour le rendu HTML[10], cf. Jinja (moteur de template) ;
- supporte les cookies sécurisés (session) ;
- entièrement compatible avec WSGI 1.0 ;
- se base sur Unicode ;
- documentation complète ;
- déploiement aisé sur plusieurs hébergeurs[11] ;
- ajout de fonctionnalités via les extensions[12].
Exemple
modifierLe programme de base pour utiliser Flask est :
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Hello world !"
if __name__ == "__main__":
app.run()
Bibliographie
modifier- Dominique Meurisse et Benoît Prieur, Python, Raspberry Pi et Flask - Données télémétriques et tableaux de bord web, Éditions ENI, , 793 p. (ISBN 978-2-409-03424-4, OCLC 1305943093, BNF 47080512).
Références
modifier- « Release 3.1.0 », (consulté le )
- « Foreword — Flask Documentation (1.1.x) », sur flask.palletsprojects.com (consulté le )
- (en) « Les packages de PyPI taggés avec "Framework :: Flask". », sur pypi.org
- (en) « License », sur flask.pocoo.org (consulté le ).
- (en) Armin Ronacher, « Opening the Flask » [PDF], (consulté le ).
- (en) « Python Developers Survey 2018 Results », sur JetBrains (consulté le )
- (en) « Stargazers - pallets/flask », sur github.com (consulté le )
- (en) « Development Server », sur flask.palletsprojects.com (consulté le ).
- « Testing Flask Applications — Flask Documentation (1.1.x) », sur flask.palletsprojects.com (consulté le ).
- « Templates — Flask Documentation (1.1.x) », sur flask.palletsprojects.com (consulté le ).
- « Deployment Options — Flask Documentation (1.1.x) », sur flask.palletsprojects.com (consulté le ).
- « Extensions — Flask Documentation (1.1.x) », sur flask.palletsprojects.com (consulté le ).
Articles connexes
modifierLiens externes
modifier