Commit graph

9 commits

Author SHA1 Message Date
riricdev
7b9d0be9ac chore(secrets): retire les webhooks Discord et l'état runtime du git avant hébergement public
- scripts antiflood/ipwatch/uptime-check chargent désormais leur webhook depuis
  scripts/.webhooks (gitignoré) au lieu d'un token en dur
- suppression scripts/antiflood.sh.bak-before-cpu-removal (doublon mort)
- untrack + gitignore des fichiers d'état runtime (.ipwatch-state/offset, .synbase,
  .synstate, .uptime-state) contenant des IP opérationnelles
2026-09-06 16:38:49 +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
02125e473d perf(zfprobe): purge code mort et répare la fermeture du hero
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.
2026-09-06 13:17:35 +02:00
riricdev
aa68a97fd3 style(vitrine): palette chaude papier/encre + accent rouille, fini le noir pur
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.
2026-09-06 13:14:30 +02:00
riricdev
1a1d6a4fe2 textes(fingerprint): hero-badge humain, sans jargon AI
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.
2026-09-06 13:11:37 +02:00
riricdev
efc6fc07d2 feat(social): supprime le code Social mort (jamais branché)
- suppression social-core/views/auth/privacy/css (0 référence dans src/, aucune page)
- suppression branches isSocial() mortes dans components.js
- nettoyage isFpTest() mort + footer-back CSS orphelin
- simplification isTorBrowser() (suppression debug logs + conditions redondantes)
2026-09-06 13:06:34 +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