Commit graph zektyc/src
Author SHA1 Message Date
riricdev
a95a287327 fix(priv): textes factuels — Forgejo couvert (comptes/sessions/tokens/dépôts section 4.1), durée de conservation et sécurité mises à jour, footer ne prétend plus 'aucun cookie' mais cookie de langue unique sans suivi, et nuance sur le tunnel Tailscale (TLS local, sans CDN). 2026-09-07 14:30:28 +02:00
riricdev
88adcb1590 feat(seo): sitemap aligné sur les canoniques des pages (slashes) et hreflang ajouté aux pages dynamiques (articles, blog) 2026-09-07 13:18:01 +02:00
riricdev
f2f1bd41e1 feat(lang): supprime l'écran Redirection…, 302 serveur par Accept-Language/cookie, et traductions par fichier de langue (data/i18n/{fr,en}.json, éditables via Forgejo) 2026-09-07 12:55:35 +02:00
riricdev
56ae9cf5d1 fix(lang): redirect par langue reste sur l'hôte courant (.onion compris) + détection langue fiable
- base mailto hote courant via Host header (http pour .onion, https sinon) :
  canonical/hreflang restent sur le domaine actuel, plus de fuite vers le Funnel
- meta refresh rendu relatif et différé à 1.5s pour laisser le JS choisir la langue
- localStorage isolé dans son propre try/catch : la détection navigator s'exécute
  même quand le stockage est bloqué (Tor), plus de Français systématique
2026-09-06 16:28:37 +02:00
riricdev
370b3d8752 feat(lang): routage préfixé /fr/ et /en/ avec redirect JS langue sur les chemins non préfixés
- 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)
2026-09-06 16:12:16 +02:00
riricdev
bf9b3ccf69 feat: minification serveur à la volée (terser + fallback Bun) et cache immutable
- import terser/Bun.Transpiler (fallback si terser indisponible)
- minifySrc(): CSS via regex, JS via terser.minify (compress+mangle) sinon source
- buildFileCache asynchrone, etag stable sha1(content), cache de minification hashé
- Cache-Control: html no-store, assets ?v= immutable 1 an, sinon must-revalidate
2026-09-06 14:48:11 +02:00
riricdev
d7ec32a458 chore: checkpoint initial — Zektyc dataset, avant humanisation
- site vitrine + fingerprint test + zmap + z-panel
- remplacement duckdns -> riricdev.tail5ea5cd.ts.net (canonical/og/alternates/docs)
- suppression du token DuckDNS (plus utilisé)
2026-09-06 13:03:25 +02:00