Files
html/architecture-live.html

407 lines
33 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 — Architecture Live</title>
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
:root{--bg:#0c0f1a;--card:#141825;--card2:#1a1f30;--border:#232840;--acc:#6366f1;--acc2:#818cf8;--cyan:#22d3ee;--green:#34d399;--red:#f87171;--amber:#fbbf24;--t:#e8eaf0;--dim:#7c82a0;--dim2:#4f5470;--radius:14px;--ff:'DM Sans',system-ui,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--ff);background:var(--bg);color:var(--t);-webkit-font-smoothing:antialiased}
::selection{background:rgba(99,102,241,.3)}
.top{max-width:1200px;margin:0 auto;padding:28px 24px 0}
.top h1{font-size:24px;font-weight:700;text-align:center}
.top h1 span{background:linear-gradient(135deg,var(--acc),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.top .sub{text-align:center;color:var(--dim);font-size:13px;margin:6px 0 20px;display:flex;align-items:center;justify-content:center;gap:6px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:blink 2s infinite}
@keyframes blink{50%{opacity:.4}}
.metrics{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:20px}
.m{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 16px;text-align:center;min-width:88px}
.m .n{font-size:20px;font-weight:700;background:linear-gradient(135deg,var(--cyan),var(--acc2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.m .l{font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.6px;margin-top:2px}
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:20px}
.tabs button{font-family:var(--ff);font-size:12px;font-weight:500;padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--dim);cursor:pointer;transition:all .15s}
.tabs button:hover{color:var(--t);border-color:var(--acc)}
.tabs button.on{background:var(--acc);color:#fff;border-color:var(--acc)}
/* SCHEMA */
.schema{max-width:1100px;margin:0 auto 24px;padding:0 16px;overflow-x:auto}
.tree{position:relative;padding:20px 0}
.tier{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:8px;position:relative}
.tier::before{content:'';position:absolute;top:-8px;left:50%;width:1px;height:8px;background:var(--border)}
.node{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;min-width:160px;max-width:280px;flex:1;transition:all .2s;cursor:pointer;position:relative}
.node:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.12)}
.node.hub{border-color:var(--acc);background:linear-gradient(135deg,rgba(99,102,241,.08),rgba(34,211,238,.05))}
.node.hub::after{content:'HUB';position:absolute;top:8px;right:10px;font-size:9px;font-weight:700;color:var(--acc);letter-spacing:1px}
.node h4{font-size:13px;font-weight:600;margin-bottom:2px;display:flex;align-items:center;gap:6px}
.node .d{font-size:10px;color:var(--dim);line-height:1.5}
.node .k{font-size:12px;font-weight:700;margin-top:4px}
.node .k.cy{color:var(--cyan)}.node .k.gr{color:var(--green)}.node .k.am{color:var(--amber)}
.live{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}
.off{width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0}
.idle{width:7px;height:7px;border-radius:50%;background:var(--amber);flex-shrink:0}
.connector{display:flex;justify-content:center;margin:4px 0}
.connector .line{width:1px;height:20px;background:linear-gradient(to bottom,var(--acc),var(--border))}
.conn-h{display:flex;justify-content:center;align-items:flex-start;gap:0;margin:4px 0 4px;position:relative;height:20px}
.conn-h::after{content:'';position:absolute;top:0;left:15%;right:15%;height:1px;background:var(--border)}
.tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}
.tag{font-size:8px;padding:2px 6px;border-radius:4px;background:var(--card2);color:var(--dim2);border:1px solid rgba(255,255,255,.04)}
/* SECTIONS */
.sections{max-width:1200px;margin:0 auto;padding:0 16px}
.stit{font-size:11px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:1.5px;margin:20px 0 10px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;transition:all .2s;position:relative}
.card:hover{border-color:rgba(99,102,241,.2);box-shadow:0 4px 16px rgba(0,0,0,.2)}
.card h4{font-size:13px;font-weight:600;margin-bottom:2px}
.card .sd{font-size:10px;color:var(--dim);margin-bottom:6px}
.card .badge{position:absolute;top:10px;right:10px;font-size:9px;font-weight:600;padding:2px 8px;border-radius:5px}
.badge.bl{background:rgba(52,211,153,.1);color:var(--green);border:1px solid rgba(52,211,153,.15)}
.badge.bo{background:rgba(248,113,113,.08);color:var(--red);border:1px solid rgba(248,113,113,.12)}
.badge.bi{background:rgba(251,191,36,.08);color:var(--amber);border:1px solid rgba(251,191,36,.12)}
.sts{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}
.st{font-size:10px;padding:2px 8px;border-radius:5px;background:var(--card2);border:1px solid var(--border);color:var(--dim)}
.st b{color:var(--t);font-weight:600}
section{display:none}section.show{display:block}
.footer{text-align:center;padding:24px;color:var(--dim2);font-size:11px}
.footer a{color:var(--acc);text-decoration:none}
</style>
</head>
<body>
<div class="top">
<h1><span>WEVAL</span> Architecture Live</h1>
<div class="sub"><span class="dot"></span> 14 avril 2026 · GODMODE 20/20 · 6σ</div>
<div class="metrics">
<div class="m"><div class="n">2,400+</div><div class="l">Pages</div></div>
<div class="m"><div class="n">7</div><div class="l">Serveurs</div></div>
<div class="m"><div class="n">15</div><div class="l">Domains</div></div>
<div class="m"><div class="n">372</div><div class="l">Tools</div></div>
<div class="m"><div class="n">12</div><div class="l">IA 0€</div></div>
<div class="m"><div class="n">141K</div><div class="l">HCPs</div></div>
<div class="m"><div class="n">6.65M</div><div class="l">Contacts</div></div>
<div class="m"><div class="n">870</div><div class="l">Agents</div></div>
<div class="m"><div class="n">50</div><div class="l">Repos</div></div>
<div class="m"><div class="n">152/152</div><div class="l">NonReg</div></div>
</div>
<div class="tabs">
<button class="on" onclick="show('all',this)">Tout</button>
<button onclick="show('schema',this)">Schéma</button>
<button onclick="show('servers',this)">Serveurs</button>
<button onclick="show('ia',this)">IA souveraine</button>
<button onclick="show('apps',this)">Apps</button>
<button onclick="show('data',this)">Data</button>
<button onclick="show('qa',this)">QA</button>
<button onclick="show('gpu',this)">GPU</button>
<button onclick="show('hubs',this)">Hubs</button>
</div>
</div>
<!-- ═══════ SCHEMA INTERACTIF ═══════ -->
<section id="sec-schema" class="show">
<div class="schema"><div class="tree">
<!-- Tier 0: WEVIA Master -->
<div class="tier">
<div class="node hub" onclick="show('ia',document.querySelector('.tabs button:nth-child(4)'))">
<h4><span class="live"></span> WEVIA Master</h4>
<div class="d">20/20 GODMODE · 372 tools · 138 brain intents · MCP Hub 11 services</div>
<div class="k cy">Orchestrateur souverain</div>
</div>
</div>
<div class="conn-h"></div>
<!-- Tier 1: 5 pillars -->
<div class="tier">
<div class="node" onclick="show('ia',document.querySelector('.tabs button:nth-child(4)'))">
<h4><span class="live"></span> Sovereign Cascade</h4>
<div class="d">12 providers · 0€/mois · failover auto</div>
<div class="k cy">port 4000</div>
</div>
<div class="node" onclick="show('servers',document.querySelector('.tabs button:nth-child(3)'))">
<h4><span class="live"></span> Exécution</h4>
<div class="d">fast.sock 50w · exec.sock 50w · Redis async · Blade OPS 50 actions</div>
</div>
<div class="node" onclick="show('data',document.querySelector('.tabs button:nth-child(6)'))">
<h4><span class="live"></span> Data + MCP</h4>
<div class="d">Ethica 141K · Wiki 1,214 · Vault 538 · Gmail · Calendar · Drive</div>
</div>
<div class="node" onclick="show('qa',document.querySelector('.tabs button:nth-child(7)'))">
<h4><span class="live"></span> QA 6σ</h4>
<div class="d">NonReg 152/152 · Playwright 10/10 · Selenium 7/7</div>
</div>
</div>
<div class="conn-h"></div>
<!-- Tier 2: Servers -->
<div class="tier">
<div class="node" onclick="show('servers',document.querySelector('.tabs button:nth-child(3)'))">
<h4><span class="live"></span> S95 — Arsenal</h4>
<div class="d">95.216.167.89 · Hetzner</div>
<div class="k cy">1,378 pages</div>
<div class="d">+ 512 WEVADS · 612 brain · 691 offers</div>
</div>
<div class="node" onclick="show('servers',document.querySelector('.tabs button:nth-child(3)'))">
<h4><span class="live"></span> S204 — WEVIA</h4>
<div class="d">8 vCPU · 32GB · Load 0.62</div>
<div class="k cy">404 pages</div>
<div class="d">30 hubs · 19 monitors · dual-FPM</div>
</div>
<div class="node">
<h4><span class="live"></span> 4× PMTA Huawei</h4>
<div class="d">SER_6 · SER_7 · SER_8 · SER_9</div>
<div class="k am">PMTA 4.5r8</div>
</div>
<div class="node">
<h4><span class="live"></span> Docker S204</h4>
<div class="d">8 containers + Redis</div>
<div class="tags"><span class="tag">gitea</span><span class="tag">searxng</span><span class="tag">qdrant</span><span class="tag">prometheus</span><span class="tag">vaultwarden</span></div>
</div>
</div>
<div class="conn-h"></div>
<!-- Tier 3: Agents + Providers -->
<div class="tier">
<div class="node">
<h4>12 Sovereign Agents</h4>
<div class="tags"><span class="tag">WEVIA</span><span class="tag">WEVCODE</span><span class="tag">WEDROID</span><span class="tag">Director</span><span class="tag">L99</span><span class="tag">DeerFlow</span><span class="tag">Blade</span><span class="tag">Guardian</span><span class="tag">Ethica</span><span class="tag">OpenClaw</span><span class="tag">MiroFish</span><span class="tag">Consensus</span></div>
</div>
<div class="node" onclick="window.open('/agents-archi.html','_blank')">
<h4><span class="live"></span> Agents Archi</h4>
<div class="k cy">15 agents · 94KB</div>
<div class="d">3D · Fleet · Alive · Enterprise · HD · Sim · ValueChain</div>
</div>
<div class="node" onclick="show('ia',document.querySelector('.tabs button:nth-child(4)'))">
<h4><span class="live"></span> Paperclip</h4>
<div class="k gr">870 agents · 2,484 skills</div>
<div class="d">29,688 fichiers · PostgreSQL</div>
</div>
<div class="node">
<h4>IA Cascade</h4>
<div class="tags"><span class="tag">Cerebras</span><span class="tag">Groq</span><span class="tag">Gemini</span><span class="tag">SambaNova</span><span class="tag">NVIDIA</span><span class="tag">Mistral</span><span class="tag">HF</span><span class="tag">OpenRouter</span><span class="tag">GitHub</span><span class="tag">CF-AI</span></div>
</div>
</div>
<div class="conn-h"></div>
<!-- Tier 4: Data -->
<div class="tier">
<div class="node"><h4>Ethica</h4><div class="k cy">141K HCPs</div><div class="d">48K emails · 16K phones</div></div>
<div class="node"><h4>WEVADS DB</h4><div class="k cy">6.65M contacts</div><div class="d">adx_system + adx_clients</div></div>
<div class="node"><h4>Wiki + Vault</h4><div class="k gr">1,214 + 538</div><div class="d">22 GOLD · Obsidian 49 docs</div></div>
<div class="node"><h4>Qdrant + Registries</h4><div class="d">5 collections · 14K vectors · 20+ JSON</div></div>
</div>
<div class="conn-h"></div>
<!-- Tier 5: GPU + Hubs + Skills -->
<div class="tier">
<div class="node" onclick="show('gpu',document.querySelector('.tabs button:nth-child(8)'))">
<h4><span class="live"></span> GPU gratuit</h4>
<div class="d">HuggingFace 5 spaces · Kaggle 3 notebooks · Colab T4</div>
<div class="tags"><span class="tag">vLLM</span><span class="tag">Ollama</span><span class="tag">Whisper</span><span class="tag">weval-brain-v4</span></div>
</div>
<div class="node" onclick="show('hubs',document.querySelector('.tabs button:nth-child(9)'))">
<h4>30 Hubs · 19 Monitors · 15 Agents</h4>
<div class="d">Portails thématiques · command centers · agents IA</div>
</div>
<div class="node">
<h4>50 Repos · 24 Skills</h4>
<div class="d">Gitea · GitHub · docx/pdf/pptx/xlsx · frontend · mcp-builder</div>
</div>
</div>
<div class="conn-h"></div>
<!-- Tier 6: Growth Engine -->
<div class="tier">
<div class="node hub" style="max-width:500px">
<h4><span class="live"></span> Growth Engine v3</h4>
<div class="k cy">8 verticaux · 39 opportunités · 3.5M MAD pipeline</div>
<div class="tags"><span class="tag">Scaleway</span><span class="tag">Ethica</span><span class="tag">Vistex</span><span class="tag">Arrow</span><span class="tag">Enterprise</span><span class="tag">SaaS</span><span class="tag">HCP</span><span class="tag">Consulting</span></div>
</div>
</div>
</div></div>
</section>
<!-- ═══════ SERVEURS ═══════ -->
<section id="sec-servers" class="show"><div class="sections">
<div class="stit">Infrastructure — 7 serveurs</div>
<div class="grid">
<div class="card"><span class="badge bl">LIVE</span><h4>S95 — Arsenal + WEVADS</h4><div class="sd">95.216.167.89 · Hetzner · SSH 49222</div><div class="sts"><span class="st"><b>1,378</b> Arsenal</span><span class="st"><b>512</b> WEVADS</span><span class="st"><b>612</b> brain</span></div><div class="tags"><span class="tag">brain-engine</span><span class="tag">offer-engine</span><span class="tag">scrapping-factory</span><span class="tag">emailing-pipeline</span><span class="tag">wevia-fullscreen</span><span class="tag">wevia-hamid</span><span class="tag">youtube-factory</span><span class="tag">world-map</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>S204 — WEVIA Master</h4><div class="sd">204.168.152.13 · 8vCPU · 32GB RAM</div><div class="sts"><span class="st"><b>404</b> pages</span><span class="st"><b>372</b> tools</span><span class="st"><b>20/20</b> GODMODE</span></div><div class="tags"><span class="tag">dual-FPM 100w</span><span class="tag">Redis async</span><span class="tag">OPcache 256MB</span><span class="tag">30 hubs</span><span class="tag">19 monitors</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>4× PMTA Huawei</h4><div class="sd">SER_6 · SER_7 · SER_8 · SER_9</div><div class="sts"><span class="st">PMTA 4.5r8</span><span class="st">VMTAs 186-189</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Docker S204 — 8 containers</h4><div class="sd">+ redis-weval</div><div class="tags"><span class="tag">gitea</span><span class="tag">searxng</span><span class="tag">qdrant</span><span class="tag">prometheus</span><span class="tag">node-exporter</span><span class="tag">uptime-kuma</span><span class="tag">vaultwarden</span><span class="tag">redis-weval</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>15 Nginx domains</h4><div class="sd">SSL fullchain.pem</div><div class="tags"><span class="tag">weval-consulting.com</span><span class="tag">wevads.*</span><span class="tag">git.*</span><span class="tag">ethica.wevup.app</span><span class="tag">deerflow.*</span><span class="tag">paperclip.*</span><span class="tag">analytics.*</span><span class="tag">monitor.*</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Site public</h4><div class="sd">/var/www/weval · 106 HTML · 97 images</div><div class="sts"><span class="st"><b>7</b> Claude docs</span></div></div>
</div></div></section>
<!-- ═══════ IA ═══════ -->
<section id="sec-ia" class="show"><div class="sections">
<div class="stit">IA souveraine — 12 providers · 0€</div>
<div class="grid">
<div class="card"><span class="badge bl">LIVE</span><h4>Sovereign Cascade v3</h4><div class="sd">port 4000 · failover auto</div><div class="tags"><span class="tag">Cerebras-fast</span><span class="tag">Cerebras-think</span><span class="tag">Groq</span><span class="tag">CF-AI</span><span class="tag">Gemini</span><span class="tag">SambaNova</span><span class="tag">NVIDIA-NIM</span><span class="tag">Mistral</span><span class="tag">HF-Space</span><span class="tag">HF-Router</span><span class="tag">OpenRouter</span><span class="tag">GitHub</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>12 Sovereign agents</h4><div class="sd">architecture-consolidated.json</div><div class="tags"><span class="tag">WEVIA</span><span class="tag">WEVCODE</span><span class="tag">WEDROID</span><span class="tag">Director</span><span class="tag">L99</span><span class="tag">DeerFlow</span><span class="tag">Blade IA</span><span class="tag">Guardian</span><span class="tag">Ethica</span><span class="tag">OpenClaw</span><span class="tag">MiroFish</span><span class="tag">Consensus</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>WEVIA Master orchestration</h4><div class="sd">18 fast-path · resolver v8 · async executor</div><div class="sts"><span class="st"><b>20/20</b> intents</span><span class="st"><b>372</b> tools</span><span class="st">MCP 11 svc</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Paperclip</h4><div class="sd">29,688 fichiers · PostgreSQL</div><div class="sts"><span class="st"><b>870</b> agents</span><span class="st"><b>2,484</b> skills</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>AI Benchmark</h4><div class="sd">Leaderboard auto 2h</div><div class="sts"><span class="st">WEVAL: <b>93</b></span><span class="st">Opus: <b>90</b></span></div></div>
<div class="card"><span class="badge bi">IDLE</span><h4>DeerFlow</h4><div class="sd">5 models · Deep Research</div><div class="tags"><span class="tag">Alibaba Qwen</span><span class="tag">Groq</span><span class="tag">Cerebras Qwen 235B</span><span class="tag">WEVAL Brain v2</span></div></div>
</div></div></section>
<!-- ═══════ APPS ═══════ -->
<section id="sec-apps" class="show"><div class="sections">
<div class="stit">Applications live</div>
<div class="grid">
<div class="card"><span class="badge bl">200</span><h4>WEVIA Master</h4><div class="sd">Chat IA souverain</div></div>
<div class="card"><span class="badge bl">200</span><h4>Growth Engine v3</h4><div class="sd">37KB · 8 verticaux · 3.5M MAD</div></div>
<div class="card"><span class="badge bl">200</span><h4>Blade AI</h4><div class="sd">50 actions · Desktop agent</div></div>
<div class="card"><span class="badge bl">200</span><h4>WEVAL Arena</h4><div class="sd">62KB · Benchmark IA</div></div>
<div class="card"><span class="badge bl">200</span><h4>Wiring Dashboard</h4><div class="sd">16KB · Comparaison</div></div>
<div class="card"><span class="badge bl">200</span><h4>WEVADS IA</h4><div class="sd">270KB · Omnichannel</div></div>
<div class="card"><span class="badge bl">200</span><h4>Office Workflow v2</h4><div class="sd">48KB · O365</div></div>
<div class="card"><span class="badge bl">200</span><h4>Vault Manager</h4><div class="sd">24KB · Memory Manager</div></div>
<div class="card"><span class="badge bl">200</span><h4>DeerFlow</h4><div class="sd">56KB · Deep Research</div></div>
<div class="card"><span class="badge bl">200</span><h4>Director Center</h4><div class="sd">Dashboard projet</div></div>
<div class="card"><span class="badge bl">200</span><h4>Meeting Rooms</h4><div class="sd">Salles virtuelles</div></div>
<div class="card"><span class="badge bl">200</span><h4>Paperclip</h4><div class="sd">Projects + Issues</div></div>
<div class="card"><span class="badge bl">200</span><h4>Agents Archi</h4><div class="sd">94KB · 15 agents · Architecture IA</div><div class="tags"><span class="tag">agents-archi.html</span><span class="tag">agents-3d</span><span class="tag">agents-fleet</span><span class="tag">agents-alive</span></div></div>
<div class="card"><span class="badge bl">200</span><h4>L99 SaaS</h4><div class="sd">Framework SaaS · auto-sync pages</div></div>
<div class="card"><span class="badge bl">200</span><h4>CRM</h4><div class="sd">crm.html · Pipeline contacts</div></div>
<div class="card"><span class="badge bl">200</span><h4>Claw Code</h4><div class="sd">IDE souverain</div></div>
<div class="card"><span class="badge bl">200</span><h4>OpenClaw</h4><div class="sd">Scraper intelligent</div></div>
<div class="card"><span class="badge bl">200</span><h4>WEVCODE</h4><div class="sd">Code editor embarqué</div></div>
<div class="card"><span class="badge bl">200</span><h4>Enterprise Model</h4><div class="sd">Modèle enterprise WEVAL</div></div>
</div></div></section>
<!-- ═══════ DATA ═══════ -->
<section id="sec-data" class="show"><div class="sections">
<div class="stit">Data stores</div>
<div class="grid">
<div class="card"><span class="badge bl">LIVE</span><h4>Ethica</h4><div class="sd">141K HCPs · 48K emails · 16K phones</div><div class="tags"><span class="tag">scrapers CNAM v3</span><span class="tag">DabaDoc</span><span class="tag">medreach</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>WEVADS DB</h4><div class="sd">PostgreSQL</div><div class="sts"><span class="st"><b>6.65M</b> contacts</span><span class="st"><b>612</b> brain</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Wiki</h4><div class="sd">1,214 JSON entries</div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Vault</h4><div class="sd">538 fichiers · 22 GOLD</div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Qdrant</h4><div class="sd">5 collections · 14K vectors</div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Obsidian</h4><div class="sd">49 docs · 13 doctrines</div><div class="tags"><span class="tag">doctrine-supreme</span><span class="tag">souverainete</span><span class="tag">gold-backup</span><span class="tag">2-strikes</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>MCP Hub — 11 services</h4><div class="sd">Gmail · Calendar · Drive · Sovereign · Ethica · GitHub · Gitea · Cloudflare · Sentinel · HF · Stripe</div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>50 Gitea repos</h4><div class="sd">git.weval-consulting.com</div><div class="tags"><span class="tag">wevads-arsenal</span><span class="tag">paperclip</span><span class="tag">deer-flow</span><span class="tag">claw-code</span><span class="tag">SuperClaude</span></div></div>
</div></div></section>
<!-- ═══════ QA ═══════ -->
<section id="sec-qa" class="show"><div class="sections">
<div class="stit">Qualité — 6σ</div>
<div class="grid">
<div class="card"><span class="badge bl">100%</span><h4>NonReg</h4><div class="sd">152/152 · score 100</div></div>
<div class="card"><span class="badge bl">10/10</span><h4>Playwright E2E</h4><div class="sd">Python · Chromium 147</div></div>
<div class="card"><span class="badge bl">7/7</span><h4>Selenium E2E</h4><div class="sd">Python 4.40 · chromedriver</div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Monitoring</h4><div class="sd">54 crons S204 · 6 crons S95</div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Auto-heal</h4><div class="sd">Blade restart FPM · watchdog */2min</div></div>
</div></div></section>
<!-- ═══════ GPU ═══════ -->
<section id="sec-gpu" class="show"><div class="sections">
<div class="stit">GPU + compute gratuit</div>
<div class="grid">
<div class="card"><span class="badge bl">LIVE</span><h4>HuggingFace</h4><div class="sd">yace222 · 2 models · 5 spaces</div><div class="tags"><span class="tag">weval-brain-v4</span><span class="tag">wevia-gpu</span><span class="tag">ragflow</span><span class="tag">whisper</span><span class="tag">mlflow</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Kaggle</h4><div class="sd">3 notebooks · T4 GPU gratuit</div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Google Colab</h4><div class="sd">T4 gratuit · Gemini API</div></div>
<div class="card"><span class="badge bi">IDLE</span><h4>vLLM</h4><div class="sd">/opt/vllm · besoin GPU</div></div>
<div class="card"><span class="badge bo">OFF</span><h4>Ollama</h4><div class="sd">disabled · weval-brain-v2</div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>24 Skills</h4><div class="sd">/opt/skills/</div><div class="tags"><span class="tag">docx</span><span class="tag">pdf</span><span class="tag">pptx</span><span class="tag">xlsx</span><span class="tag">frontend</span><span class="tag">mcp-builder</span><span class="tag">canvas</span><span class="tag">skill-creator</span></div></div>
<div class="card"><span class="badge bl">LIVE</span><h4>Finetune pipeline</h4><div class="sd">weval-brain-v4 · HF verified</div></div>
</div></div></section>
<!-- ═══════ HUBS ═══════ -->
<section id="sec-hubs" class="show"><div class="sections">
<div class="stit">30 Hubs · 19 Monitors · 15 Agents</div>
<div class="grid">
<div class="card"><h4>30 Hub pages</h4><div class="tags"><span class="tag">agents-hub</span><span class="tag">ai-hub</span><span class="tag">anthropic-hub</span><span class="tag">blade-hub</span><span class="tag">cloudflare-hub</span><span class="tag">deepseek-hub</span><span class="tag">docker-hub</span><span class="tag">email-hub</span><span class="tag">ethica-hub</span><span class="tag">github-hub</span><span class="tag">google-hub</span><span class="tag">gpu-hub</span><span class="tag">hetzner-hub</span><span class="tag">huggingface-hub</span><span class="tag">keys-hub</span><span class="tag">knowledge-hub</span><span class="tag">monitoring-hub</span><span class="tag">namecheap-hub</span><span class="tag">office-hub</span><span class="tag">paperclip-hub</span><span class="tag">qa-hub</span><span class="tag">qdrant-hub</span><span class="tag">security-hub</span><span class="tag">toolhub</span><span class="tag">tools-hub</span><span class="tag">wevads-hub</span><span class="tag">wevia-hub</span></div></div>
<div class="card"><h4>19 Monitors</h4><div class="tags"><span class="tag">command-center</span><span class="tag">mega-command</span><span class="tag">infra-command</span><span class="tag">crons-monitor</span><span class="tag">cyber-monitor</span><span class="tag">ethica-monitor</span><span class="tag">realtime-monitor</span><span class="tag">sovereign-monitor</span><span class="tag">sessions-monitor</span><span class="tag">security-dashboard</span></div></div>
<div class="card"><h4>15 Agent pages</h4><div class="tags"><span class="tag">agents-3d</span><span class="tag">agents-alive</span><span class="tag">agents-archi</span><span class="tag">agents-enterprise</span><span class="tag">agents-fleet</span><span class="tag">agents-goodjob</span><span class="tag">agents-hd</span><span class="tag">agents-iso3d</span><span class="tag">agents-sim</span><span class="tag">agents-valuechain</span></div></div>
</div></div></section>
<div class="footer">
<a href="/architecture-map.html">Architecture legacy</a> · <a href="/architecture.html">Architecture technique</a><br>
WEVAL Consulting · Casablanca · 14 avril 2026
</div>
<script>
function show(s,btn){
document.querySelectorAll('.tabs button').forEach(b=>b.classList.remove('on'));
if(btn)btn.classList.add('on');
const secs=document.querySelectorAll('section');
if(s==='all'){secs.forEach(x=>x.classList.add('show'));return}
secs.forEach(x=>x.classList.toggle('show',x.id==='sec-'+s));
}
</script>
<script>(function(){var p=window.location.pathname;var pub=["/","/index.html","/wevia.html","/wevia-widget.html","/enterprise-model.html","/wevia","/login","/register.html","/agents-archi.html","/wevia-meeting-rooms.html","/director-center.html","/director-chat.html","/l99-brain.html","/agents-fleet.html","/value-streaming.html","/architecture.html","/openclaw.html","/l99-saas.html","/admin-saas.html","/agents-goodjob.html","/ai-benchmark.html","/oss-discovery.html","/paperclip.html","/agents-3d.html","/agents-alive.html","/agents-enterprise.html","/agents-hd.html","/agents-iso3d.html","/agents-sim.html","/agents-valuechain.html","/avatar-picker.html"];var isPub=pub.indexOf(p)>=0||p.indexOf("/products/")===0||p.indexOf("/blog/")===0||p.indexOf("/service/")===0;if(isPub||document.getElementById("weval-gl"))return;var a=document.createElement("a");a.id="weval-gl";a.href="/logout";a.textContent="Logout";a.style.cssText="position:fixed;top:10px;right:12px;z-index:99990;padding:5px 10px;background:rgba(30,30,50,0.7);color:rgba(200,210,230,0.8);border:1px solid rgba(100,100,140,0.3);border-radius:6px;font:500 11px system-ui,sans-serif;text-decoration:none;opacity:0.6;cursor:pointer;backdrop-filter:blur(6px);transition:all .15s";a.onmouseover=function(){this.style.opacity="1";this.style.background="rgba(239,68,68,0.85)";this.style.color="white"};a.onmouseout=function(){this.style.opacity="0.6";this.style.background="rgba(30,30,50,0.7)";this.style.color="rgba(200,210,230,0.8)"};document.body.appendChild(a)})()</script><!-- NL-AutoWire-badge-v1 -->
<a href="/nl-autowire-status.html" id="nlAutowireBadge" style="position:fixed;bottom:8px;right:8px;background:#1a3d2c;color:#56d364;padding:4px 10px;border-radius:12px;font-size:0.78em;font-family:-apple-system,sans-serif;text-decoration:none;z-index:99999;border:1px solid rgba(86,211,100,0.5);box-shadow:0 2px 8px rgba(0,0,0,0.3);">NL-AutoWire &check;</a>
<!-- CARTO_REMOVED -->
<!-- CARTO_BANNER_V1 -->
<div style="position:fixed;bottom:20px;right:20px;z-index:9999;background:linear-gradient(135deg,#141931,#2d1b5e);border:1px solid #64ffda;border-radius:12px;padding:12px 18px;box-shadow:0 4px 20px rgba(100,255,218,.3);font-family:-apple-system,Segoe UI,sans-serif;font-size:13px">
<a href="/cartographie-screens.html" style="color:#64ffda;text-decoration:none;font-weight:600;display:flex;align-items:center;gap:8px" title="Cartographie exhaustive de tous les ecrans live">
<span style="font-size:18px">&#128506;</span> Cartographie live
<span id="carto-banner-count" style="color:#8892b0;font-size:11px">3914 ecrans</span>
</a>
</div>
<script>
(function(){
fetch('/api/screens-health.php?_='+Date.now(),{cache:'no-store'}).then(r=>r.json()).then(d=>{
const c=d.counts||{}; const up=c.UP||0; const slow=c.SLOW||0; const br=c.BROKEN||0;
const el=document.getElementById('carto-banner-count');
if(el) el.innerHTML=`<span style="color:#22c55e">${up} UP</span> / <span style="color:#f59e0b">${slow} Lent</span> / <span style="color:#ef4444">${br} 5xx</span>`;
}).catch(()=>{});
})();
</script>
<!-- /CARTO_BANNER_V1 -->
<!-- WTP-GAP-FILL-V1 (doctrine 90-v2 gap-fill showcase, 18avr 2026) -->
<style>
.wtp-gapfill-banner{position:fixed;bottom:0;left:0;right:0;z-index:99999;background:linear-gradient(90deg,#05060a,#0b0d15 20%,#181d2e 50%,#0b0d15 80%,#05060a);border-top:2px solid #14b8a6;color:#e2e8f0;padding:10px 16px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:11.5px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;box-shadow:0 -10px 30px rgba(20,184,166,.28)}
.wtp-gapfill-banner a{color:#5eead4;text-decoration:none;font-weight:600;transition:color .15s}
.wtp-gapfill-banner a:hover{color:#22d3ee}
.wtp-gapfill-banner .pill{padding:2px 9px;background:rgba(99,102,241,.14);color:#a5b4fc;border-radius:10px;font-size:10.5px;font-family:JetBrains Mono,monospace;font-weight:600}
.wtp-gapfill-banner .pill.new{background:rgba(20,184,166,.22);color:#5eead4}
.wtp-gapfill-banner .pill.hot{background:rgba(236,72,153,.22);color:#f472b6}
.wtp-gapfill-banner .close{margin-left:auto;cursor:pointer;color:#64748b;padding:0 8px;font-size:16px;line-height:1;border:1px solid #334155;border-radius:4px}
.wtp-gapfill-banner .close:hover{color:#e2e8f0;border-color:#64748b}
.wtp-gapfill-banner.hidden{display:none}
@media(max-width:768px){.wtp-gapfill-banner{font-size:10px;padding:7px 10px;gap:8px}}
</style>
<div class="wtp-gapfill-banner" id="wtpGapFillBanner">
<span>🎯 <strong>WEVAL Agents Gap-Fill ERP</strong></span>
<span class="pill hot">47 gaps</span>
<span class="pill">SAP · Oracle · NetSuite · Dynamics</span>
<span class="pill new">🆕 Meeting Rooms</span>
<span class="pill new">🆕 Lean 6 Sigma</span>
<span id="wtp-gfb-metrics" class="pill">— chargement —</span>
<a href="/weval-technology-platform.html">→ WTP Portal (16 mod)</a>
<a href="/enterprise-model.html">Enterprise Model</a>
<a href="/api/weval-agents-gap-fill-manifest.json" target="_blank">📋 Manifest</a>
<span class="close" onclick="document.getElementById("wtpGapFillBanner").classList.add("hidden");localStorage.setItem("wtpGapFillHidden","1")">×</span>
</div>
<script>
(async()=>{
if(localStorage.getItem("wtpGapFillHidden")==="1"){document.getElementById("wtpGapFillBanner").classList.add("hidden");return;}
try{
const r=await fetch("/api/source-of-truth.json?t="+Date.now());
const d=await r.json();
const el=document.getElementById("wtp-gfb-metrics");
if(el)el.textContent=(d.ethica_total||"?")+" HCPs · "+(d.nonreg||"?")+" · "+(d.providers_count||"?")+" IA · "+(d.agents_count||"?")+" agents · "+(d.docker_running||"?")+" 🐳";
}catch(e){}
})();
</script>
</body>
</html>