Files
html/plan-du-site.html

250 lines
11 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>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Plan du site | Weval Consulting</title>
<meta name="description" content="Plan du site Weval Consulting — Services, Ressources, Blog, Produits et Contact.">
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
:root{--bg:#0b1120;--card:#111827;--border:#1e293b;--text:#94a3b8;--white:#e2e8f0;--accent:#3b82f6;--accent2:#8b5cf6}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh}
a{color:var(--text);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent)}
.nav{padding:1.2rem 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.nav-logo{font-size:1.3rem;font-weight:700;color:var(--white)}
.nav-logo span{color:var(--accent)}
.nav-back{color:var(--text);font-size:.85rem;padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;transition:all .2s}
.nav-back:hover{border-color:var(--accent);color:var(--accent)}
.hero{text-align:center;padding:3rem 2rem 2rem}
.hero h1{font-size:2rem;font-weight:700;color:var(--white);margin-bottom:.5rem}
.hero p{color:var(--text);font-size:.95rem;max-width:500px;margin:0 auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;max-width:1100px;margin:0 auto 3rem;padding:0 2rem}
.section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}
.section-title{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem}
.section-title .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.section ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.section li a{display:block;padding:.4rem .6rem;border-radius:6px;font-size:.88rem;transition:all .15s}
.section li a:hover{background:rgba(59,130,246,.08);color:var(--accent);padding-left:1rem}
.footer{text-align:center;padding:2rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--text)}
.footer a{color:var(--accent)}
@media(max-width:640px){
.grid{grid-template-columns:1fr}
.hero h1{font-size:1.5rem}
}
</style>
<!-- DOCTRINE-60-UX-ENRICH direct-inject-20260424-144054 -->
<style id="doctrine60-ux-direct">
/* DOCTRINE-60-UX-ENRICH injected-direct */
body::before {
content: '';
position: fixed;
top: 0; left: 0; width: 100vw; height: 100vh;
background: radial-gradient(circle at 50% 50%, rgba(100,180,255,0.08), transparent 60%);
pointer-events: none;
z-index: -1;
}
.card, .kpi, .panel, .btn {
transition: all 0.3s cubic-bezier(0.2,0,0.1,1);
}
.card:hover, .kpi:hover, .panel:hover {
box-shadow: 0 4px 20px rgba(100,180,255,0.2);
border-color: rgba(100,180,255,0.5);
}
@keyframes pulseD60 {
0%,100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.7; transform: scale(1.05); }
}
.pulse, .live-indicator, .active, .online {
animation: pulseD60 3s ease-in-out infinite;
}
.modal, .chat, .speech, .overlay {
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
.enter-stagger {
animation: enterStagD60 0.5s cubic-bezier(0.2,0,0.1,1) forwards;
}
@keyframes enterStagD60 {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
</style>
</head>
<body>
<div class="nav">
<div class="nav-logo"><span>W</span>eval</div>
<a href="/" class="nav-back">← Retour au site</a>
</div>
<div class="hero">
<h1>Plan du site</h1>
<p>Retrouvez l'ensemble de nos services, ressources et articles.</p>
</div>
<div class="grid">
<div class="section">
<div class="section-title"><span class="dot" style="background:var(--accent)"></span>Services</div>
<ul>
<li><a href="/service/intelligence-artificielle.html">Intelligence Artificielle</a></li>
<li><a href="/service/cybersecurite.html">Cybersécurité & Audit</a></li>
<li><a href="/service/cloud-sap.html">Cloud & SAP</a></li>
<li><a href="/service/e-marketing.html">E-Marketing Digital</a></li>
<li><a href="/service/transformation-digitale.html">Transformation Digitale</a></li>
<li><a href="/service/recrutement-it.html">Recrutement IT</a></li>
<li><a href="/service/formation.html">Formation & Training</a></li>
<li><a href="/service/nearshore-it.html">Nearshore IT Maroc</a></li>
</ul>
</div>
<div class="section">
<div class="section-title"><span class="dot" style="background:var(--accent2)"></span>Ressources</div>
<ul>
<li><a href="/blog/index-seo.html">Blog & Insights</a></li>
<li><a href="/blog/use-cases.html">Études de Cas</a></li>
<li><a href="/methodologie.html">Méthodologie Weval 4D</a></li>
<li><a href="/actualites">Actualités</a></li>
<li><a href="/products/">Products & Marketplace</a></li>
<li><a href="/products/workspace.html">Weval Workspace</a></li>
<li><a href="/wevia.html">Wevia — Notre IA</a></li>
<li><a href="/contact-us">À propos de Weval</a></li>
</ul>
</div>
<div class="section">
<div class="section-title"><span class="dot" style="background:#22c55e"></span>Articles récents</div>
<ul>
<li><a href="/blog/ia-agentique-entreprise-2026.html">IA Agentique en Entreprise</a></li>
<li><a href="/blog/cybersecurite-pme-maroc-2026.html">Cybersécurité PME Maroc</a></li>
<li><a href="/blog/cloud-souverain-afrique-2026.html">Cloud Souverain Afrique</a></li>
<li><a href="/blog/migration-sap-s4hana-2027.html">Migration SAP S/4HANA</a></li>
<li><a href="/blog/ia-generative-maroc-2026.html">IA Générative Maroc</a></li>
<li><a href="/blog/delivrabilite-email-2026.html">Délivrabilité Email 2026</a></li>
<li><a href="/blog/transformation-digitale-pme-maroc.html">Transformation Digitale PME</a></li>
<li><a href="/blog/weval-scaleway-partenaire-maroc.html">Weval × Scaleway Maroc</a></li>
</ul>
</div>
<div class="section">
<div class="section-title"><span class="dot" style="background:#f59e0b"></span>Produits phares</div>
<ul>
<li><a href="/products/workspace.html">Weval Workspace (54 produits)</a></li>
<li><a href="/products/arsenal.html">Wevanalytics ERP</a></li>
<li><a href="/products/wevads.html">Wevads — Digital Marketing</a></li>
<li><a href="/products/wevia-enterprise.html">Wevia Enterprise — IA</a></li>
<li><a href="/products/deliverads.html">DeliverAds — Email Delivery</a></li>
<li><a href="/products/gpu-inference.html">Wevia Inference — GPU IA</a></li>
</ul>
</div>
<div class="section">
<div class="section-title"><span class="dot" style="background:#ef4444"></span>Contact</div>
<ul>
<li><a href="mailto:info@weval-consulting.com">info@weval-consulting.com</a></li>
<li><a href="tel:+212657785292">🇲🇦 +212 6 57 78 52 92 — Casablanca</a></li>
<li><a href="tel:+33647087627">🇫🇷 +33 6 47 08 76 27 — Paris</a></li>
<li><a href="tel:+12513160108">🇺🇸 +1 251 316 0108 — Sheridan, WY</a></li>
<li><a href="https://linkedin.com/company/weval" target="_blank">LinkedIn</a></li>
</ul>
</div>
</div>
<div class="footer">
© 2026 Weval Consulting — Europe · Maroc | <a href="/">Retour à l'accueil</a>
</div>
<!-- === 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 === -->
<script src="/api/a11y-auto-enhancer.js" defer></script>
<!-- WTP_UDOCK_V1 (Opus 21-avr t34final) --><script src="/wtp-unified-dock.js" defer></script>
<script src="/opus-antioverlap-doctrine.js?v=1776776094" defer></script>
<!-- DOCTRINE-60-UX-JS --><script id="doctrine60-ux-js-direct">
// DOCTRINE-60-UX-JS staggered entrance
(function(){
if (!('IntersectionObserver' in window)) return;
const obs = new IntersectionObserver((entries) => {
entries.forEach((e, i) => {
if (e.isIntersecting) {
setTimeout(() => e.target.classList.add('enter-stagger'), i * 80);
obs.unobserve(e.target);
}
});
});
document.querySelectorAll('.card, .kpi, .panel').forEach(el => obs.observe(el));
})();
</script>
</body>
</html>