From 8fdcd6c327753b61655c6d2b7230e4dc26aeb6bb Mon Sep 17 00:00:00 2001 From: tenzi Date: Fri, 16 Jan 2026 17:00:18 +0100 Subject: [PATCH] json vue html --- app.py | 47 ++++++++++++++++++++++++++++++++++++++++++++--- grabber.sh | 7 +++++-- ordinateur.py | 1 + 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index 64651d1..d1e9568 100644 --- a/app.py +++ b/app.py @@ -1,8 +1,27 @@ from fastapi import FastAPI, Request, HTTPException +from fastapi.responses import HTMLResponse +from fastapi.staticfiles import StaticFiles +from fastapi.templating import Jinja2Templates + import json from ordinateur import ordinateur + app = FastAPI() +ordi1 = ordinateur() + +app.mount("/static", StaticFiles(directory="static"), name="static") + + +templates = Jinja2Templates(directory="templates") + + +@app.get("/ordi1", response_class=HTMLResponse) +async def get_ordi1_info(request: Request): + return templates.TemplateResponse( + request=request, name="item.html", context={"ordi": ordi1} + ) + @app.post("/endpoint") async def receive_info(request: Request): # Lire le body brut @@ -16,10 +35,8 @@ async def receive_info(request: Request): except json.JSONDecodeError: raise HTTPException(status_code=400, detail="Invalid JSON") - # Debug print("Infos reçues :", data) - ordi1 = ordinateur() ordi1.mb_serial = data['HARDWARE']['mb_serial'] ordi1.hostname = data['HARDWARE']['hostname'] ordi1.cpu = data['HARDWARE']['cpu'] @@ -27,9 +44,33 @@ async def receive_info(request: Request): ordi1.memory_mb = data['HARDWARE']['memory_mb'] ordi1.ram_size = data['HARDWARE']['ram_size'] ordi1.ram_gen = data['HARDWARE']['ram_gen'] - ordi1.sizes = data['HARWARE']['sizes'] + ordi1.sizes = data['HARDWARE']['sizes'] + ordi1.cpu_freq_min = data['HARDWARE']['cpu_freq_min'] + ordi1.cpu_freq_cur = data['HARDWARE']['cpu_freq_cur'] + ordi1.cpu_freq_max = data['HARDWARE']['cpu_freq_max'] + ordi1.gpu_model = data['HARDWARE']['gpu_model'] + ordi1.chassis_serial = data['HARDWARE']['chassis_serial'] + ordi1.cpu_cores_nb = data['HARDWARE']['cpu_cores_nb'] + ordi1.cpu_threads_nb = data['HARDWARE']['cpu_threads_nb'] + ordi1.ram_number = data['HARDWARE']['ram_number'] + ordi1.ram_slots_nb = data['HARDWARE']['ram_slots_nb'] + ordi1.os = data['SOFTWARE']['os'] + ordi1.arch = data['SOFTWARE']['arch'] + ordi1.desktop = data['SOFTWARE']['desktop'] + ordi1.wm = data['SOFTWARE']['wm'] + ordi1.kernel = data['SOFTWARE']['kernel'] + ordi1.mac_adresse = data['SOFTWARE']['mac_adresse'] + + #Test print(f"Le serial de la mb est {ordi1.mb_serial}") print(f"Hostname est {ordi1.hostname}") print(f"Your cpu is {ordi1.cpu}") print(f"Le id de ce cpu est {ordi1.cpu_id}") + print(f"le memory en megabytes {ordi1.memory_mb}") + print(f"Voici numéro de ram {ordi1.ram_number}") return ({"status": "ok"}) + + +#@app.get("/ordi1") +#async def get_ordi1_info(): +# return ordi1 diff --git a/grabber.sh b/grabber.sh index dd95b83..9c39118 100755 --- a/grabber.sh +++ b/grabber.sh @@ -37,7 +37,7 @@ ARCH=$(uname -m) DESKTOP=$XDG_CURRENT_DESKTOP WM=$XDG_SESSION_TYPE KERNEL=$(uname -r) - +MAC_ADRESSE=$(ip link | awk '/ether/ {print $2; exit}') ##########SIMPLELOCAL#################### # Construire le JSON @@ -64,6 +64,7 @@ json_data=$(jq -n \ --arg desktop "$DESKTOP" \ --arg wm "$WM" \ --arg kernel "$KERNEL" \ + --arg mac_adresse "$MAC_ADRESSE" \ '{ HARDWARE: { hostname:$host, @@ -89,7 +90,8 @@ json_data=$(jq -n \ arch:$arch, desktop:$desktop, wm:$wm, - kernel:$kernel + kernel:$kernel, + mac_adresse:$mac_adresse } }') @@ -218,6 +220,7 @@ software() { echo "DESKTOP=$XDG_CURRENT_DESKTOP" echo "WM=$XDG_SESSION_TYPE" echo "KERNEL=$(uname -r)" + echo "MAC_ADRESSE=$MAC_ADRESSE" } >>$SUM hardware diff --git a/ordinateur.py b/ordinateur.py index b948020..b22d138 100644 --- a/ordinateur.py +++ b/ordinateur.py @@ -24,6 +24,7 @@ class ordinateur(): desktop = "" wm = "" kernel = "" + mac_adresse = "" '''