DOCS/outputs/mnaha/seed/serve_images.py
Thomas Fransolet d14f151517 Livrables de presentation, seed de demo MNAHA et wireframes
- outputs/platform, outputs/prospect : scripts de construction des decks
  commerciaux + captures sources et .pptx generes.
- outputs/mnaha : seed complet de l'instance de demo luxembourgeoise
  (scripts par etape, contenus, images generees), le deck en version
  marque blanche et en version brandee, le PDF de presentation.
- outputs/Wireframes : maquettes app mobile, app web et manager.
- interview clients : notes de l'entretien Fourneau St Michel.

state.json et les __pycache__ sont ignores : le premier porte les cles
d'API de l'instance seedee, les scripts le regenerent.
2026-09-11 15:47:57 +02:00

43 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
"""Sert les visuels de démonstration sur http://localhost:8099.
`POST /api/Resource/upload` n'écrit que des métadonnées : le fichier lui-même
vit dans le bucket Firebase, où c'est `manager-app` qui le dépose depuis le
navigateur. Un script qui parle à l'API n'a donc aucun moyen d'y placer un blob.
Les ressources de démonstration sont créées en type `ImageUrl` et pointent ici.
**Ce serveur doit tourner pendant les captures**, sinon les images ne
s'affichent pas.
"""
import http.server
from pathlib import Path
PORT = 8099
ROOT = Path(__file__).resolve().parent / "images"
class Handler(http.server.SimpleHTTPRequestHandler):
# Next demande une dizaine de visuels en parallèle : en HTTP/1.0 chaque
# image ouvre puis ferme sa propre connexion, ce qui multiplie les allers-retours.
protocol_version = "HTTP/1.1"
def __init__(self, *args, **kwargs):
super().__init__(*args, directory=str(ROOT), **kwargs)
def end_headers(self):
# manager-app et visitapp-web tournent sur d'autres origines.
self.send_header("Access-Control-Allow-Origin", "*")
self.send_header("Cache-Control", "public, max-age=3600")
super().end_headers()
def log_message(self, *args):
pass
if __name__ == "__main__":
http.server.ThreadingHTTPServer.allow_reuse_address = True
with http.server.ThreadingHTTPServer(("127.0.0.1", PORT), Handler) as httpd:
print(f"visuels servis sur http://localhost:{PORT} depuis {ROOT}")
httpd.serve_forever()