Fiche technique | |
---|---|
Type de produit : | Cadre d'application |
Auteur : | Armin Ronacher |
Date de publication : | 2010 |
Introduction
Le Flask est un cadre d'application open-source entièrement écrit en Python fournissant les services nécessaires au développement Web. Toutes les applications Flask doivent créer une instance d'application. Le serveur Web transmet toutes les requêtes qu'il reçoit des clients à ces objets pour traitement, en utilisant un protocole appelé WSGI (Web Server Gateway Interface). L'instance d'application est un objet de la classe Flask. Les clients tels que les navigateurs Web envoient des demandes au serveur Web, qui à son tour les envoie à l'instance d'application Flask. L'instance d'application Flask a besoin de savoir quel code elle doit exécuter pour chaque URL demandée, elle conserve donc une cartographie des URL avec les fonctions Python. L'association entre une URL et la fonction la gérant s'appelle une route.
Voici les principales caractéristiques de Flask :
- Simplicité et légèreté : Flask est minimaliste et ne vient qu'avec les fonctionnalités de base nécessaires pour créer des applications web. Cela signifie qu'il impose peu de contraintes sur la structure du code, laissant aux développeurs une grande liberté d'organisation.
- Flexibilité : Flask n'a pas de dépendances lourdes, contrairement à d'autres cadres d'applications plus complexes comme Django. Il permet une grande flexibilité dans le choix des outils ou des bibliothèques que vous souhaitez intégrer.
- Extension via des modules : Même s'il est minimaliste, Flask peut être étendu avec des extensions pour ajouter des fonctionnalités comme l'accès à une base de données (avec SQLAlchemy par exemple), la gestion des authentifications, les sessions, les formulaires,...
- Routing simple : Flask utilise un mécanisme de routing (association d'URL à des fonctions spécifiques) très simple et intuitif. Les routes sont définies via des décorateurs.
- Facile à utiliser : L'API de Flask est conçue pour être simple et claire, ce qui facilite l'apprentissage et la prise en main.
- Prise en charge des modèles et des gabarits : Flask utilise Jinja2 pour gérer les gabarits HTML, ce qui permet de générer du HTML dynamique à partir de données Python.