Route Media native Starlette
Build and Push Docker Image / build-and-push (push) Successful in 35s

This commit is contained in:
xavier committed 2026-08-26 19:50:36 +02:00
1 parent 76b9964c14
commit 26bc8483c6
1 file changed
+6 -11
+6 -11
View File
@@ -50,21 +50,16 @@ app, rt = fast_app(
app.mount("/Logo", StaticFiles(directory="Logo"), name="Logo") app.mount("/Logo", StaticFiles(directory="Logo"), name="Logo")
#app.mount("/Media", StaticFiles(directory=dossier_media), name="Media") # --- LECTURE DIRECTE EN RAM (Contournement du bug FastHTML & RAID) ---
@app.get("/Media/{fname:path}")
# --- ROUTE ANTI-BUG RAID (LECTURE DIRECTE EN RAM) --- def get_media(fname: str):
@rt('/Media/{fname:path}')
def get(fname: str):
chemin = os.path.join(dossier_media, fname) chemin = os.path.join(dossier_media, fname)
if os.path.exists(chemin):
try: try:
# Lecture binaire brute qui ignore les caprices de métadonnées du disque
with open(chemin, "rb") as f: with open(chemin, "rb") as f:
donnees = f.read() return Response(content=f.read(), media_type="image/png")
return Response(content=donnees, media_type="image/png")
except Exception as e: except Exception as e:
print(f"Erreur critique lors de la lecture de {chemin} : {e}") return HTMLResponse(f"<h1 style='color:red;'>Erreur interne: {e}</h1>", status_code=404)
return HTMLResponse("Erreur interne", status_code=500)
return HTMLResponse("Fichier non trouvé sur le disque", status_code=404)
# --- ROUTES D'AUTHENTIFICATION --- # --- ROUTES D'AUTHENTIFICATION ---
@rt('/login') @rt('/login')