Aller au contenu

Comment les chiffres sont établis.

Chaque chiffre de ce site provient de l’API publique de GitHub et peut y être vérifié. Cette page dit exactement comment, parce qu’un classement qui range des personnes le leur doit.

Le score

Le score d’une personne est la somme pondérée de ce qu’elle a livré dans la fenêtre que vous consultez. Une pull request fusionnée est l’unité de travail. C’est par la revue que le travail entre : une pull request écrite par quelqu’un d’autre compte pour chaque personne qui l’a relue, une fois, quel que soit le nombre d’allers-retours ou de commentaires. Un commit compte, mais un commit à lui seul n’est pas une contribution. Les pondérations ci-dessous sont celles avec lesquelles le serveur calcule, lues auprès de lui à la construction de cette page.

score = pull requests fusionnées × 10
      + pull requests relues     × 8
      + commits                  × 1
      + issues ouvertes          × 0,5

Règles version 2, depuis le 23 septembre 2026 : une revue compte une fois par pull request relue. Jusque-là, chaque envoi de revue comptait à part, si bien qu’un avis découpé en plusieurs réponses comptait plusieurs fois. Une pull request relue pèse désormais davantage, et une nouvelle réponse n’y ajoute rien : les personnes qui relisent beaucoup de pull requests sont montées, et un long fil sur une seule pull request compte désormais une fois. Les seuils des paliers n’ont pas changé.

Les paliers

Le statut d’une personne se lit sur son score à 30 jours : dix paliers, nommés d’après la façon dont le travail traverse un dépôt. C’est un état mouvant, pas une médaille : il décrit les trente derniers jours et change avec eux. Une fenêtre vide n’affiche aucun statut. Les dix noms restent en anglais : ce sont les mots du travail lui-même, et ceux que portent les badges et les images de partage.

01  signal      score > 0
02  patch       score ≥ 10
03  commit      score ≥ 30
04  branch      score ≥ 60
05  merge       score ≥ 100
06  pipeline    score ≥ 160
07  builder     score ≥ 250
08  maintainer  score ≥ 380
09  core        score ≥ 550
10  kernel      score ≥ 800

Les seuils sont des constantes du dépôt et ne changent que par pull request, la même règle que les pondérations ci-dessus, parce qu’un rang que des personnes portent mérite des règles publiées.

Ce qui compte

Seules les pull requests fusionnées comptent : une pull request ouverte n’est pas du travail livré. Les dépôts synchronisés sont ceux de La Suite numérique, sous l’organisation suitenumerique ; s’y ajoutent ceux de Tchap et de Grist, et ceux d’Element pour les seules personnes rattachées aux organisations de l’écosystème ; la liste figure dans server/config/ecosystem-config.yaml et change par pull request.

Les bots sont exclus partout : les auteurs de pull requests et de revues, d’après le type que GitHub leur attribue, les commits des GitHub Apps dès l’ingestion, et les comptes machines qui ressemblent à des comptes ordinaires, listés dans server/config/bots.yaml, une courte liste publiée qui change par pull request.

Les commentaires sur les pull requests et issues des autres sont affichés à côté du score comme discussion, sans jamais y compter : un commentaire se multiplie trop facilement pour classer qui que ce soit. Les réponses dans les fils d’une revue font partie de la revue ; le texte d’un commentaire n’est jamais conservé.

Comment les organisations sont attribuées

Une personne est rattachée à une organisation à partir de quatre sources, la plus haute l’emportant : un ou une responsable de cette organisation qui l’y ajoute ; la liste tenue à la main dans server/config/organizations.yaml ; une demande qu’elle fait elle-même après s’être connectée, une fois vérifiée, par son appartenance à l’organisation sur GitHub ou par un ou une responsable de l’organisation ou l’équipe de Reportz ; et le champ « company » de son profil GitHub public. Une personne n’appartient qu’à une organisation ; un profil qui en nomme deux reste sans rattachement jusqu’à ce qu’une autre source tranche.

Les adresses e-mail des commits ne sont jamais utilisées pour déduire un employeur. Cela fonctionnerait, et ce serait une trahison envers quiconque a déjà poussé du code depuis un ordinateur professionnel.

Pour rejoindre votre organisation, connectez-vous et faites la demande. Pour corriger un rattachement ou ajouter quelqu’un d’autre, écrivez-nous à support@samourai.coop : la liste tenue à la main est un fichier du dépôt, qui n’est pas encore public, donc nous faisons la modification nous-mêmes et vous prévenons quand elle est en ligne.

Ne plus y figurer

Si vous préférez ne pas figurer ici, écrivez à support@samourai.coop en demandant à en être retiré. Aucune justification demandée, aucune question de suivi. Vous ajouter à la liste est le travail d’une personne : comptez un jour ou deux. Ensuite c’est automatique et définitif — chaque synchronisation consulte la liste, ne conserve rien de vous et supprime à nouveau vos commits, pull requests, issues, revues, commentaires et rattachements, si bien que rien ne peut vous y remettre discrètement. La liste elle-même n’est jamais publiée.

Les avatars et les logos d’organisation passent par le proxy d’images de ce site : votre navigateur ne parle jamais à GitHub ni à aucun tiers quand quelqu’un consulte un tableau ou une intégration. Quand aucune image n’existe, un monogramme est généré localement à partir du nom.