Comment transformer votre profil GitHub en une carte de football Ultimate Team ultime
La plupart des profils GitHub se ressemblent. Une ennuyeuse grille verte de commits, quelques badges standards montrant les langages de programmation, et un compteur de vues tout droit sorti du milieu des années 2000. Il y a quelques jours, je suis tombé sur le projet GitFut, qui résout ce problème d'une manière inattendue. Il transforme l'activité du développeur en une vraie carte de joueur style FIFA Ultimate Team avec une note allant jusqu'à 99, une position sur le terrain, et un ensemble de trophées.
L'auteur du projet Younesfdj a abordé cela comme un analyste sportif méticuleux. Le service ne tire pas des chiffres de nulle part et ne vous demande pas de remplir des questionnaires. Il interroge l'API GraphQL de GitHub, télécharge l'historique du compte, et mappe les métriques sur six attributs de football.
Six attributs et calcul de position
Au lieu des lignes de code habituelles, le service évalue votre contribution réelle aux projets open source et aux dépôts de travail. Chaque attribut de football est lié à une action spécifique :
- PAC (Vitesse) est calculé en fonction du nombre de commits sur l'année civile écoulée. Plus vous poussez du code régulièrement, plus la vitesse est élevée.
- SHO (Tir) dépend du nombre d'étoiles collectées par vos dépôts.
- PAS (Passement) reflète le travail d'équipe, combinant les pull requests envoyées et le nombre de followers.
- DRI (Conduite de balle) montre la variété des langages de programmation dans votre portfolio.
- DEF (Défense) est basé sur le nombre de revues de code effectuées et d'issues fermées.
- PHY (Physique) évalue le volume total de contribution sur toute la durée de vie du compte.
Les attributs de base ont un plafond fixe à 88. Pour entrer dans la catégorie 90+ et obtenir le statut Icon, une seule année réussie ne suffit pas. Vous avez besoin d'années de travail constant et d'un impact réel sur la communauté.
La détermination de la position fonctionne de manière intéressante. L'algorithme examine l'équilibre des stats : un développeur concentré sur les étoiles et les releases populaires est envoyé en attaque (position ST ou RW), tandis que quelqu'un qui adore fermer des issues et faire des revues devient un milieu défensif.
Protection contre le spam de commits
Le problème principal de toute notation GitHub, ce sont les bots de spam et les auto-commits. GitFut a résolu cela mathématiquement.
Toute l'activité annuelle est pondérée à l'aide d'une formule logarithmique :
yearScore = 4·log(commits) + 3·log(PRs) + 3·log(reviews) + 2·log(issues) + 2·log(private)
Le logarithme sature rapidement. Si un script génère 20 000 commits dans un dépôt vide, cela contribuera 17,2 points. Pendant ce temps, un vrai développeur avec 800 commits, 80 PRs, 80 revues et 40 issues sur une année obtient 26 points. L'activité polyvalente est beaucoup plus valorisée par l'algorithme que le bourrage stupide de compteur.
Salle des trophées et Ballons d'Or
Si la carte a dépassé le seuil de 80 de note globale, le profil devient éligible aux récompenses :
- Ballon d'Or. Décerné pour une année civile qui a significativement dépassé votre moyenne de carrière. Vous devez accumuler au moins 2 000 contributions et montrer un résultat 1,2 fois supérieur à la médiane.
- Ballon d'Or de la CM. Donné pour un pic de productivité pendant les vraies coupes du monde (de 2010 à 2026). Les exigences sont plus modestes pour les tournois plus anciens, car en 2010 avoir simplement des commits faisait déjà ressortir un compte.
- Soulier d'Or. Un trophée dynamique pour la forme actuelle. Il est détenu par les positions d'attaque avec une note de Tir de 80 ou plus. Si les étoiles sur les dépôts récents chutent, la botte passe à quelqu'un d'autre.
- Trophée Coupe du Monde. Une coupe spéciale pour tous les développeurs qui ont l'Espagne dans leur profil (le gagnant de la CM-2026 dans les paramètres du service).
Les trophées sur la page du profil sont affichés à l'aide de sprites pré-générés (script bake-award-sprites.ts), donc le navigateur n'a pas à charger un moteur 3D lourd.
Comment intégrer la carte sur votre profil
La carte est générée à la volée et livrée sous forme d'image statique. Ajoutez simplement une ligne au Markdown de votre profil :
[](https://gitfut.com/YOUR_USERNAME)
L'image est mise en cache via Redis et se met à jour au fur et à mesure que vous poussez du code et collectez des revues. Si vous voulez forcer un changement de drapeau pays sur la carte, vous pouvez ajouter un paramètre à l'URL : ?country=KZ ou ?country=RS.
Le projet a une stack compacte : Next.js, TypeScript, Tailwind pour le style, et Redis pour mettre en cache les réponses de l'API GraphQL.
Pour qui est ce projet
GitFut ne vous aidera probablement pas à réussir un entretien d'entreprise strict, mais c'est un excellent remplacement pour les widgets README ennuyeux. Le projet est fait avec âme, les formules prennent honnêtement en compte le travail d'équipe, et le système de récompenses ajoute de l'excitation au fait de fermer régulièrement des pull requests. Rendez-vous sur le site, entrez votre nom d'utilisateur, et vérifiez quelle position l'algorithme vous attribue.
Projets similaires


