Retour aux vidéos
Vlog 16 min

Ce que Next.js NE fait PAS : L'architecture réelle pour créer un SaaS

Next.js est un framework full-stack incroyable, mais il ne fait pas tout. Pas de base de données, pas d'authentification, pas d'e-mails... Découvrez l'architecture réelle d'un SaaS et toutes les solutions complémentaires pour y remédier.

🚀 Qu'est-ce que Next.js fait (et ne fait pas) ? L'Architecture Réelle d'un SaaS

Next.js est souvent décrit comme le framework full-stack ultime pour le web moderne. Mais derrière cette étiquette, qu'est-ce que cela signifie concrètement ?

Si vous êtes développeur Next.js, ou que vous souhaitez le devenir, il est indispensable de comprendre ce qui se cache sous le capot. Nous allons démembrer Next.js pour voir ce qu'il gère réellement et, surtout, découvrir tout ce qu'il ne fait pas et comment y remédier pour créer un projet de qualité (comme un SaaS).


🛠️ Ce que Next.js Gère Réellement

Next.js s'occupe principalement de l'exécution du code, de l'optimisation et du routage. On peut diviser ses forces en quatre grands piliers :

1. Le Rendu Full-Stack (Serveur Node.js)

Next.js dispose d'un serveur Node.js intégré qui lui permet de générer vos pages de différentes manières :

  • Pages Statiques : Le code est compilé au moment du build. Les pages sont prégénérées et servies instantanément à l'utilisateur.
  • SSR (Server-Side Rendering) : La page est construite dynamiquement par le serveur à chaque demande de l'utilisateur.
  • ISR (Incremental Static Regeneration) : C'est la force tranquille du framework. Pour les pages dynamiques, Next.js envoie la page existante en cache à l'utilisateur actuel, puis reconstruit la page en arrière-plan pour le visiteur suivant. Si vous avez 50 000 pages (par exemple, pour un site d'analyse financière), Next.js compile les pages à la volée lorsqu'elles sont visitées pour éviter d'exploser le serveur au moment du build.

2. Le Routage Intelligent (App Router)

Dans le dossier app, la structure de vos dossiers définit automatiquement vos URL (le routage basé sur les dossiers). Cela permet également de séparer facilement les routes publiques des espaces nécessitant une authentification (via les groupes de routes).

3. La Passerelle Réseau (Full-Stack)

Next.js intègre sa propre couche serveur pour communiquer avec l'extérieur :

  • Route Handlers : Ce sont vos API REST internes (GET, POST, DELETE, etc.) indispensables pour communiquer avec des services tiers comme Stripe ou YouTube.
  • Server Actions : Des fonctions serveur déclarées directement avec "use server" dans vos composants. Elles évitent d'avoir à créer des dizaines d'API REST pour vos interactions de base.

4. L'Optimisation des Performances

Next.js gère le téléchargement, la compression et le formatage automatique des images (WebP/AVIF) et des polices d'écriture directement au build, tout en gérant un cache serveur ultra-rapide.


⚠️ Ce que Next.js ne Fait PAS

Contrairement à un CMS comme WordPress ou à un serveur Linux complet, Next.js reste une surcouche JavaScript. Il ne contient aucune infrastructure de base pour un projet complet. Voici tout ce qui manque par défaut :

  1. L'Authentification : Next.js n'a pas de système d'inscription ou de connexion d'utilisateurs natif.
  2. La Base de Données : Next.js ne stocke aucune donnée utilisateur. Il n'y a pas de base MySQL, PostgreSQL ou MariaDB intégrée.
  3. L'Envoi d'E-mails : Il n'intègre pas de serveur mail (SMTP) pour envoyer des e-mails de bienvenue ou de réinitialisation de mot de passe.
  4. Le Stockage de Fichiers : En dehors du dossier statique public/ (accessible par tout le monde), Next.js ne gère pas le stockage sécurisé des fichiers de vos utilisateurs.
  5. L'Analytics (Suivi de trafic) : Aucun outil de tracking n'est inclus par défaut.
  6. La Gestion de Contenu (CMS) : Next.js n'est pas un outil d'édition. Sans code, vous ne pouvez pas rédiger ou publier facilement de nouveaux articles.
  7. Le Paiement : Next.js n'inclut aucune solution de facturation ou de gestion des abonnements.

🔌 Les Solutions et Outils pour Compléter Next.js

Pour combler ces manques et bâtir une architecture solide, vous devez connecter des briques externes. Voici les solutions de référence :

1. L'Authentification & La Base de Données

Pour connecter vos utilisateurs, deux approches s'offrent à vous :

  • Auth.js + ORM (Prisma / Drizzle) : Une solution intégrée à votre code, très sécurisée, mais qui nécessite une base de données PostgreSQL ou Neon (PostgreSQL Serverless) connectée à l'aide d'un ORM pour traduire le JavaScript en SQL.
  • Supabase (Recommandé) : Une alternative tout-en-un incroyable. Supabase gère l'authentification (Google, Email, etc.), la base de données PostgreSQL (avec interface graphique pour éviter le SQL direct) et le stockage de fichiers.

2. L'Envoi d'E-mails

Puisque Next.js n'est pas un serveur de messagerie, vous devez passer par des API spécialisées via des clients webhooks :

  • Brevo (Recommandé) : Gratuit jusqu'à 300 e-mails par jour, ce qui est parfait pour démarrer vos authentifications sans frais.
  • Resend : Une solution très appréciée des développeurs pour son intégration moderne et sa simplicité.

3. Le Stockage de Fichiers

Si vos utilisateurs ont besoin d'uploader des photos ou de télécharger des documents :

  • Supabase Storage (si vous utilisez déjà Supabase).
  • Amazon S3 (la référence mondiale pour le stockage d'objets cloud).

4. L'Analytics & Le Tracking

  • Umami (Recommandé) : Une solution open source et conforme RGPD (pas besoin de bandeau cookie moche car elle ne tracke pas de données personnelles).
  • Google Analytics (GA4) : Très lourd, dégrade les performances de chargement et impose des bandeaux de consentement complexes.

5. Gestion de Contenu (Headless CMS)

Pour déléguer la rédaction à des copywriters ou des marketeurs sans toucher au code :

  • Payload CMS ou Sanity : Des CMS headless qui envoient le contenu en Markdown ou JSON à votre application Next.js.
  • WordPress Headless : Utiliser l'administration de WordPress uniquement comme base de données de contenus.

6. Le Système de Paiement

  • Stripe : L'incontournable pour les développeurs.
  • Lemon Squeezy : Un "Merchant of Record" (MoR) qui gère toute la partie légale et les taxes de vente à votre place.

🏁 En Résumé : Ne Partez pas de Zéro

Next.js est un outil exceptionnel, mais créer un SaaS ou une web app moderne demande de comprendre et d'assembler toute cette architecture.

🛠️ Gagner des centaines d'heures de développement : Si vous ne souhaitez pas passer des semaines à configurer et connecter toutes ces briques à la main, vous pouvez utiliser des templates et boilerplates préconfigurés (Authentification, Stripe, Base de données déjà prêtes) disponibles sur next-web.pro. Vous pouvez également proposer vos propres templates de qualité pour établir des partenariats !

  • Besoin d'un serveur ou d'un VPS ? 👉 Hostinger jusqu'à -85% : J'en profite