FilmShop est une plateforme de streaming complète qui permet aux utilisateurs de parcourir un catalogue de films, d'acheter ceux qui les intéressent et de les visionner directement en ligne. Le projet intègre l'API TMDB (The Movie Database) pour récupérer les informations des films (titres, descriptions, affiches, etc.) et les stocke dans une base de données MySQL.
La page d'accueil présente un catalogue des films populaires disponibles à l'achat. Chaque film affiche son titre, son affiche et son prix. Les utilisateurs peuvent filtrer les films par catégorie et utiliser la barre de recherche pour trouver des films spécifiques par titre ou réalisateur.
Interface d'inscription permettant aux nouveaux utilisateurs de créer un compte en fournissant un nom d'utilisateur, une adresse e-mail et un mot de passe sécurisé. Le système vérifie l'unicité des identifiants et la conformité des mots de passe.
Les utilisateurs peuvent se connecter à leur compte existant. L'authentification sécurisée permet d'accéder à la bibliothèque personnelle de films achetés et aux fonctionnalités de gestion du profil.
Interface du panier permettant de gérer les films sélectionnés avant l'achat. Les utilisateurs peuvent ajuster les quantités, supprimer des articles ou continuer leurs achats avant de passer à la caisse pour finaliser leur commande.
Interface de paiement pour finaliser l'achat des films sélectionnés. Le système calcule automatiquement le total avec TVA et accepte différents moyens de paiement (cartes de crédit, PayPal). Cette simulation de paiement permet d'ajouter les films achetés à la bibliothèque de l'utilisateur.
Les utilisateurs peuvent consulter l'historique de leurs commandes avec les détails de chaque achat : date, nombre d'articles, montant total. Le système inclut un programme de fidélité qui offre des avantages comme l'accès à des offres spéciales et des notifications personnalisées de nouveautés.
Après l'achat, les films sont ajoutés à la bibliothèque personnelle de l'utilisateur. La bibliothèque affiche tous les films achetés avec des options pour les regarder directement en ligne ou accéder aux détails complets. Les films peuvent être filtrés par genre ou triés par titre.
Lecteur vidéo intégré permettant de visionner les films achetés directement dans le navigateur. L'interface de lecture affiche une bande-annonce ou un extrait du film avec des sous-titres. Dans une version complète, le lecteur inclurait des fonctionnalités de lecture en streaming avec différentes qualités vidéo.
Interface d'administration permettant d'importer automatiquement les films récents depuis l'API TMDB. Le système récupère le titre, la date de sortie, le synopsis, l'affiche, le réalisateur et les acteurs principaux. L'importation se fait en arrière-plan, permettant à l'administrateur de continuer à utiliser le site pendant ce temps.
Exploration et recherche dans une vaste collection de films avec filtrage par genre.
Système d'inscription et de connexion sécurisé pour gérer les achats et accéder à la bibliothèque personnelle.
Sélection et gestion des films avant l'achat avec calcul automatique du total.
Simulation de paiement sécurisé avec différentes méthodes acceptées et calcul de TVA.
Accès aux films achetés avec options de visionnage direct et informations détaillées.
Importation automatique des derniers films avec toutes leurs métadonnées depuis l'API TMDB.
Interface dédiée aux administrateurs pour gérer le catalogue et importer de nouveaux films.
Système de récompenses pour les clients réguliers avec avantages progressifs.
Ce projet a été développé en utilisant plusieurs technologies et concepts avancés :
Lors du développement de ce projet, plusieurs défis techniques ont été relevés :
L'API TMDB retourne des données complexes qui ont nécessité un traitement spécifique pour les adapter à notre structure de base de données. J'ai développé un système de mapping qui transforme les réponses JSON en objets compatibles avec notre schéma.
La sécurisation des comptes utilisateurs a été une priorité. J'ai implémenté un système d'authentification robuste avec hachage des mots de passe, protection contre les injections SQL et gestion sécurisée des sessions.
Développé par Baptiste Nuytten | Projet éducatif utilisant l'API TMDB