Difference between revisions of "Conception - Recommandation intelligente de films"

From air
Jump to navigation Jump to search
Line 25: Line 25:
   
 
Pour utiliser pleinement l'API, il faut que l'utilisateur soit connecté car les données enregistrées en BD sont associées à l'id de l'utilisateur. Ceci permet à chaque utilisateur d'avoir ses données propres et de les conserver entre deux connexions.
 
Pour utiliser pleinement l'API, il faut que l'utilisateur soit connecté car les données enregistrées en BD sont associées à l'id de l'utilisateur. Ceci permet à chaque utilisateur d'avoir ses données propres et de les conserver entre deux connexions.
 
   
 
{| class="wikitable left" width="100%"
 
{| class="wikitable left" width="100%"

Revision as of 09:51, 13 March 2017

Voici la fiche de conception du projet 'Recommandation intelligente de films'.

Page d'accueil du projet

Équipe

  • Rachex Coralie (Chef de projet - Scrum Master)
  • Niogret Edwin
  • Hattinguais Julian
  • Navarro Elsa
  • Dunand Quentin

Schéma de la structure de l'application

Choix des langages de programmation

  • Python : pour le back-end
  • AngularJS : pour le front-end
  • MySql : pour la base de données

Choix technologiques

  • TensorFlow : librairie open source pour l'apprentissage automatique, utilisant des graphiques de flux de données.
  • Keras : librairie de réseaux neuronaux de haut niveau, écrite en Python et capable de fonctionner au dessus de TensorFlow.
  • Flask : framework open-source de développement web en Python.

API en back-end

Pour utiliser pleinement l'API, il faut que l'utilisateur soit connecté car les données enregistrées en BD sont associées à l'id de l'utilisateur. Ceci permet à chaque utilisateur d'avoir ses données propres et de les conserver entre deux connexions.

Routes
Requête Route Description Permission
POST /auth/signup Création d'un compte utilisateur
POST /auth/login Connexion d'un utilisateur
/auth/logout Déconnexion d'un utilisateur
POST /api/updateMovies Met à jours la liste des films annotés par l'utilisateur L'utilisateur doit être connecté
GET /api/likedMovies/<string:opinion> Récupère en base de données, la liste des films que l'utilisateur à aimé si opinion="liked", pas aimé si opinion="disliked" ou alors tous les films si opinion="all". L'utilisateur doit être connecté
POST /api/likedMovie/<int:idMovie>/<int:isLiked> Ajoute en base de données, le film d'idMovie=idTMDB avec isLiked=0 si le film n'a pas été apprécié ou isLiked=1 si le film à été apprécié L'utilisateur doit être connecté
PUT /api/likedMovie/<int:idMovie>/<int:isLiked> Met à jours en base de données, le film d'idMovie=idTMDB avec isLiked=0 si le film n'a pas été apprécié ou isLiked=1 si le film à été apprécié L'utilisateur doit être connecté
DELETE /api/likedMovie/<int:idMovie> Supprime de la base de données, le film d'idMovie=idTMDB associé à l'utilisateur L'utilisateur doit être connecté
POST /api/train Lance l'entrainement du modèle avec les films annotés par l'utilisateur, présents en base de données. L'utilisateur doit être connecté
GET /api/prediction Lance une prédiction à partir du modèle de l'utilisateur et retourne une liste de recommandation de films. L'utilisateur doit être connecté
POST /api/popularity Lance la recherche de popularité sur Twitter et retourne une liste de films ordonnée par popularité décroissante et une seconde liste ordonnée par avis décroissant L'utilisateur doit être connecté