Registre
Inscrit
2026-09-30
Premier commit
2026-09-30

Analytics

App · mesure d’audience · tableau de bord public

Une mesure d’audience sans cookie, incapable de distinguer deux visiteurs.

Hono sur Cloudflare Workers, D1 et les Core Web Vitals, avec un tableau de bord public. Une ligne tient un chemin, un domaine référent, un pays, une langue, un thème et un type d’appareil, et il n’y a pas de bandeau de consentement : il n’y a rien à consentir.

  • TypeScript
  • Hono
  • Cloudflare Workers
  • D1
  • React
  • Vitest
Ouvrir en ligne (s’ouvre dans un nouvel onglet)Code source (s’ouvre dans un nouvel onglet)
En ligne30 · IX · 2026
Dessin : le tableau de bord public avec les pages vues, les Core Web Vitals et les quelques colonnes d’une ligne, à côté d’une fiche listant ce qui n’est jamais stockéPAGES VUESTableau de bord publicCORE WEB VITALSLCPINPCLSCHEMINRÉFÉRENTPAYSTHÈMEAPPAREIL/en/projectsgithub.comFRsombremobile/fr—BEclairordinateurJAMAIS STOCKÉcookieIPuser agentempreintehashTRACKER.JSmoins d’1 ko gzippéALIMENTÉ PAR CE SITE, TAVERLA ET ON-RECORDpas de bannière de consentement : rien à consentir
Dessiné pour ce registre, pas une capture
Inscrit
2026-09-30En ligne
Premier commit
2026-09-30Collect page views and serve site stats on Workers and D1
Commits
9sur main, lus le 2026-10-02
Couverture
20 %lignes exécutées par les tests lancés hors du Worker, lues le 2026-10-02
Paquets maison
8 sur 11installés depuis npm

Ce qui est livré

  1. Ni cookie, ni IP, ni user agent, ni empreinte, ni hash stockés : une ligne tient un chemin, un domaine référent, un pays, une langue, un thème et un type d’appareil.
  2. Pas de bandeau de consentement : il n’y a rien à consentir.
  3. Une page vue atteinte depuis une autre page du même site prolonge une visite ; tout le reste en commence une.
  4. tracker.js pèse moins de 1 ko compressé, suit la navigation des applications monopages, et ne tourne jamais sur localhost ni dans un navigateur automatisé.
  5. Ajouter ?analytics=off à une URL arrête de compter ce navigateur.

Comment ça marche

trois apps envoient, un Worker écrit une ligne

Schéma : ce site, Taverla et on-record exécutent chacun tracker.js, qui envoie les pages vues à un Worker Hono sur Cloudflare ; il écrit dans D1 une ligne de six champs et ne stocke jamais de cookie, d’IP, de user agent, d’empreinte ni de hash ; le tableau de bord public lit D1Ce sitetracker.jsTaverlatracker.json-recordtracker.jsUn WorkerHono · CloudflareD1 · une lignecheminhôte référentpayslanguethèmetype d’appareilTableau de bordpublic · ReactJamais stockécookie · IP · user agentempreinte · hash

Historique

Tiré du git log, abrégé, et laissé dans sa langue : 6 commits sur 9, du plus récent au plus ancien.

  1. Show Web Vitals as speed credits on the dashboard
  2. Collect Core Web Vitals as bucketed counts
  3. Accept page views from on-record
  4. Serve a public dashboard from the Worker
  5. Migrate and deploy the Worker from CI on every push to main
  6. Collect page views and serve site stats on Workers and D1Premier commit

Installe

8 des 11 paquets maison, depuis npm, jusqu’aux réglages du compilateur et du linter.

Votre équipe, 2026

Je cherche mon prochain poste. Écrivez-moi, ou prenez le CV : un mis en page, et un sobre pour les logiciels de recrutement.