FUNNEL: pricing→booking + sovereign-claude2 v1.1 fixed
This commit is contained in:
2
api/$_IC
2
api/$_IC
@@ -1 +1 @@
|
||||
{"timestamp":"2026-04-04 17:03:12","scan_ms":7661,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"inactive","port":"2024"},{"name":"deerflow-gw","status":"inactive","port":"8001"},{"name":"deerflow-fe","status":"inactive","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"6 models"}],"docker":[{"name":"authentik-db","status":"Up 3 days"},{"name":"authentik-redis","status":"Up 3 days"},{"name":"authentik-server","status":"Up 6 hours (healthy)"},{"name":"authentik-worker","status":"Up 6 hours (healthy)"},{"name":"flowise","status":"Up 2 days"},{"name":"langfuse","status":"Up 6 hours"},{"name":"loki","status":"Up 21 hours"},{"name":"mattermost","status":"Up 3 days (healthy)"},{"name":"mirofish","status":"Up 3 hours"},{"name":"n8n","status":"Up 3 days"},{"name":"node-exporter","status":"Up 36 hours"},{"name":"open-webui","status":"Up 2 days (healthy)"},{"name":"plausible-db","status":"Up 2 days"},{"name":"plausible-events","status":"Up 2 days"},{"name":"plausible","status":"Up 2 days"},{"name":"prometheus","status":"Up 36 hours"},{"name":"qdrant","status":"Up 3 days"},{"name":"searxng","status":"Up 28 hours"},{"name":"twenty-redis","status":"Up 3 days"},{"name":"twenty","status":"Up 3 days"},{"name":"uptime-kuma","status":"Up 2 days (healthy)"},{"name":"vaultwarden","status":"Up 3 days (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"inactive","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"inactive","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 22 hours"},{"name":"listmonk","status":"Up 22 hours"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"active","port":"80"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql","status":"active","port":"5432"},{"name":"ollama","status":"active","port":"11434"}],"docker":[{"name":"ollama","status":"Up 10 days"}]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/5 * * * *","command":"curl -s -m 10 http:\/\/localhost:11434\/api\/generate -d {model:granite4,prompt:ok,stream:false,keep_alive:-1} > \/dev\/null 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/10 * * * *","command":"docker start openclaw 2>\/dev\/null","source":"crontab"},{"server":"S151","user":"root","schedule":"*\/5 * * * *","command":"\/opt\/tracking_monitor.sh","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":10,"total_services":20,"total_docker":25}}
|
||||
{"timestamp":"2026-04-04 17:06:09","scan_ms":8151,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"inactive","port":"2024"},{"name":"deerflow-gw","status":"inactive","port":"8001"},{"name":"deerflow-fe","status":"inactive","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"6 models"}],"docker":[{"name":"authentik-db","status":"Up 3 days"},{"name":"authentik-redis","status":"Up 3 days"},{"name":"authentik-server","status":"Up 6 hours (healthy)"},{"name":"authentik-worker","status":"Up 6 hours (healthy)"},{"name":"flowise","status":"Up 2 days"},{"name":"langfuse","status":"Up 6 hours"},{"name":"loki","status":"Up 21 hours"},{"name":"mattermost","status":"Up 3 days (healthy)"},{"name":"mirofish","status":"Up 3 hours"},{"name":"n8n","status":"Up 3 days"},{"name":"node-exporter","status":"Up 36 hours"},{"name":"open-webui","status":"Up 2 days (healthy)"},{"name":"plausible-db","status":"Up 2 days"},{"name":"plausible-events","status":"Up 2 days"},{"name":"plausible","status":"Up 2 days"},{"name":"prometheus","status":"Up 36 hours"},{"name":"qdrant","status":"Up 3 days"},{"name":"searxng","status":"Up 28 hours"},{"name":"twenty-redis","status":"Up 3 days"},{"name":"twenty","status":"Up 3 days"},{"name":"uptime-kuma","status":"Up 2 days (healthy)"},{"name":"vaultwarden","status":"Up 3 days (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"inactive","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"inactive","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 22 hours"},{"name":"listmonk","status":"Up 22 hours"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"active","port":"80"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql","status":"active","port":"5432"},{"name":"ollama","status":"active","port":"11434"}],"docker":[{"name":"ollama","status":"Up 10 days"}]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/5 * * * *","command":"curl -s -m 10 http:\/\/localhost:11434\/api\/generate -d {model:granite4,prompt:ok,stream:false,keep_alive:-1} > \/dev\/null 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/10 * * * *","command":"docker start openclaw 2>\/dev\/null","source":"crontab"},{"server":"S151","user":"root","schedule":"*\/5 * * * *","command":"\/opt\/tracking_monitor.sh","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":10,"total_services":20,"total_docker":25}}
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"ts": "2026-04-04T17:02:38+00:00",
|
||||
"ts": "2026-04-04T17:05:53+00:00",
|
||||
"hostname": "LAPTOP-VE75QUHF",
|
||||
"cpu": "87%",
|
||||
"ram": "90% (16GB)",
|
||||
"cpu": "100%",
|
||||
"ram": "87% (16GB)",
|
||||
"disk": "?",
|
||||
"uptime": "4d02h30m",
|
||||
"uptime": "4d02h33m",
|
||||
"user": "Yace",
|
||||
"ip": "196.217.153.55",
|
||||
"agent_version": "2.0"
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"ts": "20260404_190137", "version": "3.2", "score": 99, "pass": 152, "fail": 1, "total": 153, "elapsed": 24.6, "categories": {"S204": {"pass": 9, "fail": 0}, "S95-WV": {"pass": 12, "fail": 0}, "S95-ARS": {"pass": 17, "fail": 0}, "S95-iR": {"pass": 1, "fail": 0}, "INFRA": {"pass": 5, "fail": 0}, "API": {"pass": 26, "fail": 1}, "SEC": {"pass": 4, "fail": 0}, "S95-BK": {"pass": 6, "fail": 0}, "C2-API": {"pass": 4, "fail": 0}, "C2-SPA": {"pass": 1, "fail": 0}, "C2-WV": {"pass": 3, "fail": 0}, "SSO": {"pass": 25, "fail": 0}, "DATA": {"pass": 5, "fail": 0}, "CRONS": {"pass": 2, "fail": 0}, "BLADE": {"pass": 7, "fail": 0}, "LIFE": {"pass": 3, "fail": 0}, "FUNC": {"pass": 7, "fail": 0}, "01AVR": {"pass": 10, "fail": 0}, "STRUCT": {"pass": 5, "fail": 0}}, "failures": [{"n": "WEVIA", "c": "API", "s": "FAIL", "d": "BAD"}]}
|
||||
{"ts": "20260404_190538", "version": "3.2", "score": 99, "pass": 152, "fail": 1, "total": 153, "elapsed": 24.7, "categories": {"S204": {"pass": 9, "fail": 0}, "S95-WV": {"pass": 12, "fail": 0}, "S95-ARS": {"pass": 17, "fail": 0}, "S95-iR": {"pass": 1, "fail": 0}, "INFRA": {"pass": 5, "fail": 0}, "API": {"pass": 26, "fail": 1}, "SEC": {"pass": 4, "fail": 0}, "S95-BK": {"pass": 6, "fail": 0}, "C2-API": {"pass": 4, "fail": 0}, "C2-SPA": {"pass": 1, "fail": 0}, "C2-WV": {"pass": 3, "fail": 0}, "SSO": {"pass": 25, "fail": 0}, "DATA": {"pass": 5, "fail": 0}, "CRONS": {"pass": 2, "fail": 0}, "BLADE": {"pass": 7, "fail": 0}, "LIFE": {"pass": 3, "fail": 0}, "FUNC": {"pass": 7, "fail": 0}, "01AVR": {"pass": 10, "fail": 0}, "STRUCT": {"pass": 5, "fail": 0}}, "failures": [{"n": "WEVIA", "c": "API", "s": "FAIL", "d": "BAD"}]}
|
||||
File diff suppressed because one or more lines are too long
@@ -117,7 +117,7 @@ footer a{color:var(--accent)}
|
||||
<li class="pro">API REST complètes</li>
|
||||
<li class="pro">Export multi-format</li>
|
||||
</ul>
|
||||
<a href="/contact-us" class="plan-btn primary">Essai 14 jours gratuit</a>
|
||||
<a href="/booking.html" class="plan-btn primary">Essai 14 jours gratuit</a>
|
||||
</div>
|
||||
<div class="plan">
|
||||
<div class="plan-name">Enterprise</div>
|
||||
@@ -133,7 +133,7 @@ footer a{color:var(--accent)}
|
||||
<li>Integration ERP (SAP, Odoo)</li>
|
||||
<li>White-label disponible</li>
|
||||
</ul>
|
||||
<a href="/contact-us" class="plan-btn secondary">Parler à un expert</a>
|
||||
<a href="/booking.html" class="plan-btn secondary">Parler à un expert</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -196,7 +196,7 @@ footer a{color:var(--accent)}
|
||||
<div class="cta-box">
|
||||
<h2>Weval One — Tout inclus</h2>
|
||||
<p>54 modules. Un seul abonnement. Zéro surprise. Le modèle Zoho One, version souveraine.</p>
|
||||
<a href="/contact-us" class="cta-btn">Demander une démo personnalisée →</a>
|
||||
<a href="/booking.html" class="cta-btn">Demander une démo personnalisée →</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
<a href="/products/academy.html">Présentation</a>
|
||||
<a href="/products/academy-elearning.html">Formations</a>
|
||||
<a href="/wevia">Chat IA</a>
|
||||
<a href="/contact-us">Contact</a>
|
||||
<a href="/booking.html">Contact</a>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@@ -186,7 +186,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -237,7 +237,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -259,7 +259,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -673,7 +673,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -695,7 +695,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -39,7 +39,7 @@ footer{padding:2rem 4%;max-width:1200px;margin:0 auto;display:flex;justify-conte
|
||||
</style>
|
||||
<link rel="stylesheet" href="/assets/dark-iframe.css"></head>
|
||||
<body>
|
||||
<nav><div class="logo">WEVAL<span>.</span></div><a href="/contact-us" class="btn-n">Nous contacter</a></nav>
|
||||
<nav><div class="logo">WEVAL<span>.</span></div><a href="/booking.html" class="btn-n">Nous contacter</a></nav>
|
||||
<section class="hero">
|
||||
<div class="badge">ÉTUDES DE CAS</div>
|
||||
<h1>Des résultats <em>mesurables</em></h1>
|
||||
@@ -98,7 +98,7 @@ footer{padding:2rem 4%;max-width:1200px;margin:0 auto;display:flex;justify-conte
|
||||
<section class="cta">
|
||||
<h2>Un projet similaire ?</h2>
|
||||
<p>Discutons de vos enjeux. Audit gratuit et proposition sous 48h.</p>
|
||||
<a href="/contact-us" class="btn-n" style="padding:.85rem 2rem;font-size:1rem">Réserver un audit →</a>
|
||||
<a href="/booking.html" class="btn-n" style="padding:.85rem 2rem;font-size:1rem">Réserver un audit →</a>
|
||||
</section>
|
||||
|
||||
<footer><div>WEVAL Consulting · <a href="/case-studies.html">Études de Cas</a></div><div>Casablanca · Europe · International</div></footer>
|
||||
|
||||
@@ -184,7 +184,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -206,7 +206,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -206,7 +206,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -228,7 +228,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -529,7 +529,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -551,7 +551,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -138,7 +138,7 @@ footer a{color:var(--accent)}
|
||||
<div class="cta-box">
|
||||
<h2>Evaluez votre maturite IA</h2>
|
||||
<p>Obtenez un diagnostic gratuit de votre readiness IA souveraine. 15 minutes, zero engagement.</p>
|
||||
<a href="/contact-us" class="cta-btn">Demander un diagnostic gratuit →</a>
|
||||
<a href="/booking.html" class="cta-btn">Demander un diagnostic gratuit →</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -193,7 +193,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -215,7 +215,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -186,7 +186,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -12,13 +12,13 @@ a.testbtn{display:inline-block;background:#6366f1;color:#fff;padding:12px 24px;b
|
||||
<h1>WEVAL Iframe Diagnostic</h1>
|
||||
<div id="results"></div>
|
||||
<h2>Test Buttons (click to test navigation)</h2>
|
||||
<a class="testbtn" href="/contact-us/">Essayer → (contact-us)</a>
|
||||
<a class="testbtn" href="/booking.html/">Essayer → (contact-us)</a>
|
||||
<a class="testbtn" href="/pricing.html">Tarifs</a>
|
||||
<a class="testbtn" href="/solutions">Solutions</a>
|
||||
<h2>Links with target="_top" manually set</h2>
|
||||
<a class="testbtn" href="/contact-us/" target="_top">Essayer → (forced _top)</a>
|
||||
<a class="testbtn" href="/booking.html/" target="_top">Essayer → (forced _top)</a>
|
||||
<h2>JS Navigation</h2>
|
||||
<button onclick="window.top.location.href='/contact-us/'" style="background:#00e5a0;color:#000;padding:12px 24px;border:0;border-radius:8px;font-size:16px;cursor:pointer">window.top.location (JS)</button>
|
||||
<button onclick="window.top.location.href='/booking.html/'" style="background:#00e5a0;color:#000;padding:12px 24px;border:0;border-radius:8px;font-size:16px;cursor:pointer">window.top.location (JS)</button>
|
||||
|
||||
<script>
|
||||
var r=document.getElementById('results');
|
||||
|
||||
@@ -309,13 +309,13 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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="/contact-us/">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>`;
|
||||
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="/booking.html/">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
|
||||
@@ -331,7 +331,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -202,7 +202,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -224,7 +224,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -197,7 +197,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -219,7 +219,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -1058,7 +1058,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -1080,7 +1080,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -191,7 +191,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -213,7 +213,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -774,7 +774,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -796,7 +796,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -184,7 +184,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -206,7 +206,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -180,7 +180,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -202,7 +202,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -468,7 +468,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -490,7 +490,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -211,7 +211,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -233,7 +233,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -215,7 +215,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
@@ -222,7 +222,7 @@ function botReply(userMsg) {
|
||||
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='/contact-us'">Nous contacter</span></div>`;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -244,7 +244,7 @@ function botReply(userMsg) {
|
||||
}
|
||||
|
||||
// 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='/contact-us'">Contacter WEVAL</span><span class="quick-btn" onclick="window.location.href='/products/workspace.html'">Workspace</span></div>`;
|
||||
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() {
|
||||
|
||||
Reference in New Issue
Block a user