Permets à l’utilisateur d’ajouter, visualiser et retirer des films de son historique avec une UX fluide.
Dans ce module, nous allons enrichir notre application Next.js 15 avec une fonctionnalité essentielle : la gestion de l’historique de visionnage et une expérience utilisateur réactive grâce à l’UI optimiste. Après avoir mis en place l’affichage de films et de séries, nous souhaitons maintenant permettre à chaque utilisateur de :
En combinant React Server Components, Server Actions et Prisma, nous garantissons une synchronisation robuste entre le client et le serveur, tout en offrant une interface fluide qui réagit immédiatement aux interactions de l’utilisateur.
Traditionnellement, lorsqu’on effectue une mutation côté serveur (par exemple, supprimer un élément), l’interface attend la réponse avant de mettre à jour l’affichage. Avec l’UI optimiste, on :
Cette technique améliore la réactivité perçue et réduit la latence ressentie par l’utilisateur.
Nous ajouterons un modèle HistoryItem
dans schema.prisma
:
userId
)movieId
ou serieId
createdAt
par défaut à la date d’insertionaddHistoryItem
pour créer un nouvel enregistrement.removeHistoryItem
pour supprimer un élément, puis revalidatePath('/history')
afin de rafraîchir la page History./history
sera un RSC qui appelle getHistory
via Prisma.<HistoryList />
(Client) utilisera useOptimistic
pour gérer localement la liste et useTransition
pour le feedback de suppression.Vérifiez que votre fonctionnalité d’authentification est opérationnelle, car l’historique est strictement lié à l’utilisateur connecté.
Nous plongeons désormais dans la mise en place étape par étape de cette fonctionnalité clé, alliant Prisma, Next.js 15 et UX optimiste.