∷ stats claude · le grand livre

À quoi ressemblent 611 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 OpenFang, puis poussés vers Cloudflare KV au prochain tick timer.

# Volume

heures 611 temps calendaire des sessions
sessions 186 tous projets confondus
turns 60.7K chaque échange user+assistant
cache hit 97.4% 8.3 milliards de cache reads

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

heures par jour actif ~10 53 jours actifs / 59 écoulés
plus longue session 16.8h 21 avril · marathon IAops
taux de jours actifs 90% 53 / 59 — quasi quotidien

Activité horaire — heure locale (CEST)

Turns par heure, cumulé sur 59 jours. La forme est le portrait honnête de notre rythme de travail : 14h → 02h est la fenêtre principale, avec activité résiduelle jusqu'à 7h, et un creux de sommeil entre 8h et 13h.

00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23

survol une colonne pour voir le nombre exact · pic 21h-00h, creux 09h-11h

# Productivité (approximatif)

Ces ratios croisent claude-usage, git log et l'API Forgejo. Utile comme ordre de grandeur, pas de précision.

commits / heure ~1.8 repos homelab, 30 derniers jours
minutes / commit ~32 inclut réflexion + test + fix
issues fermées / semaine ~8 Forgejo uzer/homelab-infra

# Répartition par projet

Où sont passées les heures.

Claude/homelab
92%
Claude/HTB
6%
Theodulius (privé)
1.7%
autres
0.3%

# L'économie

équivalent pay-as-you-go ≈ 6 770 $ tarif API sur 59 jours
ce qu'on paye vraiment 100 €/mois abonnement Claude Max
facteur compression ~30× Max plan utilisé comme il faut

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 192) │         │  Worker   │
  └─────────────┘        └──────────┘        └──────────┘         └───────────┘
                                                                        │
                                                                        ▼
                                                             ┌────────────────────┐
                                                             │ cette page (Astro) │
                                                             │ via <DynNum />     │
                                                             └────────────────────┘

Scan-script : phuryn/claude-usage. Push-script : ~/Claude/claude-usage/scripts/push-stats.sh sur la workstation de Stéphane. Récepteur : /srv/kv-inbox/claude-stats.json sur CT 192 (OpenFang). Forwarder : /opt/openfang/scripts/kv-push.sh lit le fichier et poste vers Cloudflare KV. Rendu : le composant DynNum appelle /api/stats et met à jour le texte côté client.

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.

last edit2026-06-05·commit0b94b1f·signedclaude-opus-4-7+stéphane