· 7 min
Créer un SaaS avec Next.js, Supabase et Stripe
La stack, l’ordre des étapes et les pièges — pour passer d’un repo vide à un produit qui encaisse vraiment.
- SaaS
- Next.js
- Stripe
Créer un SaaS n’est pas apprendre React. C’est relier une dizaine de briques — interface, base de données, authentification, paiement, emails, déploiement — en un seul produit qui tient quand un vrai client s’en sert. La difficulté n’est jamais une brique isolée ; c’est l’assemblage. Voici la stack que j’utilise et l’ordre dans lequel je la pose.
La stack, et pourquoi elle
Next.js (App Router) pour le front et le back dans un seul projet. TypeScript pour attraper les erreurs avant l’utilisateur. Tailwind pour une UI rapide et cohérente. Supabase / Postgres pour les données et l’auth sans réécrire un backend. Stripe pour le paiement. Resend pour les emails transactionnels. Vercel pour le déploiement. Ce n’est pas la stack « à la mode » — c’est celle qui va du prototype à la production sans changer d’outils en route.
L’ordre compte plus que la vitesse
La bonne séquence évite les réécritures. On commence par le modèle de données — les tables, les relations, les contraintes — parce que tout le reste s’y appuie. Ensuite l’auth et les routes protégées, puis un flux principal de bout en bout, puis seulement le paiement. Coder le paiement avant d’avoir un produit qui fait quelque chose est le piège le plus courant : on branche Stripe sur du vide.
Le paiement : là où ça casse
Stripe Checkout gère le formulaire de carte ; ton travail est ailleurs. Ne fais jamais confiance au prix envoyé par le client — il se décide côté serveur. Le vrai cœur, c’est le webhook : c’est lui qui confirme l’achat, débloque l’accès et envoie l’email. Il doit vérifier la signature et être idempotent, car Stripe renvoie le même événement plusieurs fois. Un SaaS qui donne l’accès depuis la page de succès plutôt que depuis le webhook finit toujours par offrir des accès gratuits.
Les emails et le déploiement
Les emails transactionnels — confirmation, bienvenue, réinitialisation — passent par Resend depuis un domaine vérifié, avec un fallback propre si la clé manque en dev. Le déploiement sur Vercel se fait en continu : chaque push a sa preview, la prod se promeut en un clic. La partie invisible — variables d’environnement séparées client/serveur, secrets jamais exposés — est ce qui distingue un vrai produit d’un tutoriel.
En une ligne
Un SaaS moderne se construit avec Next.js, Supabase et Stripe, dans cet ordre : données, auth, flux principal, paiement, emails, déploiement. La stack est simple ; la discipline de l’assemblage fait tout. C’est exactement ce que la Bynilson Build School enseigne, du repo vide au produit en ligne.
10 modules · du repo vide au lancement