Créa·Ka — annuaire public cross-plateforme des créateurs de contenu québécois (crea-ka.com)
1# ==============================================================================2# Author: Simon-Pierre Boucher <contact@spboucher.ai>3# File: scripts/build_frontend.py4# Desc: Construit frontend/dist/index.html à partir du gabarit en injectant5# les tracés SVG des marques (simple-icons, licence CC0)6# ==============================================================================7"""Usage : python3 scripts/build_frontend.py89Lit frontend/src/index.template.html + frontend/src/icons.json et produit10frontend/dist/index.html (remplacement du marqueur __ICONS__)."""11from __future__ import annotations1213import json14from pathlib import Path1516ROOT = Path(__file__).resolve().parent.parent17SRC = ROOT / "frontend" / "src"18DIST = ROOT / "frontend" / "dist"192021def main() -> None:22 icons = json.loads((SRC / "icons.json").read_text(encoding="utf-8"))23 html = (SRC / "index.template.html").read_text(encoding="utf-8")24 html = html.replace("__ICONS__", json.dumps(icons, separators=(",", ":")))25 DIST.mkdir(parents=True, exist_ok=True)26 (DIST / "index.html").write_text(html, encoding="utf-8")27 print(f"[crea-ka] frontend construit → {DIST/'index.html'} "28 f"({len(html)//1024} Ko, {len(icons)} icônes)")293031if __name__ == "__main__":32 main()33