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 1.1.2 ()[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 web (en)Voir et modifier les données sur Wikidata
Politique de distribution Gratuit
Licence BSD 3-clauses (d)Voir 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 49000 é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 des 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]
  • Supporte les cookies sécurisés (session)
  • Entièrement compatible avec WSGI 1.0
  • Se base sur l'Unicode
  • 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()

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

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

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