86 lines
17 KiB
HTML
86 lines
17 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>Ethica B2B -- WEVAL</title><link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet"><style>:root{--bg:#060a14;--bg2:#0b1120;--s:#111a2e;--c:#131d32;--bo:#1a2744;--t:#c8d1e0;--m:#7a8ba5;--d:#4a5a72;--w:#edf2f7;--a:#059669;--ab:#05966914;--abo:#05966940;--f:'DM Sans',system-ui,sans-serif;--mo:'JetBrains Mono',monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--f);background:var(--bg);color:var(--t);height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:var(--bo);border-radius:3px}@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes p{0%,100%{opacity:1}50%{opacity:.4}}.hd{padding:18px 24px;border-bottom:1px solid var(--bo);display:flex;align-items:center;gap:14px;background:var(--bg2);flex-shrink:0}.hd h1{font-size:17px;font-weight:700;color:var(--w)}.hd small{font-size:12px;color:var(--m)}.ca{flex:1;overflow-y:auto;padding:20px 24px}.ce{text-align:center;padding:40px 20px;color:var(--d);animation:fi .4s}.ce h3{color:var(--m);margin:12px 0 8px;font-size:16px}.sg{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}.sg button{padding:8px 16px;background:var(--ab);border:1px solid var(--abo);border-radius:20px;color:var(--a);font-family:var(--f);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.sg button:hover{opacity:.85;transform:translateY(-1px)}.mu{background:var(--ab);border:1px solid var(--abo);border-radius:10px 10px 4px 10px;padding:12px 16px;margin:8px 0;max-width:75%;margin-left:auto;font-size:13px;color:var(--w);line-height:1.6;animation:fi .2s}.ma{background:var(--s);border:1px solid var(--bo);border-radius:4px 10px 10px 10px;padding:14px 18px;margin:8px 0;max-width:90%;font-size:13px;color:var(--t);line-height:1.7;animation:fi .2s}.ma pre{background:var(--bg);padding:12px;border-radius:8px;overflow-x:auto;font-family:var(--mo);font-size:12px;margin:8px 0}.ma code{font-family:var(--mo);font-size:12px;background:var(--bg);padding:2px 6px;border-radius:4px}.ma h2,.ma h3{color:var(--w);margin:12px 0 6px}.ma strong{color:var(--w)}.ib{padding:14px 24px;border-top:1px solid var(--bo);background:var(--bg2);display:flex;gap:10px;flex-shrink:0}.ib textarea{flex:1;resize:none;min-height:42px;max-height:120px;font-family:var(--f);font-size:13px;line-height:1.5;background:var(--bg);border:1px solid var(--bo);color:var(--w);border-radius:8px;padding:10px 14px;outline:none}.ib textarea:focus{border-color:var(--a)}.ib button{padding:10px 20px;background:var(--a);color:#fff;border:none;border-radius:8px;font-family:var(--f);font-size:13px;font-weight:600;cursor:pointer;align-self:flex-end}.ib button:hover{opacity:.9}.ld{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--a);margin:0 3px;animation:p .8s infinite}.ld:nth-child(2){animation-delay:.2s}.ld:nth-child(3){animation-delay:.4s}.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}input,select,textarea{background:#0b0d14!important;color:#e2e8f0!important;border:1px solid #1e293b!important;border-radius:8px!important}input::placeholder{color:#475569!important}</style><link rel="canonical" href="https://weval-consulting.com/products/ethicab2b.html">
|
|
<meta property="og:title" content="Ethica B2B -- WEVAL">
|
|
<meta property="og:description" content="ethicab2b - Solutions IA souveraines pour entreprises. France · Maroc · États-Unis · International">
|
|
<meta property="og:url" content="https://weval-consulting.com/products/ethicab2b.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="Ethica B2B -- WEVAL">
|
|
<meta name="twitter:description" content="ethicab2b - Solutions IA souveraines pour entreprises. France · Maroc · États-Unis · International">
|
|
<meta name="description" content="ethicab2b - Solutions IA souveraines pour entreprises. France · Maroc · États-Unis · International">
|
|
<link rel="alternate" hreflang="fr" href="https://weval-consulting.com/products/ethicab2b.html">
|
|
<link rel="alternate" hreflang="x-default" href="https://weval-consulting.com/products/ethicab2b.html">
|
|
<script>if(window!==window.top)document.documentElement.classList.add("in-iframe")</script>
|
|
<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><div class="hd"><div><h1>Ethica B2B</h1><small>SUBEthica B2B</small></div></div><div class="ca" id="ca"><div class="ce" id="es"><h3>Ethica B2B</h3><p>SUBEthica B2B</p><div class="sg"><button onclick="sg(\x27Recherche de professionnels de sante pour: mon entreprise\x27)">Commencer</button><button onclick="sg(\x27Recherche de professionnels de sante pour: analyse complete\x27)">Analyse</button><button onclick="sg(\x27Recherche de professionnels de sante pour: demonstration\x27)">Demo</button></div></div></div><div class="ib"><textarea id="i" rows="1" placeholder="Recherche de professionnels de sante pour:" onkeydown="if(event.key==='Enter'&&!event.shiftKey){event.preventDefault();send()}" oninput="this.style.height='42px';this.style.height=Math.min(this.scrollHeight,120)+'px'"></textarea><button onclick="send()">Envoyer</button></div><script>const A='/api/weval-ia-fast.php',C='Recherche de professionnels de sante pour:';let h=[];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 e(s){const d=document.createElement('div');d.textContent=s;return d.innerHTML}function sg(q){document.getElementById('i').value=q;send()}async function send(){const i=document.getElementById('i'),m=i.value.trim();if(!m)return;const a=document.getElementById('ca'),es=document.getElementById('es');if(es)es.remove();a.innerHTML+='<div class="mu">'+e(m)+'</div>';i.value='';i.style.height='42px';a.scrollTop=a.scrollHeight;const l='l'+Date.now();a.innerHTML+='<div class="ma" id="'+l+'"><span class="ld"></span><span class="ld"></span><span class="ld"></span></div>';a.scrollTop=a.scrollHeight;try{h.push({role:'user',content:m});const r=await fetch(A,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({message:C+' '+m,mode:'full',history:h.slice(-6)})});const j=await r.json();const rp=j.response||j.error||'Erreur';h.push({role:'assistant',content:rp});const el=document.getElementById(l);if(el)el.outerHTML='<div class="ma">'+md(rp)+'</div>'}catch(ex){const el=document.getElementById(l);if(el)el.outerHTML='<div class="ma" style="border-color:rgba(248,113,113,.3);color:#f87171">Erreur: '+ex.message+'</div>'}a.scrollTop=a.scrollHeight}</script>
|
|
<!-- CHATBOT -->
|
|
<div class="ev-chat" style="max-width:800px;margin:2rem auto"><div class="ev-cb" style="background:#0c1222;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden">
|
|
<div class="ev-ch" style="padding:.8rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.06);font-weight:600;font-size:.85rem"><span style="color:#10b981">●</span> Ethica B2B — Assistant IA</div>
|
|
<div class="ev-cm" id="ev-msgs" style="min-height:200px;max-height:400px;overflow-y:auto;padding:1rem"><div class="ev-ce" id="ev-empty" style="text-align:center;color:#64748b;padding:2rem">Posez votre question sur Ethica B2B<div class="ev-sg" style="margin-top:1rem;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap">
|
|
<button onclick="evsg('Fonctionnalités')" style="background:rgba(99,102,241,.1);color:#818cf8;border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:6px 14px;font-size:.78rem;cursor:pointer">Fonctionnalités</button>
|
|
<button onclick="evsg('Comment ça marche')" style="background:rgba(99,102,241,.1);color:#818cf8;border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:6px 14px;font-size:.78rem;cursor:pointer">Comment ça marche</button>
|
|
<button onclick="evsg('Tarifs')" style="background:rgba(99,102,241,.1);color:#818cf8;border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:6px 14px;font-size:.78rem;cursor:pointer">Tarifs</button>
|
|
</div></div></div>
|
|
<div class="ev-ci" style="display:flex;gap:.5rem;padding:.8rem 1rem;border-top:1px solid rgba(255,255,255,.06)"><textarea id="ev-i" rows="1" placeholder="Votre question..." style="flex:1;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.6rem;color:#edf2f7;font-family:Outfit;font-size:.85rem;resize:none;outline:none" onkeydown="if(event.key==='Enter'&&!event.shiftKey){event.preventDefault();evsend()}"></textarea><button onclick="evsend()" style="background:#6366f1;color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-weight:600;cursor:pointer;font-family:Outfit">Envoyer</button></div>
|
|
</div></div>
|
|
<script>
|
|
var evctx="Tu es Ethica B2B, plateforme B2B de campagnes pharmaceutiques conformes - consent management, RGPD, ciblage HCP.";var evh=[];
|
|
function evesc(s){var d=document.createElement("div");d.textContent=s;return d.innerHTML}
|
|
function evmd(m){return m.replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\n\n/g,"<br><br>")}
|
|
function evsg(q){document.getElementById("ev-i").value=q;evsend()}
|
|
async function evsend(){var i=document.getElementById("ev-i"),m=i.value.trim();if(!m)return;var a=document.getElementById("ev-msgs"),es=document.getElementById("ev-empty");if(es)es.remove();a.innerHTML+='<div style="text-align:right;margin:.5rem 0"><span style="background:#6366f1;color:#fff;padding:8px 14px;border-radius:12px 4px 12px 12px;display:inline-block;font-size:.85rem;max-width:80%">'+evesc(m)+'</span></div>';i.value="";a.scrollTop=a.scrollHeight;var lid="evl"+Date.now();a.innerHTML+='<div id="'+lid+'" style="margin:.5rem 0"><span style="background:rgba(255,255,255,.05);padding:8px 14px;border-radius:4px 12px 12px 12px;display:inline-block;font-size:.85rem;color:#94a3b8">●●●</span></div>';a.scrollTop=a.scrollHeight;try{evh.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: "+evctx+"]\n\nDemande utilisateur: "+m,mode:"full",history:evh.slice(-6)})}); var j=await r.json();var rp=j.response||"Erreur";evh.push({role:"assistant",content:rp});var el=document.getElementById(lid);if(el)el.outerHTML='<div style="margin:.5rem 0"><span style="background:rgba(255,255,255,.05);padding:8px 14px;border-radius:4px 12px 12px 12px;display:inline-block;font-size:.85rem;color:#cbd5e1;max-width:85%">'+evmd(rp)+'</span></div>';}catch(ex){var el=document.getElementById(lid);if(el)el.innerHTML="Erreur: "+ex.message;}a.scrollTop=a.scrollHeight;}
|
|
</script>
|
|
|
|
<!-- DEMO LIVE -->
|
|
<style>.dm-box{background:#0c1222;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1.5rem;margin:2rem auto;max-width:800px}.dm-row{display:flex;gap:.6rem;margin-bottom:1rem}.dm-row input{flex:1;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.6rem .8rem;color:#edf2f7;font-family:Outfit;font-size:.85rem;outline:none}.dm-row button{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-weight:700;cursor:pointer;font-family:Outfit;font-size:.85rem}.dm-out{min-height:80px;padding:1rem;background:rgba(0,0,0,.2);border-radius:8px;font-size:.82rem;color:#edf2f7;line-height:1.6}.dm-ld{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6366f1;margin:0 2px;animation:dmp .8s infinite}.dm-ld:nth-child(2){animation-delay:.2s}.dm-ld:nth-child(3){animation-delay:.4s}@keyframes dmp{0%,100%{opacity:1}50%{opacity:.3}}</style>
|
|
<div class="dm-box" id="demo"><h3 style="font-size:1rem;font-weight:600;margin-bottom:1rem">⚡ Ethica B2B — Demo Live</h3>
|
|
<div class="dm-row"><input id="dm-input" placeholder="Décrivez votre campagne pharma" onkeydown="if(event.key==='Enter')dmrun()"><button onclick="dmrun()">Tester</button></div>
|
|
<div class="dm-out" id="dm-output">Testez Ethica B2B en direct — aucune inscription requise.</div></div>
|
|
<script>
|
|
async function dmrun(){var q=document.getElementById("dm-input").value.trim();if(!q)return;var o=document.getElementById("dm-output");o.innerHTML='<span class="dm-ld"></span><span class="dm-ld"></span><span class="dm-ld"></span>';try{var r=await fetch("/api/weval-ia-fast.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:"[INSTRUCTION SYSTEME: Tu es un expert en campagnes pharmaceutiques B2B conformes. Analyse le besoin et propose une stratégie de campagne ethique.]\n\nDemande utilisateur: "+q,mode:"full"})});var j=await r.json();o.innerHTML=(j.response||"Erreur").replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\n\n/g,"<br><br>");}catch(e){o.innerHTML="Erreur: "+e.message}}
|
|
</script>
|
|
|
|
<!-- CTA INLINE -->
|
|
<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">Démarrer avec Ethica B2B</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:Outfit;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:Outfit;margin-bottom:.6rem;outline:none">
|
|
<input id="ct-company" type="text" placeholder="Entreprise" 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:Outfit;margin-bottom:.6rem;outline:none">
|
|
<button onclick="ctSend()" id="ct-btn" style="width:100%;background:#6366f1;color:#fff;border:none;border-radius:8px;padding:.7rem;font-weight:700;cursor:pointer;font-family:Outfit;font-size:.9rem">Demander un accès →</button>
|
|
<div id="ct-ok" style="display:none;text-align:center;padding:1rem;color:#10b981;font-weight:600">✓ Demande envoyée ! Nous vous recontactons sous 24h.</div>
|
|
</div></div>
|
|
<script>
|
|
async function ctSend(){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;document.getElementById("ct-btn").textContent="Envoi...";try{await fetch("/api/contact",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:n,email:e,company:document.getElementById("ct-company").value.trim(),subject:"demo",message:"Demande acces Ethica B2B",source:"ethicab2b",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>
|
|
<script defer src=/assets/dm-enhance.js></script></body></html> |