Files
html/qa-hub.html
2026-04-18 02:55:01 +02:00

67 lines
5.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="fr"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<title>WEVAL — QA Hub · Quality Assurance</title>
<style>
:root{--bg:#0a0e1a;--bg2:#141931;--fg:#e2e8f0;--muted:#8892b0;--ac:#6c9ef8;--ok:#48bb78;--warn:#f6ad55;--err:#fc8181;--border:rgba(255,255,255,.08)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,Segoe UI,sans-serif;padding:24px}
.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.title{font-size:24px;font-weight:700;background:linear-gradient(135deg,var(--ok),var(--ac));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:20px}
.card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:16px}
.card h3{margin:0 0 10px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.stat{font-size:30px;font-weight:800;margin:6px 0}
.stat.ok{color:var(--ok)}.stat.warn{color:var(--warn)}.stat.err{color:var(--err)}
.desc{font-size:11px;color:var(--muted)}
.lnk{display:inline-block;margin:4px;padding:6px 12px;background:rgba(108,158,248,.12);color:var(--ac);border-radius:5px;text-decoration:none;font-size:11px;border:1px solid rgba(108,158,248,.3)}
.lnk:hover{background:rgba(108,158,248,.22)}
</style></head>
<body>
<div class="header">
<div><div class="title">🧪 QA Hub — Quality Assurance Central</div>
<div class="desc">L99 · NonReg · Risk · Hallucination · Lean 6σ · TOC · Zero regression</div></div>
<div id="qa-ts" style="color:var(--muted);font-size:11px">...</div>
</div>
<div class="grid">
<div class="card"><h3>🏅 L99 NonReg</h3><div class="stat ok" id="qa-l99">-/-</div><div class="desc" id="qa-l99d">Score + cycles stable</div></div>
<div class="card"><h3>📊 DPMO Sigma</h3><div class="stat ok" id="qa-dpmo">-</div><div class="desc">target: 3.4 DPMO (6σ)</div></div>
<div class="card"><h3>🧩 Intents wired</h3><div class="stat ok" id="qa-int">-</div><div class="desc">WEVIA Master orchestrator</div></div>
<div class="card"><h3>🎯 TOC Bottleneck</h3><div class="stat warn" id="qa-bn" style="font-size:16px">-</div><div class="desc">Goldratt Theory of Constraints</div></div>
<div class="card"><h3>🛡️ Risk Score</h3><div class="stat warn" id="qa-risk">-</div><div class="desc">NIST AI RMF / ISO 23894</div></div>
<div class="card"><h3>👻 Hallu NOT EVAL</h3><div class="stat err" id="qa-hal">-</div><div class="desc">TruthfulQA · HaluEval · FActScore · RAGAS</div></div>
<div class="card"><h3>📦 Action Plan</h3><div class="stat ok" id="qa-pl">-</div><div class="desc">Dynamic items WEVIA managed</div></div>
<div class="card"><h3>🚦 Services Up</h3><div class="stat ok" id="qa-svc">-</div><div class="desc">Apache/Sovereign/Qdrant/PG/Redis/Gitea</div></div>
</div>
<div class="card"><h3>🔗 Quick Access</h3>
<div style="margin-top:10px">
<a href="/wevia-training.html" class="lnk">🎓 WEVIA Training</a>
<a href="/wevia-master.html" class="lnk">🧠 WEVIA Master</a>
<a href="/weval-technology-platform.html" class="lnk">📊 WTP Dashboard</a>
<a href="/dg-command-center.html" class="lnk">🎯 DG Center</a>
<a href="/sales-hub.html" class="lnk">💼 Sales Hub V72</a>
<a href="/oss-discovery.html" class="lnk">🔍 OSS Discovery</a>
<a href="/pitch.html" class="lnk">📣 Pitch</a>
<a href="/api/nonreg-latest.json" class="lnk">🏅 L99 JSON</a>
</div></div>
<div class="card" style="margin-top:20px;background:rgba(72,187,120,.04)">
<h3>✅ QA Hub V72 — Unified quality dashboard</h3>
<div style="font-size:11px;color:var(--muted);line-height:1.6">Agrège V67 (dashboard), V70 (honest), V71 (risk+plan). Auto-refresh 20s. Zero fake · Zero regression · Lean 6σ + TOC + NIST AI RMF + ISO 23894 + Anthropic RSP.</div></div>
<script>
async function loadQA(){
try {
const [v67,v70,v71,l99] = await Promise.all([
fetch('/api/wevia-v67-dashboard-api.php?action=dashboard').then(r=>r.json()).catch(()=>null),
fetch('/api/wevia-v70-honest-tracker.php').then(r=>r.json()).catch(()=>null),
fetch('/api/wevia-v71-risk-halu-plan.php').then(r=>r.json()).catch(()=>null),
fetch('/api/nonreg-latest.json').then(r=>r.json()).catch(()=>null)
]);
if (l99) { document.getElementById('qa-l99').textContent = l99.pass+'/'+(l99.pass+l99.fail); document.getElementById('qa-l99d').textContent = l99.score+'% · '+l99.ts; }
if (v67) { document.getElementById('qa-dpmo').textContent = v67.dpmo?.sigma || '6σ'; document.getElementById('qa-int').textContent = v67.acquis?.intents?.cur || '-'; }
if (v70) { document.getElementById('qa-bn').textContent = (v70.toc?.bottleneck?.name || '-').slice(0,30); document.getElementById('qa-svc').textContent = (v70.services_up_ratio||'-')+'%'; }
if (v71) { document.getElementById('qa-risk').textContent = v71.overall_risk_score+'%'; const ne = v71.hallucination_benchmarks.filter(b=>b.weval_status.includes('NOT')).length; document.getElementById('qa-hal').textContent = ne+'/'+v71.hallucination_benchmarks.length; document.getElementById('qa-pl').textContent = v71.plan_stats.total; }
document.getElementById('qa-ts').textContent = '✓ refreshed '+new Date().toLocaleTimeString();
} catch(e) { document.getElementById('qa-ts').textContent = '❌ '+e.message; }
}
loadQA(); setInterval(loadQA, 20000);
</script>
</body></html>