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.
Transactional email now fails closed: Gmail, Yahoo and Outlook reject unauthenticated mail outright. The DNS records that matter, the DMARC alignment rule that explains them, and the Symfony-side mistakes we made so you don't have to.
Symfony ships passwordless sign-in in the security component. Here is a production login_link setup: signature invalidation, enumeration-proof requests, rate limiting, and the 2FA interplay nobody writes about.
We removed EasyAdmin from ShipAnvil and replaced it with 1,321 lines of plain controllers, Twig and Tailwind. The metrics that matter, the honest definitions behind them, and when you should (and shouldn't) do the same.
The complete production recipe for a Symfony SaaS on a plain Linux box: a dedicated system user, a tuned PHP-FPM pool, OPcache with timestamp checks off, the Messenger worker everyone forgets, TLS, hardening, backups, and a deploy routine that doesn't drift. From a server running real products.
E-invoicing's most-confused names don't compete. They live at four different layers: semantic model, XML syntax, PDF packaging, delivery network. A working map for developers, the 2026 mandate landscape it has to fit, and the one architecture that serves all of it.
How to produce EN 16931-compliant Factur-X / ZUGFeRD hybrid invoices in plain PHP: the document model, the horstoeko/zugferd mapping, PDF/A-3 embedding, and the business rules that actually reject documents, from an engine that passes the official KoSIT Schematron in CI.
ShipFast is Next.js-only: there is no PHP or Symfony version. Here's what actually exists for Symfony developers in 2026, what died, and how to choose in ten minutes.
A full production SaaS (Tailwind 4, Stimulus, Turbo, a streaming AI chat) with no package.json, no node_modules and no bundler. The exact AssetMapper setup, dev loop and deploy pipeline, from a shipping codebase.
A blocking CI pipeline for e-invoice conformance: the official KoSIT validator for Factur-X/CII, the OpenPEPPOL Schematron compiled with SchXslt and run with Saxon for UBL, and a tiny SVRL gate, with the five real bugs it caught before any customer did.
A production 2FA setup with scheb/2fa-bundle: confirmed activation, hashed single-use backup codes, and the design decisions that separate a checkbox from a security feature.
Bug fixes until November 2028, security fixes until November 2029, and what that actually means when you're choosing the version your business will sit on.
A production architecture for Claude in a Symfony SaaS: scoped HttpClient, SSE streaming to the browser, tool-use extraction, retries, and AI quotas wired into your billing plans.
The single-database tenancy model that scales from side project to real B2B: organizations, memberships, and an SQL filter that scopes every query automatically, with the pitfalls that bite in production.
Hosted Checkout, a webhook inbox, idempotent processing through Messenger and a normalized subscription state: the billing design patterns that don't fall over, with code.
Every Symfony SaaS boilerplate was either dead, demo-grade or both. After fifteen years of building the same foundations for clients, I built the one I always wanted to start from.