Flask (framework)

Un article de Wikipédia, l'encyclopédie libre.
Flask
Description de l'image Flask_logo.svg.

Informations
Développé par Armin Ronacher (en)Voir et modifier les données sur Wikidata
Première version
Dernière version 3.0.3 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/pallets/flaskVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
État du projet En développement actif
Écrit en PythonVoir et modifier les données sur Wikidata
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Environnement Multiplate-forme
Langues Anglais
Type Framework webVoir et modifier les données sur Wikidata
Politique de distribution Gratuit
Licence BSD 3-clausesVoir et modifier les données sur Wikidata
Documentation flask.palletsprojects.comVoir et modifier les données sur Wikidata
Site web flask.palletsprojects.comVoir et modifier les données sur Wikidata

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].

Histoire[modifier | modifier le code]

Flask 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[modifier | modifier le code]

Flask se base sur deux modules (Werkzeug et jinja2) pour proposer plusieurs les fonctionnalités suivantes :

  • serveur de développement[8] et debugger ;
  • supporte les cookies sécurisés (session) ;
  • entièrement compatible avec WSGI 1.0 ;
  • documentation complète ;
  • déploiement aisé sur plusieurs hébergeurs[11] ;
  • ajout de fonctionnalités via les extensions[12].

Exemple[modifier | modifier le code]

Le 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 | modifier le code]

Références[modifier | modifier le code]

  1. « Release 3.0.3 », (consulté le )
  2. « Foreword — Flask Documentation (1.1.x) », sur flask.palletsprojects.com (consulté le )
  3. (en) « Les packages de PyPI taggés avec "Framework :: Flask". », sur pypi.org
  4. (en) « License », sur flask.pocoo.org (consulté le ).
  5. (en) Armin Ronacher, « Opening the Flask » [PDF], (consulté le ).
  6. (en) « Python Developers Survey 2018 Results », sur JetBrains (consulté le )
  7. (en) « Stargazers - pallets/flask », sur github.com (consulté le )
  8. (en) « Development Server », sur flask.palletsprojects.com (consulté le ).
  9. « Testing Flask Applications — Flask Documentation (1.1.x) », sur flask.palletsprojects.com (consulté le ).
  10. « Templates — Flask Documentation (1.1.x) », sur flask.palletsprojects.com (consulté le ).
  11. « Deployment Options — Flask Documentation (1.1.x) », sur flask.palletsprojects.com (consulté le ).
  12. « Extensions — Flask Documentation (1.1.x) », sur flask.palletsprojects.com (consulté le ).

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]