Monorepo vs Polyrepo : le débat sans fin en 2024

schevalier 13/05/2026
RÉSOLU
schevalier
Auteur Actif
Avatar de schevalier
schevalier
Auteur Actif

Je vois énormément d'équipes hésiter entre la structure Monorepo et Polyrepo pour leurs architectures de microservices. Après avoir géré les deux, je commence sérieusement à croire que le Monorepo est une fausse bonne idée qui finit par transformer le workflow CI/CD en enfer de dépendances.

D'un côté, la centralisation facilite le refactoring, mais de l'autre, c'est le cauchemar du git clone qui pèse des gigaoctets et des pipelines qui tournent sur tout le projet pour une simple modification de readme. Quel est votre retour d'expérience réel sur le sujet ?

13/05/2026 à 21:31

20 commentaires

qroussel
Membre
Avatar de qroussel
qroussel
Membre

C'est une question de culture et d'outillage. Si tu n'utilises pas un outil comme Bazel ou Nx pour gérer le cache des build, forcément le Monorepo devient lent. Le Polyrepo finit toujours par créer des silos entre les équipes.

14/05/2026 à 17:23
schevalier
Auteur Actif
Avatar de schevalier
schevalier
Auteur Actif

Justement, introduire Bazel, c'est une complexité monstre à maintenir. Est-ce que le gain de productivité justifie vraiment de dédier deux ingénieurs à la maintenance de l'outillage de build ?

15/05/2026 à 17:04
uriou
Membre
Avatar de uriou
uriou
Membre

Le Polyrepo est la solution par défaut pour la scalabilité humaine. Si chaque équipe est propriétaire de son repo, elle est autonome. Avec un Monorepo, tu finis toujours par avoir une équipe 'infra' qui devient le goulot d'étranglement pour tout le monde.

16/05/2026 à 10:43
schevalier
Auteur Actif
Avatar de schevalier
schevalier
Auteur Actif

C'est exactement mon point. L'autonomie des équipes est sacrifiée sur l'autel de la 'cohérence' du code. Pourtant, les géants comme Google ne jurent que par le Monorepo.

17/05/2026 à 00:20

Google a des outils internes que personne d'autre n'a. Essayer de copier leur modèle sans leur infrastructure, c'est courir à la catastrophe. À ne jamais faire en prod sans une équipe dédiée aux outils de développement.

17/05/2026 à 13:48
claude85
Membre
Avatar de claude85
claude85
Membre

Je suis d'accord avec le commentaire précédent. Le Polyrepo permet de versionner les APIs de manière granulaire. Dans un Monorepo, le couplage devient invisible et finit par devenir un plat de spaghettis.

18/05/2026 à 04:42
qroussel
Membre
Avatar de qroussel
qroussel
Membre

Par contre, quid de la gestion des versions partagées ? Dans un Polyrepo, tu finis avec des bibliothèques communes publiées sur un registre privé, ce qui est une plaie à mettre à jour partout.

19/05/2026 à 03:31
schevalier
Auteur Actif
Avatar de schevalier
schevalier
Auteur Actif

C'est là que le git submodule ou les outils comme Lerna interviennent, mais ça reste du bricolage. Il n'y a pas de solution miracle, juste des compromis.

19/05/2026 à 21:40
uriou
Membre
Avatar de uriou
uriou
Membre

Le problème, c'est que les gens confondent 'code partagé' et 'dépendance'. Si ton code est partagé, c'est qu'il est peut-être trop couplé. Le découplage est le vrai remède.

20/05/2026 à 10:18

Tout à fait. Si tu as besoin d'un Monorepo pour gérer tes dépendances, c'est que ton architecture de microservices est mal conçue dès le départ.

21/05/2026 à 01:31
claude85
Membre
Avatar de claude85
claude85
Membre

Sauf que dans la réalité, on n'a pas toujours le temps de faire du DDD (Domain Driven Design) parfait. Le Monorepo permet de bouger vite au début.

21/05/2026 à 19:31
qroussel
Membre
Avatar de qroussel
qroussel
Membre

Le Monorepo est idéal pour les petites startups. Le passage au Polyrepo se fait naturellement quand l'organisation dépasse 50 développeurs.

22/05/2026 à 15:31
uriou
Membre
Avatar de uriou
uriou
Membre

Je nuancerais : le passage au Polyrepo se fait quand le temps de CI devient supérieur à 10 minutes par PR. C'est là que le build devient un frein.

23/05/2026 à 07:33
schevalier
Auteur Actif
Avatar de schevalier
schevalier
Auteur Actif

On est à 25 minutes de CI actuellement. Le problème est bien là. Je pense qu'on va devoir scinder le repository en domaines métiers.

24/05/2026 à 06:19

Bon courage pour la migration. C'est un chantier énorme, surtout pour préserver l'historique git log.

24/05/2026 à 23:10
claude85
Membre
Avatar de claude85
claude85
Membre

Utilise git filter-repo, ça marche plutôt bien pour extraire des sous-dossiers en nouveaux repos.

25/05/2026 à 12:50
qroussel
Membre
Avatar de qroussel
qroussel
Membre

Ne sous-estimez pas la charge mentale de gérer 50 repos. La visibilité sur la sécurité et les vulnérabilités (dependabot) devient un enfer à gérer partout.

26/05/2026 à 05:31
uriou
Membre
Avatar de uriou
uriou
Membre

C'est vrai, mais on peut automatiser la gestion avec des outils comme Terraform ou des scripts bash pour appliquer des policies globales.

26/05/2026 à 18:38

Au final, le débat est stérile sans définir la taille de l'équipe. Monorepo = petite équipe agile, Polyrepo = grande organisation structurée.

27/05/2026 à 14:47
schevalier
Auteur Actif
Avatar de schevalier
schevalier
Auteur Actif

C'est ce qui ressort de nos échanges. Je vais rester sur le Monorepo pour l'instant mais en investissant massivement sur les tests isolés et le cache de build. Merci pour vos retours constructifs.

28/05/2026 à 02:57

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire