Apprends à intégrer l’API TMDB, valider les données et afficher des films avec des composants réutilisables.
Dans ce module, tu vas découvrir comment intégrer l’API The Movie Database (TMDB) dans une app Next.js 15 full-stack. Plutôt que de maintenir des données statiques, tu apprendras à récupérer dynamiquement la liste des films et des séries, à valider et typer les réponses, puis à les afficher via des composants React réutilisables.
anyapp/server et séparer clairement logique client / serveurMovieCard (et SerieCard) 100 % réutilisablenext/imageAvant de démarrer ce module, tu dois déjà avoir :
.env sous THEMOVIEDB_API_KEYapp/server/movies.tsfetchMovieDb pour centraliser les appelsGetMoviesSchema)getMovies() et getSeries()MovieCard.tsx et SerieCard.tsx dans app/componentsnext/image pour optimiser les affichages de postersmovie, serie, action et userSkeleton) pendant le chargement1'use server'2import { z } from 'zod'3const GetMoviesSchema = z.object({4page: z.number(),5results: z.array(z.object({6id: z.number(),7title: z.string(),8poster_path: z.string(),9release_date: z.string(),10})),11})1213export async function getMovies() {14const res = await fetch(15`https://api.themoviedb.org/3/movie/popular`,16{ headers: { Authorization: `Bearer ${process.env.THEMOVIEDB_API_KEY}` } }17)18const data = await res.json()19const { results } = GetMoviesSchema.parse(data)20return results21}
Avec ce module, tu maîtriseras la chaîne complète : de la récupération sécurisée des données à leur affichage fluide et typé. Prêt·e à plonger ? Allez, c’est parti !