-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
31 lines (31 loc) · 1.96 KB
/
Copy pathindex.html
File metadata and controls
31 lines (31 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- CSP stricte (E10-5) : tout depuis 'self'. Seule exception documentée : les webfonts
Google Fonts (feuille + binaires). Aucun 'unsafe-inline' — styles et script de thème
sont externalisés. Les en-têtes non disponibles en <meta> (X-Content-Type-Options,
Permissions-Policy) sont documentés dans docs/SECURITY.md (à poser côté serveur/CDN). -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data:; connect-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'" />
<meta name="referrer" content="no-referrer" />
<title>MemoForge</title>
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ctext y='13' font-size='14' font-family='monospace' fill='%2346E08A'%3EM%3C/text%3E%3C/svg%3E" />
<link rel="stylesheet" href="styles/main.css" />
<link rel="stylesheet" href="styles/components.css" />
<link rel="stylesheet" href="styles/views.css" />
<script src="src/theme-init.js"></script>
</head>
<body>
<a href="#app" id="skip-link" class="skip-link">Aller au contenu</a>
<button id="lang-toggle" class="theme-toggle theme-toggle--lang" type="button" aria-label="Change language / Changer de langue">EN</button>
<button id="theme-toggle" class="theme-toggle" type="button" aria-label="Basculer entre thème clair et sombre" aria-pressed="false">☀ clair</button>
<main class="wrap">
<h1 class="brand">MemoForge</h1>
<p class="tagline">Comprends les pointeurs et la mémoire C en assemblant des programmes.</p>
<div id="app" tabindex="-1"></div>
</main>
<script type="module" src="src/main.js"></script>
<script type="module" src="src/ui/theme.js"></script>
</body>
</html>