← Retour au blog
Se connecter

Turborepo + PNPM — structurer un monorepo PHP/JS hybride

20/04/2026 12:52 — par Miguel Monwoo ACCESS
Turborepo + PNPM — structurer un monorepo PHP/JS hybride

Photo by Safar Safarov on Unsplash

Retour d'expérience détaillé sur la gestion d'un monorepo hybride PHP/JS avec Turborepo + PNPM — pattern adopté sur le projet Monwoo depuis 2024.

Terminal de développement — monorepo

Photo by Gabriel Heinzer on Unsplash

Structure réelle : 4 apps Symfony (miguel.monwoo.com, mws-funnel, claude-mws-timings, moon-water-cycle-v2), 2 apps SvelteKit (info.monwoo.com, atoutconseil-crm), 15 packages partagés (mws-blog, mws-stripe, mws-pwa-game, mws-sf-pdf-billings, etc.).

Ce deep dive couvre :

  • La différence conceptuelle apps vs packages (intégrateurs vs business logic) et pourquoi c'est le garde-fou anti-spaghetti.
  • Le turbo.json pipeline : build → test → lint → e2e, avec cache Turborepo pour ré-exécuter uniquement ce qui a changé.
  • La résolution PNPM workspace:* pour partager du code sans publier sur npm ni symlink manuel.
  • L'intégration Composer + PNPM dans le même monorepo : build-links pour que Symfony voit les packages PHP du workspace.
  • Les tests Playwright cross-app qui démarrent miguel + info + cockpit simultanément et valident les liens entre eux.
  • Le pipeline deploy : un seul ./deploy/build.sh produit 3 ZIPs FTP pour 3 domaines différents depuis la même source.
🔒

Article privé

Accédez à l'intégralité de cet article et à tous les deep dives R&D Monwoo.

S'abonner Access — 9 €/mois S'abonner Partner — 99 €/mois

Deja abonne ?



Articles suggérés