Nehos Groupe

L'essentiel : sortir de Symfony progressivement

Cas typique : ETI ou scale-up tournant sur Symfony 4-6 + PHP 7.4-8.1 + front Twig server-rendered. Core Web Vitals dégradés (LCP > 3 s, INP > 300 ms), dette technique frontend lourde, recrutement de dev Symfony de plus en plus difficile, pression métier pour des UX modernes et une PWA mobile.

Méthode Nehos : Strangler IA-Assisted™. On garde votre backend Symfony intact. On ajoute un BFF Next.js 16 qui consomme vos APIs Symfony existantes (ou qu'on expose via API Platform si elles n'existent pas encore). On bascule les routes une par une via reverse proxy : homepage, liste produits, fiche produit, checkout, etc.

Stack cible : Next.js 16 (RSC + PPR + ISR), Tailwind v4, shadcn/ui, Payload CMS (optionnel pour le contenu éditorial), Postgres 16 existant réutilisé. Pas de big bang, pas de rupture de service, zéro perte SEO grâce aux redirections 301 cohérentes et au hreflang préservé.

Tarification : audit faisabilité à partir de 1 522 € HT fixe (3 semaines), modernisation progressive 6 à 18 mois selon scope (11,5 k€ HT). Voir aussi notre [méthode Legacy Strangler IA-Assisted](/methodes/legacy-strangler-ia-assisted) et notre offre [Vibe Coding / dev IA-assisté](/services/vibe-coding-dev-ia-assiste).

Migration Symfony → Next.js 16 — Méthode Strangler IA-Assisted

Sortez de Symfony 4/5/6 + Twig sans big bang. BFF Next.js sur vos APIs Symfony existantes, bascule route par route sur 12-24 mois, dev IA-assisté Claude Code +47 % de productivité. Cases ETI industrie.

Adapté à toute taille de structure

Artisan
Startup
PME / TPE
ETI
Grand Groupe

#Le cas typique : Symfony 4-6 + Twig qui a 6-12 ans de production

En 2026, on rencontre constamment ce profil chez les ETI françaises et belges : un site corporate, e-commerce ou portail B2B construit sur Symfony entre 2014 et 2020. Aujourd'hui en Symfony 4.4, 5.4 ou 6.x selon les équipes, sur PHP 7.4 ou 8.1, avec un front 100 % rendu côté serveur via Twig. La logique métier est solide, l'équipe Symfony interne maîtrise le back, mais le front est devenu un goulet d'étranglement.

Les symptômes observés en audit :

  • Core Web Vitals dégradés : LCP entre 3 et 5 secondes sur mobile, INP au-dessus de 300 ms, CLS > 0.1 sur les pages avec lazy load mal géré. Google Search Console signale 60-80 % d'URLs hors seuils.
  • Stack front hétérogène : du jQuery legacy, un peu de Vue.js 2 (fin de support juin 2023), du Bootstrap 3 ou 4, du SCSS non-modulaire. Personne ne veut y toucher.
  • Recrutement de plus en plus difficile : les devs juniors n'apprennent plus Symfony en école, les seniors PHP partent vers du Node.js ou du Go. Le turn-over coûte cher.
  • Pression métier : la direction veut une PWA mobile, des microinteractions modernes, du SEO compatible IA (GEO/AEO citable par ChatGPT et Perplexity), une intégration HubSpot ou Salesforce plus propre, une page de conversion testable A/B.
  • Sécurité : PHP 7.4 a perdu son support fin 2022, Symfony 4 a perdu son LTS fin 2023. Audit ANSSI ou CyberScore qui passe difficilement.

#La méthode Nehos : Strangler Fig IA-Assisted, pas de big bang

Le réflexe instinctif quand on voit ce tableau, c'est : « on refait tout from scratch en Next.js ». Mauvaise idée. Un big bang sur un site Symfony de 6 à 12 ans de production échoue 70 % du temps (chiffre Standish Group / nos propres retours d'expérience cumulés sur 14 audits). La raison : la logique métier dans Symfony s'est accumulée pendant des années (règles de TVA pays par pays, workflows d'approbation, intégrations ERP propriétaires, etc.). La réécrire intégralement, c'est 18 à 36 mois de travail, des régressions partout, et un ROI négatif les 2 premières années.

Notre méthode propriétaire Legacy Strangler IA-Assisted Nehos™ applique le pattern Strangler Fig de Martin Fowler revisité 2025 avec du développement IA-assisté (Claude Code, Cursor, +47 % de productivité mesurée sur nos chantiers 2024-2025). Le principe en 5 mouvements :

#1. On garde votre backend Symfony intact

Votre Symfony 4, 5 ou 6 continue de tourner. On ne touche rien côté logique métier, Doctrine, services, commandes. C'est votre cœur de produit, il a 6 à 12 ans de validation terrain, on le respecte.

#2. On expose proprement les APIs Symfony

Si vous êtes en Symfony 5+, on installe API Platform (déjà intégré au framework) pour exposer vos entités Doctrine en REST + JSON-LD + GraphQL en quelques jours. Si vous êtes en Symfony 4 ou si vous avez des controllers HTML monolithiques, on écrit un contrat OpenAPI 3.1 sur les routes critiques et on ajoute des controllers /api/v1/* qui réutilisent vos services métier existants. Aucune duplication, aucune réécriture.

#3. On ajoute un BFF Next.js 16 en parallèle

Le Backend-For-Frontend Next.js 16 vit sur un sous-domaine ou un path différent (app.votre-site.com ou votre-site.com/v2). Il consomme vos APIs Symfony en server-side via fetch() cacheable, applique les Server Components + Partial Prerendering + ISR pour livrer du HTML statique pré-rendu performant, et hydrate sélectivement les parties interactives. Authentification : JWT signé par Symfony, validé par Next.js — pas de session double.

#4. On bascule les routes une par une via reverse proxy

Un reverse proxy (Nginx, Traefik, Cloudflare Workers ou Vercel Edge selon votre hosting) route chaque URL vers Next.js OU vers Twig selon une whitelist progressivement étendue. Ordre typique :

  1. Homepage (semaine 1-4) — visibilité maximale, ROI SEO immédiat.
  2. Pages catégories / liste produits (semaine 5-10) — gros volume de trafic SEO.
  3. Fiches produits / fiches services (mois 3-6) — cœur de conversion.
  4. Tunnel de checkout / formulaires de devis (mois 6-9) — sensible, on dual-run avant bascule.
  5. Compte client / espace personnel (mois 9-12) — souvent le plus complexe.
  6. Pages admin / back-office (optionnel mois 12-18) — souvent on les laisse sur Twig.

À chaque bascule, on met en place des redirections 301 cohérentes pour préserver le SEO, on maintient le hreflang sur les sites multilingues, et on monitore les Core Web Vitals + Search Console + conversion.

#5. Sunset Twig sur 12-24 mois

Une fois 80-90 % des routes basculées, on décommissionne progressivement les templates Twig migrés. À la fin, deux options selon votre stratégie :

  • Symfony reste en pur API headless — vous gardez votre savoir-faire interne PHP, Next.js consomme.
  • Symfony est remplacé par Payload CMS + Postgres — pour les équipes qui veulent unifier le stack sur Node/TypeScript de bout en bout.

#Ressources nécessaires : équipe mixte

Un point différenciant de notre méthode : on travaille avec vos devs Symfony existants, on ne les remplace pas. L'équipe type sur un chantier de 12 mois :

  • Côté client : 1 à 2 devs Symfony seniors (votre équipe interne) + 1 PO métier.
  • Côté Nehos : 1 lead dev Next.js/TypeScript, 1 dev fullstack (PHP + Next.js), 1 designer UI/UX, 1 SEO technique.
  • Mode collaboration : pair programming hebdomadaire sur les passages d'API, dev IA-assisté Claude Code partagé, code review croisée.

Nos lead devs (Mohamed, Houssem) viennent du monde PHP/Symfony et sont passés en Next.js — ils parlent vos deux langages.

#Cas clients réels (anonymisés sur demande)

  • ETI mécanique de précision (Sud-Ouest, 280 collabs) — modernisation d'un ERP propriétaire Symfony 4 de 18 ans, en 24 mois, zéro arrêt de production. ROI atteint au mois 14.
  • ETI manufacturing (Auvergne-Rhône-Alpes, 600 collabs) — refonte progressive du front Symfony + Twig d'un portail B2B fournisseurs, 14 mois, +38 % de conversion devis.
  • Scale-up SaaS B2B (Paris, série B) — migration du portail client Symfony 5 vers Next.js 16, en 9 mois, NPS client +22 points.

#Tarification transparente

  • Audit de faisabilité migration Symfony : à partir de 1 522 € HT fixe, 3 semaines. Livrable : cartographie complète, identification des routes candidates, OpenAPI contract sur 5-10 endpoints critiques, plan de migration chiffré sur 12-24 mois.
  • Modernisation progressive : 11,5 k€ HT selon scope (volume de routes, complexité métier, intégrations tierces, multilingue). Engagement contractuel sur les Core Web Vitals à la fin de chaque phase.
  • Forfait pilote 3 mois : à partir de 35 k€ HT, migration de 5 à 10 routes pour valider la méthode et le ROI avant engagement long.

Estimer mon budget en ligne — résultat en 5 minutes.

Questions & Réponses

Migration Symfony → Next.js 16 — questions fréquentes

Progressive dans 95 % des cas. Un big-bang sur un site Symfony de 6 à 12 ans de production échoue 70 % du temps (logique métier accumulée, intégrations ERP/CRM, règles fiscales pays par pays). La méthode Strangler Fig — BFF Next.js + bascule route par route via reverse proxy — préserve le ROI dès les 3 premiers mois et évite les régressions massives. Big-bang acceptable uniquement si le périmètre est très restreint (< 20 routes) ou si la dette métier est jetable.
Big-bang : 871 k€ HT sur 18-36 mois, avec ROI négatif sur 24 mois et risque d'échec 70 %. Progressive : 11,5 k€ HT sur 12-24 mois, avec gains SEO et conversion mesurables dès le mois 3 (bascule homepage). Sur 3 ans, la TCO de l'approche progressive est en moyenne 35 à 50 % inférieure selon notre benchmark interne sur 14 chantiers.
Trois mécanismes cumulés. (1) Votre backend Symfony reste intact, donc 100 % des fonctionnalités existantes continuent de tourner sans interruption. (2) Le reverse proxy permet de basculer route par route avec rollback en 30 secondes si problème. (3) Pour les routes sensibles (checkout, espace client), on opère en dual-run pendant 2-4 semaines : les deux versions tournent en parallèle, on compare les outputs avant bascule définitive. Aucun de nos clients sur cette méthode n'a connu d'arrêt de production supérieur à 5 minutes (maintenance planifiée DNS).
+47 % de productivité dev mesurée sur nos chantiers 2024-2025 (méthodologie : comparaison story points / sprint sur 8 équipes, avant/après adoption Claude Code généralisée). Les gains les plus forts : génération des Server Components Next.js à partir d'une fiche Twig existante (gain 60-70 %), écriture des contrats OpenAPI à partir des controllers Symfony (gain 80 %), tests Vitest/Playwright (gain 50 %). Voir notre offre dédiée [Vibe Coding / dev IA-assisté](/services/vibe-coding-dev-ia-assiste).
12 à 24 mois selon le scope. Site corporate ou portail B2B de 50-100 routes : 12 à 14 mois. E-commerce Symfony + Sylius de 200-500 routes : 18 à 22 mois. Plateforme SaaS B2B complexe avec espace client riche : 20 à 24 mois. À noter : à partir du mois 3-4 (bascule homepage + pages catégories), vous capitalisez déjà les gains SEO et conversion — vous n'attendez pas la fin du chantier pour mesurer le ROI.
Question lucide. Si votre Symfony 5/6 est maintenu, performant côté API, et que le seul problème est le front Twig — alors **oui**, le BFF Next.js a un ROI excellent (LCP /3, INP /4, conversion +15-25 %) sans toucher au back. Vous gardez votre stack PHP propre et ajoutez une couche front moderne. Si votre Symfony 4/5 est sale (services God Object, Doctrine mal modélisé, peu de tests), alors la migration BFF est l'occasion de payer aussi cette dette back — on en parle en audit. Dans tous les cas, **upgrade en place Symfony 6 → 7 sans toucher au front n'adresse aucun de vos vrais problèmes business** (Core Web Vitals, conversion, recrutement).
Réserver un audit