Plateforme web moderne avec Next.js 15, Supabase, Prisma, TailwindCSS, et une interface pensĂ©e pour lâexpĂ©rience utilisateur.
- đ Stack technique
- đ Structure du projet
- đ Scripts
- âïž Fichier
.env.local - đ Authentification
- đ± Formulaire de contact
| Technologie | Usage |
|---|---|
| Next.js 15 | App Router + Server Actions (use server) |
| React 19 RC | Composants client/serveur |
| TypeScript | Typage fort |
| Supabase | Authentification & base de données postgres |
| Prisma | ORM |
| Zod | Validation des schémas |
| React Hook Form | Formulaires avec validation intégrée |
| TailwindCSS | Style utilitaire |
| Shadcn/UI | UI |
src/
âââ app/ # Pages et routes via Next.js App Router
â âââ auth/ # Pages liĂ©es Ă l'authentification (sign-in, sign-up)
â âââ contact/ # Pages contact
â âââ _/ # Dossier
â âââ _/_actions # Dossier des actions liĂ© a la page contact
âââ clients/ # Initialisation des clients Supabase et Prisma
âââ components/ # Composants UI rĂ©utilisables
â âââ forms/ # Composants dĂ©diĂ©s aux formulaires (SubmitButton, etc.)
â âââ ui/ # Composants Shadcn
âââ hooks/ # Hooks personnalisĂ©s (useToast, useDebounce, etc.)
âââ prisma/ # SchĂ©ma Prisma + types gĂ©nĂ©rĂ©s| Commande | Description |
|---|---|
pnpm dev |
Démarre le serveur de développement |
pnpm build |
Build de lâapp en production |
pnpm start |
Lance lâapp aprĂšs build |
pnpm lint |
Lint + auto-fix |
pnpm tsc |
Vérifie les types TypeScript |
pnpm migrate |
Migration Prisma via .env.local |
pnpm generate |
GénÚre les types Prisma |
pnpm prepare |
Active Husky pour les hooks Git |
Créer un fichier .env.local à la racine :
# Environment setting
NODE_ENV="development" # Change to "production" or "test" as needed
# Prisma database URL
DATABASE_URL=""
DIRECT_URL=""
# Supabase credentials
NEXT_PUBLIC_SUPABASE_URL=""
NEXT_PUBLIC_SUPABASE_ANON_KEY=""
# Resend API key
RESEND_API_KEY=""
# Base de l'URL utilisée pour construire des liens de redirections
NEXT_PUBLIC_APP_URL=""
# Permet d'avoir les droits admin notamment pour générer des link supabase
SUPABASE_SERVICE_ROLE_KEY=""
# Mollie API key
MOLLIE_API_KEY=""
PrĂ©sentation du systĂšme dâauthentification mis en place avec Supabase Auth :
đ„ Voir la dĂ©monstration Loom
đ Ă noter : une vĂ©rification supplĂ©mentaire a Ă©tĂ© ajoutĂ©e aprĂšs lâenregistrement de la vidĂ©o.
Le systĂšme prend dĂ©sormais en charge les redirections personnalisĂ©es via un paramĂštreredirectUrl, tout en sâassurant que lâURL cible figure bien parmi les destinations autorisĂ©es.
Cela renforce la sécurité en bloquant toute tentative de redirection vers un domaine externe.
PrĂ©sentation du systĂšme dâauthentification mis en place avec Supabase Auth :