Table des matières
- Introduction
- Preview
- Consignes générales
- Partie utilisateur
- Partie bibliothèque
- Partie vidéo
- Partie bonus
Introduction
Ce projet vous propose de créer une application web permettant à un utilisateur de rechercher et visionner des vidéos.
Le lecteur sera directement intégré au site, et les vidéos seront téléchargées au travers du protocole BitTorrent.
Le moteur de recherche interrogera plusieurs sources externes de votre choix, comme par exemple http://www.legittorrents.info, ou encore https://archive.org.
Une fois un élément sélectionné, il sera téléchargé sur le serveur et diffusé sur le player web en même temps. Autrement dit, le lecteur ne se contentera pas d’afficher la vidéo une fois le téléchargement complété, mais sera capable de streamer directement le flux.
Preview
Consignes générales
Tous les framework, micro-framework, librairies etc... sont autorisés dans la limite où ils ne servent pas à créer un flux vidéo à partir d’un torrent.
Partie utilisateur
-
L’application doit permettre à un utilisateur de s’inscrire avec:
- adresse email
- login
- photo de profil
- nom
- prénom
- mot de passe
-
⚠️ L’utilisateur doit pouvoir s’inscrire et se connecter via Omniauth.- Deux stratégie obligatoire, 42 et une autre au choix.
-
L’utilisateur doit être capable de se connecter avec:
- login
- mot de passe
-
Il doit également pouvoir recevoir un mail de réinitialisation de son mot de passe en cas d’oubli.
-
L’utilisateur doit pouvoir se déconnecter en un seul clic depuis n’importe quelle page du site.
-
⚠️ L’utilisateur doit pouvoir sélectionner une langue préférée par défaut l’anglais. -
L’utilisateur doit pouvoir Modifier son adresse email, sa photo de profil et ses informations.
-
Consulter le profil d’un autre utilisateur. C’est à dire afficher sa photo de profil, ses informations. L’ email, en revanche, doit rester privé.
Partie bibliothèque
- Un champ de recherche.
- Une liste de miniatures.
Recherche
Le moteur de recherche devra interroger au moins deux sources externes de votre choix, et retourner l’ensemble des résultats sous la forme de miniatures. Vous devez limiter les résultats aux vidéos uniquement.
Miniatures
-
Si une recherche a été faite, les résultats doivent s’afficher sous la forme d’une liste de miniatures, triées par nom.
-
Si aucune recherche n’a été faite, vous devrez afficher les médias les plus populaires de vos sources externes, triés selon le critère de votre choix (téléchargements, peers, seeders, etc...).
-
ℹ️ Une miniature doit être composée de:- nom de la vidéo
- année de production
- note
- image de couverture
Partie vidéo
Cette section devra présenter le détail d’une vidéo, c’est à dire:
- afficher le player de la vidéo.
ℹ️ si disponible- le résumé
- le casting (au moins producteur, réalisateur, acteurs principaux, etc...)
- l’année de production
- la durée
- la note
- une image de couverture et tout ce qui vous semblerait pertinent.
Si la vidéo n’est pas nativement lisible pour le navigateur(c-ad que ce n’est ni dump4, ni du webm). vous devrez la convertir à la volée dans un format acceptable. Le support du format mkv est un minimum.
Partie bonus
- Ajouter des stratégies Omniauth supplémentaires.
- Gérer différentes résolutions de vidéo.
- Développer une API RESTful.
- Streamer la vidéo via l’API MediaStream.







