PHP : Movie Club v1

Projets PHP

  • Découverte

Exercice PHP – Reproduction de la page d'accueil de Netflix

Contexte et Objectifs

Dans cet exercice, vous allez créer un site web en PHP qui reproduit l’apparence et les fonctionnalités de la page d'accueil de Netflix. Vous allez travailler avec une base de données MySQL pour stocker vos données et utiliser un framework CSS (Bootstrap ou Tailwind) pour assurer un design responsive en adoptant une approche mobile-first.

Consignes Générales

  1. Schéma Entité-Association (ERD) :

    • Avant de commencer le développement, créez un schéma entité-association décrivant les entités (par exemple, Film et Catégorie) et leurs relations.
    • Notez que la relation entre un film et une catégorie est plusieurs-à-plusieurs (un film peut appartenir à plusieurs catégories, et une catégorie peut contenir plusieurs films).
  2. Base de Données :

    • Utilisez MySQL pour stocker vos données.
    • Attention : Vous devez créer vous-mêmes vos tables et vos requêtes. Aucune aide SQL (exemples de requêtes ou de structures de tables) ne vous sera fournie dans cet exercice.
  3. Design et Responsive :

    • Utilisez Bootstrap ou Tailwind CSS pour le style de votre site.
    • Le site doit être conçu en mobile-first et doit utiliser une grille responsive pour une expérience utilisateur optimale sur tous types d’appareils.

Fonctionnalités à Implémenter

1. Page d'Accueil

  • Affichage des Catégories :
    • La page d’accueil doit présenter toutes les catégories disponibles, affichées dans un ordre spécifique que vous définirez vous-mêmes.
    • Pour chaque catégorie, affichez le titre de la catégorie ainsi qu’une sélection de 6 affiches de films.
    • Les films affichés pour chaque catégorie doivent être les plus récents (selon leur date de sortie).

2. Page de Catégorie

  • Liste Complète des Films d’une Catégorie :
    • Lorsqu’un utilisateur clique sur une catégorie, il est redirigé vers une page dédiée à cette catégorie.
    • Cette page doit afficher tous les films appartenant à la catégorie sélectionnée, triés par ordre alphabétique.

Utilisez la listye de catégories fournie en pièce jointe.

3. Page de Détail du Film

  • Description du Film :
    • Chaque film doit avoir sa propre page descriptive qui affiche les informations suivantes :
      • Titre
      • Année de sortie
      • Liste de ses catégories (les films pouvant appartenir à plusieurs catégories)
      • Résumé
      • Cote
      • Affiche (l’image du film sera stockée sur le disque, et non dans la base de données)

4. Menu de Navigation

  • Barre de Menu :
    • Ajoutez une barre de menu en haut du site.
    • Intégrez un menu déroulant ("drop down") qui liste toutes les catégories disponibles pour faciliter la navigation.

Déroulement du Travail

  1. Analyse et Conception :

    • Commencez par élaborer votre schéma entité-association. Cela vous aidera à structurer votre base de données et à définir les relations entre vos tables.
  2. Mise en Place de la Base de Données :

    • Créez vos tables et insérez quelques données de test (films, catégories, associations). Vous êtes libres de définir la structure qui vous convient, en respectant les relations décrites.
  3. Développement Front-end et Back-end :

    • Développez la page d’accueil qui présente les catégories et les affiches des films.
    • Créez la page de catégorie pour afficher tous les films de la catégorie en question.
    • Développez la page de détail du film.
    • Intégrez le menu de navigation avec le drop down listant toutes les catégories.
    • Assurez-vous que toutes les pages respectent le design responsive avec une approche mobile-first.
  4. Tests et Validation :

    • Vérifiez que la navigation entre les pages fonctionne correctement.
    • Testez l’affichage sur différents appareils pour confirmer la réactivité du design.

Livrables

  • Schéma Entité-Association : Un document ou un schéma visuel présentant les entités et leurs relations.
  • Code PHP : Tous les fichiers PHP nécessaires pour faire fonctionner le site.
  • Fichiers CSS/JS : Vos fichiers de style et scripts, incluant l’intégration de Bootstrap ou Tailwind.
  • Instructions de Mise en Place : Un petit guide pour expliquer comment installer et tester votre application.

Bon courage et n’hésitez pas à poser des questions en cas de difficulté !

Téléchargements

Liste des catégories
categories.json

Pour aller plus loin