Conception - Recommandation intelligente de films: Difference between revisions
Jump to navigation
Jump to search
Line 12: | Line 12: | ||
= Schéma de la structure de l'application = |
= Schéma de la structure de l'application = |
||
[[Image:ConceptionSysteme.png| |
[[Image:ConceptionSysteme.png|1000px|center]] |
||
= Choix des langages de programmation = |
= Choix des langages de programmation = |
Revision as of 09:38, 13 March 2017
Voici la fiche de conception du projet 'Recommandation intelligente de films'.
É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.
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é |