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.
any
app/server
et séparer clairement logique client / serveurMovieCard
(et SerieCard
) 100 % réutilisablenext/image
Avant de démarrer ce module, tu dois déjà avoir :
.env
sous THEMOVIEDB_API_KEY
app/server/movies.ts
fetchMovieDb
pour centraliser les appelsGetMoviesSchema
)getMovies()
et getSeries()
MovieCard.tsx
et SerieCard.tsx
dans app/components
next/image
pour optimiser les affichages de postersmovie
, serie
, action
et user
Skeleton
) 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 !