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 →