Film
- Composante affichant le sommaire d’un seul film.
- Elle reçoit le titre, l’année et l’url de l’affiche par les props (séparément).
- Elle affiche le film sous la forme d’une carte UI.
Vous devez organiser l’affichage d’une liste de films classiques des années ’80s à l’aide de différentes composantes dans un projet Next.js.
Vous devez créer les pages suivantes:
Les deux pages devront être au minimum assemblées à partir des composantes suivantes:
Film
ListeFilms
Personne
Vous devrez récupérer la liste de films ainsi que les détails d’un film à l’aide des deux fonctions suivantes:
import "server-only";
export const getAllFilms = async () => { try { const resp = await fetch( "https://japprendstoutesleschoses.com/data/films.json", ); if (!resp.ok) { throw new Error("Erreur d'accès au fichier films.json"); } const data = await resp.json(); return data; } catch (err) { console.log("[GET ALL FILMS ERROR]", err); return []; }};
// Utilise la fonction getAllFilms pour récupérer le tableau complet// Utilise find pour retourner le film correspondant ou null s'il n'existe pas// On l'appelle en lui passant le slug récupéré en paramètre.export const getFilmBySlug = async (filmSlug) => { const films = await getAllFilms(); return films.find((f) => f.slug === filmSlug);};Veuillez copier/coller ce code dans le fichier films.js:
Les fonctions pourront ensuite être importées pour être appelées depuis les fichiers page.jsx.
Vous devez télécharger la photo des films, acteurs et réalisateurs et les copier dans le dossier public en conservant la même structure. Une fois le découpage et la navigation fonctionnels, vous pourrez utiliser des outils de IA générative au besoin pour améliorer votre visuel/CSS.
Pondération: 5%
Un devoir dans Teams sera créé afin de vous permettre de le remettre. Merci de supprimer les dossiers node_modules et .next avant de compresser votre projet.