From 7f5a13694bd70b89c5f1d4846c9334f0b4cd9437 Mon Sep 17 00:00:00 2001 From: ramzcaca Date: Thu, 22 Jan 2026 11:35:33 +0100 Subject: [PATCH] wip website --- __pycache__/app.cpython-313.pyc | Bin 0 -> 2710 bytes __pycache__/grabber.cpython-313.pyc | Bin 0 -> 1487 bytes app.py | 39 ++++++++++++++-------- grabber.sh | 8 ----- templates/item.html | 48 ++++++++++++++++++++++++++++ 5 files changed, 73 insertions(+), 22 deletions(-) create mode 100644 __pycache__/app.cpython-313.pyc create mode 100644 __pycache__/grabber.cpython-313.pyc create mode 100644 templates/item.html diff --git a/__pycache__/app.cpython-313.pyc b/__pycache__/app.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aa4832a872f6b19c94993858e427b79ecc2b7ae3 GIT binary patch literal 2710 zcmaJ?U2Gdg5Z=8z|6J~DC(cjXI3#YG6ih_|O(I$ms7jKOI&E6{5`vUS*2TWW*VuPv z@6xoEkW#4B01qTW&{jesNJx}79{YmC1H9Wxq?(0_BKp#|KzINNBxcV($5@D!Zf|zJ zncbP4*_r)7pb5bU{r#pM@gnpKTe!nlCH8|Dp^uP)6g-9EnBX`^xHwPvDC2QcLfk_< z4$V(_<38eZXkp497m4W5o~b6%1hU>KDJ~N^iWYD$8mVqi0tqUxR z5l>^7n@+=d3nFkN#v!2vxo(eU*yGrNu1hKM2-wbs5?J7dIVISMt_Zc0!=Uwa1+Sl# zP=i+UzqHzxJ+YQ2Od-Zo-#OK?&t5)HeF^Q&Rn4+#U~*>W^2D{2mbZ1&h+!&E&Ro2Z z(5$>^SQ@M)#a3-SbxzM}7A!+?-MFHjoY8XmtZHl4H1K?{5p{7!L;f}!R#D%!4cK^)YKbl%hroBBw_qEz(?92X(T=pFd>zu^!%hN2MIS(K=k zaKun8Jm(?E86Kgl_#=MWBO?RP!>Tf7v3pTb)Q#o^m!Dv#G>l$!AZ>87oFaHY!r+1O zIFvBUD_%y;%dTqHO+f^huL1MBQh@mzFtH938!#u~84h|)4VYA?CpBO-t3Xd~zyfu8 zfd(vC!vrPRfQ9O?Py^Onhc!1~Ep=E+0~W5s!VOrfiyg#JX+5~_M9o%L4xu0#;trx* zr`J}e_soI3OZ{63;Uc=MJj@IW&Esm}xLO!HIB%)}(77qn0oWh^xG`xgf z=6lc*evx0ou|w1PCgg5GK5txAvwAujS1wJ*I4ZH%vT7w$W?G}(v}UV%mii~pCdTK^ zCMKv~xpZ!(LS;7( zy3xo=t&&DoPQ6As)1rb(QW+|xHEYE-^GVIPN`q^iM3N<(M(^bo;+a{K)7O=2K8i3W_5_& z&A7&{WP%Wr5SAO%W0JJ~0u|UjP#zp39gN*vb3JLS=AaVMaNP}5dE^L)l1?^7*wn=) zR>`Ta>K^6RawN()Vs0^6F*@cUEX@cj*HlQWwo19o8s)4ti&+$9gZ2()%$znz)LbE@ zrqn@Z_26=)C=ROm{6PLXm7xr3`c*Bd8%rh`23__HtuaW5Cukk*c~SVt?XIn^54#^o zJ?rB?3gSlJ&8a;v?-|EGhFU);yjQr>w-f5w5cd42DY$W^Bpz9RwJZjz)T5Tx&G=UL z&54`wa&vg|rL7Q<=gY0_o0+XqATN}k>e-g=CT~vc3Z3PiqubAwdY)&Cu5x#@cyzeb zJ;GLz|675PuyxWNG8}krtJ68Ktz+}8Qd>XJ7t5iRVz{>yI_Ah69RC;`y6{Q+ zr=52@@5sfb{$1fX_*j&CKOgzx%x7ncy+g&O;ay?mk=(YKE=rN25c%y4lB0k8E+e@a z?xZC3>?6!>BN(~Ie>GhSjuri5dpu+PWgUmhe7kL;8-I+)PYbt0Kz-3MK8n5`dl|@Y zM|&nB{C5!^=z@39$)f*mG~=*OrP0g-RT+s|3voHnq48{8Sx~qEZUkBs8-2)m?EG{= z)S=T2Wb9lv#yMF;1$J_bCoJ@|*=?e3whddne2F!G!rB`RyGXT(>&7x+HIei))K^VTA@!*zXRaEy zQe##2ey9Y-|4BsZ#s!{Zs2=35|a*N48f=^2v4adw=MC zaozI>3%3s6IJ|LU2Y2joM{(D-Zy&*LpGVvwhp{(_5$Cye=*FRq!#g;<$6@>izB32u P2Y)8k`m4htV_?@m5lCHH literal 0 HcmV?d00001 diff --git a/__pycache__/grabber.cpython-313.pyc b/__pycache__/grabber.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..80c97c2cf6d9143d313a10c6ca2d6e18d9d0dd42 GIT binary patch literal 1487 zcmb_cyKdVs6s2t0k>8FJw~kY!MuxUt;;BG~qC-*i6~K$u0t6$|wh%oWQp#)6)ISK& zU&!BdG}xs;rffxwqUhFpCCiDEpi>B(l|HiK*=pk^E{xYmseYX4=HezJxb%h|Eaq>X#_{7IHeYxtJY;I3r((&`iiSHIX$l zLI>mkdB6(502Ba4KnYL=Q~*^#4NwQH0vdodGutL&-PD1bW)Ap~nFoGst^l`819-zM zi1w)1Evc0cg6-{bahZcUl-9A*!mvKnS-=eUeMUy)T-@p7qAQ%X@;k zrxvqV&+-SnH%eAbe|IJ)sxst(HKsCjT_#Rcb8ft|6mFp#mJ*SvQJsMxcaCkTB4I#^ zC@iRsstlwIISzw?f8?opYL!OXm{dc;^#5=9h5_D-WYdX5UIr`(rK&F0kDs3`uRgyC z5WMF=uUGHFmxThTyJ$$YUeQEQ?F2 z+Ns~&xz5A57UkGKian)jq;A)-?IoA^Q}?@@%AnL^E~iu#DRuop=%6lBdJr;aK2xJ~ zXbTy@QE|_Q>4LjQ;Sg=+sDd>K@jdRSJW6|zge+fhsY)0M#)7kfRIB(f6#O9Mo^?W9 z+q)gILUB9fvSVdHQ&4H2a#e_x;|Ed|QF@^ZO{X%xR5}yZSd|7`?g##aa_>-8k8BTa zE_Ip5Mv#`@=fdNTsNhjFkeWyvNbzlZ3Q9F8#S3X$lm&sX_ricnN|WALw1vP{jtRR= zN}#V~T3?GkB~+L|yN`b3MBI0A72T{VTfR56M-wLSejD*Q%RnZT#+|*WUKy{GPyI%`g39p^Na9ia W%4(W+LDqhd+8=#Ot6dSG*yJBemTuAj literal 0 HcmV?d00001 diff --git a/app.py b/app.py index c2b59d3..38c48f3 100644 --- a/app.py +++ b/app.py @@ -8,15 +8,8 @@ from grabber import Grabber app = FastAPI() app.mount("/static", StaticFiles(directory="static"), name="static") templates = Jinja2Templates(directory="templates") - ordi1 = Grabber() -@app.get("/ordi1", response_class=HTMLResponse) -async def read_item(request: Request): - return templates.TemplateResponse( - request=request, name="ordi.html", context={"ordi": ordi1} - ) - @app.post("/endpoint") async def receive_info(request: Request): # Lire le body brut @@ -29,13 +22,31 @@ async def receive_info(request: Request): except json.JSONDecodeError: raise HTTPException(status_code=400, detail="Invalid JSON") - # Debug - print("Data grabbed :", data) - - ordi1.hostname = data['HARDWARE']['hostname'] - ordi1.mb_serial = data['HARDWARE']['mb_serial'] + hw = data["HARDWARE"] + sw = data["SOFTWARE"] - print(f"Hostname is {ordi1.hostname}") + ordi1.host = hw["hostname"] + ordi1.cpu = hw["cpu_model"] + ordi1.cpu_id = hw["cpu_id"] + ordi1.cpu_cores_number = hw["cpu_cores"] + ordi1.cpu_threads_number = hw["cpu_threads"] + ordi1.cpu_frequency_min = hw["cpu_frequency_min"] + ordi1.cpu_frequency_cur = hw["cpu_frequency_cur"] + ordi1.cpu_frequency_max = hw["cpu_frequency_max"] + + + ordi1.os = sw["os"] + ordi1.arch = sw["arch"] + ordi1.desktop = sw["desktop_env"] + ordi1.wm = sw["window_manager"] + ordi1.kernel = sw["kernel"] + + print(f"Hostname is {ordi1.host}") print(f"Motherboard serial is {ordi1.mb_serial}") - return {"status": "ok"} \ No newline at end of file + return {"status": "ok"} + + +@app.get("/ordi1") #page affichant les infos de l'ordi +async def show_info(request: Request): + return templates.TemplateResponse("item.html", {"request": request, "ordi": ordi1}) \ No newline at end of file diff --git a/grabber.sh b/grabber.sh index a32ddad..f13939e 100755 --- a/grabber.sh +++ b/grabber.sh @@ -360,14 +360,6 @@ python_venv() { source gbvenv/bin/activate pip install --upgrade pip pip install -r requirements.txt - if [ ! -d "./static" ]; then - echo "static folder doesn't exist, creating one..." - mkdir static - fi - if [ ! -d "./ordi1" ]; then - echo "1st computer folder doesn't exist, creating one..." - mkdir ordi1 - fi uvicorn app:app --reload --host 0.0.0.0 --port 8000 } diff --git a/templates/item.html b/templates/item.html new file mode 100644 index 0000000..e8d119f --- /dev/null +++ b/templates/item.html @@ -0,0 +1,48 @@ + + + + + + Informations Système + + + +

Informations de l'Ordinateur

+ +
+

[HARDWARE]

+ + + + + + + + + + + +
PropriétéValeur
Hostname{{ ordi.hostname }}
CPU{{ ordi.cpu_model }}
ID CPU{{ ordi.cpu_id }}
Nombre de Cœurs CPU{{ ordi.cpu_cores }}
Nombre de Threads CPU{{ ordi.cpu_threads }}
Fréquence Min CPU{{ ordi.cpu_frequency_min }}
Fréquence Courante CPU{{ ordi.cpu_frequency_cur }}
Fréquence Max CPU{{ ordi.cpu_frequency_max }}
Nombre de slots de RAM{{ ordi.ram_slots }}
+
+ +
+

[SOFTWARE]

+ + + + + + + +
PropriétéValeur
OS{{ ordi.os }}
Architecture{{ ordi.arch }}
Desktop{{ ordi.desktop_env }}
Window Manager{{ ordi.window_manager }}
Kernel{{ ordi.kernel }}
+
+ +