Sup exo
This commit is contained in:
parent
172da54505
commit
6e8e0c6230
|
@ -0,0 +1,86 @@
|
|||
status: hidden
|
||||
title: Python — Flask
|
||||
slug: Aecheth6
|
||||
robots: noindex
|
||||
|
||||
|
||||
# flask
|
||||
|
||||
Cours à distance sur [flask](https://palletsprojects.com/p/flask/).
|
||||
|
||||
C'est le 2ème cours sur flask, si vous avez raté le premier en gros on
|
||||
a utilisé [PyCharm](https://www.jetbrains.com/pycharm/) pour se créer
|
||||
un projet, ce qui à automatiquement crée un venv dans lequel on a fait
|
||||
un `pip install flask`. Pour ceux qui n'ont pas encore PyCharm, prenez
|
||||
la version pro, elle est gratuite avec votre adresse Sup'Internet.
|
||||
|
||||
|
||||
## Voix
|
||||
|
||||
Comme la dernière fois on va utiliser
|
||||
[Mumble](https://fr.wikipedia.org/wiki/Mumble), un logiciel libre de
|
||||
voix sur IP, prenez le temps de configurer le « push to talk » avant
|
||||
de rejoindre le salon.
|
||||
|
||||
Documentation pour se connecter : https://docs.framasoft.org/fr/jitsimeet/mumble.html
|
||||
|
||||
- Salon : Sup
|
||||
- Mot de passe : pomme@412
|
||||
|
||||
|
||||
## Chat
|
||||
|
||||
Comme la dernière fois on va utiliser IRC sur freenode sur le salon
|
||||
`#supinternet`. Utilisez https://kiwi.freenode.net si vous n'avez pas
|
||||
de client IRC (ne cliquez *pas* sur "j'ai un mot de passe", si vous
|
||||
n'avez pas de compte Freenode).
|
||||
|
||||
|
||||
## Étape 0 — Hello world
|
||||
|
||||
Suivez simplement le tutoriel officiel de flask jusqu'a avoir un hello
|
||||
world fonctionnel en localhost.
|
||||
|
||||
Utilisez [ngrok](https://ngrok.com/) et envoyez moi l'URL sur IRC pour
|
||||
que je valide cette étape.https://ngrok.com/.
|
||||
|
||||
|
||||
Rendus:
|
||||
|
||||
- Maxime : http://00b15430.ngrok.io/
|
||||
- Léo (Olyno) : http://afcb7f61.ngrok.io/
|
||||
- Raphael : http://f34f00ff.ngrok.io/
|
||||
- Ilan : http://279e0d80.ngrok.io/
|
||||
|
||||
|
||||
## Étape 1 — Templating
|
||||
|
||||
Créez deux templates `index.html` et `about.html`. Flask utilise
|
||||
[Jinja2](https://jinja.palletsprojects.com/en/2.11.x/templates/).
|
||||
|
||||
Utilisez `extends` pour avoir `base.html` avec vos tags html / head /
|
||||
title / ... et utilisez `extends` dans vos `index.html` et
|
||||
`about.html` pour simplement surcharger un block `body`.
|
||||
|
||||
|
||||
## Étape 2 — SQLite
|
||||
|
||||
Utilisez une base de donnée
|
||||
[SQLite](https://flask.palletsprojects.com/en/1.1.x/patterns/sqlite3/#sqlite3)
|
||||
dans laquelle vous crerez une seule table: `message`, avec une colonne `text`.
|
||||
|
||||
Implémentez deux routes: `POST /messages/` et `GET /messages/`.
|
||||
|
||||
Un `POST /messages/` permet d'ajouter un message (le message doit etre
|
||||
dans le corps de la requête) et un `GET /messages/` permettra
|
||||
d'obtenir tous les messages.
|
||||
|
||||
Le `POST` ne doit rien renvoyer. Le `GET` doit tout renvoyer sous
|
||||
forme d'une liste JSON contenant des objets JSON, de la forme:
|
||||
|
||||
```json
|
||||
[
|
||||
{"text": "Hello"},
|
||||
{"text": "world"}
|
||||
]
|
||||
```
|
Loading…
Reference in New Issue