1 line
4.4 KiB
HTML
1 line
4.4 KiB
HTML
<!DOCTYPE html><html lang="fr"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title>WEVAL Ultimate Quality</title><link href="https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Outfit:wght@300;400;500;600;700;800&display=swap" rel="stylesheet"><style>:root{--bg:#080b12;--s:rgba(255,255,255,.03);--b:rgba(255,255,255,.06);--t:#94a3b8;--w:#f1f5f9;--a:#6366f1;--g:#22c55e;--r:#ef4444;--R:12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Outfit",system-ui,sans-serif;background:var(--bg);color:var(--t);font-size:14px}.wrap{max-width:900px;margin:0 auto;padding:2rem 4%}.hero{text-align:center;padding:2rem 0}h1{font-size:2rem;font-weight:800;color:var(--w)}h1 em{font-style:normal}.stats{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin:1.5rem 0}.stat{background:var(--s);border:1px solid var(--b);border-radius:var(--R);padding:.8rem 1.5rem;text-align:center}.sn{font-family:"Space Mono";font-size:1.8rem;font-weight:700}.sl{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--a);color:#fff;border:none;padding:14px 36px;border-radius:var(--R);font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer}.btn:disabled{opacity:.5}.spin{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #fff;border-radius:50%;animation:sp .8s linear infinite}.loading .spin{display:inline-block}.loading .play{display:none}@keyframes sp{to{transform:rotate(360deg)}}.out{margin-top:1.5rem;display:none}.out.show{display:block}.t{display:flex;justify-content:space-between;padding:.3rem .6rem;border-radius:6px;font-size:.8rem;margin:1px 0}.t.pass{background:rgba(34,197,94,.05)}.t.fail{background:rgba(239,68,68,.08)}.t .d{color:#64748b;font-size:.72rem;font-family:"Space Mono"}footer{text-align:center;padding:1.5rem;font-size:.75rem;color:#475569;border-top:1px solid var(--b);margin-top:2rem}footer a{color:var(--a);text-decoration:none}</style></head><body><div class="wrap"><div class="hero"><h1>WEVAL Ultimate <em id="sigma">Quality</em></h1><p style="margin-top:.5rem;font-size:.85rem">48 tests · Infra + WEVIA + S95 + Pages + Security + Ethica + External</p></div><div class="stats"><div class="stat"><div class="sn" style="color:var(--a)" id="sTotal">—</div><div class="sl">Tests</div></div><div class="stat"><div class="sn" style="color:var(--g)" id="sPass">—</div><div class="sl">Pass</div></div><div class="stat"><div class="sn" style="color:var(--r)" id="sFail">—</div><div class="sl">Fail</div></div><div class="stat"><div class="sn" id="sSigma">—</div><div class="sl">Sigma</div></div><div class="stat"><div class="sn" style="color:var(--w)" id="sTime">—</div><div class="sl">ms</div></div></div><div style="text-align:center"><button class="btn" id="btn" onclick="run()"><span class="play">▶</span><span class="spin"></span> Lancer les tests</button></div><div class="out" id="out"></div></div><footer>© 2026 <a href="/">WEVAL</a> · <a href="/nonreg.html">NonReg 67</a> · <a href="/trust-center.html">Trust</a> · <a href="/products/workspace.html">62 Produits</a></footer><script>async function run(){var b=document.getElementById("btn"),o=document.getElementById("out");b.classList.add("loading");b.disabled=true;o.className="out show";o.innerHTML="<p style=\"text-align:center;padding:2rem\">Tests en cours...</p>";try{var r=await fetch("/api/ultimate-quality.php?k=WEVADS2026");var d=await r.json();document.getElementById("sTotal").textContent=d.total;document.getElementById("sPass").textContent=d.pass;document.getElementById("sFail").textContent=d.fail;document.getElementById("sTime").textContent=d.elapsed_ms;var sig=d.sigma==="6"?"6σ":d.pass+"/"+d.total;document.getElementById("sSigma").textContent=sig;document.getElementById("sSigma").style.color=d.fail===0?"var(--g)":"var(--r)";document.getElementById("sigma").textContent=d.fail===0?"6σ":"Quality";document.getElementById("sigma").style.color=d.fail===0?"var(--g)":"var(--r)";var h="";d.tests.forEach(function(t){var ic=t.s==="pass"?"✓":"✗";var cl=t.s==="pass"?"color:var(--g)":"color:var(--r)";h+="<div class=\"t "+t.s+"\"><span><span style=\""+cl+";margin-right:6px\">"+ic+"</span>"+t.n+"</span><span class=\"d\">"+t.d+"</span></div>"});o.innerHTML=h}catch(e){o.innerHTML="<p style=\"color:var(--r)\">Erreur: "+e.message+"</p>"}b.classList.remove("loading");b.disabled=false}</script></body></html> |