Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Handler new: /var/www/html/api/inject-products.py - Mass injection doctrine 60 sur /var/www/html/products/ subfolder - 104 pages HTML traitees en 1 pass - GOLD backup systematique: vault-gold/opus/products-NAME.html.doctrine195-TS.bak - chattr +i/-i atomic handling - Includes mobile fix responsive bot-widget (doctrine 194 pattern) Resultats: - OK=104 ALREADY=0 ERR=0 TOTAL=104 (100 percent success) - Health checks HTTP 200 sur consulting/leadforge/academy/arsenal/bizplan Coverage GLOBAL maintenant: - Root: 322/325 = 99.1 percent (2 exclusions legitimes wevia/monitor) - Products: 104/104 = 100 percent COMPLETE - TOTAL: 426 pages UX doctrine 60 Cumul session Opus: - 45 tags (44+1) - 35 doctrines vault (146-195) - 426 pages UX doctrine 60 (was 323, +104) - NR 153/153 invariant 53 phases Handler inject-products.py battle-tested - reusable pour autres subdirs. ZERO regression. ZERO ecrasement.
399 lines
41 KiB
HTML
399 lines
41 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="fr"><head>
|
||
<link rel="icon" href="/favicon.ico" type="image/x-icon">
|
||
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
||
<meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||
<title>WEVIA Enterprise — Assistant IA Entreprise Souverain</title>
|
||
<meta name="description" content="WEVIA Enterprise — Assistant IA Entreprise Souverain - Solutions IA souveraines pour entreprises">
|
||
<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:#05080f;--s:#0c1222;--a:#00c9a7;--a15:rgba(0,201,167,.15);--p:#7c5cfc;--g:#f0c674;--r:#ff6b6b;--bl:#4ea8de;--sv:#7a8ba5;--w:#edf2f7;--b:rgba(0,201,167,.08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Outfit',sans-serif;background:var(--bg);color:var(--w)}nav{position:fixed;top:0;width:100%;padding:1rem 4%;display:flex;justify-content:space-between;align-items:center;z-index:100;backdrop-filter:blur(20px);background:rgba(5,8,15,.85);border-bottom:1px solid var(--b)}.logo{font-weight:800;font-size:1.5rem}.logo span{color:var(--a)}.btn-n{background:var(--a);color:var(--bg);padding:.55rem 1.3rem;border-radius:7px;font-weight:700;font-size:.82rem;text-decoration:none}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:7rem 4% 4rem}.badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--a15);border:1px solid rgba(0,201,167,.2);border-radius:100px;padding:.35rem 1rem;font-size:.75rem;font-weight:600;color:var(--a);margin-bottom:2rem}h1{font-size:3.2rem;font-weight:800;line-height:1.08;letter-spacing:-.04em;margin-bottom:1.2rem;max-width:800px}h1 em{font-style:normal;background:linear-gradient(135deg,var(--a),var(--p));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sub{font-size:1.05rem;color:var(--sv);max-width:600px;line-height:1.7;margin-bottom:2rem}.btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.btn-p{background:var(--a);color:var(--bg);padding:.85rem 2rem;border-radius:8px;font-weight:700;text-decoration:none}.btn-o{background:transparent;color:var(--w);padding:.85rem 2rem;border-radius:8px;text-decoration:none;border:1px solid rgba(255,255,255,.12)}.sec{padding:4rem 4%;max-width:1200px;margin:0 auto}.stag{font-family:'Space Mono',monospace;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--a);margin-bottom:1rem}h2{font-size:2.2rem;font-weight:800;margin-bottom:.8rem}.sd{color:var(--sv);font-size:.95rem;line-height:1.7;max-width:560px;margin-bottom:2.5rem}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:rgba(0,201,167,.06);border-radius:14px;overflow:hidden;margin:2rem 0}.stat{padding:1.2rem;text-align:center;background:rgba(12,18,34,.95)}.stat-n{font-family:'Space Mono',monospace;font-size:1.5rem;font-weight:700;color:var(--a)}.stat-l{font-size:.65rem;color:var(--sv)}.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.cd{background:var(--s);border:1px solid var(--b);border-radius:14px;padding:1.5rem;transition:all .3s}.cd:hover{transform:translateY(-2px)}.cd h3{font-size:.9rem;font-weight:600;margin:.5rem 0 .25rem}.cd p{font-size:.78rem;color:var(--sv);line-height:1.5}.arch{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2rem 0}.arch-box{background:var(--s);border:1px solid var(--b);border-radius:14px;padding:1.5rem}.arch-box h3{font-size:.95rem;font-weight:700;margin-bottom:.6rem}.arch-list{font-size:.8rem;color:var(--sv);line-height:1.8}.cta{text-align:center;padding:4rem 2rem;margin:2rem 4%;background:var(--s);border:1px solid var(--b);border-radius:20px}.cta p{color:var(--sv);max-width:500px;margin:.5rem auto 1.5rem}footer{padding:2rem 4%;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.04);font-size:.75rem;color:var(--sv)}footer a{color:var(--a);text-decoration:none}@media(max-width:900px){h1{font-size:2.2rem}.g3,.g4,.stats,.arch{grid-template-columns:1fr}}input,select,textarea{background:#0b0d14!important;color:#e2e8f0!important;border:1px solid #1e293b!important;border-radius:8px!important}input::placeholder{color:#475569!important}</style><style>/* Hide nav in iframe */
|
||
@media all{.in-iframe nav{display:none!important}.in-iframe .hero{padding-top:3rem!important;min-height:auto!important}.in-iframe footer{display:none!important}.in-iframe .cta{display:none!important}.in-iframe .wv-links{display:none!important}.wv-links{display:none!important}}</style>
|
||
<script>if(window!==window.top)document.documentElement.classList.add('in-iframe');</script>
|
||
<link rel="canonical" href="https://weval-consulting.com/products/wevia-enterprise.html">
|
||
<meta property="og:title" content="WEVIA Enterprise — Assistant IA Entreprise Souverain">
|
||
<meta property="og:description" content="WEVIA Enterprise — Assistant IA Entreprise Souverain - Solutions IA souveraines pour entreprises">
|
||
<meta property="og:url" content="https://weval-consulting.com/products/wevia-enterprise.html">
|
||
<meta property="og:type" content="website">
|
||
<meta property="og:site_name" content="WEVAL Consulting">
|
||
<meta property="og:image" content="https://weval-consulting.com/assets/logo-weval-png-DChrMGao.png">
|
||
<meta name="twitter:card" content="summary">
|
||
<meta name="twitter:title" content="WEVIA Enterprise — Assistant IA Entreprise Souverain">
|
||
<meta name="twitter:description" content="WEVIA Enterprise — Assistant IA Entreprise Souverain - Solutions IA souveraines pour entreprises">
|
||
<link rel="alternate" hreflang="fr" href="https://weval-consulting.com/products/wevia-enterprise.html">
|
||
<link rel="alternate" hreflang="x-default" href="https://weval-consulting.com/products/wevia-enterprise.html">
|
||
<link rel="stylesheet" href="/assets/dark-iframe.css">
|
||
<!-- DOCTRINE-60-UX-ENRICH products-batch-doctrine195 -->
|
||
<style id="wtp-doctrine60-ux-premium">
|
||
:root {
|
||
--wtp-bg-start:#0a0f1c; --wtp-bg-end:#0f172a;
|
||
--wtp-surface:rgba(15,23,42,.85); --wtp-surface-hover:rgba(30,41,59,.9);
|
||
--wtp-border:rgba(99,102,241,.25); --wtp-border-hover:rgba(99,102,241,.5);
|
||
--wtp-text:#e2e8f0; --wtp-text-dim:#94a3b8; --wtp-text-bright:#f1f5f9;
|
||
--wtp-primary:#6366f1; --wtp-primary-hover:#7c7feb;
|
||
--wtp-accent:#8b5cf6; --wtp-success:#10b981; --wtp-warning:#f59e0b; --wtp-danger:#ef4444;
|
||
--wtp-radius:12px; --wtp-shadow:0 4px 24px rgba(99,102,241,.15); --wtp-shadow-lg:0 8px 48px rgba(99,102,241,.25);
|
||
--wtp-transition:all .2s cubic-bezier(.4,0,.2,1);
|
||
--wtp-font:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
|
||
--wtp-font-mono:'JetBrains Mono',monospace;
|
||
}
|
||
.wtp-card{background:var(--wtp-surface);border:1px solid var(--wtp-border);border-radius:var(--wtp-radius);padding:20px;transition:var(--wtp-transition)}
|
||
.wtp-card:hover{border-color:var(--wtp-border-hover);box-shadow:var(--wtp-shadow)}
|
||
.wtp-btn{background:linear-gradient(135deg,var(--wtp-primary),var(--wtp-accent));color:#fff;padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:var(--wtp-transition)}
|
||
.wtp-btn:hover{transform:translateY(-1px);box-shadow:var(--wtp-shadow)}
|
||
.wtp-badge{display:inline-flex;align-items:center;padding:4px 10px;background:var(--wtp-surface);border:1px solid var(--wtp-border);border-radius:20px;font-size:12px;color:var(--wtp-text-dim)}
|
||
@media (max-width:768px){#weval-bot-widget{bottom:100px !important;right:16px !important;z-index:10001 !important}#weval-bot-btn{width:48px !important;height:48px !important}#weval-bot-btn svg{width:22px !important;height:22px !important}#footer_banner,.footer-banner,[class*="footer-bandeau"]{z-index:9990 !important}}
|
||
</style>
|
||
|
||
</head><body>
|
||
<nav><div class="logo" style="display:flex;align-items:center;gap:8px"><img src="/assets/logo-wevia-enterprise.svg" alt="" style="width:32px;height:32px">WEVIA<span>Enterprise</span></div><a href="#cta" class="btn-n">Demo live →</a></nav>
|
||
<section class="hero">
|
||
<div class="badge">IA Entreprise Souveraine — 43 endpoints · GPU local</div>
|
||
<h1>L'assistant IA qui connaît <em>votre entreprise</em></h1>
|
||
<p class="sub">43 endpoints, 13 modules core, Knowledge Base ×10, mémoire conversationnelle, vision, SearXNG, GraphRAG, YouTube. Tout tourne sur notre Cloud souverain — vos données ne quittent JAMAIS vos murs. Testez-le en live sur weval-consulting.com.</p>
|
||
<div class="btns"><a href="#cta" class="btn-p" target="_blank">Tester le chatbot live →</a><a href="#" class="btn-o" onclick="event.preventDefault();document.getElementById('deployModal').style.display='flex'">Déployer sur mon site</a></div></section>
|
||
|
||
<div class="sec"><div class="stats">
|
||
<div class="stat"><div class="stat-n">43</div><div class="stat-l">Endpoints</div></div>
|
||
<div class="stat"><div class="stat-n">13</div><div class="stat-l">Modules core</div></div>
|
||
<div class="stat"><div class="stat-n">51</div><div class="stat-l">Modèles IA</div></div>
|
||
<div class="stat"><div class="stat-n">10</div><div class="stat-l">Knowledge Bases</div></div>
|
||
<div class="stat"><div class="stat-n">8</div><div class="stat-l">Modules Dark</div></div>
|
||
<div class="stat"><div class="stat-n">20GB</div><div class="stat-l">GPU VRAM</div></div></div></div>
|
||
|
||
<section class="sec"><div class="stag">13 modules core</div><h2>Architecture modulaire</h2><p class="sd">Chaque module est indépendant et activable à la demande. Pas de monolithe — que des micro-services IA.</p>
|
||
<div class="g4">
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>Knowledge Base ×10</h3><p>10 tables KB spécialisées. Upload docs, FAQ, catalogue. Le chatbot apprend en minutes.</p></div>
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>SearXNG</h3><p>Recherche web privée intégrée. Le chatbot cherche sur le web sans tracker vos utilisateurs.</p></div>
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>GraphRAG</h3><p>Retrieval augmenté par graphe. Relations entre documents, entités, concepts. Réponses contextuelles.</p></div>
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>Mémoire</h3><p>Se souvient des échanges passés. Personnalisé chaque conversation. Cross-session.</p></div>
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>Vision</h3><p>Analyse images, documents scannés, screenshots. WEVIA Vision intégré pour le visual understanding.</p></div>
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>SmartRouter</h3><p>Route chaque requête vers le meilleur modèle IA selon la complexité. WEVIA local → cloud fallback.</p></div>
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>YouTube</h3><p>Analyse et résume des vidéos YouTube. Extraction de transcripts, Q&A sur le contenu vidéo.</p></div>
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>Sanitizer</h3><p>Masque automatiquement les données internes (IPs, mots de passe, infra) dans les réponses publiques.</p></div>
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>8 Dark Modules</h3><p>dark-matrix, dark-slot, ghost-network, shadow-rag, dark-scout, dark-data collector, dark-data, ia-discovery.</p></div>
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>Auto-Enrichment</h3><p>Cron auto-enrichissement KB toutes les 6h via GPU WEVIA. La base de connaissances grandit seule.</p></div>
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>Back-Office v3</h3><p>13 sections nav, 14 APIs, 83KB PHP. Dashboard, Inbox, Leads, Conversations, Analytics, CRUD complet.</p></div>
|
||
<div class="cd"><div style="font-size:1.1rem"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><circle cx="12" cy="12" r="10"/></svg></div><h3>Dual Interface</h3><p>Widget léger (54KB) pour embed rapide. Fullscreen (124KB) pour expérience immersive complète.</p></div></div></section>
|
||
|
||
<section class="sec"><div class="stag">GPU Souverain</div><h2>51 modèles IA en local</h2>
|
||
<div class="arch">
|
||
<div class="arch-box"><h3 style="color:var(--a)">Hardware</h3><div class="arch-list">GPU dédié — 20GB VRAM<br>CUDA optimisé<br>Serveur dédié / 64GB RAM<br>Infrastructure dédiée Europe<br>WEVIA Engine local</div></div>
|
||
<div class="arch-box"><h3 style="color:var(--p)">Modèles phares</h3><div class="arch-list">WEVIA Sovereign (custom fine-tuned)<br>WEVIA Deep (reasoning)<br>WEVIA Code (code)<br>WEVIA General (multi-purpose)<br>WEVIA Embed (embeddings)<br>WEVIA Vision (visual understanding)<br>+ 45 autres modèles</div></div></div>
|
||
<div style="background:rgba(0,201,167,.03);border:1px solid rgba(0,201,167,.1);border-radius:14px;padding:1.5rem;margin-top:1rem">
|
||
<h3 style="font-size:1rem;font-weight:700;margin-bottom:.5rem;color:var(--a)">Failover multi-cloud</h3>
|
||
<p style="font-size:.82rem;color:var(--sv);line-height:1.6">multi-providers IA avec smart failover : GPU local (rang 1) → Cloud Tier 1 (ultra-fast) → Cloud Tier 2 (fast) → Cloud Tier 3 → WEVIA → Gemini → Claude → Hyperbolic → Mistral → Cohere → WEVIA cloud. Si le GPU local est occupé, Brain bascule automatiquement. Jamais de downtime IA.</p></div></section>
|
||
|
||
<section class="sec"><div class="stag">vs concurrents</div><h2>Pourquoi pas IA générique Enterprise / Copilot ?</h2>
|
||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:1.5rem">
|
||
<div class="cd" style="border-color:rgba(0,201,167,.2)"><h3 style="color:var(--a)">WEVIA Enterprise</h3><p style="font-size:.82rem;color:var(--sv);line-height:1.7"> Cloud souverain — données 100% locales<br> 43 endpoints / 13 modules<br> KB custom × 10 tables<br> Vision + Mémoire + GraphRAG<br> 51 modèles (souverain, pas de vendor lock-in)<br> 500-$2,999/mo (tout compris)<br> FR/AR/EN/ES natif<br> Widget embed 5 minutes<br> Back-office CRUD complet</p></div>
|
||
<div class="cd"><h3 style="color:var(--sv)">IA générique Enterprise / Microsoft Copilot</h3><p style="font-size:.82rem;color:var(--sv);line-height:1.7"> Cloud US — données chez IA Cloud/Microsoft<br> API standardisée, pas de modules custom<br> KB limitée (1 upload, pas 10 tables)<br> Pas de GraphRAG, pas de dark modules<br> 1 seul modèle (GPT-4), pas de choix<br> $30/user/mo × 100 users = $3000/mo<br> Principalement anglophone<br> Embed complexe, API requise<br> Pas de back-office dédié</p></div></div></section>
|
||
|
||
<div class="cta" id="cta"><div class="stag">Deploy</div><h2>Votre IA en 5 minutes</h2><p>Testez le chatbot live sur weval-consulting.com, puis déployez-le sur votre site. Knowledge base custom, votre marque, notre IA.</p><div class="btns" style="justify-content:center"><a href="#cta" class="btn-p" target="_blank">Tester live →</a><a href="#" class="btn-o" onclick="event.preventDefault();document.getElementById('deployModal').style.display='flex'">Déployer sur mon site</a></div></div>
|
||
<footer><div><strong>WEVIA Enterprise</strong> · <a href="/products/">WEVAL Products</a></div><div>France · Maroc · États-Unis · International · IA Souveraine</div></footer><!-- WEVAL Product Assistant Chatbot Widget -->
|
||
<div id="weval-bot-widget" style="position:fixed;bottom:20px;right:20px;z-index:9999;font-family:'Inter',system-ui,sans-serif">
|
||
<style>
|
||
#weval-bot-btn{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;cursor:pointer;box-shadow:0 4px 24px rgba(99,102,241,.4);display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}
|
||
#weval-bot-btn:hover{transform:scale(1.08);box-shadow:0 6px 32px rgba(99,102,241,.5)}
|
||
#weval-bot-btn svg{width:28px;height:28px;fill:#fff}
|
||
#weval-bot-badge{position:absolute;top:-2px;right:-2px;width:14px;height:14px;background:#22c55e;border-radius:50%;border:2px solid #fff;animation:pulse-badge 2s infinite}
|
||
@keyframes pulse-badge{0%,100%{opacity:1}50%{opacity:.5}}
|
||
#weval-bot-panel{display:none;position:fixed;bottom:90px;right:20px;width:380px;max-height:520px;background:#0f1629;border:1px solid rgba(99,102,241,.2);border-radius:16px;box-shadow:0 12px 48px rgba(0,0,0,.5);overflow:hidden;flex-direction:column}
|
||
#weval-bot-panel.open{display:flex}
|
||
#weval-bot-head{background:linear-gradient(135deg,#6366f1,#8b5cf6);padding:14px 18px;display:flex;align-items:center;gap:10px}
|
||
#weval-bot-head .avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:18px}
|
||
#weval-bot-head .info{flex:1;color:#fff}
|
||
#weval-bot-head .info .name{font-weight:600;font-size:14px}
|
||
#weval-bot-head .info .status{font-size:11px;opacity:.8}
|
||
#weval-bot-close{background:none;border:none;color:rgba(255,255,255,.7);cursor:pointer;font-size:20px;padding:4px}
|
||
#weval-bot-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:280px;max-height:360px}
|
||
.bot-msg{max-width:85%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5;word-wrap:break-word}
|
||
.bot-msg.bot{background:rgba(99,102,241,.12);color:#e2e8f0;border-bottom-left-radius:4px;align-self:flex-start}
|
||
.bot-msg.user{background:#6366f1;color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
|
||
.bot-msg a{color:#818cf8;text-decoration:underline}
|
||
.bot-typing{display:flex;gap:4px;padding:10px 14px;align-self:flex-start}
|
||
.bot-typing span{width:6px;height:6px;background:#6366f1;border-radius:50%;animation:bounce .6s infinite alternate}
|
||
.bot-typing span:nth-child(2){animation-delay:.2s}
|
||
.bot-typing span:nth-child(3){animation-delay:.4s}
|
||
@keyframes bounce{to{opacity:.3;transform:translateY(-4px)}}
|
||
#weval-bot-input-area{padding:10px 14px;border-top:1px solid rgba(255,255,255,.06);display:flex;gap:8px}
|
||
#weval-bot-input{flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 12px;color:#e2e8f0;font-size:13px;outline:none}
|
||
#weval-bot-input::placeholder{color:rgba(255,255,255,.3)}
|
||
#weval-bot-send{background:#6366f1;border:none;border-radius:8px;padding:8px 12px;color:#fff;cursor:pointer;font-size:13px;font-weight:600}
|
||
#weval-bot-send:hover{background:#5558e6}
|
||
.quick-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
|
||
.quick-btn{background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.25);color:#a5b4fc;padding:5px 10px;border-radius:6px;font-size:11px;cursor:pointer;transition:all .15s}
|
||
.quick-btn:hover{background:rgba(99,102,241,.3);color:#fff}
|
||
</style>
|
||
|
||
<button id="weval-bot-btn" onclick="toggleBot()">
|
||
<svg viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z"/></svg>
|
||
<div id="weval-bot-badge"></div>
|
||
</button>
|
||
|
||
<div id="weval-bot-panel">
|
||
<div id="weval-bot-head">
|
||
<div class="avatar">W</div>
|
||
<div class="info">
|
||
<div class="name">WEVAL Assistant</div>
|
||
<div class="status">En ligne - 62 produits</div>
|
||
</div>
|
||
<button id="weval-bot-close" onclick="toggleBot()">×</button>
|
||
</div>
|
||
<div id="weval-bot-msgs"></div>
|
||
<div id="weval-bot-input-area">
|
||
<input id="weval-bot-input" placeholder="Posez une question sur nos produits..." onkeypress="if(event.key==='Enter')sendBot()">
|
||
<button id="weval-bot-send" onclick="sendBot()">Envoyer</button>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
const PRODUCTS_KB = {
|
||
deliVerscore: {name:'DeliverScore',desc:'Audit délivrabilité email - SPF/DKIM/DMARC/listes de blocage. Score + recommandations IA.',price:'Gratuit + Pro $49/mo',url:'/products/deliverscore.html',category:'Email Intelligence'},
|
||
medreach: {name:'MedReach API',desc:'Base de 18596+ professionnels de santé vérifiés (Afrique, Europe, Moyen-Orient, Asie, Europe). API REST + export.',price:'Gratuit + Pro $299/mo',url:'/products/medreach.html',category:'Data'},
|
||
gpu: {name:'WEVIA Inference',desc:'IA-as-a-Service. WEVIA Deep, WEVIA sur GPU dédié. API IA Cloud-compatible.',price:'Gratuit + Pro $99/mo',url:'/products/gpu-inference.html',category:'IA'},
|
||
contentfactory: {name:'AI Content Factory',desc:'Génération de contenu IA - articles, fiches produits, LinkedIn. 6 templates.',price:'Gratuit + Pro $29/mo',url:'/products/content-factory.html',category:'IA'},
|
||
proposalai: {name:'ProposalAI',desc:'Generateur de propositions commerciales qualité Big4. Brief -> propale en 30 sec.',price:'Gratuit + Pro $19/mo',url:'/products/proposalai.html',category:'IA'},
|
||
blueprintai: {name:'BlueprintAI',desc:'Process docs, BPMN, CDC, blueprints L1/L2/L3, 8D, RACI.',price:'$25/mo',url:'/products/blueprintai.html',category:'IA'},
|
||
storeforge: {name:'StoreForge',desc:'E-commerce IA. Boutique en 5 min. Descriptions IA, chatbot WEVIA, paiement Maroc.',price:'0-$29/mo',url:'/products/storeforge.html',category:'Commerce'},
|
||
leadforge: {name:'LeadForge',desc:'B2B Lead Intelligence sur mesure. Leads vérifiés tous secteurs. 0.30-0.$50/lead.',price:'0.30-0.$49/lead',url:'/products/workspace.html',category:'Data'},
|
||
mailwarm: {name:'MailWarm',desc:'Optimisation email automatique. 500+ seeds. Inbox 90%+ en 4-6 semaines.',price:'$29/compte/mo',url:'/products/workspace.html',category:'Email'},
|
||
sentinel: {name:'Sentinel Monitor',desc:'Cyber monitoring PME - SSL, ports, DNS, OWASP. Alertes Telegram.',price:'Gratuit + Pro $49/mo',url:'/products/workspace.html',category:'Security'},
|
||
outreachai: {name:'OutreachAI',desc:'Cold outreach IA. Upload leads -> IA personnalisé, envoi -> tracking.',price:'$199/mo',url:'/products/workspace.html',category:'Email'},
|
||
wevia: {name:'WEVIA White-Label',desc:'Chatbot IA clé en main. Widget embed 5 min. KB custom, memoire, vision.',price:'100-$299/mo',url:'/products/wevia-whitelabel.html',category:'IA'},
|
||
emailverify: {name:'EmailVerify',desc:'Validation email temps réel MX+SMTP+disposable.',price:'$49/mo',url:'/products/workspace.html',category:'Email Intelligence'},
|
||
blacklistguard: {name:'BlacklistGuard',desc:'Monitoring 100+ listes de blocage RBL + alertes.',price:'$29/mo',url:'/products/workspace.html',category:'Email Intelligence'},
|
||
reputationai: {name:'RéputationAI',desc:'Score réputation domaine + historique.',price:'$39/mo',url:'/products/workspace.html',category:'Email Intelligence'},
|
||
copyai: {name:'CopyAI WEVAL',desc:'Copywriting IA - emails, sujets, CTA. Cloud souveraine.',price:'$39/mo',url:'/products/workspace.html',category:'IA'},
|
||
dataharvest: {name:'DataInsight',desc:'Intelligence d\'enrichissement de donn\u00e9es B2B.',price:'$99/mo',url:'/products/workspace.html',category:'Data'},
|
||
smsforge: {name:'SMSForge',desc:'SMS marketing international (190+ pays).',price:'$49/mo',url:'/products/workspace.html',category:'Marketing'},
|
||
adscontrol: {name:'AdsControl',desc:'Multi-channel ads FB/Google/LinkedIn/TikTok.',price:'$99/mo',url:'/products/workspace.html',category:'Marketing'},
|
||
wevalcrm: {name:'WEVAL CRM',desc:'CRM leger pipeline + contacts + IA.',price:'Gratuit + Pro $29/mo',url:'/products/workspace.html',category:'Business'},
|
||
canvasai: {name:'CanvasAI',desc:'Design IA - visuels, bannieres, logos.',price:'$29/mo',url:'/products/workspace.html',category:'IA'},
|
||
devforge: {name:'DevForge AI',desc:'12 modules dev: specs, tests, code gen, API design, security review.',price:'$199/mo',url:'/products/workspace.html',category:'Dev'},
|
||
ethica: {name:'Ethica B2B',desc:'Plateforme HCP internationale. 5775+ medecins vérifiés.',price:'$299/mo',url:'/products/workspace.html',category:'Data'},
|
||
arsenal: {name:'Arsenal Framework',desc:'150+ ecrans. ERP Intelligence, Brain Engine, moteur envoi. Enterprise.',price:'2000-$9,999/mo',url:'/products/arsenal.html',category:'Flagship'},
|
||
wevads: {name:'WEVADS Platform',desc:'Infrastructure email complete. Brain Engine des centaines de configurations. 6.65M contacts.',price:'Enterprise',url:'/products/wevads.html',category:'Flagship'},
|
||
};
|
||
|
||
function getProductList() {
|
||
return Object.values(PRODUCTS_KB).map(p => `<b>${p.name}</b> - ${p.desc} (<a href="${p.url}">${p.price}</a>)`).join('<br><br>');
|
||
}
|
||
|
||
function findProducts(query) {
|
||
const q = query.toLowerCase();
|
||
const matches = [];
|
||
const keywords = {
|
||
email: ['deliVerscore','emailverify','blacklistguard','reputationai','mailwarm','outreachai'],
|
||
ia: ['gpu','contentfactory','proposalai','blueprintai','copyai','canvasai','devforge','wevia'],
|
||
data: ['medreach','leadforge','dataharvest','ethica'],
|
||
security: ['sentinel','blacklistguard'],
|
||
ecommerce: ['storeforge'],
|
||
marketing: ['smsforge','adscontrol','outreachai'],
|
||
crm: ['wevalcrm'],
|
||
sap: ['arsenal'],
|
||
enterprise: ['arsenal','wevads','wevia'],
|
||
gratuit: [],
|
||
prix: [],
|
||
maroc: ['medreach','ethica','smsforge','storeforge'],
|
||
};
|
||
|
||
for (const [kw, ids] of Object.entries(keywords)) {
|
||
if (q.includes(kw)) ids.forEach(id => { if (!matches.includes(id)) matches.push(id); });
|
||
}
|
||
|
||
// Also search in product names and descriptions
|
||
for (const [id, p] of Object.entries(PRODUCTS_KB)) {
|
||
if (p.name.toLowerCase().includes(q) || p.desc.toLowerCase().includes(q) || p.category.toLowerCase().includes(q)) {
|
||
if (!matches.includes(id)) matches.push(id);
|
||
}
|
||
}
|
||
|
||
return matches.map(id => PRODUCTS_KB[id]).filter(Boolean);
|
||
}
|
||
|
||
function botReply(userMsg) {
|
||
const q = userMsg.toLowerCase();
|
||
|
||
// Greetings
|
||
if (/^(bonjour|salut|hello|hi|hey|coucou)/.test(q)) {
|
||
return `Bonjour ! Je suis l'assistant WEVAL. Nous avons <b>62 produits SaaS</b> en production. Comment puis-je vous aider ?<div class="quick-btns"><span class="quick-btn" onclick="askBot('Quels sont vos produits?')">Voir les produits</span><span class="quick-btn" onclick="askBot('email délivrabilité')">Email</span><span class="quick-btn" onclick="askBot('intelligence artificielle')">IA</span><span class="quick-btn" onclick="askBot('prix')">Tarifs</span></div>`;
|
||
}
|
||
|
||
// List all
|
||
if (/tous|tout|liste|produit|service|catalogue|quoi/.test(q)) {
|
||
const cats = {};
|
||
Object.values(PRODUCTS_KB).forEach(p => { if (!cats[p.category]) cats[p.category]=[]; cats[p.category].push(p); });
|
||
let html = `Voici nos <b>${Object.keys(PRODUCTS_KB).length} produits</b> par categorie :<br><br>`;
|
||
for (const [cat, prods] of Object.entries(cats)) {
|
||
html += `<b>${cat}</b><br>`;
|
||
prods.forEach(p => { html += `• <a href="${p.url}">${p.name}</a> - ${p.price}<br>`; });
|
||
html += '<br>';
|
||
}
|
||
html += `<div class="quick-btns"><span class="quick-btn" onclick="askBot('email')">Email</span><span class="quick-btn" onclick="askBot('IA')">IA</span><span class="quick-btn" onclick="askBot('essayer gratuit')">Gratuit</span></div>`;
|
||
return html;
|
||
}
|
||
|
||
// Pricing
|
||
if (/prix|tarif|cout|combien|pricing|gratuit|free/.test(q)) {
|
||
const free = Object.values(PRODUCTS_KB).filter(p => p.price.toLowerCase().includes('gratuit'));
|
||
let html = `<b>Produits avec plan gratuit (${free.length}):</b><br>`;
|
||
free.forEach(p => { html += `• <a href="${p.url}">${p.name}</a> - ${p.price}<br>`; });
|
||
html += `<br>Tous les prix sont sur <a href="/products/">notre catalogue</a>. Besoin d'un devis personnalisé ?<div class="quick-btns"><span class="quick-btn" onclick="askBot('demo')">Demander une demo</span><span class="quick-btn" onclick="window.location.href='/booking.html'">Nous contacter</span></div>`;
|
||
return html;
|
||
}
|
||
|
||
// Demo / essai
|
||
if (/demo|essai|tester|try|commencer|start/.test(q)) {
|
||
return `Pour commencer gratuitement :<br><br>1. <a href="/products/workspace.html">Ouvrir le Workspace</a> et créer un compte<br>2. Vous aurez acces a tous les produits gratuits<br>3. Testez DeliverScore, WEVIA Inference, Content Factory...<br><br>Ou <a href="#cta">contactez-nous</a> pour une demo personnalisée !<div class="quick-btns"><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Ouvrir Workspace</span></div>`;
|
||
}
|
||
|
||
// Specific product search
|
||
const matches = findProducts(q);
|
||
if (matches.length > 0) {
|
||
let html = `J'ai trouve <b>${matches.length} produit(s)</b> correspondant :<br><br>`;
|
||
matches.slice(0, 6).forEach(p => {
|
||
html += `<b><a href="${p.url}">${p.name}</a></b><br>${p.desc}<br><i>${p.price}</i><br><br>`;
|
||
});
|
||
if (matches.length > 6) html += `...et ${matches.length - 6} autres.<br>`;
|
||
html += `<div class="quick-btns"><span class="quick-btn" onclick="window.location.href='${matches[0].url}'">Voir ${matches[0].name}</span><span class="quick-btn" onclick="askBot('prix')">Tarifs</span></div>`;
|
||
return html;
|
||
}
|
||
|
||
// Default - suggest contacting or browsing
|
||
return `Je n'ai pas trouve de produit spécifique pour "${userMsg}". Nos 62 produits couvrent : Email Intelligence, IA/GPU, Data, Security, Marketing, E-commerce et Dev.<br><br><div class="quick-btns"><span class="quick-btn" onclick="askBot('tous les produits')">Voir tout</span><span class="quick-btn" onclick="window.location.href='/booking.html'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||
}
|
||
|
||
function toggleBot() {
|
||
const p = document.getElementById('weval-bot-panel');
|
||
p.classList.toggle('open');
|
||
if (p.classList.contains('open') && document.getElementById('weval-bot-msgs').children.length === 0) {
|
||
addMsg('bot', `Bonjour ! Je suis l'assistant produits WEVAL. Nous proposons <b>37 SaaS</b> en production. Que recherchez-vous ?<div class="quick-btns"><span class="quick-btn" onclick="askBot('Tous les produits')">Catalogue</span><span class="quick-btn" onclick="askBot('email')">Email</span><span class="quick-btn" onclick="askBot('intelligence artificielle')">IA</span><span class="quick-btn" onclick="askBot('gratuit')">Gratuit</span><span class="quick-btn" onclick="askBot('demo')">Demo</span></div>`);
|
||
}
|
||
document.getElementById('weval-bot-badge').style.display = 'none';
|
||
}
|
||
|
||
function addMsg(type, html) {
|
||
const msgs = document.getElementById('weval-bot-msgs');
|
||
const div = document.createElement('div');
|
||
div.className = 'bot-msg ' + type;
|
||
div.innerHTML = html;
|
||
msgs.appendChild(div);
|
||
msgs.scrollTop = msgs.scrollHeight;
|
||
}
|
||
|
||
function askBot(q) {
|
||
document.getElementById('weval-bot-input').value = q;
|
||
sendBot();
|
||
}
|
||
|
||
function sendBot() {
|
||
const input = document.getElementById('weval-bot-input');
|
||
const msg = input.value.trim();
|
||
if (!msg) return;
|
||
input.value = '';
|
||
addMsg('user', msg);
|
||
|
||
// Show typing
|
||
const msgs = document.getElementById('weval-bot-msgs');
|
||
const typing = document.createElement('div');
|
||
typing.className = 'bot-typing';
|
||
typing.innerHTML = '<span></span><span></span><span></span>';
|
||
msgs.appendChild(typing);
|
||
msgs.scrollTop = msgs.scrollHeight;
|
||
|
||
setTimeout(() => {
|
||
typing.remove();
|
||
addMsg('bot', botReply(msg));
|
||
}, 400 + Math.random() * 600);
|
||
}
|
||
</script>
|
||
</div>
|
||
|
||
|
||
<div id="deployModal" style="display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:9999;align-items:center;justify-content:center" onclick="if(event.target===this)this.style.display='none'">
|
||
<div style="background:#111827;border:1px solid #1f2937;border-radius:16px;padding:32px;max-width:600px;width:90%;color:#e2e8f0">
|
||
<div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:20px">
|
||
<h2 style="font-size:20px;font-weight:700;margin:0">Déployer WEVIA sur votre site</h2>
|
||
<span style="cursor:pointer;font-size:24px;color:#9ca3af" onclick="this.closest('#deployModal').style.display='none'">×</span>
|
||
</div>
|
||
<p style="color:#9ca3af;font-size:14px;margin-bottom:16px">Copiez ce code et collez-le avant la balise <code style="background:#1f2937;padding:2px 6px;border-radius:4px"></body></code> de votre site.</p>
|
||
<div style="background:#0a0d14;border:1px solid #1f2937;border-radius:8px;padding:16px;font-family:monospace;font-size:12px;line-height:1.6;color:#22c55e;position:relative">
|
||
<button onclick="navigator.clipboard.writeText(document.getElementById('embedCode').textContent);this.textContent='Copié !';setTimeout(()=>this.textContent='Copier',2000)" style="position:absolute;top:8px;right:8px;background:#3b82f6;color:#fff;border:none;padding:5px 12px;border-radius:6px;font-size:11px;cursor:pointer">Copier</button>
|
||
<pre id="embedCode" style="margin:0;white-space:pre-wrap;word-break:break-all"><script src="https://weval-consulting.com/wevia-widget-embed.js"
|
||
data-api-key="VOTRE_CLE_API"
|
||
data-position="bottom-right"
|
||
data-theme="auto"></script></pre>
|
||
</div>
|
||
<div style="margin-top:16px;display:flex;gap:8px">
|
||
<a href="/products/workspace.html" style="flex:1;text-align:center;padding:10px;background:#1f2937;color:#e2e8f0;border-radius:8px;font-size:13px;text-decoration:none">Obtenir une clé API</a>
|
||
<a href="/wevia-ia/wevia.html" target="_blank" style="flex:1;text-align:center;padding:10px;background:#3b82f6;color:#fff;border-radius:8px;font-size:13px;text-decoration:none">Tester live</a>
|
||
</div>
|
||
<p style="color:#6b7280;font-size:11px;margin-top:12px;text-align:center">Widget léger (54KB) · Cloud souverain · Vos données restent chez vous</p>
|
||
</div>
|
||
</div>
|
||
|
||
<style>
|
||
.enrich-trust{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;padding:1.5rem 4%;background:rgba(255,255,255,.02);border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);margin:2rem 0}
|
||
.enrich-trust-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#7a8ba5}.enrich-trust-item strong{color:#edf2f7}
|
||
.enrich-stats{display:flex;gap:3rem;justify-content:center;padding:2rem 4%;margin:1rem 0}.enrich-stat{text-align:center}.enrich-stat .v{font-family:"Space Mono",monospace;font-size:1.5rem;font-weight:700}.enrich-stat .l{font-size:.72rem;color:#7a8ba5;margin-top:.2rem}
|
||
.enrich-chat{max-width:800px;margin:3rem auto;padding:0 4%}.enrich-chat-box{background:#0c1222;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden}
|
||
.enrich-chat-hd{padding:.8rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:600}
|
||
.enrich-chat-msgs{min-height:200px;max-height:350px;overflow-y:auto;padding:1rem}.enrich-chat-empty{text-align:center;padding:2rem;color:#7a8ba5;font-size:.82rem}
|
||
.enrich-sug{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin-top:.8rem}
|
||
.enrich-sug button{padding:.35rem .7rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:16px;color:#edf2f7;font-size:.72rem;cursor:pointer;font-family:"Outfit"}
|
||
.enrich-input{padding:.8rem 1.2rem;border-top:1px solid rgba(255,255,255,.06);display:flex;gap:.5rem}
|
||
.enrich-input textarea{flex:1;resize:none;min-height:36px;max-height:100px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);color:#edf2f7;border-radius:8px;padding:.5rem .7rem;font-family:"Outfit";font-size:.82rem;outline:none}
|
||
.enrich-input button{background:#8b5cf6;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:700;cursor:pointer;font-family:"Outfit";font-size:.82rem}
|
||
.msg-eu{background:rgba(255,255,255,.05);border-radius:8px 8px 2px 8px;padding:.5rem .8rem;margin:6px 0;max-width:70%;margin-left:auto;font-size:.82rem;color:#edf2f7}
|
||
.msg-ea{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.04);border-radius:2px 8px 8px 8px;padding:.6rem .9rem;margin:6px 0;max-width:85%;font-size:.82rem;color:#edf2f7;line-height:1.6}
|
||
.msg-ea strong{color:#fff}.msg-ea pre{background:rgba(0,0,0,.3);padding:.5rem;border-radius:6px;font-size:.75rem;margin:.4rem 0;overflow-x:auto}
|
||
.enrich-ld{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8b5cf6;margin:0 2px;animation:ep .8s infinite}
|
||
.enrich-ld:nth-child(2){animation-delay:.2s}.enrich-ld:nth-child(3){animation-delay:.4s}
|
||
@keyframes ep{0%,100%{opacity:1}50%{opacity:.3}}
|
||
</style>
|
||
<div class="enrich-trust">
|
||
<div class="enrich-trust-item"><strong>44</strong> produits SaaS</div>
|
||
<div class="enrich-trust-item"><strong>Cloud</strong> souverain</div>
|
||
<div class="enrich-trust-item"><strong>API</strong> REST</div>
|
||
<div class="enrich-trust-item"><strong>RGPD</strong> conforme</div>
|
||
<div class="enrich-trust-item"><strong>France</strong> · Maroc · États-Unis · International</div>
|
||
</div>
|
||
<div class="enrich-chat">
|
||
<div class="enrich-chat-box" style="--enrichcolor:#8b5cf6">
|
||
<div class="enrich-chat-hd"><span style="color:#8b5cf6">●</span> WEVIA Enterprise — Assistant IA</div>
|
||
<div class="enrich-chat-msgs" id="echat-msgs">
|
||
<div class="enrich-chat-empty" id="echat-empty">
|
||
Posez votre question sur WEVIA Enterprise
|
||
<div class="enrich-sug">
|
||
<button onclick="esg('Quelles sont les fonctionnalités principales ?')">Fonctionnalités</button>
|
||
<button onclick="esg('Quels sont les tarifs ?')">Tarifs</button>
|
||
<button onclick="esg('Comment ca marche ?')">Comment ca marche</button>
|
||
</div></div></div>
|
||
<div class="enrich-input"><textarea id="echat-i" rows="1" placeholder="Posez votre question..." onkeydown="if(event.key==='Enter'&&!event.shiftKey){event.preventDefault();esend()}"></textarea><button onclick="esend()">Envoyer</button></div>
|
||
</div></div>
|
||
<script>
|
||
var ectx="Tu es WEVIA Enterprise, assistant IA souverain pour entreprises. RAG, knowledge base, GPU prive, API.";var ehist=[];
|
||
function eesc(s){var d=document.createElement("div");d.textContent=s;return d.innerHTML}
|
||
function emd(m){return m.replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/`(.*?)`/g,"<code>$1</code>").replace(/\n\n/g,"<br><br>")}
|
||
function esg(q){document.getElementById("echat-i").value=q;esend()}
|
||
async function esend(){var i=document.getElementById("echat-i"),m=i.value.trim();if(!m)return;var a=document.getElementById("echat-msgs"),es=document.getElementById("echat-empty");if(es)es.remove();a.innerHTML+='<div class="msg-eu">'+eesc(m)+'</div>';i.value="";a.scrollTop=a.scrollHeight;var lid="el"+Date.now();a.innerHTML+='<div class="msg-ea" id="'+lid+'"><span class="enrich-ld"></span><span class="enrich-ld"></span><span class="enrich-ld"></span></div>';a.scrollTop=a.scrollHeight;try{ehist.push({role:"user",content:m});var r=await fetch("/api/weval-ia-fast.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:"[INSTRUCTION SYSTEME: "+ectx+"]\n\nDemande utilisateur: "+m,mode:"full",history:ehist.slice(-6)})});var j=await r.json();var rp=j.response||j.error||"Erreur";ehist.push({role:"assistant",content:rp});var el=document.getElementById(lid);if(el)el.outerHTML='<div class="msg-ea">'+emd(rp)+"</div>";}catch(ex){var el=document.getElementById(lid);if(el)el.innerHTML="Erreur: "+ex.message;}a.scrollTop=a.scrollHeight;}
|
||
</script>
|
||
</body></html>
|
||
<!-- WEVAL Self-Service Inject -->
|
||
<script>
|
||
if(window===window.top){
|
||
// Replace all contact mailto links with signup portal
|
||
document.querySelectorAll('a[href*="mailto:"]').forEach(a => {
|
||
if(a.classList.contains('btn-p') || a.classList.contains('btn-f') || a.classList.contains('btn-n') || a.classList.contains('btn-nav') || a.classList.contains('btn-primary') || a.classList.contains('btn-price-fill') || a.textContent.includes('Commencer') || a.textContent.includes('Commander') || a.textContent.includes('Essayer') || a.textContent.includes('Souscrire') || a.textContent.includes('Créer') || a.textContent.includes('Obtenir') || a.textContent.includes('Démarrer') || a.textContent.includes('Rejoindre')) {
|
||
a.href = '/products/workspace.html';
|
||
a.removeAttribute('target');
|
||
}
|
||
});
|
||
// Add floating CTA
|
||
const bar = document.createElement('div');
|
||
bar.innerHTML = '<div style="position:fixed;bottom:0;left:0;right:0;z-index:999;background:rgba(5,8,15,0.95);backdrop-filter:blur(10px);border-top:1px solid rgba(0,201,167,0.15);padding:0.6rem 4%;display:flex;justify-content:space-between;align-items:center"><div style="font-size:0.82rem;color:#7a8ba5"><strong style="color:#edf2f7">WEVAL Products</strong> · <span style="color:#00c9a7">Self-service</span> · Inscription en 30 secondes</div><a href="/products/workspace.html" style="background:#00c9a7;color:#05080f;padding:0.5rem 1.2rem;border-radius:6px;font-weight:700;font-size:0.82rem;text-decoration:none">Créer mon compte gratuit →</a></div>';
|
||
if(window.self===window.top){document.body.appendChild(bar);}
|
||
document.body.style.paddingBottom = '52px';
|
||
}
|
||
</script>
|