- /418/ (et /fr|en/418) : vraie page HTTP 418 'Je suis une théière', SVG
animé (vapeur), boutons café (refus RFC 2324) / thé (toast), noindex.
- Nouveau public/js/global.js chargé sur toutes les pages (statiques,
dynamiques articles/blog, page d'erreur) qui :
* écoute le code Konami ↑↑↓↓←→←→BA → redirige vers /418/ ;
* charge ses clés par codes de caractères (aucune chaîne révélatrice en
clair : ni 'ArrowUp', ni '/418/', ni 'b/a' dans la source) ;
* sert de dispatcher centralisé : injecte par page (components/discord/
zfprobe) via <body data-page=...> ou règles de chemin, sans doublon.
- easter.js supprimé au profit de global.js unique sur 22 pages statiques.
- page-redirect sur / et tous les chemins sans préfixe : localStorage zektyc-lang
puis navigator.language, défaut fr ; fallback FR si la page n'a pas de version EN
- /en/ sert enfin la home EN (public/en/), fix de LANG_ROUTES.en
- home EN générée à partir d'i18n.json (ld+json Organization/FAQPage valides)
- i18n.js/components.js : switch de langue par préfixe + liens préfixés
- anciennes URLs /zmap/en/* : 301 vers /en/zmap/* ; pages EN zmap déplacées
vers le layout <page>/en/ standard
- canonicals/hreflang fr-en-x-default sur toutes les pages statiques + sitemaps
(équipe, zmap, archives, vitesses-par-route ajoutées) ; suppression du domaine
obsolète zektyc.duckdns.org (robots, sitemap index, security.txt)
Suppression des clés i18n jamais utilisées `run` et `finalRun`
(fr/en). Id fantôme `ft-hero` référé en JS mais absent du HTML :
l'id est ajouté aux 2 pages pour que le héros se masque bien en fin
d'analyse multi-passes (répair du comportement prévu). Cache v14→v15.
Le monochrome noir/blanc type « template IA » est remplacé par une
identité plus humaine : papier chaud (#faf8f3) / encre (#201b14), un
accent rouille unique (cohérent avec les tags ambre existants), serif
éditorial pour les titres (sans webfont externe), hero sans grille
technique (halo chaud organique) et micro-labels dé-shoutés (héros,
contact, team) sans uppercase ni letter-spacing agressif. Les blocs
team/tor qui codaient du blanc en dur passent sur les variables (ils
cassaient en thème clair). Cache style.css v7→v8 sur les 21 pages.
Avant: «Premier projet Zektyc · 100 % côté client» / «First Zektyc
project · 100% client-side» — auto-promotion + jargon qui sent l'IA.
Après: «Rien ne quitte votre navigateur» / «Nothing leaves your
browser» — promesse claire et humaine, dans les 2 langues.