Créer un SaaS avec Symfony en 2026 : le guide
Choix de version, socle vs from scratch, les briques qu'un SaaS a avant sa première ligne de produit, et les spécificités françaises (facturation électronique, TVA, RGPD) qu'aucun boilerplate américain ne gère. Guide complet, daté de juillet 2026.
Symfony est un excellent socle pour un SaaS en 2026 : un framework LTS
maintenu des années, une base de données mûre côté écosystème, et surtout
un modèle de sécurité et de configuration pensé pour des applications qui
durent. Ce guide déroule les décisions réelles : pas un « hello world »,
mais tout ce qui se trouve entre le composer create-project et votre
première ligne de code métier.
Deux avertissements d'honnêteté avant de commencer. Je vends ShipAnvil, un starter SaaS Symfony, donc lisez la dernière section avec ce biais en tête ; le reste du guide vaut que vous partiez d'un socle, du mien, ou de zéro. Et tous les faits réglementaires ci-dessous ont été vérifiés en juillet 2026 : la fiscalité et le calendrier de la facturation électronique bougent, revérifiez à une source officielle si vous lisez ceci plus tard.
1. Quelle version : Symfony 7.4 LTS ou 8.0 ?
Depuis novembre 2025, deux versions sortent en parallèle : Symfony 7.4 (la LTS, corrections de bugs pendant 3 ans, sécurité pendant 4) et 8.0 (la même base, sans le code déprécié). Pour un SaaS que vous allez maintenir des années sans avoir envie de courir après les montées de version, la 7.4 LTS est le choix par défaut raisonnable : vous migrez vers la 8.x quand vous le décidez, pas quand le calendrier vous y force. Côté PHP, visez 8.4 minimum (8.5 est sorti fin 2025). Le détail du raisonnement LTS, dates de fin de support à l'appui, est dans Symfony 7.4 LTS pour un SaaS.
2. Partir d'un socle ou construire ?
La vraie question n'est pas « Symfony sait-il faire un SaaS » (il sait), mais « combien de semaines vais-je passer sur des choses qui ne sont pas mon produit ». Avant la première fonctionnalité qui vous distingue, un SaaS a besoin de : inscription + vérification d'email, connexion (mot de passe, lien magique, reset), 2FA, une notion d'équipe/organisation avec isolation des données, un module de facturation branché à un prestataire de paiement, des emails transactionnels qui arrivent vraiment en boîte de réception, un back-office, des pages légales, un déploiement. C'est 4 à 8 semaines de plomberie testée, identique d'un SaaS à l'autre.
Trois options, honnêtement :
- From scratch : formateur, total contrôle, et vous réécrivez la même plomberie que tout le monde. Choix légitime si apprendre est l'objectif.
- Un starter open source gratuit : dépend entièrement de sa vitalité. Beaucoup de projets Symfony de ce type sont morts ou en veille : j'ai fait l'inventaire daté dans le comparatif des boilerplates Symfony.
- Un starter commercial : vous payez une fois pour ne pas écrire la plomberie. L'équivalent Symfony de ShipFast n'existait pas vraiment : le constat, daté, est ici.
Quel que soit votre choix, les briques ci-dessous sont ce qu'il faut savoir faire (ou vérifier qu'un socle fait bien).
3. Les briques incontournables
Authentification et 2FA
Symfony fournit tout dans le composant Security. Le piège n'est jamais le « happy path » mais les bords : anti-énumération sur le formulaire de connexion, invalidation des liens, throttling par IP, et l'interaction avec la double authentification. Deux guides détaillés, code réel à l'appui : le login par lien magique sans les trous habituels et la 2FA TOTP avec codes de secours faite correctement.
Multi-tenant : isoler les données de chaque client
Dès qu'il y a des équipes, la question n°1 est : « suis-je certain qu'une organisation ne peut jamais lire les données d'une autre ». La réponse propre en Symfony passe par un filtre Doctrine qui restreint automatiquement chaque lecture à l'organisation courante, et par des tests qui prouvent l'étanchéité entre deux tenants. Le mécanisme, ses pièges (commandes CLI et handlers Messenger non filtrés, écritures à scoper à la main), est dans multi-tenant Symfony avec les filtres Doctrine.
Abonnements et paiement : Stripe ou Merchant of Record ?
C'est la décision structurante d'un SaaS, et elle a une dimension fiscale française trop souvent ignorée.
- Stripe vous laisse maître de tout, mais vous êtes le vendeur : la TVA (collecte, taux par pays, déclaration) est votre problème.
- Un Merchant of Record (Lemon Squeezy, Paddle…) se pose en revendeur officiel et gère la TVA/sales tax à votre place, contre une commission plus élevée.
Le réflexe « MoR = tranquillité TVA » mérite d'être nuancé selon votre situation. Si vous démarrez en franchise en base de TVA (voir §4), vous ne facturez pas de TVA du tout tant que vous êtes sous le seuil : dans ce cas, le principal argument du MoR ne joue quasiment pas, et Stripe redevient très compétitif. Le mécanisme d'abonnement côté code (webhooks comme seule source de vérité, idempotence, gating par plan) est le même dans les deux cas (détaillé dans les abonnements Stripe en Symfony), et la comparaison de fond est dans Lemon Squeezy vs Stripe pour un SaaS Symfony. Un bon socle branche les deux et vous laisse basculer par configuration.
Délivrabilité des emails
Un email de vérification qui tombe en spam, c'est une inscription perdue en
silence. Depuis 2024, Gmail et Yahoo exigent SPF/DKIM et l'alignement
DMARC ; Outlook rejette en 2025 avec un 550 5.7.515 explicite. La
configuration réelle (Brevo, DKIM, DMARC, et deux bugs vécus qui font
échouer un envoi silencieusement) est dans
la délivrabilité email en Symfony.
Back-office
Vous aurez besoin de voir vos utilisateurs, vos abonnements, votre MRR, et d'impersoner un compte pour le support. Le faire en Symfony « nu », sans bundle d'admin à combattre, est un choix défendable : le retour d'expérience (métriques réelles, capacités volontairement limitées) est dans un back-office SaaS en Symfony sans bundle.
IA et front-end
Deux briques de 2026 qui font souvent la différence :
- L'IA branchée proprement : appeler l'API Claude en streaming SSE, avec extraction structurée et quotas par plan, sans SDK lourd, voir l'API Claude en Symfony sans SDK.
- Un front sans Node.js : AssetMapper + Tailwind v4 + Turbo/Stimulus,
zéro bundler, zéro
node_modulesà sécuriser, voir Symfony sans Node : AssetMapper + Tailwind.
Déploiement
Un SaaS Symfony tourne très bien sur un simple VPS : Apache/Nginx + PHP-FPM + PostgreSQL, OPcache en production, un worker Messenger en systemd. La recette complète, durcissement compris, est dans déployer Symfony sur un VPS en 2026.
4. Les spécificités françaises (ce qu'aucun boilerplate américain ne gère)
C'est ici que la plupart des starters SaaS anglophones vous laissent seul.
Facturation électronique : l'échéance de septembre 2026
La réforme entre en vigueur par étapes (vérifié en juillet 2026, sources officielles ci-dessous) :
- 1er septembre 2026 : réception de factures électroniques obligatoire pour toutes les entreprises, et émission pour les grandes entreprises et les ETI.
- 1er septembre 2027 : émission obligatoire pour les PME et micro-entreprises.
Concrètement, vos factures devront circuler dans un format structuré conforme à la norme européenne EN 16931 (Factur-X, qui embarque le XML dans le PDF) via une plateforme agréée. Si votre SaaS émet des factures à des professionnels français, ce n'est pas optionnel. Trois guides techniques, avec validation en intégration continue : générer du Factur-X en PHP, Factur-X vs ZUGFeRD vs UBL vs PEPPOL et valider des factures EN 16931 en CI.
TVA : la franchise en base
Bonne nouvelle pour démarrer : la réforme du seuil unique à 25 000 € a été définitivement abandonnée (loi du 3 novembre 2025). Les seuils de franchise en base de TVA en vigueur en 2026 restent différenciés : 37 500 € de chiffre d'affaires pour les prestations de services (seuil majoré 41 250 €) et 85 000 € pour la vente de marchandises (seuil majoré 93 500 €). Sous ce seuil, vous ne facturez pas de TVA : vos factures portent la mention « TVA non applicable, art. 293 B du CGI ». C'est directement ce qui rend le choix Stripe vs MoR moins tranché au démarrage (§3). Vérifiez le seuil applicable à votre activité au moment où vous lisez.
RGPD et hébergement
Prévoyez dès le départ : registre des traitements, base légale, purge/export des données, cookies, et un hébergement dans l'UE si vous voulez éviter les questions de transfert. Techniquement, c'est surtout de la rigueur (chiffrer les secrets, minimiser les données, journaliser les accès admin). Un VPS européen (§3) coche déjà la case localisation.
Statut et encaissement
Pour tester un SaaS sans lourdeur, la micro-entreprise (auto-entrepreneur) suffit à encaisser légalement : immatriculation gratuite au guichet unique INPI, SIREN sous une à deux semaines. Vous ne pouvez rien encaisser avant l'immatriculation : c'est le seul vrai verrou administratif d'un lancement.
5. Par où commencer, concrètement
composer create-project symfony/skeleton:^7.4(ou partez d'un socle).- Auth + vérification email + 2FA en premier : tout le reste en dépend.
- Le multi-tenant avant d'écrire du métier : rétrofitter l'isolation des données est douloureux.
- Le paiement une fois que vous avez quelque chose à vendre, en branchant Stripe et un MoR pour garder le choix ouvert.
- Délivrabilité email + déploiement dès que de vrais utilisateurs arrivent.
- Les briques françaises (Factur-X) quand vous facturez des pros, mais en ayant anticipé le format dès la modélisation de vos factures.
Comptez, honnêtement, 4 à 8 semaines pour amener cette plomberie au niveau production si vous partez de zéro, avant la première fonctionnalité qui fait votre produit.
6. Raccourcir le chemin
Ces 4 à 8 semaines sont exactement ce que ShipAnvil supprime : un starter SaaS Symfony 7.4 LTS avec l'authentification et la 2FA, le multi-tenant avec isolation testée, la facturation Stripe et Lemon Squeezy, les emails transactionnels, le back-office sans bundle, le module IA sur l'API Claude, le front sans Node, et pour le marché français un moteur Factur-X / EN 16931 avec validation en CI. Le tout testé et analysé statiquement, livré prêt à déployer.
Essayez le parcours sur la démo en ligne, ou regardez ce qu'il y a dans la boîte. Et si vous préférez tout construire vous-même, ce guide reste votre liste de courses : c'est déjà ça de gagné.
Sources réglementaires (vérifiées en juillet 2026) : calendrier de la facturation électronique : economie.gouv.fr et impots.gouv.fr ; seuils de franchise en base de TVA 2026 et abandon du seuil unique : economie.gouv.fr.