AIppyDev commited on
Commit
6492cc2
·
1 Parent(s): ba3c9c6
Files changed (1) hide show
  1. app.py +19 -18
app.py CHANGED
@@ -1,49 +1,50 @@
1
  # app.py
2
  import os
3
  import traceback
4
-
5
  import gradio as gr
6
  from fastapi import FastAPI
7
 
8
  from src.gradio.app import build_app
9
 
10
- # Désactiver éventuellement le SSR
11
  os.environ["GRADIO_SSR_MODE"] = "false"
12
 
13
 
14
- def _safe_build():
15
  """
16
  Construit l'app Gradio.
17
- En cas d'erreur, on renvoie une petite UI d'erreur au lieu de crasher.
18
  """
19
  try:
20
- return build_app()
 
 
 
21
  except Exception as e:
22
  tb = traceback.format_exc()
23
  print("❌ Erreur dans build_app():", e)
24
  print(tb)
25
 
26
  with gr.Blocks() as fallback:
27
- gr.Markdown("# TrAIn.me – Erreur de démarrage")
28
- gr.Markdown(
29
- "Une erreur est survenue lors de la construction de l'application. "
30
- "Voir les détails ci-dessous (logs et traceback)."
31
- )
32
  gr.Code(f"{type(e).__name__}: {e}\n\n{tb}", language="python")
33
- return fallback
34
 
 
35
 
36
- # 1) Construire ton interface Gradio
37
- demo = _safe_build()
38
 
39
- # 2) Créer une app FastAPI de base
40
  fastapi_app = FastAPI()
41
 
42
- # 3) Monter Gradio dessus à la racine ("/")
 
 
 
 
43
  app = gr.mount_gradio_app(
44
  fastapi_app,
45
  demo,
46
- path="/", # tu peux mettre "/app" si tu veux, mais "/" est plus simple
47
- # server_name="0.0.0.0", # optionnel
48
- # server_port=7860, # optionnel, HF gère le port lui-même
49
  )
 
 
 
1
  # app.py
2
  import os
3
  import traceback
 
4
  import gradio as gr
5
  from fastapi import FastAPI
6
 
7
  from src.gradio.app import build_app
8
 
 
9
  os.environ["GRADIO_SSR_MODE"] = "false"
10
 
11
 
12
+ def safe_build():
13
  """
14
  Construit l'app Gradio.
15
+ Si build_app() échoue, on renvoie une UI de fallback.
16
  """
17
  try:
18
+ demo = build_app()
19
+ if demo is None:
20
+ raise RuntimeError("build_app() returned None")
21
+ return demo
22
  except Exception as e:
23
  tb = traceback.format_exc()
24
  print("❌ Erreur dans build_app():", e)
25
  print(tb)
26
 
27
  with gr.Blocks() as fallback:
28
+ gr.Markdown("# TrAIn.me – Erreur au lancement")
29
+ gr.Markdown("Impossible de construire l'application.")
30
+ gr.Markdown("Traceback détaillé (voir logs) :")
 
 
31
  gr.Code(f"{type(e).__name__}: {e}\n\n{tb}", language="python")
 
32
 
33
+ return fallback
34
 
 
 
35
 
36
+ # ---- 1. On crée SYSTÉMATIQUEMENT une FastAPI valide ----
37
  fastapi_app = FastAPI()
38
 
39
+ # ---- 2. On construit une interface Gradio robuste ----
40
+ demo = safe_build()
41
+
42
+ # ---- 3. On monte Gradio DANS FastAPI ----
43
+ # Résultat = objet ASGI que HF attend à la racine
44
  app = gr.mount_gradio_app(
45
  fastapi_app,
46
  demo,
47
+ path="/"
 
 
48
  )
49
+
50
+ print("new / (app mounted OK)")