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 plusieurs mois, développement IA-assisté (Claude Code) pour accélérer les passages mécaniques.
Nos clients types
#Le cas typique : Symfony 4-6 + Twig en production depuis de longues années
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 long sur mobile, INP élevé, CLS dégradé sur les pages avec lazy load mal géré. Google Search Console signale une part importante 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 plusieurs années de production est très risqué. 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 une longue période de travail, des régressions partout, et un retour sur investissement négatif les premières années.
Notre méthode Legacy Strangler IA-Assisted Nehos™ applique le pattern Strangler Fig de Martin Fowler avec du développement IA-assisté (Claude Code, Cursor). 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 des années 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 :
- Homepage (semaine 1-4) — visibilité maximale, ROI SEO immédiat.
- Pages catégories / liste produits (semaine 5-10) — gros volume de trafic SEO.
- Fiches produits / fiches services (mois 3-6) — cœur de conversion.
- Tunnel de checkout / formulaires de devis (mois 6-9) — sensible, on dual-run avant bascule.
- Compte client / espace personnel (mois 9-12) — souvent le plus complexe.
- 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 la grande majorité 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 viennent du monde PHP/Symfony et sont passés en Next.js — ils parlent vos deux langages.
#Exemples de situations
- ETI mécanique de précision — modernisation progressive d'un ERP propriétaire Symfony ancien, sans arrêt de production.
- ETI manufacturing — refonte progressive du front Symfony + Twig d'un portail B2B fournisseurs, avec suivi de la conversion des demandes de devis.
- Scale-up SaaS B2B — migration du portail client Symfony 5 vers Next.js, avec mesure du NPS client avant et après.
#Tarification transparente
- Audit de faisabilité migration Symfony : sur devis, chiffré en 48 h. Livrable : cartographie complète, identification des routes candidates, contrat OpenAPI sur quelques endpoints critiques, plan de migration chiffré.
- Modernisation progressive : à partir de 30 000 € HT selon le périmètre (volume de routes, complexité métier, intégrations tierces, multilingue). Des objectifs sur les Core Web Vitals sont fixés à la fin de chaque phase.
- Forfait pilote : à partir de 15 000 € HT, migration de quelques 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 la grande majorité des cas. Un big-bang sur un site Symfony de plusieurs années de production est risqué (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 ou si la dette métier est jetable.
Big-bang : un budget plus lourd, une durée plus longue, un retour sur investissement tardif et un risque d'échec élevé. Progressive : un budget à partir de 30 000 € HT selon le périmètre, avec des gains SEO et conversion mesurables dès la bascule de la homepage. Sur 3 ans, le coût total de l'approche progressive est généralement inférieur ; nous le chiffrons avec vous à l'audit.
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 rapide si problème. (3) Pour les routes sensibles (checkout, espace client), on opère en dual-run pendant quelques semaines : les deux versions tournent en parallèle, on compare les outputs avant bascule définitive.
Un gain réel, que nous mesurons chantier par chantier plutôt que de l'annoncer à l'avance. Les gains les plus nets : génération des Server Components Next.js à partir d'une fiche Twig existante, écriture des contrats OpenAPI à partir des controllers Symfony, tests Vitest/Playwright. Voir notre offre dédiée Vibe Coding / dev IA-assisté.
De quelques mois à plus d'un an selon le périmètre : un site corporate ou un portail B2B se migre plus vite qu'un e-commerce Symfony + Sylius, lui-même plus rapide qu'une plateforme SaaS B2B complexe avec espace client riche. À noter : dès la bascule de la homepage et des 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 très bon retour sur investissement (Core Web Vitals, conversion) 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).
Parlons de votre projet
Un devis chiffré, sans engagement
Décrivez votre besoin en deux minutes : un consultant senior vous répond avec une première estimation et les prochaines étapes.
- Réponse sous 24 h ouvrées
- Sans engagement
- Un consultant senior vous répond