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
#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 :
- 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 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.