Comment le temps de code est compté, et pourquoi deux outils ne sont pas d'accord

Les plugins d'éditeur envoient des heartbeats, pas des durées. Comment l'écart entre deux heartbeats devient du temps, ce que décide le délai d'inactivité, et l'erreur de plafonnement qui ajoutait un quart d'heure fantôme à chaque pause.

Suivi du temps5 min de lecturePar

 : Ce que fait inlinr du temps, et ses sources.

Une matinée de heartbeats sur une ligne de temps : une courte pause comptée, la pause déjeuner écartée, les totaux pour deux délais
Dans ce guide

Aucun plugin d'éditeur ne sait combien de temps vous avez travaillé. Ce qu'il sait, c'est qu'il s'est passé quelque chose : vous avez enregistré un fichier, changé de fichier, tapé du texte. Tous les outils de cette catégorie transforment ces instants en heures sur le serveur, et presque tous les désaccords entre deux outils tiennent à la façon de le faire.

Des heartbeats, pas des durées

Le plugin envoie un heartbeat : un horodatage, le fichier, le langage, la branche. Au plus un par fichier toutes les deux minutes tant que vous êtes actif, plus un à chaque enregistrement. Le plugin Claude Code en envoie un par minute où la session a fait quelque chose, parce que lire du code et attendre une réponse, c'est aussi du travail.

Les durées ne sont pas enregistrées avec les heartbeats. Elles sont calculées quand vous ouvrez le tableau de bord, à partir des écarts entre heartbeats consécutifs. C'est ce qui permet de changer la règle ci-dessous après coup : changez votre délai, et l'historique récent est recalculé avec lui. Les heartbeats assez anciens pour avoir été cumulés en totaux quotidiens gardent le délai avec lequel ils l'ont été.

La règle

Prenez chaque heartbeat et le suivant. Si l'écart entre les deux est dans votre délai d'inactivité, tout l'écart compte. S'il est plus long, il ne compte pour rien : vous vous êtes absenté, et un nouveau bloc de travail commence au heartbeat suivant.

C'est toute la règle, et c'est celle que documente WakaTime. Le délai par défaut est de 15 minutes.

Un exemple chiffré

Vous codez 2 minutes, vous vous arrêtez 13 minutes, puis vous codez encore 1 minute.

MinutesDélai de 15 minutesDélai de 10 minutesDélai de 10 minutes, plafonné
Code3 min3 min3 min
Pause, comptée13 min—10 min
Pause, écartée—13 min3 min
La même matinée de trois façons. La pause de 13 minutes est plus courte que 15 minutes et plus longue que 10 : c'est toute la différence entre les deux premières lignes. La troisième est l'erreur du plafonnement décrite plus bas : 10 minutes que personne n'a travaillées.
  • Avec un délai de 15 minutes : 16 minutes. La pause de 13 minutes est plus courte que le délai : elle reste dans un même bloc continu. Relire un diff ou réfléchir à un bug, c'est du travail.
  • Avec un délai de 10 minutes : 3 minutes. La pause est plus longue que le délai : elle coupe la matinée en deux blocs et ne compte pour rien.

Mêmes heartbeats, même matinée, un total cinq fois plus grand. Aucune des deux réponses n'est fausse : elles répondent à des questions différentes sur ce qu'est une pause.

L'erreur du plafonnement

La version tentante de la règle consiste à plafonner chaque écart au délai au lieu de l'écarter : une pause déjeuner de 40 minutes compte pour 15. Cela paraît prudent. Ça ne l'est pas. Chaque pause plus longue que le délai ajoute alors un délai entier de temps que personne n'a travaillé.

Cinq pauses dans la journée font 75 minutes fantômes. inlinr calculait le temps ainsi autrefois, et c'est pour cette raison qu'il affichait plus que WakaTime pour le même travail. La correction a consisté à écarter entièrement les longs écarts, partout où la règle s'applique.

Pourquoi deux outils ne sont pas d'accord

Avec deux outils de suivi côte à côte, attendez-vous à des écarts qui viennent :

  • De délais différents. Comme le montre l'exemple, cela seul peut multiplier une journée par plusieurs.
  • De fréquences de heartbeats différentes. Un plugin qui envoie un heartbeat toutes les 30 secondes voit des sessions courtes qu'un autre manque.
  • De ce qui compte comme activité. Un outil qui n'écoute que l'éditeur ne voit jamais un assistant lancer des tests dans un terminal ; un outil qui lit les transcriptions des assistants, si.
  • Du plafonnement au lieu de l'écart des longs intervalles, qui gonfle chaque journée où il y a des pauses.

Vous venez de WakaTime ? L'historique importé passe par la même règle que les données en direct : les totaux d'avant et d'après le changement sont comparables. Le guide pour quitter WakaTime vous accompagne, et le comparatif dit où chacun fait encore mieux que l'autre.

Choisir un délai

inlinr propose 5, 10, 15 et 30 minutes dans Settings. Un délai court convient à un travail surtout fait de frappe. Un délai long convient à un travail surtout fait de lecture, de relecture ou d'attente d'un assistant, où les longs moments silencieux sont le travail même. Si vous facturez vos clients à partir de ces chiffres, choisissez-en un, dites au client lequel, et n'y touchez plus : un total qui change parce que le réglage a changé est le plus difficile à défendre.

Ce que fait inlinr

L'extension d'éditeur et le plugin Claude Code envoient des heartbeats ; le délai que vous avez choisi les transforme en temps à la lecture d'une page. Ce qu'aucun heartbeat ne voit, une réunion ou un appel, passe par une saisie manuelle ou le minuteur, rangés à côté du temps suivi sur le projet. Un freelance facture à partir du même total : un brouillon de facture reprend le temps du projet à son taux.

Sources

  • FAQ de WakaTime: comment WakaTime transforme les heartbeats en temps, et son délai d'inactivité de 15 minutes par défaut. Consultée le 29 octobre 2026.
  • L'extension inlinr pour VS Code, son code : quand elle envoie un heartbeat (au plus un par fichier toutes les 2 minutes, et à l'enregistrement). Consulté le 29 octobre 2026.

Ce qui a changé

  •  : Ce que fait inlinr du temps, et ses sources.
  •  : Un graphique de l'exemple : les mêmes heartbeats avec un délai de 15 minutes, de 10 minutes, et l'erreur de plafonnement.
  •  : première publication.

Sur vos propres projets

inlinr applique une seule règle partout, aux données en direct, aux cumuls et aux imports WakaTime, et vous laisse choisir le délai d'inactivité dans Settings.

inlinr vs WakaTime

Gratuit en solo · aucun code source ne quitte votre machine

À lire aussi