---
title: "Persistance et authentification avec Prisma"
description: "Configure Prisma, crée la base SQLite et mets en place l’inscription et la connexion sécurisées."
url: https://algomax.fr/formations/developper-une-app-next-js-15-full-stack-avec-prisma-et-rsc/persistance-et-authentification-avec-prisma
dateModified: 2025-05-01T07:25:35.624Z
---

# Persistance et authentification avec Prisma

Configure Prisma, crée la base SQLite et mets en place l’inscription et la connexion sécurisées.

Dans ce module, nous allons plonger au cœur de la persistance des données et de l’authentification sécurisée avec Prisma, un ORM moderne et performant. Vous apprendrez à configurer votre base de données SQLite, à définir vos schémas de données et à mettre en place des flux d’inscription et de connexion robustes. Grâce aux React Server Components et aux Server Actions de Next.js 15, vous gérerez toute la logique métier côté serveur tout en conservant une expérience utilisateur fluide.

## Objectifs du module

- Installer et configurer Prisma dans un projet Next.js 15  
- Définir un schéma Prisma pour le modèle `User`  
- Initialiser et migrer une base SQLite  
- Mettre en place l’inscription (register) et la connexion (login) côté serveur  
- Gérer la session utilisateur avec des cookies HTTPOnly  
- Valider et hacher les mots de passe avec bcryptjs  
- Protéger les pages et rediriger les utilisateurs non authentifiés  

## Plan de la leçon

1. **Initialisation de Prisma**  
   - Installation de l’outil CLI  
   - Configuration du fichier `.env` et de `schema.prisma`  
2. **Modélisation et migration**  
   - Définition du modèle `User`  
   - Exécution de la migration avec SQLite  
3. **Seed de la base de données**  
   - Création d’un script de seed pour tester rapidement  
4. **Inscription et connexion**  
   - Création des Server Actions `register` et `login`  
   - Validation des formulaires avec Zod  
   - Hachage des mots de passe et comparaison sécurisée  
5. **Gestion de la session**  
   - Lecture et écriture de cookies HTTPOnly  
   - Composants `getOptionalUser` et `requireUser`  
6. **Protection des routes**  
   - Redirections automatiques des utilisateurs connectés  
   - Middleware minimaliste côté serveur  

## Mise en route

Pour commencer, on initialise Prisma dans le projet Next.js :

```bash Terminal
npx prisma init
```

Ce premier pas crée un dossier `prisma/` et un fichier `.env` contenant la variable :

```dotenv .env
DATABASE_URL="file:./dev.db"
```

Ensuite, définissez votre modèle `User` dans `prisma/schema.prisma` :

```prisma prisma/schema.prisma
model User {
  id       Int    @id @default(autoincrement())
  email    String @unique
  password String
}
```

Puis, lancez la migration :

```bash Terminal
npx prisma migrate dev --name add-user
```

Un fichier `dev.db` sera généré automatiquement. Vous êtes maintenant prêt à construire le flux d’inscription et de connexion, en tirant parti des Server Actions de Next.js et de la puissance de Prisma pour interagir avec votre base de données SQLite, le tout sans compromise sur la sécurité ni sur les performances.

## Leçons

- [Configuration de Prisma et du modèle User](https://algomax.fr/formations/developper-une-app-next-js-15-full-stack-avec-prisma-et-rsc/persistance-et-authentification-avec-prisma/configuration-de-prisma-et-du-modele-user.md): Initialise Prisma, crée le modèle User et effectue la migration.
- [Seed et gestion des mots de passe](https://algomax.fr/formations/developper-une-app-next-js-15-full-stack-avec-prisma-et-rsc/persistance-et-authentification-avec-prisma/seed-et-gestion-des-mots-de-passe.md): Seed la base, sécurise les mots de passe avec bcryptjs.
- [Formulaires d’inscription et de connexion](https://algomax.fr/formations/developper-une-app-next-js-15-full-stack-avec-prisma-et-rsc/persistance-et-authentification-avec-prisma/formulaires-d'inscription-et-de-connexion.md): Crée des formulaires modernes, gère la validation et l’état avec Zod et useActionState.
- [Gestion de session et cookies sécurisés](https://algomax.fr/formations/developper-une-app-next-js-15-full-stack-avec-prisma-et-rsc/persistance-et-authentification-avec-prisma/gestion-de-session-et-cookies-securises.md): Implémente la gestion de session, cookies httpOnly et redirections.
