Flask (framework)

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

modifier - modifier le code - voir Wikidata (aide) Consultez la documentation du modèle

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

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 les fonctionnalités suivantes :

  • serveur de développement[8] et debugger ;
  • 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 ;
  • 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()

Bibliographie

  • 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)Voir et modifier les données sur Wikidata

Références

  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

  • Django (framework)
  • Jinja (moteur de template)

Liens externes

  • Site officielVoir et modifier les données sur Wikidata
v · m
Python
Implémentation
Framework
IDE
Organisations
Autres
v · m
Python
PHP
Ruby
Perl
Smalltalk Seaside
JavaScript
Côté serveur
Côté client
CSS
Java
.NET
  • icône décorative Portail de la programmation informatique
  • icône décorative Portail des logiciels libres