77 lines
4.7 KiB
PHP
77 lines
4.7 KiB
PHP
<?php
|
|
$yb_static = isset($_GET['ybstatic']);
|
|
$yb_nav = array(
|
|
array('ACCUEIL', home_url('/')),
|
|
array('QUI SUIS-JE', home_url('/qui-suis-je/')),
|
|
array('COMPÉTENCES', home_url('/competences/')),
|
|
array('RÉALISATIONS', home_url('/realisation/')),
|
|
array('BLOG', home_url('/blog/')),
|
|
array('CONTACT', home_url('/contact/')),
|
|
);
|
|
$yb_path = trim((string) parse_url($_SERVER['REQUEST_URI'] ?? '/', PHP_URL_PATH), '/');
|
|
$yb_email = yb2026_id('email');
|
|
$yb_tel = yb2026_id('telephone');
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html <?php language_attributes(); ?> class="<?php echo $yb_static ? 'yb-static' : 'is-entering'; ?>"<?php echo yb2026_season_attrs(); ?>>
|
|
<head>
|
|
<meta charset="<?php bloginfo('charset'); ?>">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="theme-color" content="#0a0a0a">
|
|
<script>/* ybTheme : applique le thème mémorisé avant le premier rendu (pas de flash) */
|
|
(function(){try{var t=localStorage.getItem('yb-theme');if(t==='light'||t==='dark')document.documentElement.setAttribute('data-theme',t);
|
|
var h=document.documentElement,s=h.getAttribute('data-season');
|
|
if(h.hasAttribute('data-no-season')){}else if(localStorage.getItem('yb-sx')){h.setAttribute('data-sx','');var p=localStorage.getItem('yb-sp');if(p==='none'){if(s){h.removeAttribute('data-season');h.setAttribute('data-season-off',s);}}else if(p)h.setAttribute('data-season',p);}
|
|
else if(s&&localStorage.getItem('yb-season')==='off'){h.removeAttribute('data-season');h.setAttribute('data-season-off',s);}}catch(e){}})();</script>
|
|
<?php wp_head(); ?>
|
|
</head>
|
|
<body <?php body_class(); ?>>
|
|
<?php wp_body_open(); ?>
|
|
|
|
<!-- Wipe (rideau lime) : couvre l'écran dès le premier paint grâce à html.is-entering -->
|
|
<div class="yb-wipe" aria-hidden="true"><span class="yb-wipe__label"></span></div>
|
|
<script>
|
|
/* ybWipe : libellé du rideau repris de la page précédente ; filet de sécurité :
|
|
si effects.js ne se charge pas, le rideau se lève quand même. */
|
|
(function(){try{var l=sessionStorage.getItem('ybWipe');if(l)document.querySelector('.yb-wipe__label').textContent=l;}catch(e){}
|
|
setTimeout(function(){document.documentElement.classList.remove('is-entering');},2500);})();
|
|
</script>
|
|
|
|
<div class="scroll-progress" aria-hidden="true"></div>
|
|
|
|
<header class="site-nav">
|
|
<a class="site-nav__logo" href="<?php echo esc_url(home_url('/')); ?>" data-wipe="ACCUEIL">YB<span class="lime">©</span>2026</a>
|
|
<nav class="site-nav__links" aria-label="Navigation principale">
|
|
<?php foreach ($yb_nav as $item) :
|
|
$active = trim((string) parse_url($item[1], PHP_URL_PATH), '/') === $yb_path; ?>
|
|
<a href="<?php echo esc_url($item[1]); ?>" data-wipe="<?php echo esc_attr($item[0]); ?>"<?php echo $active ? ' class="is-active" aria-current="page"' : ''; ?>><?php echo esc_html($item[0]); ?></a>
|
|
<?php endforeach; ?>
|
|
</nav>
|
|
<div class="site-nav__right">
|
|
<?php yb2026_season_toggle(); ?>
|
|
<button type="button" class="theme-toggle" data-theme-toggle aria-label="Passer en mode clair" title="Mode clair / sombre">
|
|
<svg class="theme-toggle__sun" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="4.2"/><path d="M12 2.5v2.2M12 19.3v2.2M4.6 4.6l1.6 1.6M17.8 17.8l1.6 1.6M2.5 12h2.2M19.3 12h2.2M4.6 19.4l1.6-1.6M17.8 6.2l1.6-1.6"/></svg>
|
|
<svg class="theme-toggle__moon" viewBox="0 0 24 24" aria-hidden="true"><path d="M20.5 14.6A8.6 8.6 0 0 1 9.4 3.5a8.6 8.6 0 1 0 11.1 11.1z"/></svg>
|
|
</button>
|
|
<div class="site-nav__badge">@ <?php echo esc_html(mb_strtoupper(yb2026_id('entreprise'))); ?></div>
|
|
<button type="button" class="site-nav__burger" data-menu-toggle aria-expanded="false" aria-controls="yb-menu">MENU</button>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="mobile-menu" id="yb-menu" data-menu aria-hidden="true">
|
|
<nav class="mobile-menu__links" aria-label="Menu mobile">
|
|
<?php foreach ($yb_nav as $i => $item) :
|
|
$active = trim((string) parse_url($item[1], PHP_URL_PATH), '/') === $yb_path; ?>
|
|
<a href="<?php echo esc_url($item[1]); ?>" data-wipe="<?php echo esc_attr($item[0]); ?>" class="mobile-menu__link<?php echo $active ? ' is-active' : ''; ?>" style="--i:<?php echo $i; ?>">
|
|
<span class="mobile-menu__txt"><?php echo esc_html($item[0]); ?><span class="mobile-menu__arrow">→</span></span>
|
|
</a>
|
|
<?php endforeach; ?>
|
|
</nav>
|
|
<div class="mobile-menu__contact">
|
|
<a <?php echo yb2026_pv_href('mailto:' . $yb_email); ?>><?php echo yb2026_pv($yb_email); ?> ↗</a>
|
|
<a <?php echo yb2026_pv_href(yb2026_tel_href($yb_tel)); ?>><?php echo yb2026_pv($yb_tel); ?> ↗</a>
|
|
<div class="mobile-menu__loc"><?php echo esc_html(mb_strtoupper(yb2026_location_long())); ?></div>
|
|
</div>
|
|
</div>
|
|
|
|
<main id="yb-root">
|