Files
html/products/emailverify.html
2026-04-12 22:57:03 +02:00

106 lines
26 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>EmailVerify — Validation Email Temps Réel | WEVAL</title>
<meta name="description" content="EmailVerify — Validation Email Temps Réel">
<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>@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}}input,select,textarea{background:#0b0d14!important;color:#e2e8f0!important;border:1px solid #1e293b!important;border-radius:8px!important}input::placeholder{color:#475569!important}</style>
<script>if(window!==window.top)document.documentElement.classList.add('in-iframe');</script>
<style>:root{--bg:#05080f;--s:#0c1222;--s2:#111a2e;--a:#22c55e;--a15:rgba(34,197,94,0.15);--a08:rgba(34,197,94,0.08);--a30:rgba(34,197,94,0.3);--sv:#7a8ba5;--w:#edf2f7;--d:#1a2340;--gn:#34d399;--rd:#f87171}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Outfit',sans-serif;background:var(--bg);color:var(--w);overflow-x:hidden}body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:1000}
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,0.85);border-bottom:1px solid var(--a08)}.logo{font-weight:800;font-size:1.4rem;text-decoration:none;color:var(--w)}.logo span{color:var(--a)}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links a{color:var(--sv);text-decoration:none;font-size:.85rem;font-weight:500}.nav-links a:hover{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;position:relative}.hero::after{content:'';position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(34,197,94,0.06) 0%,transparent 70%);top:10%;left:50%;transform:translateX(-50%);pointer-events:none}.badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--a15);border:1px solid rgba(34,197,94,0.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:700px}h1 em{font-style:normal;color:var(--a)}.sub{font-size:1.05rem;color:var(--sv);max-width:560px;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;transition:all .3s;font-family:'Outfit';border:none;cursor:pointer;font-size:1rem}.btn-p:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(34,197,94,0.25)}.btn-o{background:transparent;color:var(--w);padding:.85rem 2rem;border-radius:8px;text-decoration:none;border:1px solid rgba(255,255,255,.12);font-weight:600}.stats{display:flex;gap:3rem;margin-top:3rem}.stat{text-align:center}.stat-v{font-family:'Space Mono',monospace;font-size:1.8rem;font-weight:700;color:var(--a)}.stat-l{font-size:.78rem;color:var(--sv);margin-top:.2rem}
.sec{padding:5rem 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;letter-spacing:-.03em;margin-bottom:.8rem}.sd{color:var(--sv);font-size:.95rem;line-height:1.7;max-width:560px;margin-bottom:2.5rem}.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.cd{background:var(--s);border:1px solid var(--a08);border-radius:14px;padding:1.6rem;transition:all .3s}.cd:hover{border-color:var(--a30);transform:translateY(-3px)}.cd-i{font-size:1.8rem;margin-bottom:.6rem}.cd h3{font-size:1rem;font-weight:600;margin-bottom:.35rem}.cd p{font-size:.82rem;color:var(--sv);line-height:1.55}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center;margin:3rem 0}.step{position:relative}.step-n{width:44px;height:44px;border-radius:50%;background:var(--a15);display:flex;align-items:center;justify-content:center;margin:0 auto .8rem;font-family:'Space Mono',monospace;font-weight:700;color:var(--a)}.step h3{font-size:.95rem;font-weight:600;margin-bottom:.3rem}.step p{font-size:.8rem;color:var(--sv);line-height:1.5}
.demo{background:var(--s);border:1px solid var(--a08);border-radius:16px;padding:2rem;margin:2rem 0}.demo h3{font-size:1.1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.demo-input{display:flex;gap:.8rem;margin-bottom:1.5rem}.demo-input input{flex:1;background:var(--bg);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.7rem 1rem;color:var(--w);font-family:'Outfit';font-size:.9rem;outline:none}.demo-input input:focus{border-color:var(--a)}.demo-input button{background:var(--a);color:var(--bg);border:none;border-radius:8px;padding:.7rem 1.5rem;font-weight:700;cursor:pointer;font-family:'Outfit';font-size:.9rem}.demo-result{min-height:100px;padding:1rem;background:var(--bg);border-radius:8px;border:1px solid rgba(255,255,255,.04);font-size:.85rem;line-height:1.6}
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.pr{background:var(--s);border:1px solid var(--a08);border-radius:16px;padding:1.8rem;transition:all .3s}.pr.pop{border-color:var(--a);position:relative}.pr.pop::before{content:'Populaire';position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--a);color:var(--bg);padding:.2rem .8rem;border-radius:100px;font-size:.65rem;font-weight:700;text-transform:uppercase}.pr:hover{transform:translateY(-3px)}.pr-name{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--sv);margin-bottom:.6rem}.pr-amt{font-family:'Space Mono',monospace;font-size:2.5rem;font-weight:700;margin-bottom:.8rem}.pr-amt sub{font-size:.8rem;color:var(--sv);font-family:'Outfit'}.pr-list{list-style:none;margin-bottom:1.2rem}.pr-list li{font-size:.8rem;color:var(--sv);padding:.3rem 0}.pr-list li::before{content:'\2713';color:var(--a);font-weight:700;margin-right:.4rem}.btn-f{display:block;padding:.7rem;border-radius:8px;font-weight:600;font-size:.85rem;text-decoration:none;text-align:center;background:var(--a);color:var(--bg)}.btn-l{display:block;padding:.7rem;border-radius:8px;font-weight:600;font-size:.85rem;text-decoration:none;text-align:center;border:1px solid rgba(255,255,255,.12);color:var(--w)}
.cta{text-align:center;padding:4rem 2rem;margin:2rem 4%;background:linear-gradient(135deg,var(--s),rgba(34,197,94,.04));border:1px solid var(--a08);border-radius:20px}.cta p{color:var(--sv);max-width:450px;margin:.5rem auto 1.5rem}
.trust{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin:2rem 0}.trust-item{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--sv)}.trust-item strong{color:var(--w)}
.chat-sec{padding:3rem 4%;max-width:900px;margin:0 auto}.chat-box{background:var(--s);border:1px solid var(--a08);border-radius:16px;overflow:hidden}.chat-hd{padding:1rem 1.5rem;border-bottom:1px solid var(--a08);display:flex;align-items:center;gap:.8rem}.chat-hd-i{width:32px;height:32px;background:var(--a15);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--a)}.chat-hd-i svg{width:16px;height:16px}.chat-hd h3{font-size:.95rem;font-weight:600}.chat-hd small{font-size:.72rem;color:var(--sv)}.chat-msgs{min-height:300px;max-height:450px;overflow-y:auto;padding:1.2rem 1.5rem}.chat-empty{text-align:center;padding:3rem 1rem;color:var(--sv)}.chat-empty h4{margin-bottom:.5rem;color:var(--w)}.chat-empty p{font-size:.82rem;margin-bottom:1.2rem}.chat-sug{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.chat-sug button{padding:.45rem .9rem;background:var(--a15);border:1px solid rgba(34,197,94,0.2);border-radius:20px;color:var(--a);font-family:'Outfit';font-size:.75rem;font-weight:600;cursor:pointer}.msg-u{background:var(--a15);border:1px solid rgba(34,197,94,0.2);border-radius:10px 10px 4px 10px;padding:.7rem 1rem;margin:8px 0;max-width:75%;margin-left:auto;font-size:.85rem;color:var(--w);animation:fi .2s}.msg-a{background:var(--s2);border:1px solid rgba(255,255,255,.06);border-radius:4px 10px 10px 10px;padding:.8rem 1.1rem;margin:8px 0;max-width:90%;font-size:.85rem;color:var(--w);line-height:1.7;animation:fi .2s}.msg-a pre{background:var(--bg);padding:.8rem;border-radius:8px;font-family:'Space Mono',monospace;font-size:.78rem;margin:.5rem 0;overflow-x:auto}.msg-a strong{color:var(--w)}.chat-input{padding:1rem 1.5rem;border-top:1px solid var(--a08);display:flex;gap:.6rem}.chat-input textarea{flex:1;resize:none;min-height:40px;max-height:120px;font-family:'Outfit';font-size:.85rem;background:var(--bg);border:1px solid rgba(255,255,255,.08);color:var(--w);border-radius:8px;padding:.6rem .8rem;outline:none}.chat-input textarea:focus{border-color:var(--a)}.chat-input button{padding:.6rem 1.2rem;background:var(--a);color:var(--bg);border:none;border-radius:8px;font-family:'Outfit';font-size:.85rem;font-weight:700;cursor:pointer}
@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes p2{0%,100%{opacity:1}50%{opacity:.4}}.ld{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--a);margin:0 3px;animation:p2 .8s infinite}.ld:nth-child(2){animation-delay:.2s}.ld:nth-child(3){animation-delay:.4s}
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,.pg{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.stats,.trust{gap:1.5rem}.nav-links{display:none}footer{flex-direction:column;gap:.5rem;text-align:center}.hero::after{display:none}.demo-input{flex-direction:column}}
</style><link rel="canonical" href="https://weval-consulting.com/products/emailverify.html">
<meta property="og:title" content="EmailVerify — Validation Email Temps Réel | WEVAL">
<meta property="og:description" content="EmailVerify — Validation Email Temps Réel">
<meta property="og:url" content="https://weval-consulting.com/products/emailverify.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="EmailVerify — Validation Email Temps Réel | WEVAL">
<meta name="twitter:description" content="EmailVerify — Validation Email Temps Réel">
<link rel="alternate" hreflang="fr" href="https://weval-consulting.com/products/emailverify.html">
<link rel="alternate" hreflang="x-default" href="https://weval-consulting.com/products/emailverify.html">
<style>
.wevia-progress{width:100%;background:rgba(99,102,241,.15);border-radius:8px;overflow:hidden;height:6px;margin:8px 0}
.wevia-progress-bar{height:100%;background:linear-gradient(90deg,#6366f1,#a78bfa,#6366f1);background-size:200%;animation:weviaShimmer 1.5s infinite;border-radius:8px;transition:width .3s}
.wevia-progress-text{font-size:11px;color:#a0a0b0;margin-top:4px;text-align:center}
@keyframes weviaShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
</style>
<link rel="stylesheet" href="/assets/dark-iframe.css"></head><body>
<nav><a href="/products/" class="logo">WE<span>VAL</span></a><div class="nav-links"><a href="#features">Fonctionnalités</a><a href="#demo">Demo</a><a href="#pricing">Tarifs</a><a href="#cta">Essayer</a><a href="/products/workspace.html" class="btn-n">Workspace</a></div></nav>
<section class="hero"><div class="badge">Validation temps réel — MX + SMTP + Disposable</div><h1>EmailVerify — <em>Validation Email Temps Réel</em></h1><p class="sub">Vérifiez la validité de n'importe quelle adresse email en temps réel. MX, SMTP, jetable, role-based, catch-all — scoring de délivrabilité instantané.</p><div class="btns"><a href="#demo" class="btn-p">Tester gratuitement</a><a href="#pricing" class="btn-o">Voir les tarifs</a></div><div class="stats"><div class="stat"><div class="stat-v">10M+</div><div class="stat-l">Emails vérifiés</div></div><div class="stat"><div class="stat-v">99.2%</div><div class="stat-l">Précision</div></div><div class="stat"><div class="stat-v">< 200ms</div><div class="stat-l">Temps réponse</div></div></div>
<div class="trust"><div class="trust-item"><strong>API REST</strong> simple</div><div class="trust-item"><strong>RGPD</strong> conforme</div><div class="trust-item"><strong>Bulk</strong> + temps réel</div><div class="trust-item"><strong>0</strong> data stored</div></div></section>
<section class="sec" id="features"><div class="stag">Fonctionnalités</div><h2>Vérification multicouche</h2><div class="sd">Chaque email passe par 7 couches de vérification pour un score de délivrabilité précis.</div><div class="g3"><div class="cd"><div class="cd-i"></div><h3>Validation MX</h3><p>Vérification des enregistrements MX du domaine — le serveur mail existe-t-il ?</p></div><div class="cd"><div class="cd-i">📡</div><h3>Check SMTP</h3><p>Connexion SMTP réelle au serveur destinataire — l'adresse accepte-t-elle les emails ?</p></div><div class="cd"><div class="cd-i">🗑️</div><h3>Détection Jetable</h3><p>Identification de 50K+ domaines temporaires : Guerrilla, Mailinator, 10MinuteMail...</p></div><div class="cd"><div class="cd-i">👤</div><h3>Role-Based</h3><p>Détection des adresses génériques : info@, admin@, support@, noreply@ — souvent non délivrables.</p></div><div class="cd"><div class="cd-i">🔄</div><h3>Catch-All Check</h3><p>Détection des serveurs catch-all qui acceptent tout — faux positifs éliminés.</p></div><div class="cd"><div class="cd-i">📊</div><h3>Score Délivrabilité</h3><p>Score 0-100 combiné avec recommandation : safe, risky, invalid.</p></div><div class="cd"><div class="cd-i">📦</div><h3>Bulk Processing</h3><p>Vérifiez des milliers d'emails en batch via upload CSV ou appel API.</p></div><div class="cd"><div class="cd-i"></div><h3>API REST</h3><p>Endpoint simple GET/POST avec réponse JSON en moins de 200ms.</p></div><div class="cd"><div class="cd-i">🔒</div><h3>Zero Storage</h3><p>Aucun email stocké — vérification stateless, RGPD natif.</p></div></div></section>
<section class="sec" id="demo"><div class="stag">Demo live</div><h2>Testez en direct</h2><div class="sd">Essayez EmailVerify gratuitement — aucune inscription requise.</div>
<div class="demo"><h3>🔍 Vérifiér un email</h3><div class="demo-input"><input type="email" id="ev-input" placeholder="Entrez une adresse email..."><button onclick="verifyEmail()">Vérifiér</button></div><div class="demo-result" id="ev-result">Entrez une adresse email pour lancer la vérification.</div></div>
</section>
<section class="sec"><div class="stag">Comment ca marche</div><h2>Simple et rapide</h2><div class="sd">De la demande au résultat en quelques secondes.</div><div class="steps"><div class="step"><div class="step-n">1</div><h3>Soumettez l'email</h3><p>Via l'API, le formulaire ou upload CSV batch.</p></div><div class="step"><div class="step-n">2</div><h3>7 couches de check</h3><p>MX, DNS, SMTP, disposable, role, catch-all, syntax.</p></div><div class="step"><div class="step-n">3</div><h3>Score instantané</h3><p>Score 0-100 avec statut safe/risky/invalid.</p></div><div class="step"><div class="step-n">4</div><h3>Nettoyez votre liste</h3><p>Exportez la liste nettoyee avec les statuts par email.</p></div></div></section>
<section class="sec" id="pricing"><div class="stag">Tarifs</div><h2>Plans clairs et transparents</h2><div class="sd">Pas de frais caches. Commencez gratuitement, evoluez selon vos besoins.</div><div class="pg"><div class="pr"><div class="pr-name">Free</div><div class="pr-amt">Gratuit</div><ul class="pr-list"><li>100 verif/jour</li><li>API REST</li><li>Score délivrabilité</li><li>Check MX + syntax</li></ul><a href="#cta" class="btn-l">Commencer</a></div><div class="pr pop"><div class="pr-name">Pro</div><div class="pr-amt">49$<sub>/mois</sub></div><ul class="pr-list"><li>10K verif/mois</li><li>Bulk CSV</li><li>SMTP + catch-all</li><li>Disposable check</li><li>Role-based</li><li>Support prioritaire</li></ul><a href="#cta" class="btn-f">Commencer</a></div><div class="pr"><div class="pr-name">Enterprise</div><div class="pr-amt">Sur mesure</div><ul class="pr-list"><li>Volume illimité</li><li>API dédiée</li><li>SLA 99.9%</li><li>Webhooks</li><li>Account manager</li><li>White-label</li></ul><a href="#cta" class="btn-l">Nous contacter</a></div></div></section>
<section class="cta"><h2>Prêt à essayer EmailVerify ?</h2><p>Vérifiez vos 100 premiers emails gratuitement. Aucune carte requise.</p><a href="#cta" class="btn-p">Essayer maintenant</a></section>
<section class="chat-sec" id="chat"><div class="stag">Assistant IA</div><h2>Posez votre question</h2><div class="sd">Notre IA répond instantanément à vos questions sur EmailVerify.</div>
<div class="chat-box"><div class="chat-hd"><div class="chat-hd-i"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg></div><div><h3>EmailVerify</h3><small>Validation Email Temps Réel</small></div></div>
<div class="chat-msgs" id="chat-msgs"><div class="chat-empty" id="chat-empty"><h4>Bienvenue sur EmailVerify</h4><p>Vérifiez la validité de n'importe quelle adresse email en temps réel. MX, SMTP, jetable, role-based,...</p><div class="chat-sug"><button onclick="sg('Vérifié si contact@company.com est une adresse valide')">Vérifiér un email</button><button onclick="sg('Comment nettoyer une liste de 50K emails avant un envoi')">Nettoyer une liste</button><button onclick="sg('Comment intégrér EmailVerify API dans mon application Node.js')">Intégrér l'API</button></div></div></div>
<div class="chat-input"><textarea id="chat-i" rows="1" placeholder="Posez votre question..." onkeydown="if(event.key==='Enter'&&!event.shiftKey){event.preventDefault();send()}" oninput="this.style.height='40px';this.style.height=Math.min(this.scrollHeight,120)+'px'"></textarea><button onclick="send()">Envoyer</button></div></div></section>
<footer><div>&copy; 2026 <a href="/products/">WEVAL Consulting</a> — Solutions IA Souveraines</div><div><a href="/products/workspace.html">Workspace</a> &middot; <a href="/products/arsenal.html">Arsenal</a></div></footer>
<script>
const CTX="Tu es EmailVerify, expert en validation d\'emails. Aide sur la vérification MX, SMTP, disposable detection, catch-all, bulk cleaning et API integration.";let hist=[];
function esc(s){const d=document.createElement('div');d.textContent=s;return d.innerHTML}
function md(m){return m.replace(/```[\w]*\n([\s\S]*?)```/g,'<pre>$1</pre>').replace(/^### (.*$)/gm,'<h3>$1</h3>').replace(/^## (.*$)/gm,'<h2>$1</h2>').replace(/\*\*(.*?)\*\*/g,'<strong>$1</strong>').replace(/\*(.*?)\*/g,'<em>$1</em>').replace(/`(.*?)`/g,'<code>$1</code>').replace(/^- (.*$)/gm,'<li>$1</li>').replace(/\n\n/g,'<br><br>')}
function sg(q){document.getElementById('chat-i').value=q;send()}
async function send(){const i=document.getElementById('chat-i'),m=i.value.trim();if(!m)return;const a=document.getElementById('chat-msgs'),es=document.getElementById('chat-empty');if(es)es.remove();a.innerHTML+='<div class="msg-u">'+esc(m)+'</div>';i.value='';i.style.height='40px';a.scrollTop=a.scrollHeight;const lid='l'+Date.now();a.innerHTML+='<div class="msg-a" id="'+lid+'"><span class="ld"></span><span class="ld"></span><span class="ld"></span></div>';a.scrollTop=a.scrollHeight;var _pb=weviaProgress(document.getElementById(lid),Date.now());try{hist.push({role:'user',content:m});const r=await fetch('/api/weval-ia-fast.php',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({message:'[INSTRUCTION SYSTEME: '+CTX+']\n\nDemande utilisateur: '+m,mode:'full',history:hist.slice(-6)})});const j=await r.json();const rp=j.response||j.error||'Erreur';hist.push({role:'assistant',content:rp});const el=document.getElementById(lid);if(el)el.outerHTML='<div class="msg-a">'+md(rp)+'</div>';}catch(ex){const el=document.getElementById(lid);if(el)el.outerHTML='<div class="msg-a" style="border-color:rgba(248,113,113,.3);color:#f87171">Erreur: '+ex.message+'</div>';}a.scrollTop=a.scrollHeight;}
async function verifyEmail(){
const email=document.getElementById('ev-input').value.trim();
if(!email){document.getElementById('ev-result').innerHTML='Entrez une adresse email.';return}
document.getElementById('ev-result').innerHTML='<span class="ld"></span><span class="ld"></span><span class="ld"></span> Vérification en cours...';
try{
const r=await fetch('/api/weval-ia-fast.php',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({message:'[INSTRUCTION SYSTEME: Tu es EmailVerify. Analyse cette adresse email et donne un score de validité 0-100 avec details: MX, syntax, disposable, role-based. Reponds de facon structurée.]\n\nDemande utilisateur: Vérifié cet email: '+email,mode:'full'})});
const j=await r.json();
document.getElementById('ev-result').innerHTML=md(j.response||'Erreur');
}catch(e){document.getElementById('ev-result').innerHTML='Erreur: '+e.message}
}
</script><div style="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);margin:2rem 0"><div style="display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#7a8ba5"><strong style="color:#edf2f7">44</strong> produits SaaS</div><div style="display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#7a8ba5"><strong style="color:#edf2f7">Cloud</strong> souverain</div><div style="display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#7a8ba5"><strong style="color:#edf2f7">API</strong> REST</div><div style="display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#7a8ba5"><strong style="color:#edf2f7">RGPD</strong> conforme</div><div style="display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#7a8ba5"><strong style="color:#edf2f7">France</strong> · Maroc · États-Unis · International</div></div>
<div id="cta" style="max-width:600px;margin:2rem auto;padding:0 4%">
<div style="background:#0c1222;border:1px solid rgba(99,102,241,.15);border-radius:14px;padding:1.5rem">
<h3 style="font-size:1rem;font-weight:700;margin-bottom:.8rem;color:#818cf8">Demander un accès</h3>
<input id="ct-name" type="text" placeholder="Votre nom" style="width:100%;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.6rem;font-size:.85rem;color:#edf2f7;font-family:inherit;margin-bottom:.6rem;outline:none">
<input id="ct-email" type="email" placeholder="Email professionnel" style="width:100%;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.6rem;font-size:.85rem;color:#edf2f7;font-family:inherit;margin-bottom:.6rem;outline:none">
<button onclick="ctS()" id="ct-btn" style="width:100%;background:#6366f1;color:#fff;border:none;border-radius:8px;padding:.7rem;font-weight:700;cursor:pointer;font-size:.9rem">Envoyer</button>
<div id="ct-ok" style="display:none;text-align:center;padding:1rem;color:#10b981;font-weight:600">Demande envoyee !</div>
</div></div>
<script>async function ctS(){var n=document.getElementById("ct-name").value.trim(),e=document.getElementById("ct-email").value.trim();if(!n||!e){alert("Nom et email requis");return;}document.getElementById("ct-btn").disabled=true;try{await fetch("/api/contact",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:n,email:e,source:location.pathname,ts:new Date().toISOString()})})}catch(x){}document.getElementById("ct-btn").style.display="none";document.getElementById("ct-ok").style.display="block";}</script>
<script>
function weviaProgress(container,startMs){
if(!container)return;
var el=document.createElement('div');
el.className='wevia-pb-wrap';
el.innerHTML='<div class="wevia-progress"><div class="wevia-progress-bar" style="width:5%"></div></div><div class="wevia-progress-text">Analyse en cours...</div>';
container.appendChild(el);
var bar=el.querySelector('.wevia-progress-bar'),txt=el.querySelector('.wevia-progress-text');
var steps=['Connexion au moteur IA...','Analyse de votre demande...','Génération de la réponse...','Finalisation...'];
var iv=setInterval(function(){
var elapsed=(Date.now()-startMs)/1000;
var pct=Math.min(95,5+elapsed*3);
bar.style.width=pct+'%';
var si=Math.min(3,Math.floor(elapsed/3));
txt.textContent=steps[si]+' ('+Math.round(elapsed)+'s)';
if(elapsed>25)txt.textContent='Presque termine... ('+Math.round(elapsed)+'s)';
},300);
return {el:el,stop:function(){clearInterval(iv);bar.style.width='100%';txt.textContent='Termine!';}};
}
</script>
</body></html>