:PROPERTIES:
:ID:       26b04294-75e8-4043-a9a6-a20acd952963
:mtime:    20220526081400
:ctime:    20211230210035
:END:
#+title: Flask
#+filetags: :TODO:Python:Flask:

* Introduction
Flask est un micro-framework /open-source/ de développement web écrit en Python dont les caractéristiques sont les
suivantes :
 * Noyau simple et extensible (multiples extensions),
 * Basé sur les modules :
   * [[https://werkzeug.palletsprojects.com/en/latest/][Werkzeug]] : librairie complète permettant de réaliser des applications web [[https://en.wikipedia.org/wiki/Web_Server_Gateway_Interface][WSGI]],
   * [[https://palletsprojects.com/p/jinja/][Jinja2]] : Moteur de template pour le language Python.  
 * Licence BSD,

* Extensions
 * [[id:0eaaef80-51f9-4670-96c8-6a911efe152e][Flask-admin]]
 * [[id:5f41e674-eb59-4d69-981b-46a18cf28452][Flask-security]]

* Performance
Pour détecter les /bottlenecks/ :
 * [[https://werkzeug.palletsprojects.com/en/2.1.x/middleware/profiler/][Werkzeug profiler]] : Inspecteur basé sur /cProfile/ permettant de mesurer le temps passé dans chaque méthode.
   
* Référence
 * [[https://smirnov-am.github.io/flask-perf/][How to increase Flask performance - Alexey Smirnov]]
** Tuturiels
 * [[https://github.com/tecladocode/rest-apis-flask-python][REST APIs with Flask and Python - Github]]
