Méthodologie — un socle, plusieurs projets

Stack Modulaire

đź“– Explication

Même socle technique pour tout projet web. On active ou on désactive des briques selon le besoin — jamais un nouvel outil sans raison concrète.

L'idée en une phrase

Le socle (Next.js, TypeScript, Tailwind, shadcn/ui, Git, Vercel) est toujours le même. Ce qui change d'un projet à l'autre, c'est quels modules optionnels on branche dessus : base de données, comptes utilisateurs, paiement, tests. Un site vitrine n'active presque rien ; un SaaS active tout.

Le socle — toujours actif

Next.js
Pages, routing, rendu serveur.
TypeScript
Le langage, partout.
Tailwind CSS
Mise en forme.
shadcn/ui
Composants d'interface.
Git / GitHub
Historique, sauvegarde.
Vercel
Mise en ligne.

Ce socle est pensé pour le web. Pour du mobile, tu ne le remplaces pas : Prisma, Better Auth, Stripe et Zod restent tels quels côté serveur — tu ajoutes juste une brique Expo côté client mobile (voir plus bas).

Comprendre la stack — 24 technologies

Langages
TypeScript

C'est quoiDu JavaScript auquel on ajoute des types (on précise si une donnée est un texte, un nombre, etc.).

Sert àAttraper les erreurs de type à l'écriture du code, avant même de le lancer.

JavaScript

C'est quoiLe langage qui tourne dans le navigateur (et, avec Node.js, côté serveur).

Sert àFaire fonctionner tout ce qui bouge sur une page web. TypeScript compile vers du JavaScript à l'exécution.

Outils de base
Node.js

C'est quoiUn moteur qui exécute du JavaScript en dehors du navigateur, sur ta machine ou un serveur.

Sert Ă Faire tourner les outils de dev (pnpm, Next.js) et, en prod, le serveur de l'appli.

pnpm

C'est quoiUn gestionnaire de paquets : il télécharge et organise les librairies dont le projet dépend.

Sert àInstaller Next.js, React etc. sans les écrire toi-même, et garder les versions cohérentes entre elles.

Git / GitHub

C'est quoiGit garde un historique de chaque changement du code. GitHub héberge ce dépôt en ligne.

Sert àRevenir en arrière si tu casses quelque chose, et avoir une sauvegarde hors de ta machine.

Docker

C'est quoiUn outil pour faire tourner un logiciel (ex. une base de données) dans un environnement isolé et reproductible.

Sert àRien dans cette stack pour l'instant — Supabase évite d'en avoir besoin dès le départ. Utile plus tard si besoin réel.

Web & interface
React

C'est quoiUne bibliothèque pour construire des interfaces en petits blocs réutilisables, appelés composants.

Sert àDécouper une page (bouton, formulaire, liste) en morceaux qui se mettent à jour tout seuls quand les données changent.

Next.js

C'est quoiUn framework construit sur React qui ajoute le routage (les pages), le rendu côté serveur et les routes API.

Sert àAvoir front (pages) et back (logique serveur, accès base de données) dans un seul projet, sans les séparer.

Tailwind CSS

C'est quoiUn framework CSS oĂą on stylise avec de petites classes directes dans le HTML (text-sm, p-4...).

Sert Ă Styliser vite, sans jongler entre un fichier .css et le composant.

shadcn/ui

C'est quoiDes composants d'interface (bouton, carte, formulaire) déjà stylés, copiés dans ton code — pas une dépendance figée.

Sert àNe pas repartir de zéro pour chaque bouton ou champ de formulaire, tout en gardant la main pour les modifier.

React Hook Form

C'est quoiUne librairie qui gère l'état d'un formulaire (valeurs saisies, erreurs, soumission) sans re-rendre toute la page à chaque frappe.

Sert àBrancher un formulaire à un schéma Zod pour valider et afficher les erreurs proprement.

Données
PostgreSQL

C'est quoiUne base de données relationnelle : les données sont rangées dans des tables liées entre elles.

Sert àStocker durablement des données structurées, et garantir qu'elles restent cohérentes.

Supabase

C'est quoiUn service qui héberge une base PostgreSQL en ligne, gratuitement pour démarrer.

Sert àAvoir une vraie base accessible depuis n'importe où, sans installer ni gérer de serveur toi-même.

Prisma

C'est quoiUn ORM : il traduit un schéma que tu écris en tables SQL, et génère du code TypeScript pour lire/écrire les données.

Sert àCréer et modifier les tables (migrations), et interroger la base sans écrire de SQL à la main, avec l'autocomplétion.

Zod

C'est quoiUne librairie qui décrit la forme attendue d'une donnée (ex. « un texte, entre 1 et 80 caractères »).

Sert àVérifier ce qu'un utilisateur envoie (formulaire) avant de l'utiliser ou de l'enregistrer — bloquer les données invalides.

Authentification & paiement
Better Auth

C'est quoiUne librairie qui gère inscription, connexion, sessions, rôles.

Sert àNe pas réinventer la sécurité (hachage des mots de passe, cookies de session) toi-même — c'est facile à mal faire.

Stripe

C'est quoiUne plateforme de paiement en ligne (cartes bancaires, abonnements, facturation).

Sert àEncaisser un paiement ou gérer un abonnement sans manipuler toi-même de données bancaires.

Qualité & déploiement
Vitest

C'est quoiUn outil de tests unitaires : il exécute de petites fonctions et vérifie que le résultat est bien celui attendu.

Sert àVérifier automatiquement qu'un bout de logique (ex. une validation Zod) ne se casse pas quand tu modifies le code.

Playwright

C'est quoiUn outil de tests « bout en bout » : il pilote un vrai navigateur comme le ferait un utilisateur.

Sert àVérifier qu'un parcours complet fonctionne (inscription → achat → confirmation...) sans le refaire à la main à chaque fois.

Vercel

C'est quoiUne plateforme d'hébergement pensée pour Next.js.

Sert Ă Mettre le site en ligne automatiquement Ă  chaque git push, sans configurer de serveur toi-mĂŞme.

GitHub Actions

C'est quoiUn robot qui exécute des commandes automatiquement à chaque push sur GitHub (ex. lancer les tests).

Sert àBloquer une mise en ligne si les tests échouent.

Mobile
React Native

C'est quoiComme React, mais les composants produisent de vrais écrans mobiles (iOS/Android) au lieu de pages web.

Sert àRéutiliser tes connaissances React pour écrire une app installable, sans apprendre un langage natif (Swift, Kotlin).

Expo

C'est quoiUn ensemble d'outils autour de React Native : démarrage rapide, test en direct sur ton téléphone, service de build (EAS).

Sert àConstruire et publier une app sur l'App Store / Play Store sans installer Xcode ou Android Studio pour démarrer.

NativeWind

C'est quoiUne adaptation de Tailwind CSS pour React Native — mêmes classes, traduites en styles mobiles.

Sert àGarder les mêmes réflexes de style qu'en Tailwind web sans réapprendre une syntaxe.

Ta stack complète prévoit aussi NestJS et FastAPI (backends séparés) — volontairement absents ici : ton propre document les classe « à envisager plus tard », pas pour un premier projet.

Les modules — activés selon le projet

Type de projet Données
Prisma + Supabase
Comptes
Better Auth
Paiement
Stripe
Tests
Vitest + Playwright
Mobile
Expo
Vitrine / statique Non Non Non Optionnel Non
Gestion de données Oui Si accès restreint Non Recommandé Non
E-commerce Oui Oui Oui Fortement recommandé Optionnel
SaaS Oui Oui Si formule payante Fortement recommandé Optionnel
Application mobile Oui (via l'API existante) Oui Si formule payante Optionnel Oui

Le mobile n'est pas un 5e type de projet isolé : c'est une couche qui se branche sur un backend web existant (Données + Comptes + Paiement restent les mêmes). La ligne ci-dessus suppose que ce backend est déjà en place.

Mode d'emploi par type de projet

🖼️

Site vitrine / statique

Une présentation, pas d'espace membre, pas de données à conserver.

Socle seul
  1. Setup Next.js + Tailwind + shadcn/ui
    Mêmes commandes que pour n'importe quel projet — pnpm create next-app, shadcn init.
  2. Construire les pages
    Contenu en dur ou récupéré d'un CMS externe si besoin — pas de base de données à toi.
  3. Déployer sur Vercel
Voir le guide détaillé — Vitrine →
🗂️

Site avec gestion de données

Un backoffice, un outil interne, un catalogue Ă  administrer.

Socle Données Comptes si accès restreint
  1. Socle
  2. Prisma + Supabase
    Schéma propre au projet (ex. produits, clients, articles).
  3. Better Auth
    Seulement si tout le monde ne doit pas voir/modifier les données.
  4. CRUD spécifique au projet
    C'est la partie qui change à chaque nouveau projet — le reste est le même gabarit.
  5. Déployer
Voir le guide détaillé — Backoffice →
đź›’

E-commerce

Vendre des produits en ligne, avec paiement réel.

Socle Données Comptes Paiement Tests
  1. Socle
  2. Prisma + Supabase
    Produits, stock, commandes.
  3. Better Auth
    Comptes clients — historique de commandes, adresses.
  4. Stripe
    Paiement carte + webhooks pour confirmer une commande côté serveur.
  5. Pages produit / panier / commande
    Spécifique au catalogue vendu.
  6. Tests sur le parcours de paiement
    Le seul endroit où un bug coûte de l'argent réel — ne pas sauter cette étape.
  7. Déployer
Voir le guide détaillé — E-commerce →
🎫

SaaS

Des comptes, un produit utilisé dans la durée, une formule payante possible.

Socle Données Comptes Paiement si payant Tests
  1. Socle
  2. Prisma + Supabase
  3. Better Auth
    Comptes, et rôles si plusieurs niveaux d'accès (propriétaire, membre...).
  4. Stripe
    Uniquement si une formule payante existe dès le départ.
  5. CRUD métier
    Le cœur du produit — spécifique à chaque SaaS.
  6. Tests + déploiement
Voir le guide détaillé — exemple FileAttente →
📱

Application mobile

Une version iOS/Android d'un projet qui a déjà un backend web (données, comptes, paiement).

Mobile — Expo Ne remplace pas le socle web
  1. Projet Expo, séparé du projet web
  2. Backend Next.js exposé en API
    Les Server Actions ne sont pas appelables depuis le mobile — il faut de vraies routes API.
  3. Better Auth côté mobile
    Même serveur d'auth, client adapté avec stockage sécurisé du token.
  4. NativeWind pour le style
  5. Écrans spécifiques au projet
  6. Build & publication via EAS
    App Store et Play Store, avec un temps de validation à prévoir.
Voir le guide détaillé — Mobile →