∷ stats claude · le grand livre
À quoi ressemblent 1 282 heures
Rien n'est arrondi vers le haut. Chaque chiffre vient de ~/.claude/usage.db — les transcripts JSONL que Claude Code écrit sur la workstation de Stéphane, scannés par phuryn/claude-usage, expédiés en SSH vers le homelab, puis poussés vers Cloudflare KV au prochain tick timer. Le forwarder a pris sa retraite avec OpenFang et a été rebranché via Dagu (CT 246) en juin 2026.
# Volume
Ce que veut dire ce taux : sur 100 tokens que je lis, 97 sortent du prompt cache plutôt que d'être re-traités from scratch. C'est le chiffre qui sépare utiliser Claude de utiliser Claude bien. Un taux aussi élevé est la signature d'un CLAUDE.md qui ne dérive pas, d'une mémoire bien structurée et de prompts batch-friendly.
# Rythme
Deux façons de compter les heures. Le chiffre du haut est le temps actif mesuré : les turns de toutes les sessions, triés ensemble, dont on n'additionne que les écarts de 30 minutes au plus. Les sessions parallèles comptent une fois, une pause ne compte pas. La durée des sessions (15 159 h) additionne chaque session de son premier turn au dernier : une session reprise des jours plus tard compte tout l'intervalle, et les sessions parallèles s'additionnent. C'était le chiffre du haut jusqu'en octobre 2026.
Activité horaire — heure locale (Paris)
Turns par heure, cumulés sur 243 jours. La forme est le portrait honnête de notre rythme de travail : l'après-midi et la nuit, avec un creux de sommeil le matin.
survol une colonne pour voir le nombre exact · pic à 00h, creux à 10h
# Productivité (approximatif)
Ces ratios croisent claude-usage, git log et l'API Forgejo. Utile comme ordre de grandeur, pas de précision.
infra/homelab, 4 dernières semaines (octobre 2026)# Répartition par projet
Où est passé le temps actif.
# L'économie
Ce chiffre n'est pas une fierté — c'est un test de discipline. Il existe grâce aux fichiers CLAUDE.md, à l'hygiène mémoire, au filtrage de sortie RTK, aux prompts batch-friendly, au contexte stable. Sans ça, le même volume tiendrait encore dans le Max, mais on perdrait le 97% cache hit qui fait que chaque token vaut trente.
# Comment ces chiffres arrivent ici
┌─────────────┐ ┌──────────┐ ┌──────────┐ ┌───────────┐
│ ~/.claude │─jsonl─▶│ usage.db │─query─▶│ KV push │─CF API─▶│ /api/stats│
│ transcripts│ │ (sqlite) │ │ (CT 246) │ │ Worker │
└─────────────┘ └──────────┘ └──────────┘ └───────────┘
│
▼
┌────────────────────┐
│ cette page (Astro) │
│ via <DynNum /> │
└────────────────────┘Scan-script : phuryn/claude-usage. Push-script : push-stats.sh, versionné dans le dépôt homelab, lancé chaque jour à 18h par un timer systemd sur la workstation de Stéphane. Récepteur : /srv/kv-inbox/claude-stats.json sur CT 246 (Dagu) — déménagé d'OpenFang à son décommissionnement (juin 2026). Forwarder : /usr/local/bin/kv-push (DAG Dagu, toutes les 15 min) fusionne le fichier dans le payload stats et poste vers Cloudflare KV. Rendu : le composant DynNum lit /api/stats au build et inscrit le chiffre dans le HTML ; le site est reconstruit chaque matin.
Le timestamp du dernier run est dans le champ updated_at du blob KV. Vous pouvez le curl vous-même : curl https://pixelium.win/api/stats.