Colophon
Outils, polices et choix d’accessibilité de ce site.
Fabrication
Site statique construit avec Astro 7.4.2, livré en HTML, CSS et un minimum de JavaScript (démos interactives, filtre de l’index, sommaires et bascule de thème). Le contenu est écrit en Markdown et validé par un schéma avant la génération ; les pages sont rendues au build. Polices et scripts sont servis par le site lui-même : aucune ressource n’est chargée depuis un service tiers.
Méthode
Je conçois et spécifie la quasi-totalité de mes projets, j’en pilote la réalisation par des agents IA, puis je vérifie ce qui en sort. Ce qui est de moi : l’architecture, les décisions techniques, la discipline de tests et la revue.
Typographie
Deux familles libres, sous licence SIL Open Font License (OFL), auto-hébergées : six fichiers WOFF2 réduits au jeu latin, 89,6 Ko au total. Le romain 400 et le gras 700 de Public Sans sont préchargés ; les replis portent des métriques ajustées (Arial, Arial Bold, Courier New) pour limiter les décalages au chargement.
Public Sans
L’informatique est ma base, la cybersécurité ma direction.
Titres, texte courant et interface. 400 et 700, romain et italique : quatre fichiers.
IBM Plex Mono
--accent: light-dark(oklch(0.355 0.075 260), oklch(0.76 0.13 256))
Code, transcriptions de terminal et données. 400, romain et italique : deux fichiers.
Couleur et contraste
Couleurs définies en OKLCH, sur des neutres froids et deux accents fonctionnels : une ardoise pour les titres, les liens et l’état sélectionné, un rouge pour les annotations critiques. Deux thèmes, clair sur fond blanc et sombre « graphite », basculés sans animation. Le registre est celui d’un document : filets de 1 px, rayons de 2 à 3 px, ni ombre ni dégradé. Le contraste vise 4,5:1 pour le texte et 3:1 pour le grand texte (WCAG), dans les deux thèmes. Le nuancier des jetons est dans les détails techniques, en fin de page.
Budget de performance
Chaque construction passe par un contrôle des octets livrés (scripts/guard-dist.mjs), qui échoue au premier plafond dépassé. Les plafonds, la mesure du 30 octobre 2026 et les seuils Lighthouse de l’intégration continue sont dans les détails techniques, en fin de page.
Accessibilité
Objectif WCAG 2.2 AA : contraste vérifié dans les deux thèmes, navigation entière au clavier, focus visible, prefers-reduced-motion respecté, aucune information réservée au survol. Contrôlé par axe-core sur 25 pages, en thème clair et en thème sombre, soit 50 tests (tests/a11y.spec.ts), et par Lighthouse.
Journal
- Mise en page calquée sur mon rapport de stage : Public Sans, accent ardoise prélevé dans le rapport, fond blanc ou graphite, filets de 1 px, sommaire en colonne.
- Refonte : texte et figures agrandis, pages sur toute la largeur de l’écran.
- Première version : structure du site, index des projets, gabarit des fiches et des notes.
Détails techniques
Nuancier des jetons, plafonds de poids, seuils Lighthouse
| Jeton | Rôle | Thème clair | Thème sombre |
|---|---|---|---|
--paper | fond de page | oklch(1 0 0) | oklch(0.225 0.006 264) |
--paper-2 | surface : panneaux, pied, code | oklch(0.982 0.0015 260) | oklch(0.27 0.006 264) |
--paper-3 | surface marquée : bandeaux, survol | oklch(0.963 0.003 260) | oklch(0.3 0.007 264) |
--fig-bg | plaque de figure | oklch(1 0 0) | oklch(0.25 0.006 264) |
--rule | filet | oklch(0.905 0.004 262) | oklch(0.46 0.008 264) |
--rule-2 | filet marqué, traits de figure | oklch(0.83 0.006 262) | oklch(0.6 0.009 264) |
--ink | texte | oklch(0.26 0.013 264) | oklch(0.96 0.004 264) |
--ink-2 | texte secondaire | oklch(0.44 0.013 264) | oklch(0.86 0.006 264) |
--ink-3 | méta, légendes | oklch(0.475 0.013 264) | oklch(0.78 0.009 264) |
--accent | ardoise : titres, liens | oklch(0.355 0.075 260) | oklch(0.76 0.13 256) |
--accent-hover | ardoise au survol | oklch(0.3 0.075 260) | oklch(0.84 0.12 256) |
--accent-wash | lavis d’ardoise | oklch(0.955 0.013 260) | oklch(0.32 0.055 258) |
--flag | rouge fonctionnel | oklch(0.5 0.15 27) | oklch(0.72 0.14 28) |
--flag-wash | fond d’annotation | oklch(0.96 0.025 27) | oklch(0.32 0.06 28) |
| Poste | Plafond | Mesuré |
|---|---|---|
| JavaScript par page, compressé | ≤ 150 Ko | 7,1 Ko |
| CSS par page | ≤ 120 Ko | 86,2 Ko |
| HTML par page | ≤ 400 Ko | 127,7 Ko |
| Poids d’une page (HTML, CSS, JS, polices, images) | ≤ 3 000 Ko | 678,9 Ko |
| Polices, total des fichiers WOFF2 | ≤ 320 Ko | 89,6 Ko |
| Polices, nombre de fichiers | ≤ 12 | 6 |
| Requêtes tierces | 0 | 0 |
| Indicateur | Seuil |
|---|---|
| Performance | ≥ 95 |
| Accessibilité | ≥ 95 |
| Bonnes pratiques | ≥ 95 |
| Référencement | 100 |
| Affichage du plus grand élément (LCP) | ≤ 2 s |
| Décalage de mise en page (CLS) | ≤ 0,05 |
| Temps de blocage (TBT) | ≤ 150 ms |