Retour au portfolio

Changelog

Historique des versions et de l'amélioration continue

Version 0.18.0 2026-04-06 Feature & Fix

Modale Winback & Navigation

  • Added Rétention utilisateur (Winback) : Nouvelle modale stratégique déclenchée via l'API visibilitychange au retour de l'utilisateur sur l'onglet, pour éviter une perte d'attention et inciter au dialogue.
  • Fixed Auto-focus Modale : Correction native de l'anneau de focus indésirable sur l'icône de fermeture des modales en transférant intelligemment l'autofocus (et un tabindex="-1") sur le message, pour une lecture directe par les outils d'assistance vocale.
  • Fixed Stacking Context (Z-index) : Substitution du z-index par l'API Web popover="manual" sur le Toast de validation d'email (avec fallback rétrocompatible), forçant son affichage dans le top-layer et évitant de se faire recouvrir par le filtre flouté du backdrop des modales.
  • Added Scroll To Top : Implémentation d'un bouton de retour en haut de page, apparaissant en douceur uniquement à la toute fin de la consultation (150px finaux), et visuellement unifié avec le composant de thème existant (icône material "fill" 18px).

Version 0.18.0 2026-04-01 Accessibilité & UI

Confort de lecture (Smart Scroll)

  • Added UI réactive au défilement : Les icônes flottantes (Thème et Accessibilité) s'effacent désormais automatiquement en fondu (opacity: 0 et pointer-events: none) au-delà d'un défilement de 150px équivalent à l'en-tête de page. Cela optimise drastiquement le confort de lecture sur petits écrans en évitant toute obstruction du texte courant, réapparaissant fluidement lors du retour en haut de page.

Accessibilité RGAA & Layout

  • Added Masquage Sémantique (.sr-only) : Intégration globale de la classe utilitaire .sr-only dans shared.css avec l'ajout crucial de white-space: nowrap.
  • Fixed Tableaux sur Mobile (Poids des Fichiers) : Correction d'un bug de débordement critique (overflow) sur les écrans à largeur contrainte (320px). L'application de display: block sur la balise <caption class="sr-only"> empêche désormais les longs intitulés destinés aux lecteurs d'écran d'altérer le calcul des largeurs du tableau, préservant la matrice responsive visuelle.

Version 0.17.8 2026-03-29 Accessibilité & Tableaux

Audit RGAA — Page Poids des Fichiers

  • Changed Présentation des données (Critère 5.1 RGAA) : Conversion des listes <ul> en véritables tableaux HTML (<table>) avec en-têtes explicites, ajout de la balise <caption> sur chaque tableau pour l'identification obligatoire par les lecteurs d'écran.
  • Changed Infobulles accessibles (<abbr>) : Suppression de la colonne "Poids (Octets)" redondante. Le poids en octets est désormais exposé via un attribut title sur une balise <abbr> au survol de la valeur en Ko, allégeant la lecture visuelle sans perte d'information.
  • Added En-têtes de colonnes (Critère 5.7 RGAA) : Ajout de l'attribut scope="col" sur chaque <th> pour une association explicite et sans ambiguïté entre les cellules d'en-tête et leurs colonnes de données.
  • Added Navigation clavier (WCAG 2.1.1) : Ajout de tabindex="0" et role="region" sur les enveloppeurs scrollables (overflow-x: auto) afin de permettre aux utilisateurs de clavier de focaliser et faire défiler les tableaux aux résolutions réduites.
  • Fixed Landmarks distincts (WCAG 1.3.1) : Correction d'un double landmark "region" portant le même nom. Chaque <caption> reçoit un id unique (ex : id="caption-projects"), et le div scrollable pointe vers ce caption via aria-labelledby, évitant toute redondance dans le Rotor des lecteurs d'écran.
  • Fixed Emojis décoratifs (Critère 1.2 RGAA) : Masquage systématique des emojis décoratifs (📁) derrière aria-hidden="true" pour éliminer leur vocalisation superflue par les synthèses vocales.
  • Fixed Responsive 320px (WCAG 1.4.10) : Remplacement de overflow: hidden par overflow-x: auto avec -webkit-overflow-scrolling: touch pour garantir la consultation sans perte d'information sur les écrans à 320px (iPhone 5s).

Version 0.17.7 2026-03-29 Accessibilité & UI

Accessibilité Avancée (RGAA / WCAG)

  • Added Infobulles (WCAG 1.4.13) : Ajout d'une fermeture globale sécurisée via la touche Échap pour rendre les infobulles annulables ("Dismissible") pour les utilisateurs naviguant à la souris, désengorgeant ainsi les zones de clics adjacentes si l'infobulle obstrue la vue.
  • Fixed Fluidité du Focus Clavier : Suppression de l'injection dynamique du tabindex="0" sur les balises sémantiques <abbr>. Cette action supprime un piège fréquent de la navigation au clavier ("Tab Tarpit") pour un parcours utile et rapide.
  • Added Rétro-ingénierie SVG : Ajout systématique des attributs aria-hidden="true" et focusable="false" sur la trentaine d'indicateurs visuels décoratifs (status-box) couvrant les points de version. Résultat : une neutralité complète et aucun bruit intempestif lu par les lecteurs d'écran.
  • Fixed Retour de l'humour, avec complaisance : Restauration purement valide de l'infobulle fantaisiste masquée sur le bouton de retour en haut de page en utilisant le lien explicite à la lecture ARIA, contournant ainsi intelligemment la limite native du vieil attribut title.

Version 0.17.6 2026-03-28 Sémantique & Accessibilité

Audit Opquast / RGAA & Améliorations UX

  • Changed Séparation du fond et de la forme : Refactorisation 100% sémantique sur la page d'accueil (remplacement du <br> décoratif par une classe utilitaire sur un <span>).
  • Removed Cohérence d'accessibilité (Opquast) : Retrait des attributs accesskey obsolètes des actions de contact pour éviter les conflits avec les outils d'assistance natifs.
  • Added Avertissement de changement de contexte : Injection experte de la signalétique de liens externes (icône visuelle et texte lisible par les lecteurs d'écran .sr-only) afin de clarifier les redirections vers un nouvel onglet, assurant une conformité stricte au RGAA.
  • Changed Sémantique et Performance des Études de cas : Remplacement des groupes de libellés (tags) par de véritables listes non-ordonnées (<ul>) pour asseoir la structure, correction d'anomalies de chiffrement, et ajout de l'attribut defer sur legacy.js.

Version 0.17.5 2026-03-27 Optimisation & UI

Maintenance & Performance CSS

  • Removed Nettoyage CSS : Suppression de code orphelin (anciennes classes telles que .phase, .webinar-page, etc.) dans projects.css afin d'alléger le poids de la feuille de style.
  • Fixed Correction de cascade CSS : Réorganisation des règles CSS pour pallier un problème de spécificité masquant la palette de couleurs propre aux avatars de la page de recommandations.

Interface utilisateur (UI)

  • Added Menu interactif (Scroll-Spy) : Implémentation de l'effet "pilule inversée" (actif) au défilement sur le menu local de la page Transparence & Engagements, par un appel groupé à l'API IntersectionObserver existante.

Version 0.17.4 2026-03-27 Heuristiques & UI

Heuristiques de Nielsen & Accessibilité

  • Added H3 — Contrôle et Liberté (Fallback js) : Les boutons de contact email (« Travaillons ensemble » et « Me contacter par email ») possèdent désormais un href de repli pointant vers LinkedIn. Si le JavaScript est désactivé ou échoue, l’utilisateur n’est plus bloqué par un href="#" silencieux, mais est redirigé vers une plateforme de contact alternative.
  • Added H7 — Flexibilité et Efficience (Raccourcis) : Ajout d'attributs accesskey pour les actions principales (Alt+E pour l'email, Alt+L pour LinkedIn) et documentation de ces raccourcis via aria-keyshortcuts pour une découverte proactive par les technologies d’assistance.

Micro-optimisations UI (Études de cas)

  • Fixed Alignement des listes (Puces) : Rectification de l'alignement vertical du marqueur de liste personnalisé (::before) sur sncf-voyageurs-ter.html. Abandon de top: 0 au profit d'un ajustement fin (top: -0.15em) couplé à un line-height naturel pour cibler parfaitement le centre optique de la baseline du texte.
  • Fixed Alignement des cartes numérotées : Suppression d'une marge <p> conflictuelle et ajustement millimétré (margin-top: -2px) du badge numéroté (.card-number) pour corriger le léger décalage visuel inhérent au Flexbox align-items: flex-start.

Version 0.17.3 2026-03-26 Fix & UX

Harmonisation CSS & Encodage

  • Removed Dédoublonnage CSS global : Suppression définitive des règles CSS obsolètes (infobulles, modale, dark mode) encore présentes dans style.css. L'intégralité du site repose désormais de façon stricte sur shared.css pour les composants globaux.
  • Fixed Correction d'encodage (Modale A11y) : Remplacement robuste du caractère de fermeture par son entité HTML inaltérable (&#10005;) sur tous les boutons de la modale d'accessibilité, corrigeant un bug de double encodage (UTF-8).
  • Fixed Cohérence de l'Accueil : Ajout de l'appel manquant à shared.css sur les pages index.html et 404.html, rétablissant instantanément le style masqué des infobulles et l'apparence unifiée des liens du footer.

Version 0.17.2 2026-03-26 Fix & UX

Ergonomie & Lisibilité

  • Changed Aération typographique : Augmentation de l'interligne globale (line-height: 1.6) sur les blocs de texte des études de cas (paragraphes, sous-titres, rôles) pour fluidifier la lecture.
  • Fixed Espacement des déclencheurs tactiles : Ajout d'une marge gap: var(--space-3) dans la modale d'accessibilité pour éviter la superposition graphique entre le texte des options et les boutons à bascule (switches).
  • Changed Conformité RGAA 1.4.12 : Ajustement rigoureux à 150 % de l'interligne des éléments de liste présents au sein de la modale de configuration.

Infobulles & Compatibilité iOS 12

  • Changed Infobulles intelligentes anti-débordement : Refonte complète du moteur d'infobulles (app.js) avec un système de détection des bords de fenêtre (Viewport Boundary Detection). Les infobulles très longues s'auto-ajustent latéralement sur petits écrans, tandis que la flèche d'ancrage se décale de manière inverse grâce à une variable CSS synchrone.
  • Changed Généralisation et épuration : Extension de la mécanique d'infobulles à d'autres éléments que les <abbr> via la classe .has-custom-tooltip. Suppression globale des pointillés superflus (border-bottom) sur tous les liens équipés d'une bulle.
  • Fixed Disponibilité Dark Mode (Safari 12) : Résolution du dysfonctionnement total du bouton Dark Mode sous vieux iOS en intégrant un fallback addListener() pour pallier l'absence de la méthode d'écoute moderne sur l'API matchMedia.
  • Fixed Injection des bibliothèques Legacy : Correction de l'oubli des fichiers legacy.js et legacy.css sur les sous-pages de projets. Les couleurs sRGB de secours s'appliquent correctement et l'élément <dialog> est de nouveau masqué au chargement au lieu de s'afficher comme un bloc natif sur iPhone 5s.

Version 0.17.1 2026-03-20 UI & Accessibilité

Living Style Guide

  • Fixed Alignement des composants : Correction CSS de la direction flexbox des aperçus de composants évitant les débordements horizontaux inattendus. Alignement vertical repensé et suppression des marges globales perturbant l'affichage des composants dans le contexte isolé du Design System.
  • Changed Interactivité CSP-Compliant : Refactorisation complète des événements interactifs de la modale de démonstration (fermeture au clic sur l'arrière-plan, via la touche Escape, et sur les boutons d'annulation) vers une délégation d'événements JavaScript. Élimination des attributs onclick pour correspondre à la CSP stricte instaurée en v0.17.0.

Version 0.17.0 2026-03-20 Sécurité & Perf

Sécurité HTTP & En-têtes

  • Added CSP Stricte & Extensions Navigateur : Refonte de la politique CSP globale dans .htaccess à destination d'un score "A+" certifié. Implémentation de default-src 'none' et sécurisation de l'exécution avec script-src 'self'. Tolérance stratégique ciblée pour les extensions de diagnostic requises (via l'intégration de protocoles d'extension navigateur tels que chrome-extension: et endpoints d'analyse comme Fonts Ninja).
  • Added En-têtes additionnels : Déploiement proactif et permanent des en-têtes de confidentialité : Referrer-Policy (en mode strict-origin-when-cross-origin) limitant les fuites inter-domaines, et Permissions-Policy bloquant toute sollicitation des APIs matérielles (microphone, caméra, géolocalisation).

Qualité CSS & Transparence

  • Removed Éradication CSS "unsafe-inline" : Extraction de l'ensemble des règles de styles et variables précédemment assignées directement via les balises "style" sur les multiples pages de projet et la page courante (transparence, changelog, webinaires, etc.). Celles-ci ont bénéficié de classes utilitaires et mutualisées globales associées aux bibliothèques projects.css et shared.css.
  • Added Transparence Technique : Ajout immédiat des certifications tierces de SecurityHeaders et de Mozilla Observatory sur la page des engagements en l'arborant avec un grade A+, garantissant un niveau élevé face au Cross-Site Scripting (XSS).

Version 0.16.0 2026-03-17 Compatibilité & Responsive

Support Navigateurs Legacy (iOS 12 / Safari 12)

  • Added Dégradation gracieuse CSS : Création d'une feuille de style dédiée (legacy.css) servant de fallback automatisé. Substitution des variables de couleurs oklch() par des valeurs hexadécimales sRGB, des unités viewport dynamiques (dvh) par leur équivalent classique (vh) et des fonctions clamp() par de la typographie fluide sécurisée.
  • Added Polyfill Modale & JS : Injection d'un script ciblé (legacy.js) fournissant un polyfill léger pour l'élément <dialog> (non supporté sur Safari < 15.4), garantissant l'accessibilité de la modale de paramètres (focus trap, backdrop, fermeture Echap).
  • Changed Rétrocompatibilité ES2019 : Retrait du chaînage optionnel (?.) dans le code JavaScript principal au profit de gardes classiques (&&), assurant l'exécution sans erreur sur les moteurs JavaScript anciens des appareils vieillissants.

Responsive < 480px

  • Fixed Typographie Modulaire : Réajustement des limites basses de la fonction clamp() sur les éléments de titrage majeurs pour préserver le rythme typographique et éviter les ruptures de mots ou la ponctuation isolée sur les très petits écrans (ex. iPhone 5S, 320px de large).
  • Fixed Positionnement des Boutons d'Action : Regroupement des icônes d'interface flottantes ("Thème" et "Accessibilité") dans le quadrant supérieur droit sur mobile, évitant la superposition avec la grille de contenu.

Version 0.15.0 2026-03-13 Audit & Sécurité

Sécurité & Performance JavaScript

  • Fixed Correction XSS (chat.js) : Remplacement de l'usage direct d'innerHTML sur les réponses du chatbot par un traitement via DOMParser, éliminant tout vecteur d'injection de code malveillant.
  • Fixed Robustesse API (chat.js) : Vérification du Content-Type avant le parsing JSON pour éviter un crash si le serveur retourne une erreur HTML (500, 502).
  • Changed Événements souris (app.js) : Remplacement du listener global mouseover sur le document par des listeners mouseenter cibles — libère le Main Thread lors des déplacements souris.
  • Changed Modernisation JavaScript : Utilisation du chaînage optionnel (?.) pour les accès DOM potentiellement nuls.

Encodage UTF-8

  • Fixed Encodage des caractères : Correction de pannes globales de rendu UTF-8 (mojibakes et accents littéraux perdus) sur la page Recommandations et Changelog.

Version 0.14.0 2026-03-04 Perf & Fixes

Optimisation rendu CSS

  • Changed Suppression de l'Alpha Blending : Remplacement des opacités et couleurs avec transparence par des couleurs pleines solides dans les fichiers CSS. Cela améliore le rendu navigateur en allégeant les calculs de composition, notamment en Dark Mode.

Correctifs & Données

  • Fixed Encodage des caractères : Correction de pannes globales de rendu UTF-8 (mojibakes et accents littéraux perdus) sur la page Recommandations et Changelog.

Version 0.13.0 2026-03-03 Refinement

Système de Design — CSS Tokens

  • Changed Synchronisation CSS : Alignement complet de shared.css sur style.css. Intégration des déclarations @font-face manquantes (Lufga, Space Grotesk, Recoleta Alt) et synchronisation des variables de tokens (social-proof, bordures dark mode).
  • Changed Cohérence visuelle : Portabilité de la barre de défilement personnalisée et des styles de sélection de texte sur l'ensemble des sous-pages du portfolio.

Ergonomie & Responsive

  • Fixed Responsive Modale : Correction du défaut de centrage et de troncature de la modale d'accessibilité sur les petits écrans (iPhone 5s, Redmi Note 11s) via une méthode de positionnement inset: 0 plus robuste et des largeurs basées sur calc().
  • Fixed Typographie projet : Correction du bug de fallback sur les titres H1 des pages projets qui n'affichaient pas la police Recoleta par défaut.

Version 0.12.0 2026-03-03 Improvement

Modale d'accessibilité universelle

  • Added Modale d'accessibilité universelle : Injection du bouton de paramètres et de la modale d'accessibilité sur toutes les pages HTML du site (404.html, transparence.html, changelog.html, recommandations.html, sncf-voyageurs-ter.html, style-guide.html). Les réglages (son, typographie dyslexie, animations réduites) persistent désormais via localStorage sur l'ensemble du site.
  • Added Typographie Dyslexie : Intégration de la police Atkinson Hyperlegible du Braille Institute comme alternative typographique accessible, avec espacement accentué.
  • Fixed Icônes mode sombre/clair : Correction du bug d'affichage des icônes soleil/lune sur les sous-pages — passage d'une logique style.display bloquée par la CSP à une logique purement CSS via :root[data-theme].
  • Changed Harmonisation CSS : Migration des styles de la modale d'accessibilité (dialog.a11y-modal, interrupteurs, variables de couleurs) de style.css vers shared.css pour une cohérence visuelle complète sur toutes les pages.

Politique CSP

  • Changed CSP adaptée au contexte portfolio : Simplification de la Content-Security-Policy dans .htaccess — suppression des directives trop restrictives incompatibles avec les extensions navigateur. La politique retenue (frame-ancestors 'none' + HSTS + nosniff) offre une protection proportionnée à un site statique sans données utilisateur.
  • Removed Suppression des headers superflus : Retrait de X-Frame-Options (redondant avec frame-ancestors), Referrer-Policy et Permissions-Policy non nécessaires pour un portfolio statique.

Version 0.11.0 2026-03-02 Improvement

Design System — Tokens CSS

  • Changed Design System — Tokens CSS (P1) : Remplacement de toutes les valeurs px « magiques » résiduelles par des variables CSS dans projects.css et style.css pour garantir la cohérence de la grille de 8px.
  • Removed Nettoyage inline styles (P2) : Suppression des 17 attributs style="margin-top: 0;" présents sur chaque .changelog-section-title dans changelog.html — remplacés par une règle CSS dédiée dans projects.css.
  • Removed Landmark ARIA vide (P2) : Suppression du <footer class="page-footer"></footer> vide dans changelog.html — un landmark sans contenu est une violation RGAA (critère 12.6).
  • Added AEO — Sémantique LLM (P2) : Encapsulation de la liste de compétences (.skills-list) dans un <section aria-labelledby="skills-heading"> dans index.html pour faciliter l'extraction sémantique par les moteurs IA et LLMs.
  • Removed Sécurité & CSP (P2) : Migration des derniers styles inline (.footer-links et .performance-badges) vers les feuilles de styles externes, permettant la suppression de la directive 'unsafe-inline' dans la Content Security Policy (CSP) via .htaccess.

SEO, UX & Architecture

  • Changed Refonte du Guide de Style : Migration intégrale des styles internes et inline de style-guide.html vers une feuille de style externe dédiée style-guide.css. Adoption de classes sémantiques (BEM-light).
  • Added Métadonnées Auteur (humans.txt) : Liaison systématique du fichier humans.txt dans le <head> de toutes les pages via la balise link rel="author", renforçant l'identité numérique et l'AEO.
  • Added Amélioration UX Page 404 : Ajout du Journal de bord dans la liste des ressources de secours sur la page d'erreur 404 pour réduire le taux de rebond.
  • Removed Nettoyage sémantique Recommandations : Suppression des titres <h2> redondants dans recommandations.html. Utilisation de aria-label sur les <article> pour maintenir une accessibilité exemplaire sans pollution visuelle.
  • Removed Maintenance & Liens morts : Retrait définitif de toutes les références vers les pages obsolètes (Journal de bord et Accessibilité/Éco-conception en HTML séparé).
  • Changed Identité visuelle — Harmonisation Typographique : Application systématique de la police Recoleta (via la variable --font-heading) sur tous les titres principaux (h1) des sous-pages pour garantir une cohérence de marque Premium.

Version 0.10.0 2026-02-28 Improvement

Navigation Footer

  • Added Design Tokens : Implémentation complète d'un système de variables sémantiques (Design Tokens) à l'échelle globale. Les espacements (grille de 8px), les teintes et les rayons de bordures sont désormais gérés de manière centralisée dans :root.
  • Fixed Correction de l'espacement : Suppression du padding horizontal sur .journal-link et neutralisation du gap du conteneur flex via .footer-links { gap: 0 !important }, afin que les margin du pipe soient symétriques (8px de chaque côté).
  • Added Propagation sur toutes les pages : Ajout du wrapper <div class="footer-links"> dans les cinq sous-pages et intégration des règles CSS dans projects.css pour que les sous-pages bénéficient aussi du séparateur.

Version 0.9.9 2026-02-28 Fix

Affichage SVG

  • Fixed Spécificité d'affichage SVG : Remplacement de l'utilisation de l'attribut HTML `hidden` au profit de déclarations de style "inline" (`display: none;` et `display: block;`) en JavaScript pour le basculement fiable et réactif du bouton Mettre en Pause / Lecture du "Phrase Rotator" sur la page d'accueil.

Version 0.9.8 2026-02-28 Feature

Modale d'accessibilité

  • Added Panneau d'accessibilité : Ajout d'une modale permettant d'activer une typographie adaptée (dyslexie), de couper le son et de désactiver les animations.
  • Added Contrôle des animations : Bouton interactif Pause/Lecture ajouté pour le texte défilant du Hero Header.
  • Changed Conformité RGAA 4.1.2 : Amélioration ARIA des boutons à bascule (switch) pour les lecteurs d'écran.

Version 0.9.7 2026-02-27 Fix

Étude de cas SNCF

  • Fixed Correction Layout : Résolution des problèmes d'alignement et de disposition sur la page sncf-voyageurs-ter.html. Centrage corrigé pour le contenu principal, la zone de contact et le footer, afin d'assurer la cohérence avec le reste du site.
  • Fixed Ajustement Flexbox : Modification du comportement d'affichage de body.case-study pour restaurer un flux de document normal, réparant ainsi un conflit visuel issu des restructurations CSS récentes.

Page Transparence

  • Changed Badges de performance : Déplacement des indicateurs (EcoIndex et PageSpeed) du footer vers l'en-tête de la page Transparence et mutualisation de leur CSS dans la feuille de styles commune.
  • Added Ancrage et Navigation : Ajout d'une marge de défilement (scroll-padding-top) et d'un défilement doux (scroll-behavior: smooth) sur le document pour corriger le fait que le menu masquait les titres de la section une fois l'ancrage activé.
  • Fixed Structure CSS : Nettoyage d'une erreur (accolade superflue) dans style.css rétablissant la bonne application des media queries d'accessibilité.

Version 0.9.6 2026-02-27 Improvement

Design System & Architecture CSS

  • Added Design Tokens & Variables CSS : Implémentation d'un système de variables sémantiques à l'échelle globale. Les espacements (grille de 8px), les teintes (primitives et abstraites), et les rayons de bordures sont désormais gérés de manière centralisée dans :root.
  • Added Typographie Fluide : Remplacement des valeurs statiques de texte et des media queries par des fonctions clamp() pour assurer une fluidité typographique transparente entre mobiles et grands écrans.
  • Changed Accessibilité des contrastes : Ajustement fin des teintes de survol et des badges (ex : couleurs de la balise « Compétences » en #EEEEEE) pour garantir le ratio de contraste, y compris dans le thème sombre.

Version 0.9.5 2026-02-25 Fix

Cohérence UI Footers

  • Fixed Harmonisation des footers : Alignement de .version-link sur le style des liens de l'index — même font-size (0.85rem), font-weight (500) et opacity (0.85). Suppression du text-decoration: underline incohérent sur .page-footer a.
  • Fixed Espacement footer Recommandations : Remplacement des séparateurs . par et compactage du HTML sur une ligne pour un espacement strictement uniforme entre les éléments inline.
  • Fixed Correctif .version-link : Passage en display: inline (suppression du padding: 8px) pour éviter un espace visuel asymétrique lorsque le lien est inclus dans du texte courant.

Version 0.9.4 2026-02-25 Patch

Audit Sécurité & SEO

  • Fixed Sécurité — Email en clair (P0) : Suppression de l'email Gmail en clair dans le CSS d'impression — remplacé par attr(data-print-email) pour préserver l'obfuscation JS.
  • Fixed Sécurité — Faux encodage Base64 (P0) : Suppression du faux encodage Base64 dans more.js — l'URL du Book PDF est désormais directe avec commentaire explicatif honnête.
  • Added SEO — og:title manquant (P1) : Ajout de la balise og:title manquante dans index.html — optimise le partage sur LinkedIn, WhatsApp et Facebook.
  • Changed AEO — Schéma JSON-LD (P1) : Remplacement du schéma JSON-LD Person par CreativeWork sur la page étude de cas SNCF — meilleure indexation Knowledge Graph.
  • Fixed Compatibilité Safari privé (P2) : Protection try/catch ajoutée sur localStorage.getItem hors IIFE pour éviter un crash en navigation privée Safari.
  • Fixed Compatibilité dark mode : Revert d'une régression sur la gestion des icônes soleil/lune — retour à style.display pour garantir leur visibilité à l'initialisation.
  • Added Accessibilité RGAA (P2) : Ajout du cite attribut sur le <blockquote> et de la balise <cite> sur la source Frédérique Maurel — conformité critère 1.1.
  • Added Performance RGESN (P2) : Réintégration de content-visibility: auto sur .social-proof — lazy rendering natif.

Optimisations SEO & Performance

  • Fixed Meta description (OPT-01) : Correction de la virgule manquante et reformulation SEO plus explicite.
  • Changed JSON-LD Person (OPT-02) : Enrichissement avec availableLanguage, address (Lyon / Auvergne-Rhône-Alpes) et ajout de CRO / UX Writing dans knowsAbout.
  • Added UX Toast (OPT-06) : Toast accessible (role="status", aria-live="polite") après clic sur le lien email — informe l'utilisateur et propose LinkedIn en alternative si le client mail est absent.
  • Changed RGPD (OPT-09) : La date de disponibilité validUntil n'est plus exposée en clair dans l'objet global JS — remplacée par un getter dynamique sur le DOM.
  • Fixed Accessibilité (OPT-10) : Focus sur le h2 du dialog corrigé via :focus:not(:focus-visible) — outline conservé pour les utilisateurs clavier et lecteurs d'écran.

Version 0.9.3 2026-02-25 Improvement

Performance & Accessibilité

  • Fixed Performance (CLS) : Élimination du Cumulative Layout Shift sur la section témoignages et amélioration du min-height du rotateur de phrases sur mobile.
  • Fixed Accessibilité (100%) : Correction du label-content-name-mismatch sur les labels ARIA et renforcement du contraste des couleurs sur le badge de disponibilité et les signatures.
  • Changed Lighthouse : Atteinte du score cible de 100/100 en Accessibilité et SEO.

Version 0.9.2 2026-02-24 Fix

Accessibilité RGAA 4.1.2

  • Fixed Contraste parfait (Critère 3.3) : Augmentation des opacités sur les liens secondaires (.case-link, .journal-link, et pieds de page) pour garantir un ratio de contraste d'au moins 3:1 avec leur arrière-plan.
  • Added Liens textuels explicites (Critère 10.6) : Ajout systématique d'un soulignement visible indépendamment de la couleur d'accent pour tous les liens injectés de manière fluide dans du texte classique.
  • Added Liens contextuels (Critère 6.1) : Ajout d'attributs ARIA stricts (ex: aria-label spécifique sur "Voir le projet") pour que les lectures hors de leur contexte visuel demeurent toujours claires pour les lecteurs d'écran.
  • Changed Accessibilité des documents PDF (Critère 13.3) : Les liens vers les documents téléchargeables informent désormais explicitement l'utilisateur de l'extension de fichier et de l'ouverture dans une nouvelle fenêtre.

Changelog

  • Added Uniformisation du Changelog : Création de cette page unique et versionée permettant de documenter systématiquement toutes les implémentations pour plus de transparence technique.
  • Added Version Link : Les métadonnées du pied de page pointent désormais interactivement vers le Changelog.

Version 0.9.1 2026-02-23 Improvement

Architecture structurelle

  • Changed Harmonisation CSS : Harmonisation des espacements marginaux et des largeurs maximales parentes (alignement sur index.html) sur la totalité des sections principales du site (page « Transparence », « Recommandations » et vues documentaires).
  • Changed Sémantique Recommandations : Refonte de la disposition sémantique sur la page de Recommandations. Implémentation complète de balises <figure> / <figcaption> afin de nouer le témoignage de retour client (blockquote) avec le nom et rôle de sa source attitrée pour le respect de la norme RGAA (Critère 9.4).

Ergonomie & Navigation

  • Added Retour en Haut : Ajout fluide d'une ancre d'interaction « Retour en Haut » permettant un redressement scroll rapide sur les grands gabarits transversaux (pages « Bonnes Pratiques » et « Témoignages »).
  • Changed Refonte du module Skip-link : Remplacement de l'ancienne méthode de masquage CSS basée sur une animation (transform: translateY(-150%) qui provoquait des bugs de positionnement) par une méthode d'escamotage robuste inspirée du motif .sr-only s'affichant en position fixed au clavier.

Version 0.9.0 2026-02-01 Improvement

Page Transparence & Engagements

  • Changed Architecture de la page : Remaniement de l'approche communicationnelle d'accessibilité vers un espace dédié. Remplacement de l'architecture modale « RGESN » en un répertoire exhaustif global des engagements Web et Dev.
  • Changed Index de contenu : Restructuration en huit catégories méticuleuses reflétant les standards majeurs de sécurité et d'ingénierie front-end.
  • Added Sémantique ARIA & SEO : Premières itérations architecturales pour un meilleur encadrement ARIA et sémantisme SEO en Single Page (révision des fusions canoniques et descriptions de l'auteur).

Version 0.8.1 2026-02-12 Patch

Design System & Typographie

  • Fixed Cohérence Typographique : Harmonisation des composants textuels et restauration de la typographie de marque (Plus Jakarta Sans) de façon consistante sur tous les nœuds de la page d'accueil (Hero section, animations rotatives et liens).
  • Fixed Performances d'affichage : Alignement de la nomenclature des polices hébergées localement avec les déclarations CSS pour garantir l'indépendance de chargement (zéro tracker externe / Google Fonts).
  • Fixed Identité Verbale : Restauration du discours de marque originel sur les phrases rotatives (app.js) pour refléter précisément la philosophie d'interface ciblée.

Impression (Print CSS)

  • Added Lisibilité Papier : Refonte du comportement physique de l'interface lors de l'impression : nettoyage des cibles interactives, passage en schéma colorimétrique strict (Noir & Blanc), et épuration des ancrages non pertinents pour un rendu net sur papier.

Version 0.8.0 2026-02-11 Improvement

SEO Technique & AEO

  • Added Données Structurées : Enrichissement sémantique des structures de données (JSON-LD) avec la triple intégration des schémas WebSite, Person, et ProfessionalService pour maximiser la lisibilité algorithmique.
  • Added Métadonnées Réseaux Sociaux : Actualisation des balises Open Graph (Facebook/LinkedIn) et Twitter Cards afin d'améliorer l'expérience de partage des URLs.
  • Added Crawl Budget : Affinage du contexte des robots d'exploration : validation des URLs canoniques, attributs d'accessibilité sur les icônes de structure, et configurations ciblées dans le robots.txt.

Version 0.7.0 2026-02-10 Improvement

Mode Sombre & Design System

  • Added Thème Sombre Adaptatif : Implémentation complète d'un Dark Mode adaptatif, respectant les préférences du système d'exploitation et laissant un droit de forçage manuel à l'utilisateur via une interface de toggle dédiée.
  • Added Palette Réactive : Mise en place d'une architecture de variables CSS natives gérant des palettes sémantiques réactives selon le contexte d'éclairage.
  • Added Grille de 8px : Rationalisation des espaces sur une grille rythmique de 8 pixels, augmentant la clarté, l'aération et la cohérence de l'Information Architecture (IA).
  • Added Éco-conception : Mise en conformité RGPD (suppression des traceurs inutiles) et RGESN (allègement des actifs multimédias pour l'éco-conception).
  • Added Accessibilité Mobile : Retouches UI ciblées assurant un dimensionnement suffisant (Touch Targets) des icônes pour la navigation tactile.
↑ Retour en haut

Paramètres d'accessibilité

Désactive les effets sonores au survol et au clic.

Utilise la police Atkinson Hyperlegible plus lisible avec des espacements accentués.

Désactive les transitions CSS et les animations automatiques.