Skip to content

Instantly share code, notes, and snippets.

@Manapyzz
Last active November 5, 2021 16:02
Show Gist options
  • Save Manapyzz/5a9258c7547028a520c9a48f6cd3a05c to your computer and use it in GitHub Desktop.
Save Manapyzz/5a9258c7547028a520c9a48f6cd3a05c to your computer and use it in GitHub Desktop.
Tutube V2

Tutube V2

Le but de ce projet est de créer une plateforme pour permettre à des personnes de partager des vidéos en ligne et permettre à d'autres personnes de pouvoir les regarder et réagir à celles-ci.

⚠️ Un minimum de style est demandé pour que le projet soit présentable + il faut que l'on puisse naviguer correctement.

Fonctionnalités

Page d'upload de vidéo (ROLE_USER)

Cette page réservée aux personnes connectées permettra d'ajouter une vidéo sur la plateforme.

L'upload de vidéo se fera grace à un lien youtube. (format : https://www.youtube.com/watch?v=LGwILPzWuw8)

La vidéo devra avoir un nom, une description, une date de publication, le nombre de vues, un lien youtube, des commentaires ainsi qu'un tutubeur (la personne qui poste la vidéo).

Page de connexion / d'inscription

Avoir une page permettant de s'inscrire et de se connecter. Pour s'inscrire il faudra préciser au minimum son nom, prénom, email et pseudo. Lors de l'inscription une coche "admin" sera ajouté: si celle-ci est coché l'utilisateur aura donc le rôle admin.

Page d'accueil

La page d'accueil affichera les 20 dernières vidéos postées sur la plateforme.

Une liste de vidéo devra comprendre pour chaque vidéo: son titre, sa preview youtube, le nombre de vues, sa date de publication, ainsi que le nom de la personne qui a posté la vidéo.

Un lien sera également présent pour permettre d'aller sur la page de la vidéo.

Une barre de recherche permettra également de chercher une vidéo par son nom.

Page de la vidéo

La page de la vidéo devra afficher le titre, la preview, la description de la vidéo, la date de publication, ainsi que les commentaires associés à celle-ci (un seul niveau de commentaire).

La page affichera aussi le nom de la personne qui a posté la vidéo on pourra cliquer dessus pour aller sur la page du tutubeur.

Un compteur de vue sera également présent sur la vidéo. Pour pouvoir compter une vue vous devrez tout simplement rajouter un bouton "J'ai regardé la vidéo" permettant de rajouter une vue à la vidéo.

Les commentaires pourront être ajoutés uniquement par les personnes connectées.

Page du tutubeur

La page du tutubeur référencera toutes les videos de l'utilisateur en question. On pourra donc à partir de cette page aller voir toutes les vidéos de ce tutubeur.

La page contiendra aussi toutes les vues du tutubeur ainsi que son nombre total de vidéos.

Si c'est le tutubeur en question qui est sur cette page il pourra décider de supprimer les vidéos de son espace.

Depuis cette page on aura également pour les personnes connectées (sauf si c'est le tutubeur en question) un bouton "S'abonner" permettant comme son nom l'indique de pouvoir s'abonner à un tutubeur. L'utilisateur pourra donc se désabonner par la suite s'il le souhaite sur cette même page.

Page Abonnements (ROLE_USER)

Sur cette page réservée aux personnes connectés, on retrouvera les 20 dernières vidéos sorties uniquement par les tutubeurs auquels l'utilisateur est abonnés. On retouvera aussi une liste sur la gauche avec tous les abonnements permettant de se rendre sur la page du tutubeur souhaité.

Panel admin (ROLE_ADMIN)

La page admin consistera en 2 menus:

  • Menu vidéos: un listing plus simple des vidéos par ordre décroissant de publication sans préview avec la possibilité de supprimer celle-ci. On pourra également cliquer sur chaque vidéo pour aller sur la page admin vidéo.
  • Menu utlisateur: un listing des tutubeurs simple avec possiblité de voir un utlisateur avec la liste de ses vidéos vous pourrez donc supprimer celles-ci à partir de cette page. Vous pourrez également éditer ou supprimer l'utilisateur (et donc l'ensemble de ses vidéos).

Page admin vidéo (ROLE_ADMIN)

Cette page permettra à l'admin de modérer l'espace commentaire le plus simplement possible. Pour cela on lui affichera uniquement la vidéo et les commentaires. Il pourra alors supprimer les commentaires qu'il souhaite.

Page Tendances

Une page qui affichera les 10 dernières vidéos les plus vues de la semaine.

Page Découverte

Une page qui affichera une vidéo au hasard d'un tutubeur à moins de 100 vues sur sa chaine.

Bonus

Faire le système de vues avec l'ip du client plutôt qu'avec le bouton. (utiliser ce gist pour simuler les adresses ip facilement: https://gist.github.com/Manapyzz/6da46335d16d710a5b5a85fe45767485)

Permettre l'upload de vidéos depuis son ordinateur en plus des vidéos youtubes.

Permettre à un tutubeur d'uploader une photo de profil. Cela aura donc pour effet de rajouter cette photo sur la page du tutubeur ainsi que sur le listing des vidéos en dessous de la preview à côté du titre (comme sur youtube).

Si un effort est fait au niveau design du site il y aura des points en plus.

Consigne de rendu

À rendre au plus tard le 5 décembre à 23h59 sur un repo git et m'envoyer une invitation à l'adresse alexandreb.picard@gmail.com.

Pour toutes questions n'hésitez pas à me ping sur discord ou à me faire un mail directement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment