Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
19 pages PRIO4 business enrichies: - gws-setup v63-send-queue l99-fullscreen v78-real-wire weval-portal - ethica-country crm-audit infra-tour infra-tour-2s-5c-blade - partners-emails onboarding-em arsenal-offline ultimate-quality - wevia-demo-autonomous linkedin-automation-v96 blade-install - solutions oss-catalog wtp Cumul session: - 146 pages UX doctrine 60 (127 + 19) - 32 tags Opus - 29 doctrines vault (146-184) Handler robuste 75+ pages consecutives ZERO regression. NR 153/153 invariant.
178 lines
9.0 KiB
HTML
178 lines
9.0 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="fr"><head><meta charset="UTF-8">
|
||
<title>INFRA TOUR · 2 Serveurs + 5 Clouds + Blade · V9.20</title>
|
||
<style>
|
||
body{margin:0;background:#0a0e1a;color:#e2e8f0;font-family:-apple-system,Nunito,sans-serif;padding:20px}
|
||
.header{background:linear-gradient(135deg,#06b6d4,#8b5cf6);padding:20px;border-radius:12px;margin-bottom:20px}
|
||
.header h1{margin:0;font-size:28px;color:#fff}
|
||
.header p{margin:5px 0 0;color:rgba(255,255,255,.85);font-size:14px}
|
||
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:20px}
|
||
.card{background:#1e293b;border-radius:10px;padding:18px;border-left:4px solid #22d3ee}
|
||
.card.ok{border-left-color:#22c55e}.card.warn{border-left-color:#f59e0b}.card.crit{border-left-color:#ef4444}
|
||
.card h3{margin:0 0 10px;font-size:16px;color:#22d3ee}
|
||
.metric{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}
|
||
.metric .l{color:#94a3b8}.metric .v{color:#fff;font-weight:600}
|
||
.v.ok{color:#22c55e}.v.warn{color:#f59e0b}.v.crit{color:#ef4444}
|
||
.timestamp{color:#64748b;font-size:11px;text-align:right;margin-top:15px}
|
||
</style><!-- DOCTRINE-60-UX-ENRICH direct-inject-20260424-142732 -->
|
||
<style id="doctrine60-ux-direct">
|
||
|
||
/* DOCTRINE-60-UX-ENRICH injected-direct */
|
||
body::before {
|
||
content: '';
|
||
position: fixed;
|
||
top: 0; left: 0; width: 100vw; height: 100vh;
|
||
background: radial-gradient(circle at 50% 50%, rgba(100,180,255,0.08), transparent 60%);
|
||
pointer-events: none;
|
||
z-index: -1;
|
||
}
|
||
.card, .kpi, .panel, .btn {
|
||
transition: all 0.3s cubic-bezier(0.2,0,0.1,1);
|
||
}
|
||
.card:hover, .kpi:hover, .panel:hover {
|
||
box-shadow: 0 4px 20px rgba(100,180,255,0.2);
|
||
border-color: rgba(100,180,255,0.5);
|
||
}
|
||
@keyframes pulseD60 {
|
||
0%,100% { opacity: 1; transform: scale(1); }
|
||
50% { opacity: 0.7; transform: scale(1.05); }
|
||
}
|
||
.pulse, .live-indicator, .active, .online {
|
||
animation: pulseD60 3s ease-in-out infinite;
|
||
}
|
||
.modal, .chat, .speech, .overlay {
|
||
backdrop-filter: blur(12px);
|
||
-webkit-backdrop-filter: blur(12px);
|
||
}
|
||
.enter-stagger {
|
||
animation: enterStagD60 0.5s cubic-bezier(0.2,0,0.1,1) forwards;
|
||
}
|
||
@keyframes enterStagD60 {
|
||
from { opacity: 0; transform: translateY(20px); }
|
||
to { opacity: 1; transform: translateY(0); }
|
||
}
|
||
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="header">
|
||
<h1>🗺️ INFRA TOUR · 2 Serveurs + 5 Clouds FREE + Blade</h1>
|
||
<p>V9.20 · Audit complet infrastructure WEVAL · Yacine directive · 6σ ABSOLU maintenu</p>
|
||
</div>
|
||
|
||
<h2 style="color:#22d3ee">🖥️ SERVEURS (2)</h2>
|
||
<div class="grid">
|
||
<div class="card ok">
|
||
<h3>S204 · 204.168.152.13 · PRIMARY</h3>
|
||
<div class="metric"><span class="l">Uptime</span><span class="v ok">5d 16h</span></div>
|
||
<div class="metric"><span class="l">Load avg</span><span class="v">1.20 / 3.45 / 4.46</span></div>
|
||
<div class="metric"><span class="l">Disk</span><span class="v ok">77% used (111G/150G)</span></div>
|
||
<div class="metric"><span class="l">RAM</span><span class="v ok">11.2G / 31G (36%)</span></div>
|
||
<div class="metric"><span class="l">nginx</span><span class="v ok">✅ active</span></div>
|
||
<div class="metric"><span class="l">php-fpm 8.5</span><span class="v ok">✅ active</span></div>
|
||
<div class="metric"><span class="l">Docker</span><span class="v ok">19/19 healthy</span></div>
|
||
<div class="metric"><span class="l">HTTPS weval-consulting.com</span><span class="v ok">✅ 200 · 109ms</span></div>
|
||
</div>
|
||
<div class="card ok">
|
||
<h3>S95 · 95.216.167.89 · WEVADS/PMTA/PG</h3>
|
||
<div class="metric"><span class="l">Uptime</span><span class="v ok">2w 2d 23h</span></div>
|
||
<div class="metric"><span class="l">Load</span><span class="v">1.13 / 1.93 / 2.43</span></div>
|
||
<div class="metric"><span class="l">Disk</span><span class="v ok">82% used (117G/150G)</span></div>
|
||
<div class="metric"><span class="l">RAM</span><span class="v ok">3.9G / 15.6G (25%)</span></div>
|
||
<div class="metric"><span class="l">apache2</span><span class="v ok">✅ active</span></div>
|
||
<div class="metric"><span class="l">postgresql</span><span class="v ok">✅ active · 20 ethica tables</span></div>
|
||
<div class="metric"><span class="l">PMTA</span><span class="v ok">✅ active</span></div>
|
||
<div class="metric"><span class="l">Ollama</span><span class="v ok">✅ inactive (S204 11434 primary)</span></div>
|
||
<div class="metric"><span class="l">Pipeline</span><span class="v">88 offers · 232 creatives · 3828 O365 actifs</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<h2 style="color:#22d3ee">☁️ CLOUDS FREE (5)</h2>
|
||
<div class="grid">
|
||
<div class="card ok">
|
||
<h3>🏆 Kaggle T4 GPU</h3>
|
||
<div class="metric"><span class="l">Auth</span><span class="v ok">✅ HTTP 200</span></div>
|
||
<div class="metric"><span class="l">Account</span><span class="v">yace222</span></div>
|
||
<div class="metric"><span class="l">Usage</span><span class="v">Weekly fine-tune dataset push</span></div>
|
||
<div class="metric"><span class="l">Cron</span><span class="v">Sunday 3am top-ia</span></div>
|
||
</div>
|
||
<div class="card ok">
|
||
<h3>🤗 HuggingFace</h3>
|
||
<div class="metric"><span class="l">Auth</span><span class="v ok">✅ HTTP 200</span></div>
|
||
<div class="metric"><span class="l">Account</span><span class="v">yace222</span></div>
|
||
<div class="metric"><span class="l">Dataset</span><span class="v">weval-finetune-dataset</span></div>
|
||
<div class="metric"><span class="l">Free inference</span><span class="v ok">✅ available</span></div>
|
||
</div>
|
||
<div class="card ok">
|
||
<h3>☁️ Cloudflare</h3>
|
||
<div class="metric"><span class="l">Auth</span><span class="v ok">✅ HTTP 200 (X-Auth-Email/Key)</span></div>
|
||
<div class="metric"><span class="l">Zone weval-consulting.com</span><span class="v ok">1488bbba</span></div>
|
||
<div class="metric"><span class="l">Zone wevup.app</span><span class="v ok">53e067fb</span></div>
|
||
<div class="metric"><span class="l">SPF+DKIM+DMARC</span><span class="v ok">✅ OK</span></div>
|
||
</div>
|
||
<div class="card ok">
|
||
<h3>🐙 GitHub</h3>
|
||
<div class="metric"><span class="l">API rate limit</span><span class="v ok">✅ HTTP 200</span></div>
|
||
<div class="metric"><span class="l">Repo</span><span class="v">Yacineutt/weval-consulting</span></div>
|
||
<div class="metric"><span class="l">Last push</span><span class="v">v9.19 cross-system</span></div>
|
||
<div class="metric"><span class="l">Tags total</span><span class="v">51+</span></div>
|
||
</div>
|
||
<div class="card ok">
|
||
<h3>📓 Google Colab</h3>
|
||
<div class="metric"><span class="l">Status</span><span class="v ok">✅ Notebook-ready (T4/A100)</span></div>
|
||
<div class="metric"><span class="l">Usage potentiel</span><span class="v">T4/A100 notebooks GPU</span></div>
|
||
<div class="metric"><span class="l">Next step</span><span class="v">Notebook WEVIA push</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<h2 style="color:#22d3ee">⚔️ BLADE (Razer local)</h2>
|
||
<div class="grid">
|
||
<div class="card ok">
|
||
<h3>🔥 Blade Razer Yacine</h3>
|
||
<div class="metric"><span class="l">Status</span><span class="v ok">✅ LIVE (vs V82 cached DEAD)</span></div>
|
||
<div class="metric"><span class="l">IP publique</span><span class="v">41.251.46.132</span></div>
|
||
<div class="metric"><span class="l">Tasks today</span><span class="v ok">232</span></div>
|
||
<div class="metric"><span class="l">Tasks week</span><span class="v ok">574</span></div>
|
||
<div class="metric"><span class="l">Sentinel Agent</span><span class="v ok">60s loop</span></div>
|
||
<div class="metric"><span class="l">Dashboard</span><span class="v">/blade-ai.html (auth)</span></div>
|
||
<div class="metric"><span class="l">API</span><span class="v ok">/api/blade-agent.php 200</span></div>
|
||
<div class="metric"><span class="l">Queue</span><span class="v ok">22 tasks (post-cleanup)</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<h2 style="color:#22d3ee">📊 Quality invariants 6σ ABSOLU</h2>
|
||
<div class="grid">
|
||
<div class="card ok">
|
||
<h3>NonReg · L99 · 7σ</h3>
|
||
<div class="metric"><span class="l">NR</span><span class="v ok">153/153 = 100%</span></div>
|
||
<div class="metric"><span class="l">L99</span><span class="v ok">371/371 = 100%</span></div>
|
||
<div class="metric"><span class="l">7σ</span><span class="v ok">150/150 = 100%</span></div>
|
||
<div class="metric"><span class="l">DPMO</span><span class="v ok">0</span></div>
|
||
<div class="metric"><span class="l">Cycles zero-regression</span><span class="v ok">59 consecutive</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="timestamp">Généré V9.20 · 2026-04-20 · WEVIA-FIRST doctrine strict · SOT ethica_total=161726 live</div>
|
||
|
||
<script src="/api/a11y-auto-enhancer.js" defer></script>
|
||
<!-- WTP_UDOCK_V1 (Opus 21-avr t34final) --><script src="/wtp-unified-dock.js" defer></script>
|
||
<script src="/opus-antioverlap-doctrine.js?v=1776776094" defer></script>
|
||
<!-- DOCTRINE-60-UX-JS --><script id="doctrine60-ux-js-direct">
|
||
|
||
// DOCTRINE-60-UX-JS staggered entrance
|
||
(function(){
|
||
if (!('IntersectionObserver' in window)) return;
|
||
const obs = new IntersectionObserver((entries) => {
|
||
entries.forEach((e, i) => {
|
||
if (e.isIntersecting) {
|
||
setTimeout(() => e.target.classList.add('enter-stagger'), i * 80);
|
||
obs.unobserve(e.target);
|
||
}
|
||
});
|
||
});
|
||
document.querySelectorAll('.card, .kpi, .panel').forEach(el => obs.observe(el));
|
||
})();
|
||
|
||
</script>
|
||
</body></html>
|