mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-20 21:48:47 +02:00
Applis web fiables : fichier autonome, zéro dépendance externe, pas de bluff
Les modèles promettaient des libs qui ne se chargent jamais hors-ligne (Stockfish, CDN…), éclataient le code en fichiers incohérents, puis déclaraient « ça marche » sans rien vérifier. - Contraintes « appli web » injectées pour toute tâche web (agent + moteur code) : UN seul index.html autonome (CSS/JS inline), AUCUNE ressource externe (implémenter en JS natif à la place), rendu réel au chargement, interdiction de « simuler » une lib en la disant réelle. - check_html signale désormais les scripts/styles externes (CDN/WASM) qui ne se chargeront pas dans le sandbox hors-ligne, en plus des références locales cassées. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SVay7z3y7q2gEe54ByAE6N
This commit is contained in:
3 files changed
+58
-4
No files matched your search
+12
-3
@@ -123,9 +123,18 @@ def check_html(target: str) -> list[str]:
|
||||
|
||||
base_dir = os.path.dirname(target)
|
||||
|
||||
# Références locales cassées (href/src vers un fichier absent).
|
||||
for _, ref in re.findall(r"""(href|src)=["']([^"'#]+)["']""", content, re.I):
|
||||
if re.match(r"^(https?:|data:|mailto:|tel:|//|javascript:)", ref, re.I):
|
||||
# Références href/src : cassées (fichier local absent) ou externes
|
||||
# (CDN/WASM qui ne se chargeront pas dans un sandbox hors-ligne).
|
||||
for attr, ref in re.findall(r"""(href|src)=["']([^"'#]+)["']""", content, re.I):
|
||||
low = ref.lower()
|
||||
if low.startswith(("data:", "mailto:", "tel:", "javascript:")):
|
||||
continue
|
||||
if re.match(r"^(https?:)?//", ref, re.I):
|
||||
base = low.split("?")[0]
|
||||
if attr.lower() == "src" and base.endswith((".js", ".mjs", ".wasm")):
|
||||
issues.append(f"script externe (hors-ligne : ne se charge pas) : {ref}")
|
||||
elif attr.lower() == "href" and base.endswith(".css"):
|
||||
issues.append(f"style externe (hors-ligne : ne se charge pas) : {ref}")
|
||||
continue
|
||||
ref_path = os.path.normpath(os.path.join(base_dir, ref.split("?")[0]))
|
||||
if not os.path.exists(ref_path):
|
||||
|
||||
Reference in new issue
Block a user