.. _ref-flask:
Le framework flask
==================
Il existe de nombreuses librairies qui permettent de faciliter l'écriture de
sites web interactifs en Python: `Django `_,
`Webpy `_ ou `flask `_.
Dans le cadre de ce projet,
nous avons choisi `flask `_ qui a l'avantage d'être simple à apprendre tout en permettant de profiter de la puissance de python, un langage qui vous est déjà familier.
Flask
-----
Flask s'inspire de ce mode de fonctionnement et vous permet d'écrire un
programme en python qui répond aux requêtes HTTP faites par le navigateur.
.. literalinclude:: /flask/simple-flask.py
:language: python
Flask utilise des décorateurs python pour indiquer l'URL qui doit
être associée à une fonction python. Lorsque le serveur reçoit une
requête GET HTTP qui demande le fichier `/`, il exécute la fonction
`index()` qui retourne le contenu correspondant au fichier `index.html`.
Il en va de même pour la fonction `page()` qui est appelée automatiquement
par le serveur web dès que celui-ci reçoit une requête pour `page.html`.
Lancer l'application
--------------------
L'exemple ci-dessus est suffisant pour créer un petit site simple. Si le code python a été enregistré dans `mobility.py`, alors la commande suivante suffit à lancer un serveur local:
.. code-block:: console
flask --app mobility run
* Serving Flask app 'mobility'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment.[...]
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
Vous pouvez maintenant naviguer vers http://127.0.0.1:5000 pour visiter votre site web.
.. note::
Pour développer, il convient d'héberger votre site web en local.
Dans un second temps, nous vous expliquerons comment utiliser un pipeline d'intégration continue sur git.
.. only:: html
Continuez votre lecture avec le document :ref:`ref-mvc`.
.. spelling:word-list::
l'HyperText
l'URL
l'Internet
tutoriel