DOCS/outputs/mnaha/seed/step7b_finish.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

59 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
"""Fin de l'étape 7 — points d'intérêt et habillage des applications.
Séparé de `step7_images.py` parce que chaque point mis à jour relance
l'indexation de toute la carte : c'est lent, et inutile à rejouer quand seules
les applications restent à habiller.
"""
import json
from pathlib import Path
from api import Api
from step7_images import POI_IMAGES
STATE = Path(__file__).resolve().parent / "state.json"
def main():
api = Api()
state = json.loads(STATE.read_text(encoding="utf-8"))
instance_id = state["instanceId"]
resources = {r["label"]: r for r in
(api.get(f"/api/Resource?instanceId={instance_id}") or [])}
print("points d'intérêt")
for point in api.get(f"/api/SectionMap/{state['mapEchternach']}/points") or []:
title = next((t["value"] for t in point["title"] if t["language"] == "FR"), "")
image = POI_IMAGES.get(title)
if not image:
continue
resource = resources[image]
# On compare l'URL, pas l'identifiant : un point rattaché lors d'un
# passage précédent porte le bon identifiant mais une URL nulle.
if point.get("imageUrl") == resource.get("url"):
print(f" = {title}")
continue
point["imageResourceId"] = resource["id"]
point["imageUrl"] = resource.get("url")
api.put("/api/SectionMap", point)
print(f" + {title} <- {image}")
print("\nhabillage des applications")
main_res = resources["app-accueil"]
loader_res = resources["app-chargement"]
for app in api.get(f"/api/ApplicationInstance?instanceId={instance_id}") or []:
app["mainImageId"] = main_res["id"]
app["mainImageUrl"] = main_res.get("url")
app["loaderImageId"] = loader_res["id"]
app["loaderImageUrl"] = loader_res.get("url")
api.put("/api/ApplicationInstance", app)
print(f" + type {app['appType']}")
print("\nterminé")
if __name__ == "__main__":
main()