Suite de la web-app, python->page html avec Jinja2
This commit is contained in:
parent
685ba6a184
commit
6520c5aa55
@ -1,22 +1,74 @@
|
|||||||
[Vendredi 16 Janvier 2026]
|
[Vendredi 16 Janvier 2026]
|
||||||
|
|
||||||
|
1. [Commande du jour]
|
||||||
|
# uvicorn app:app --reload --host 0.0.0.0 --port 8000
|
||||||
|
|
||||||
ctrl + r = permets de regarder dans l'historique du terminal
|
ctrl + r = permets de regarder dans l'historique du terminal
|
||||||
ctrl + r + uvi = historique de uvicorn
|
ctrl + r + uvi = historique de uvicorn
|
||||||
|
|
||||||
semaine prochaine test avec api ia sur les servs du garage
|
(semaine prochaine test avec api ia sur les servs du garage
|
||||||
-> on demandera un résumé des infos qu'on lui envoie
|
-> on demandera un résumé des infos qu'on lui envoie
|
||||||
page de présentation avec une requête get (page)
|
page de présentation avec une requête get (page))
|
||||||
|
|
||||||
-----------------------------------------------
|
-----------------------------------------------
|
||||||
|
|
||||||
MVC (Model View Controller)
|
MVC (Model View Controller)
|
||||||
^ ^ ^
|
^ ^ ^
|
||||||
| | |
|
| | |
|
||||||
Ordinateur Dashboard app.py -> /enpoint
|
Ordinateur Dashboard app.py -> /enpoint
|
||||||
Utilisateurs
|
Utilisateurs
|
||||||
|
|
||||||
-----------------------------------------------
|
-----------------------------------------------
|
||||||
|
2. [Echauffement + démarrage à froid ce matin]
|
||||||
|
|
||||||
motif d'architecture logicielle destiné aux interfaces graphiques
|
motif d'architecture logicielle destiné aux interfaces graphiques
|
||||||
|
|
||||||
quoi mettre sur notre portfolio : app p2p / homeserver / un jeu / app agenda météo agenda
|
quoi mettre sur notre portfolio : app p2p / homeserver / un jeu /
|
||||||
|
|
||||||
|
app agenda météo agenda
|
||||||
|
|
||||||
|
ajout dans l'app.py pour importer les données de ordinateur.py
|
||||||
|
|
||||||
|
mise en commentaire pour test/remplacement de def init reload etc dans ordinateur
|
||||||
|
|
||||||
|
pip install requests (puis pip freeze dans le .txt)
|
||||||
|
|
||||||
|
-----
|
||||||
|
3. [JSON + Display avec local host]
|
||||||
|
|
||||||
|
test de nouvelle fonction app.get dans app.py return ordi1 (dépréciée dans la partie 4)
|
||||||
|
fonction pour afficher les données de Ordinateur sur une page HTML
|
||||||
|
Affiche sur une page web locale les infos de grabber via la section debug
|
||||||
|
|
||||||
|
|
||||||
|
de base : variable déclarée dans une fonction est locale et ne peux pas être accédée par une demande externe
|
||||||
|
|
||||||
|
si elle est déclarée dehors elle est globale
|
||||||
|
|
||||||
|
4. [LE RETOUR DU HTML (JINJA2)]
|
||||||
|
# -> pip install jinja2
|
||||||
|
jinja2 est un moteur de template HTML/python -> page html avec balises spéciales qui recoivent les données d'appli python
|
||||||
|
|
||||||
|
(il est possible d'intégrer un espace de virtualisation Python dans VScode)
|
||||||
|
créer un dossier templates dans le dossier grabber (stockage des pages html ex index.html)
|
||||||
|
|
||||||
|
Dans grabber : (ajout de la collecte de l'addresse mac :
|
||||||
|
ip link | awk '/ether/ {print $2; exit)'
|
||||||
|
|
||||||
|
Dans app.py :
|
||||||
|
from ordinateur import Ordinateur
|
||||||
|
from fastapi.templating import Jinja2Templates
|
||||||
|
from fastapi import Request as Req
|
||||||
|
from fastapi.responses import HTMLResponse
|
||||||
|
from fastapi.staticfiles import StaticFiles
|
||||||
|
|
||||||
|
|
||||||
|
templates = Jinja2Templates(directory="templates")
|
||||||
|
|
||||||
|
@app.get("/ordi1")
|
||||||
|
async def show_info(request: Req):
|
||||||
|
return templates.TemplateResponse("index.html", {"request": request, "ordi": ordi1})
|
||||||
|
|
||||||
|
# dans ce contexte request et ordi sont des paramètres qui sont envoyés/appliqués sur la page HTML, en l'occurence "index.html"
|
||||||
|
|
||||||
|
voir les commentaires dans mon app.py pour plus de clarté, assez chaud d'expliciter le code ici dans
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user