Skip to content
This repository was archived by the owner on Feb 23, 2024. It is now read-only.

Manuel développeur

stephane-og edited this page Dec 19, 2023 · 13 revisions

Base de données

Blueflix

API

Introduction

L'application intègre une API externe pour récupérer des informations sur les films et les séries télévisées. L'API propose divers points de terminaison pour obtenir des détails, effectuer des recherches et découvrir de nouveaux contenus. Voici les principales fonctionnalités et méthodes utilisées à partir de l'API externe.

Détails de film

Méthode : getFilmDetails($id)

Objectif : Récupérer les détails d'un film spécifique.

Paramètres :

  • $id (entier) : ID du film.

Retour :

  • \App\Models\Film|null : Instance du modèle Film ou null si non trouvé.

Lien de l'API : https://api.themoviedb.org/3/movie/{id}?language={api_language}

Détails de Série TV

Méthode : getSerieDetails($id)

Objectif : Récupérer les détails d'une série TV spécifique.

Paramètres :

  • $id (entier) : ID de la série.

Retour :

  • \App\Models\Serie|null : Instance du modèle Serie ou null si non trouvé.

Lien de l'API : https://api.themoviedb.org/3/tv/{id}?language={api_language}

Recherche de Films

Méthode : getFilmsList($query, $page = 1)

Objectif : Rechercher des films en fonction d'une requête.

Paramètres :

  • $query (chaîne) : Requête de recherche.
  • $page (entier, optionnel) : Numéro de page (par défaut 1).

Retour :

  • array|null : Tableau de modèles Film ou null s'il n'y a pas de résultats.

Lien de l'API : https://api.themoviedb.org/3/search/movie?query={query}&language={api_language}&page={page}

Recherche de Séries TV

Méthode : getSeriesList($query, $page = 1)

Objectif : Rechercher des séries TV en fonction d'une requête.

Paramètres :

  • $query (chaîne) : Requête de recherche.
  • $page (entier, optionnel) : Numéro de page (par défaut 1).

Retour :

  • array|null : Tableau de modèles Serie ou null s'il n'y a pas de résultats.

Lien de l'API : https://api.themoviedb.org/3/search/tv?query={query}&language={api_language}&page={page}

Découvrir des Films

Méthode : getDiscoverFilms()

Objectif : Obtenir une liste de films à découvrir.

Retour :

  • array|null : Tableau de modèles Film ou null s'il n'y a pas de résultats.

Lien de l'API : https://api.themoviedb.org/3/discover/movie?language={api_language}

Découvrir des Séries TV

Méthode : getDiscoverSeries()

Objectif : Obtenir une liste de séries TV à découvrir.

Retour :

  • array|null : Tableau de modèles Serie ou null s'il n'y a pas de résultats.

Lien de l'API : https://api.themoviedb.org/3/discover/tv?language={api_language}

Routes

Table des matières

  1. Accueil
  2. Listes
  3. Utilisateurs
  4. Authentification
  5. Films
  6. Séries)

1. Accueil

1.1 Page d'accueil

  • URI: /
  • Méthode HTTP: GET
  • Controller: HomeController
  • Méthode: index
  • Nom de la route: home

Description

Affiche la page d'accueil de l'application.


2. Listes

2.1 Affichage des Listes

  • URI: /lists
  • Méthode HTTP: GET
  • Controller: ListController
  • Méthode: index
  • Middleware: auth

Description

Affiche la liste des listes de l'utilisateur connecté.

2.2 Création d'une Liste

  • URI: /lists/create
  • Méthode HTTP: GET
  • Controller: ListController
  • Méthode: create
  • Middleware: auth

Description

Affiche le formulaire de création d'une nouvelle liste.

2.3 Enregistrement d'une Liste

  • URI: /lists
  • Méthode HTTP: POST
  • Controller: ListController
  • Méthode: store
  • Middleware: auth

Description

Enregistre la nouvelle liste dans la base de données.

2.4 Affichage d'une Liste

  • URI: /lists/{listId}
  • Méthode HTTP: GET
  • Controller: ListController
  • Méthode: show
  • Nom de la route: lists.show
  • Middleware: Aucun

Description

Affiche le contenu détaillé d'une liste.

2.5 Mise à jour d'une Liste (Ajax)

  • URI: /lists/ajax
  • Méthode HTTP: POST
  • Controller: ListController
  • Méthode: ajaxUpdate
  • Middleware: auth
  • Nom de la route: lists.ajax

Description

Effectue une mise à jour asynchrone d'une liste.

2.6 Suppression d'un Film d'une Liste

  • URI: /lists/{listId}/movies/{movieId}
  • Méthode HTTP: DELETE
  • Controller: ListController
  • Méthode: destroyMovie
  • Middleware: auth
  • Nom de la route: lists.destroyMovie

Description

Supprime un film spécifique d'une liste.

2.7 Suppression d'une Série d'une Liste

  • URI: /lists/{listId}/series/{seriesId}
  • Méthode HTTP: DELETE
  • Controller: ListController
  • Méthode: destroySeries
  • Middleware: auth
  • Nom de la route: lists.destroySeries

Description

Supprime une série spécifique d'une liste.


3. Utilisateurs

3.1 Inscription d'un Utilisateur

  • URI: /register
  • Méthode HTTP: GET
  • Controller: UserController
  • Méthode: register
  • Nom de la route: register

Description

Affiche le formulaire d'inscription.

3.2 Enregistrement d'un Utilisateur

  • URI: /register
  • Méthode HTTP: POST
  • Controller: UserController
  • Méthode: createUser

Description

Enregistre un nouvel utilisateur dans la base de données.

3.3 Connexion d'un Utilisateur

  • URI: /login
  • Méthode HTTP: GET
  • Controller: UserController
  • Méthode: login
  • Nom de la route: login

Description

Affiche le formulaire de connexion.

3.4 Validation de la Connexion

  • URI: /login
  • Méthode HTTP: POST
  • Controller: UserController
  • Méthode: parseLogin

Description

Valide les informations de connexion et redirige l'utilisateur.

3.5 Affichage du Profil Utilisateur

  • URI: /profil/{id}
  • Méthode HTTP: GET
  • Controller: UserController
  • Méthode: index
  • Nom de la route: profil

Description

Affiche le profil de l'utilisateur.

3.6 Modification du Profil Utilisateur

  • URI: /profil/{id}/edit
  • Méthode HTTP: GET
  • Controller: UserController
  • Méthode: edit
  • Middleware: auth
  • Nom de la route: profil.edit

Description

Affiche le formulaire de modification du profil.

3.7 Mise à jour du Profil Utilisateur

  • URI: /profil/{id}
  • Méthode HTTP: PUT
  • Controller: UserController
  • Méthode: update
  • Middleware: auth
  • Nom de la route: profil.update

Description

Met à jour les informations du profil utilisateur.

3.8 Déconnexion d'un Utilisateur

  • URI: /logout
  • Méthode HTTP: GET
  • Controller: UserController
  • Méthode: logout
  • Nom de la route: logout

Description

Déconnecte l'utilisateur et le redirige vers la page d'accueil.


4. Authentification

4.1 Recherche

  • URI: /search
  • Méthode HTTP: GET
  • Controller: SearchController
  • Méthode: search
  • Nom de la route: search

Description

Affiche les résultats de recherche.


5. Films

5.1 Affichage des Détails d'un Film

  • URI: /films/{id}
  • Méthode HTTP: GET
  • Controller: FilmController
  • Méthode: showFilm
  • Nom de la route: films.details

Description

Affiche les détails d'un film spécifique.

5.2 Ajout d'une Note à un Film

  • URI: /films/{filmId}/add-rating
  • Méthode HTTP: POST
  • Controller: FilmController
  • Méthode: addRating
  • Middleware: auth
  • Nom de la route: films.addRating

Description

Ajoute une note à un film.

5.3 Obtention de la Note Moyenne d'un Film

  • URI: /films/{filmId}/get-average-rating
  • Méthode HTTP: GET
  • Controller: FilmController
  • Méthode: getAverageRating

Description

Renvoie la note moyenne d'un film.


6. Séries

6.1 Affichage des Détails d'une Série

  • URI: /series/{id}
  • Méthode HTTP: GET
  • Controller: SerieController
  • Méthode: showSerie
  • Nom de la route: series.details

Description

Affiche les détails d'une série spécifique.

6.2 Ajout d'une Note à une Série

  • URI: /series/{serieId}/add-rating
  • Méthode HTTP: POST
  • Controller: SerieController
  • Méthode: addRating
  • Middleware: auth
  • Nom de la route: series.addRating

Description

Ajoute une note à une série.

6.3 Obtention de la Note Moyenne d'une Série

  • URI: /series/{serieId}/get-average-rating
  • Méthode HTTP: GET
  • Controller: SerieController
  • Méthode: getAverageRating

Description

Renvoie la note moyenne d'une série.