Parmi les frameworks les plus populaires, il y a Flask. À la fois léger et puissant, il vous permet de créer des applications en quelques lignes de code. Alors de quoi s’agit-il ? Quels sont les avantages de Flask ? Et comment fonctionne-t-il ? Les réponses sont dans cet article.
Qu’est-ce que Flask ?
Flask est un micro framework open source écrit en Python. On parle de micro framework web parce que Flask ne propose par défaut que peu de fonctionnalités essentielles au développement web, comme la gestion des requêtes HTTP, le serveur web ou la gestion des cookies.
L’objectif est de conserver un noyau simple et léger, et surtout extensible. Il est donc possible d’ajouter des extensions supplémentaires en fonction des besoins de l’application web. Par exemple, une database, un système d’authentification, la gestion des téléchargements ou une validation de formulaire.
À l’origine, Flask est né d’un défi lancé par Armin Ronacher qui souhaitait réaliser un framework web ultra complet contenu dans un seul fichier Python. Le moins que l’on puisse dire, c’est que le pari a réussi. Et s’il est possible que la web application tienne dans un seul fichier Python, ce n’est pas forcément nécessaire.
L’idée est de pouvoir créer à la fois des apps en seulement 7 lignes de code ou beaucoup plus selon la complexité du projet.
Dans tous les cas, Flask offre aux développeurs un cadre de travail minimal pour qu’ils puissent créer des applications web de manière rapide, simple et efficace.
Quels sont les avantages de Flask ?
Flask figure parmi les frameworks les plus populaires de la communauté Python. Et pour cause, il a été élu « Framework web le plus populaire » par le Python Developers Survey en 2018. En outre, il est utilisé par certains grands sites, comme Pinterest ou Linkedin.
Alors pourquoi un tel succès ? Voici quelques explications :
- La légèreté : Flask est un framework léger qui ne prend pas beaucoup de place. Comme les fonctionnalités sont limitées, les développeurs ne sélectionnent que celles dont ils ont vraiment besoin.
- Les extensions : ce n’est pas parce que Flask est micro qu’il est limité. En effet, le framework propose une multitude de fonctionnalités, ce qui permet aux développeurs de concevoir une grande quantité d’applications.
- La personnalisation des web apps : avec ses quelques fonctionnalités par défaut, Flask ne prend que peu de décisions. C’est au développeur de choisir les extensions et d’apporter les modifications nécessaires. Cela permet alors de créer une application parfaitement sur-mesure.
Même s’il s’agit d’un framework léger, Flask offre toutes les fonctionnalités indispensables au développement web. Ce faisant, les développeurs disposent d’une base de travail solide.
Comment fonctionne Flask ?
L’installation
Pour installer Flask, il est préférable d’utiliser le langage de programmation Python 3.6 ou plus récent. Si vous utilisez une version plus ancienne, nous vous recommandons d’en changer.
Par ailleurs, il convient de créer et d’activer un environnement virtuel pour installer le framework dans cet environnement.
Une fois l’installation effectuée, les éléments suivants seront automatiquement intégrés :
- Le langage de modèles Jinja ;
- La boîte à outils WSGI Werkzeug (c’est l’interface standard de Python entre les applications et les serveurs) ;
- MarkupSafe pour éviter les attaques par injection ;
- ItsDangerous pour garantir l’intégrité des données ;
- Click pour écrire des applications en ligne de commande ;
En revanche, vous ne retrouverez pas Blinker, Python-Dotenv ou encore Watchdog.
L’utilisation
Après avoir installé Flask, il est possible de créer une application en toute simplicité. Mais comme vu précédemment, il faudra généralement ajouter différents plugins vous permettant de réaliser votre application.
Les tests
Une fois que l’application est prête, il est primordial de la tester en amont. À défaut de phase de test, il sera plus difficile d’améliorer le code existant.
À ce titre, pensez à programmer des tests automatisés. Cela permet d’apporter des modifications au fur et à mesure, tout en vérifiant si l’un des éléments du code se casse.
L’idée étant alors d’implémenter une démarche agile et d’avancer par itération.