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

Flask

Informations
Développé par Armin Ronacher (en)
Première version
Dernière version 2.1.2 ()[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 (en)
Politique de distribution Gratuit
Licence BSD 3-clauses (d)
Site web flask.palletsprojects.com

Histoire

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

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 Unicode
  • Documentation complète
  • Déploiement aisé sur plusieurs hébergeurs[11]
  • Ajout de fonctionnalités via les extensions[12]

Exemple

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

Articles connexes

Références

  1. « Release 2.1.2 », (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 )
  • Portail de la programmation informatique
  • Portail des logiciels libres
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.