Sup exo
This commit is contained in:
parent
172da54505
commit
6e8e0c6230
86
content/pages/supinternet_flask1.md
Normal file
86
content/pages/supinternet_flask1.md
Normal file
|
@ -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
Block a user