botascopia-webiste-static/template.html
Julie Blanc 31e1b729f3 menu
2026-02-27 20:33:56 +01:00

101 lines
No EOL
2.4 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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>Botascopia</title>
<link rel="stylesheet" type="text/css" href="/assets/style.css">
<link rel="stylesheet" type="text/css" href="/assets/fonts/borna/stylesheet.css">
<link rel="stylesheet" type="text/css" href="/assets/fonts/nunita/stylesheet.css">
</head>
<body>
<include src="/components/site-header.html"></include>
<main>
<section class="page-header">
<div class="page-header__inner">
<h2 class="page-title">À propos du projet</h2>
</div>
</section>
<section class="page-grid">
<nav class="page-nav">
<ul class="toc">
<li><a href="#demarche-botascopia">La démarche</a></li>
<li><a href="#equipe">Léquipe</a></li>
<li><a href="#soutien-financier">Soutien Financier</a></li>
</ul>
</nav>
<section class="page-content">
<!-- Contenu -->
</section>
</section>
</main>
<include src="/components/site-footer.html"></include>
<!-- SCRIPTÀSUPPRIMERUNEFOISLESITEINTEGRÉ (include des composants)-->
<script>
async function processIncludes(maxDepth = 5) {
let depth = 0;
while (depth < maxDepth) {
const includes = document.querySelectorAll('include[src]');
if (includes.length === 0) break;
const promises = Array.from(includes).map(async el => {
const src = el.getAttribute('src');
try {
const response = await fetch(src, { cache: "no-store" });
if (!response.ok) throw new Error(response.status);
const html = await response.text();
el.outerHTML = html;
} catch (err) {
console.error("Erreur include:", src, err);
}
});
await Promise.all(promises);
// Petite pause pour éviter rafale ultra rapide
await new Promise(r => setTimeout(r, 50));
depth++;
}
if (depth === maxDepth) {
console.warn("Max include depth reached (possible boucle).");
}
}
document.addEventListener("DOMContentLoaded", () => {
processIncludes();
});
</script>
</body>
</html>