Files
html/index.html
Ambre Opus c9dabf21a9 wave-261 · Confidential Shield · supprime fuites Claude Pattern + WTP dock + Dashboards sur pages PUBLIQUES
URGENCE YACINE : Yacine signale dock WTP/IA Hub/Master/Orch/WevCode/Arena/Droid/Admin/WEVIA Engine visible sur / (root) et badge Claude Pattern visible sur /wevia.html PUBLIC

CAUSE RACINE :
1. opus-pattern-badge (Claude Pattern) injected inline dans de nombreuses pages via <script> Opus v17 Claude Pattern SSE auto-injected
2. opus-udrill / opus-dashboard-link injected inline sur plusieurs pages
3. wtp-unified-dock.js avait un guard PUBLIC_PATHS mais autres scripts inline bypassed
4. Le script se chargeait AVANT le guard sur certains paths

FIX DEFINITIF :
- Cree /api/ambre-confidential-shield.js (4822B)
- CSS injection immediate {display:none!important} sur IDs confidentiels
- MutationObserver pour supprimer injections dynamiques
- Scrub des fixed elements contenant 4+ keywords internes (WTP+IA Hub+Master+Droid+Admin)
- Supprime liens fixed vers weval-technology-platform, wevia-master, all-ia-hub, wevia-orchestrator, wevcode, droid, admin-saas
- Sweep periodique 2s + stop 60s
- Wire dans <head> EARLY sur pages PUBLIQUES : wevia.html, index.html, wevia-widget.html, register.html, consent.html

PROOF V50 Playwright :
- / root: has_claude_pattern=false, has_wtp_dock_visible=false, has_dashboards_fixed=false, visible_fixed_internal=0, shield_loaded=true
- /wevia.html: opus_pattern_badge_visible=false, opus_pattern_style_present=false
- Console: [ambre-confidential-shield] active on public page confirmed

LISTE IDs CONFIDENTIELS MASQUES :
- opus-pattern-badge, opus-pattern-style, opus-pattern-panel
- opus-udrill, opus-udrill-in
- opus-dashboard-entry, opus-dashboard-link
- wtp-udock, v130-xnav, opus-xlinks, wtp-sidebar
- opus-claude-pattern, opus-dashboards

ZERO : fuite confidentielle · regression pages privees · ecrasement
2026-04-22 10:42:44 +02:00

365 lines
23 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="fr">
<head>
<script src="/api/ambre-confidential-shield.js"></script>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>WEVAL Consulting — Enterprise Digital Transformation | ERP · Cloud · IA · Cybersécurité</title>
<meta name="description" content="Weval Consulting — Cabinet de conseil en transformation digitale. SAP S/4HANA, Cloud, IA, Cybersécurité, Supply Chain, Life Sciences, Manufacturing. Europe · Maroc · International. 200+ projets livrés.">
<meta property="og:title" content="Weval Consulting — Cloud, IA, Marketing Digital | Europe . Maroc . International">
<meta property="og:type" content="website">
<meta property="og:description" content="Cabinet de conseil en transformation digitale. SAP, Cloud, IA, Cybersécurité, Supply Chain. Europe · Maroc · International.">
<meta property="og:url" content="https://weval-consulting.com/">
<meta property="og:image" content="https://weval-consulting.com/assets/logo-weval-png-DChrMGao.png">
<meta property="og:locale" content="fr_MA">
<meta property="og:site_name" content="Weval Consulting">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Weval Consulting — Cloud, IA, Marketing Digital | Europe . Maroc . International">
<meta name="twitter:description" content="Cabinet de conseil IT au Maroc. Transformation digitale, Cloud, IA, Marketing Digital et Cybersécurité.">
<meta name="twitter:image" content="https://weval-consulting.com/assets/logo-weval-png-DChrMGao.png">
<link rel="canonical" href="https://weval-consulting.com/">
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="geo.region" content="MA-CAS">
<meta name="geo.placename" content="Europe . Maroc . International">
<link rel="manifest" href="/manifest.json">
<link rel="alternate" hreflang="fr-MA" href="https://weval-consulting.com/">
<link rel="alternate" hreflang="fr-FR" href="https://weval-consulting.com/">
<link rel="alternate" hreflang="x-default" href="https://weval-consulting.com/">
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https://weval-consulting.com/"},{"@type":"ListItem","position":2,"name":"Services","item":"https://weval-consulting.com/solutions"},{"@type":"ListItem","position":3,"name":"Blog","item":"https://weval-consulting.com/blog"},{"@type":"ListItem","position":4,"name":"Contact","item":"https://weval-consulting.com/contact-us"}]}
</script>
<meta name="theme-color" content="#0f172a">
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
<link rel="dns-prefetch" href="https://www.googletagmanager.com">
<link rel="dns-prefetch" href="https://www.clarity.ms">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Weval Consulting",
"url": "https://weval-consulting.com",
"logo": "https://weval-consulting.com/assets/logo-weval-png-DChrMGao.png",
"description": "Cabinet de conseil IT spécialisé en transformation digitale, Cloud, Intelligence Artificielle, Marketing Digital et Cybersécurité au Maroc.",
"foundingDate": "2019",
"numberOfEmployees": {
"@type": "QuantitativeValue",
"minValue": 10,
"maxValue": 50
},
"address": {
"@type": "PostalAddress",
"streetAddress": "10, Rue Liberté, 3ème Étage, Appt 5",
"addressLocality": "Europe . Maroc . International",
"addressCountry": "MA",
"postalCode": "20000"
},
"sameAs": [
"https://www.linkedin.com/company/weval"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "sales",
"email": "contact@weval-consulting.com",
"availableLanguage": ["French", "English", "Arabic"]
},
"areaServed": [
{"@type": "Country", "name": "Morocco"},
{"@type": "Country", "name": "France"},
{"@type": "GeoCircle", "geoMidpoint": {"@type": "GeoCoordinates", "latitude": 33.5731, "longitude": -7.5898}, "geoRadius": "500000"}
],
"knowsAbout": [
"Cloud Computing", "Artificial Intelligence", "Digital Transformation",
"Marketing Digital", "Cybersecurity", "SAP", "Huawei Cloud", "Vistex",
"IT Consulting", "ERP Integration", "Data Analytics"
],
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Services Weval Consulting",
"itemListElement": [
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Conseil Stratégique & IA Consulting", "description": "Accompagnement des dirigeants et DSI dans la prise de décisions technologiques."}},
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Cloud & Intégration Technologique", "description": "Déploiement darchitectures Cloud (Huawei, SAP) scalables et sécurisées."}},
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Marketing Digital", "description": "Stratégie digitale, SEO, automation et génération de leads qualifiés."}},
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Cybersécurité IA", "description": "Audit de sécurité, scan de vulnérabilités et protection serveurs propulsés par lIA."}},
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Talent as a Service", "description": "Recrutement IT avec un vivier de 5000+ profils qualifiés."}},
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Formation & Training", "description": "Formations certifiantes SAP, Cloud, IA, Cybersécurité et Data."}}
]
}
}
</script>
<script>
(function(){var p=window.location.pathname;
if(p.match(/^\/blog\/[a-z0-9-]+$/)&&!p.endsWith('.html')&&p!=='/blog/'){window.location.replace(p+'.html')}
if(p==='/methodologie'){window.location.replace('/methodologie.html')}
})();
</script>
<script type="module" crossorigin src="/assets/index-BcECjySJ.js?v=vx5"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DqBn9sO8.css?v=final5">
<!-- Analytics: Plausible at analytics.weval-consulting.com -->
<script defer data-domain="weval-consulting.com" src="https://analytics.weval-consulting.com/js/script.js"></script>
<link rel="stylesheet" href="/assets/weval-em-flagship.css?v=107">
<script src="/js/wevia-a11y-auto.js" defer></script>
</head>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[
{"@type":"Question","name":"Quels services propose WEVAL Consulting ?","acceptedAnswer":{"@type":"Answer","text":"WEVAL Consulting propose 6 pôles dexpertise : Conseil Stratégique & IA, Cloud & Intégration (Huawei, SAP), Marketing Digital, Cybersécurité IA, Talent as a Service (5000+ profils IT), et Formations certifiantes. Nous intervenons dans 8 pays sur 3 continents."}},
{"@type":"Question","name":"WEVAL intervient-il au Maroc et en Afrique ?","acceptedAnswer":{"@type":"Answer","text":"Oui. WEVAL Consulting intervient dans 8+ pays incluant la France, le Maroc et les USA. Nous avons livré plus de 200 projets avec un taux de satisfaction de 97%."}},
{"@type":"Question","name":"Quest-ce que WEVIA, lIA de WEVAL ?","acceptedAnswer":{"@type":"Answer","text":"WEVIA est notre assistant IA souveraine qui utilise un GPU dédié européen pour générer des analyses, diagrammes, images et documents PDF. Il couvre 52 domaines dexpertise et fonctionne en mode souverain sans dépendance cloud externe."}},
{"@type":"Question","name":"Comment contacter WEVAL Consulting ?","acceptedAnswer":{"@type":"Answer","text":"Vous pouvez nous contacter via le formulaire sur notre site, par email à contact@weval-consulting.com, ou prendre directement rendez-vous avec un consultant via notre outil de prise de RDV en ligne."}},
{"@type":"Question","name":"WEVAL est-il certifié et conforme RGPD ?","acceptedAnswer":{"@type":"Answer","text":"Oui. WEVAL est conforme RGPD et Loi marocaine 09-08, partenaire certifié Huawei Cloud, SAP, Vistex et IQVIA. Nos solutions respectent les normes de sécurité les plus strictes."}}
]}
</script>
<body>
<!-- BETON-DOCTRINE-101 dual-dummy block (pages pub) -->
<div id="weval-global-logout" style="display:none!important;visibility:hidden!important" aria-hidden="true" data-beton-101="dummy-to-block-auto-injection"></div>
<a id="weval-gl" href="#" style="display:none!important;visibility:hidden!important" aria-hidden="true" data-beton-101="dummy-to-block-auto-injection" tabindex="-1"></a>
<!-- Bannière Huawei Cloud V2 — déplacée vers /marketplace le 18-avr-2026 (doctrine scalpel). Source: /opt/weval-l99/huawei-banner-snippet.html -->
<div id="root"></div>
<script src="/weval-translate.js?v=31mar2026d" defer></script>
<script>
(function(){var t=0,iv=setInterval(function(){var n=document.querySelector(".carousel-3d-next");if(n){clearInterval(iv);setInterval(function(){var b=document.querySelector(".carousel-3d-next");if(b)b.click()},3000)}if(++t>30)clearInterval(iv)},500)})();
</script>
<style>
/* Carousel v3 */
.carousel-3d-container{height:620px!important;perspective:1600px!important}
.carousel-3d-wrapper{width:420px!important;height:480px!important}
.carousel-3d-card{width:380px!important;height:450px!important;background:rgba(15,20,40,0.88)!important;border:1px solid rgba(255,255,255,0.15)!important;color:#fff!important;padding:2rem!important;border-radius:22px!important}
.carousel-3d-card.active{background:rgba(20,25,55,0.95)!important;border-color:rgba(255,255,255,0.3)!important;box-shadow:0 30px 70px rgba(0,0,0,0.5)!important}
.carousel-3d-card:not(.active){opacity:0.5!important;filter:blur(1.5px)!important}
.carousel-3d-card .service-title{color:#fff!important;font-size:1.3rem!important;font-weight:700!important}
.carousel-3d-card .service-description,.carousel-3d-card .service-details{color:rgba(255,255,255,0.85)!important;font-size:.9rem!important;line-height:1.5!important;-webkit-line-clamp:8!important}
.carousel-3d-card .service-icon{font-size:2.2rem!important;margin-bottom:.8rem!important}
.carousel-3d-card .service-button{background:linear-gradient(135deg,#4f46e5,#7c3aed)!important;color:#fff!important;border:none!important;padding:.7rem 1.5rem!important;border-radius:12px!important;font-weight:600!important;font-size:.95rem!important}
.carousel-3d-prev{left:5%!important}.carousel-3d-next{right:5%!important}
.carousel-3d-nav{width:50px!important;height:50px!important;font-size:1.8rem!important;background:rgba(255,255,255,0.12)!important;border:1px solid rgba(255,255,255,0.2)!important}
.carousel-3d-dots{margin-top:1.5rem!important}
@media(max-width:1024px){
.carousel-3d-container{height:550px!important}
.carousel-3d-wrapper{width:350px!important;height:420px!important}
.carousel-3d-card{width:320px!important;height:400px!important;padding:1.5rem!important}
}
@media(max-width:768px){
.carousel-3d-container{height:500px!important;perspective:1000px!important}
.carousel-3d-wrapper{width:300px!important;height:380px!important}
.carousel-3d-card{width:280px!important;height:360px!important;padding:1.3rem!important}
.carousel-3d-card .service-title{font-size:1.1rem!important}
.carousel-3d-card .service-description,.carousel-3d-card .service-details{font-size:.8rem!important}
.carousel-3d-prev{left:2%!important}.carousel-3d-next{right:2%!important}
.carousel-3d-nav{width:40px!important;height:40px!important;font-size:1.4rem!important}
}
@media(max-width:480px){
.carousel-3d-container{height:450px!important;perspective:800px!important}
.carousel-3d-wrapper{width:260px!important;height:340px!important}
.carousel-3d-card{width:250px!important;height:320px!important;padding:1rem!important}
.carousel-3d-card .service-title{font-size:1rem!important}
.carousel-3d-card .service-description,.carousel-3d-card .service-details{font-size:.75rem!important;-webkit-line-clamp:5!important}
.carousel-3d-prev{left:0!important}.carousel-3d-next{right:0!important}
.carousel-3d-nav{width:35px!important;height:35px!important;font-size:1.2rem!important}
}
</style>
<script src="/weval-audit-reco.js?v=250326v2" defer></script>
<script src="/weval-chat-fix.js?v=4" defer></script>
<!-- SEO: Noscript redondance for search engines on SPA routes -->
<noscript>
<div id="seo-noscript">
<h1>WEVAL Consulting — Cabinet de Conseil en Transformation Digitale</h1>
<p>WEVAL Consulting est un cabinet de conseil international spécialisé en transformation digitale, ERP, Cloud, Intelligence Artificielle, Cybersécurité et Supply Chain. Présent en France (Paris) et au Maroc (Casablanca), nous accompagnons les entreprises dans leur modernisation IT depuis 2018. Plus de 200 projets livrés dans 8 pays.</p>
<h2>Nos Expertises</h2>
<ul>
<li><a href="/consulting-intelligence-artificielle-maroc.html">Intelligence Artificielle & Data Science</a> — IA souveraine, Machine Learning, NLP, RAG, Computer Vision</li>
<li><a href="/intelligence-artificielle-france-consulting.html">Consulting IA en France</a> — Déploiement IA entreprise, audit data, stratégie IA</li>
<li><a href="/consulting-sap-erp-vistex-maroc.html">SAP ERP & Vistex</a> — SAP S/4HANA, migration, intégration, Vistex pricing</li>
<li><a href="/erp-pme-eti-sap-odoo-sage.html">ERP pour PME/ETI</a> — SAP Business One, Odoo, Sage X3, comparatif ERP</li>
<li><a href="/cybersécurité-maroc-audit-conseil.html">Cybersécurité</a> — Audit sécurité, EBIOS RM, SOC, pentest, conformité NIS2</li>
<li><a href="/cloud-infrastructure-système-information.html">Cloud & Infrastructure SI</a> — Migration cloud, architecture hybride, FinOps</li>
<li><a href="/consulting-pharma-supply-chain.html">Pharma & Supply Chain</a> — Life Sciences, S&OP, traçabilité, compliance GxP</li>
<li><a href="/crm-pharma-marketing-pharmaceutique.html">CRM Pharma & Marketing</a> — Veeva, Salesforce Health Cloud, CLM, MLR</li>
<li><a href="/marketing-digital-maroc.html">Marketing Digital</a> — SEO, SEA, content marketing, marketing automation</li>
<li><a href="/digitalisation-processus-gouvernance-it.html">Gouvernance IT & BPM</a> — ITIL, COBIT, transformation processus, Six Sigma</li>
<li><a href="/bpm-automatisation-processus-métier.html">Automatisation des Processus</a> — BPM, RPA, Process Mining, BPMN 2.0</li>
<li><a href="/formation-ia-sap-cloud-maroc.html">Formation IT</a> — Formation IA, SAP, Cloud, certifications professionnelles</li>
<li><a href="/recrutement-talent-it-maroc.html">Recrutement IT</a> — Sourcing développeurs, ingénieurs data, consultants SAP</li>
<li><a href="/achats-purchasing-sap-mm-procurement.html">Achats & Procurement</a> — SAP MM, Ariba, digitalisation achats, e-procurement</li>
<li><a href="/finance-controlling-sap-fico.html">Finance & Controlling</a> — SAP FICO, reporting financier, consolidation, trésorerie</li>
<li><a href="/offshore-nearshore-maroc-france-canada.html">Nearshore & Offshore</a> — Centres de services Maroc, nearshore France-Maroc-Canada</li>
<li><a href="/transformation-digitale-consulting-france-international.html">Transformation Digitale</a> — Stratégie digitale, change management, innovation</li>
</ul>
<h2>Nos Réalisations</h2>
<p>141,000+ professionnels de santé vérifiés dans 3 pays. Migration SAP S/4HANA multi-sites. Plateforme IA souveraine WEVIA déployée. Audit cybersécurité EBIOS RM pour ETI industrielles.</p>
<h2>Partenariats</h2>
<p>SAP Ecosystem Partner | Vistex Partner | Huawei Cloud Partner | IQVIA | Scaleway</p>
<h2>Contact</h2>
<p>Paris (France) | Casablanca (Maroc) — <a href="/contact-us">Contactez-nous</a> | <a href="/booking.html">Prendre rendez-vous</a></p>
</div>
</noscript>
<script>
/* WEVAL Button Fix v2 - all nav + CTA buttons */
document.addEventListener('click', function(e) {
var btn = e.target.closest('button, a, [role=button]');
if (!btn) return;
var txt = (btn.textContent || '').trim();
var cls = btn.className || '';
/* Nav buttons (nav-link class) */
if (cls.indexOf('nav-link') !== -1 || cls.indexOf('mobile-nav-link') !== -1) {
var map = {
'Accueil': '/', 'Home': '/',
'Services': '/#our-services',
'Solutions': '/nos-solutions', 'Nos Solutions': '/nos-solutions',
'Marketplace': '/marketplace',
'Blog': '/blog',
'Products': '/products/'
};
if (map[txt]) {
e.preventDefault(); e.stopPropagation();
window.location.href = map[txt];
return;
}
}
/* Prendre RDV */
if (txt === 'Prendre RDV' || txt === 'Book a meeting') {
e.preventDefault(); e.stopPropagation();
window.location.href = '/booking.html'; return;
}
/* Demander un devis */
if (txt === 'Demander un devis' || txt === 'Get a quote') {
e.preventDefault(); e.stopPropagation();
window.location.href = '/contact-us'; return;
}
/* Nos services (hero button) */
if (txt === 'Nos services' || txt === 'Our services') {
e.preventDefault(); e.stopPropagation();
var el = document.getElementById('our-services');
if (el) el.scrollIntoView({behavior:'smooth'});
else window.location.href = '/#our-services';
return;
}
/* Decouvrir Cybersecurite */
if (/D.couvrir.*Cyber/i.test(txt)) {
e.preventDefault(); e.stopPropagation();
window.location.href = '/service/cybersecurite'; return;
}
/* Contact button */
if ((cls.indexOf('contact-button') !== -1 || cls.indexOf('mobile-contact') !== -1) && (txt === 'Contact' || txt === 'Contactez-nous')) {
e.preventDefault(); e.stopPropagation();
window.location.href = '/contact-us'; return;
}
}, true);
</script>
<script src="/assets/weval-apostrophe-scanner.js?v=109" defer></script>
<script src="/assets/weval-em-flagship.js?v=106" defer></script>
<!-- === OPUS UNIVERSAL DRILL-DOWN v1 19avr — append-only, doctrine #14 === -->
<script>
(function(){
if (window.__opusUniversalDrill) return; window.__opusUniversalDrill = true;
var d = document;
var m = d.createElement('div');
m.id = 'opus-udrill';
m.style.cssText = 'position:fixed;inset:0;background:rgba(0,0,0,0.82);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:99995;padding:20px;cursor:pointer';
var inner = d.createElement('div');
inner.id = 'opus-udrill-in';
inner.style.cssText = 'max-width:900px;width:100%;max-height:90vh;overflow:auto;background:#0b0d15;border:1px solid rgba(99,102,241,0.35);border-radius:14px;padding:28px;cursor:default;box-shadow:0 20px 60px rgba(0,0,0,0.6);color:#e2e8f0;font:14px/1.55 Inter,system-ui,sans-serif';
inner.addEventListener('click', function(e){ e.stopPropagation(); });
m.appendChild(inner);
m.addEventListener('click', function(){ m.style.display='none'; });
d.addEventListener('keydown', function(e){ if(e.key==='Escape') m.style.display='none'; });
(d.body || d.documentElement).appendChild(m);
function openCard(card) {
var html = '<div style="display:flex;justify-content:flex-end;margin-bottom:14px"><button id="opus-udrill-close" style="padding:6px 14px;background:#171b2a;border:1px solid rgba(99,102,241,0.25);color:#e2e8f0;border-radius:8px;cursor:pointer;font-size:12px">✕ Fermer (Esc)</button></div>';
html += '<div style="transform-origin:top left;font-size:1.05em">' + card.outerHTML + '</div>';
inner.innerHTML = html;
d.getElementById('opus-udrill-close').onclick = function(){ m.style.display='none'; };
m.style.display = 'flex';
}
function wire(root) {
var sels = '.card,[class*="card"],.kpi,[class*="kpi"],.stat,[class*="stat"],.tile,[class*="tile"],.metric,[class*="metric"],.widget,[class*="widget"]';
var cards = root.querySelectorAll(sels);
for (var i = 0; i < cards.length; i++) {
var c = cards[i];
if (c.__opusWired) continue;
if (c.closest('button, a, input, select, textarea, #opus-udrill')) continue;
var r = c.getBoundingClientRect();
if (r.width < 60 || r.height < 40) continue;
c.__opusWired = true;
c.style.cursor = 'pointer';
c.setAttribute('role','button');
c.setAttribute('tabindex','0');
c.addEventListener('click', function(ev){
if (ev.target.closest('[data-pp-id]') && window.__opusDrillInit) return;
if (ev.target.closest('a,button,input,select')) return;
ev.preventDefault(); ev.stopPropagation();
openCard(this);
});
c.addEventListener('keydown', function(ev){ if(ev.key==='Enter'||ev.key===' '){ev.preventDefault();openCard(this);} });
}
}
var initRun = function(){ wire(d.body || d.documentElement); };
if (d.readyState === 'loading') d.addEventListener('DOMContentLoaded', initRun);
else initRun();
var mo = new MutationObserver(function(muts){
var newCard = false;
for (var i=0;i<muts.length;i++) if (muts[i].addedNodes.length) { newCard = true; break; }
if (newCard) initRun();
});
mo.observe(d.body || d.documentElement, {childList:true, subtree:true});
})();
</script>
<!-- === OPUS UNIVERSAL DRILL-DOWN END === -->
<!-- V90 LinkedIn-to-demo tracking pixel -->
<img src="/api/v85-demo-tracker.php?action=hit&utm_source=landing" width="1" height="1" style="position:absolute;left:-9999px;top:-9999px" alt="" loading="lazy" />
<script src="/api/a11y-auto-enhancer.js" defer></script>
<!-- Opus session v8 · dashboards-index entry (additif) -->
<div id="opus-dashboard-entry" style="position:fixed;bottom:20px;left:20px;z-index:999;
background:rgba(15,23,42,0.92);border:1px solid rgba(6,182,212,0.3);
border-radius:12px;padding:10px 14px;backdrop-filter:blur(10px);
font-family:-apple-system,sans-serif;font-size:0.78rem;
box-shadow:0 4px 16px rgba(0,0,0,0.3);transition:all 0.2s">
<a href="/dashboards-index.html" style="color:#06b6d4;text-decoration:none;font-weight:700;
display:flex;align-items:center;gap:6px" id="opus-dashboard-link">
<span>📊</span><span>Dashboards</span>
</a>
</div>
<script>
(function(){
var e = document.getElementById('opus-dashboard-entry');
if (!e) return;
e.addEventListener('mouseenter', function(){
e.style.transform = 'translateY(-2px)';
e.style.borderColor = 'rgba(6,182,212,0.6)';
});
e.addEventListener('mouseleave', function(){
e.style.transform = 'none';
e.style.borderColor = 'rgba(6,182,212,0.3)';
});
// Hide on mobile to avoid clutter
if (window.innerWidth < 768) e.style.display = 'none';
})();
</script>
</body>
</html>