From 9c51ad3ad9161b828d86ece18a2f88050984747b Mon Sep 17 00:00:00 2001 From: Xavier Date: Tue, 6 Oct 2026 23:27:30 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20int=C3=A9gration=20de=20FileResponse=20p?= =?UTF-8?q?our=20servir=20l'interface=20d'installation=20/setup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/main.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/backend/main.py b/backend/main.py index e76bbe7..bfe250a 100644 --- a/backend/main.py +++ b/backend/main.py @@ -1,6 +1,7 @@ from fastapi import FastAPI, Depends, HTTPException, status -from fastapi.responses import RedirectResponse +from fastapi.responses import RedirectResponse, FileResponse from sqlalchemy.orm import Session +import os # Importation de nos modules locaux from .database import engine, Base, get_db @@ -26,15 +27,23 @@ def read_root(db: Session = Depends(get_db)): @app.get("/setup") def setup_page(db: Session = Depends(get_db)): + """Affiche l'interface d'installation Vue.js.""" if not is_setup_required(db): return RedirectResponse(url="/login") - return {"message": "Assistant d'installation AETHAS38. Veuillez créer le compte Administrateur."} + + # Chemin vers le fichier HTML depuis la racine de l'application Docker (/app) + frontend_path = os.path.join(os.getcwd(), "frontend", "index.html") + if not os.path.exists(frontend_path): + raise HTTPException(status_code=404, detail="Interface introuvable.") + + return FileResponse(frontend_path) @app.get("/login") def login_page(db: Session = Depends(get_db)): + """Affiche la page de connexion sécurisée.""" if is_setup_required(db): return RedirectResponse(url="/setup") - return {"message": "Page de connexion."} + return {"message": "Page de connexion (Interface Vue.js à venir)."} @app.post("/api/setup") def create_admin(admin_data: AdminCreate, db: Session = Depends(get_db)):