Je me suis lancé dans un side project pour gérer les rétrospectives de mon équipe, une application que je construis depuis plusieurs mois et dont j’ai décidé de raconter les coulisses de la création.
- 1/5 - L’architecture technique
- 2/5 - Le harness
- 3/5 - Les tests automatisés
- 4/5 - L’infrastructure
- 5/5 - Les chiffres (cet article)
Cet article sera le cinquième et dernier de la série “Dans les coulisses de mon dernier side project”. Au travers de ces articles, vous avez pu découvrir tout ce que j’ai mis en place pour faire tourner ce projet de gestion des rétrospectives d’équipe (et même plus). Je souhaitais, en guise de conclusion, communiquer quelques données chiffrées.
Le projet est né le 20 juin 2026, date du premier commit qui a initialisé un squelette Symfony vide. Il comptabilise, au moment où j’écris ces lignes, 1 532 commits et 344 pull requests.
D’après cloc, voici le détail des lignes de code:
| Language | Files | Blank | Comment | Code |
|---|---|---|---|---|
| PHP | 2 714 | 34 515 | 33 467 | 135 270 |
| Markdown | 209 | 5 175 | 6 | 19 895 |
| Twig | 258 | 1 364 | 2 876 | 9 012 |
| JSON | 10 | 0 | 0 | 7 870 |
| YAML | 55 | 567 | 970 | 7 233 |
| JavaScript | 63 | 1 163 | 1 240 | 5 574 |
| XML | 36 | 57 | 165 | 904 |
| CSS | 3 | 134 | 320 | 671 |
| HTML | 1 | 48 | 5 | 612 |
| Jinja Template | 6 | 37 | 0 | 283 |
| Dockerfile | 2 | 33 | 67 | 89 |
| Bourne Shell | 2 | 10 | 19 | 49 |
| JSON5 | 1 | 0 | 0 | 36 |
| INI | 4 | 7 | 8 | 35 |
| SVG | 3 | 3 | 16 | 18 |
| Bourne Again Shell | 2 | 3 | 7 | 10 |
| Total | 3 369 | 43 116 | 39 166 | 187 561 |
Le dépôt GitHub cumule 36 470 minutes (soit 25 jours, 7 heures et 50 minutes) d’exécution de CI, dont 31 663 sur mes runners auto-hébergés.
Le code compte 6 803 tests et 9 335 assertions, avec la couverture de code ci-dessous et un Mutation Score Indicator de 97 %:
| Métrique | Couverture | Couvert / Total |
|---|---|---|
| Classes | 80,03 % | 1 383 / 1 728 |
| Méthodes | 87,21 % | 4 032 / 4 623 |
| Lignes | 92,22 % | 17 307 / 18 766 |
Le projet a, à ce jour, été déployé 262 fois.