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 serieIdcreatedAt 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.