Projet universitaire (L2 Informatique) visant à concevoir et implémenter le backend fonctionnel d'un service de streaming type Netflix, incluant la gestion des utilisateurs, du catalogue et des abonnements.
L'objectif était de modéliser une base de données assez complexe et de créer une interface en Python pour interagir avec les données de manière (pas si) sécurisée et optimisée.
- Gestion Multi-profils : Système permettant à un compte client de gérer plusieurs profils de visionnage distincts.
- Catalogue Interactif : Navigation entre les films et les séries, avec gestion des saisons et des épisodes.
- Moteur de Recherche : Recherche dynamique par mots-clés dans la base de données.
- Statistiques de Visionnage : * Suivi du temps de visionnage (Watchtime).
- Système de notation des contenus par les utilisateurs.
- Indicateurs de complétion (ex: contenus vus à plus de 95%).
- Espace Utilisateur Sécurisé : Inscription, connexion et déconnexion avec gestion de sessions.
- Backend : Python 3 avec le framework Flask.
- Base de Données : PostgreSQL (Modélisation relationnelle complexe, Triggers, Vues).
- Sécurité : Hachage des mots de passe avec Passlib (bcrypt).
- Frontend : HTML5 / CSS3 via le moteur de templating Jinja2.
- Validation : Vérification de la conformité des emails et des entrées utilisateurs.
Le projet s'appuie sur un schéma relationnel incluant :
- Utilisateurs & Profils :
clients,profil,abonnements. - Contenus :
film,saison,episode,gens(acteurs/réalisateurs). - Interactions :
notefilm,notesaison,voirep(historique et progression). - Vues SQL : Utilisation de vues spécialisées (
moynotefilm,nbvuefilm95) pour optimiser les performances des statistiques.
Cloner le dépôt :
git clone [https://github.com/ton-pseudo/VideoFlex.git](https://github.com/ton-pseudo/VideoFlex.git)
cd VideoFlex