Analyse d’opinion « temps réel » à partir de Twitter/FicheSuivi

= Présentation du projet =

Ce projet de 5ème année s'établit sur une durée de 2 mois, en partenariat avec l'entreprise Viseo.

Dans une problématique de disposer d'un outil d'aide à la décision en lien avec des produits cosmétiques, une application basée sur l'analyse sentimentale de Tweets devra être développée. Celle-ci devra permettre de déterminer l'opinion générale vis-à-vis d'un produit. Les informations traitées devront ensuite être restituées au sein d'interfaces multi-display.

= À propos de l'équipe =

Etudiants :
 * Jordan Calvi  <-- Chef de projet
 * Xu Feng 
 * Mame Daba Diouf 

Encadrant Polytech :
 * Didier Donsez

Encadrants Viseo :
 * Fatoumata Camara
 * Cédric Lopez

= Téléchargements =
 * Cahier des charges
 * Software Requirements Specification
 * Dossier de conception
 * Code source
 * Manuel
 * Rapport

= Progression =

Sprint 1 : 27/01/2014 - 03/02/2014

 * Première compréhension du sujet
 * Premier état de l'art des technologies
 * Prise de contact avec les encadrants Viseo
 * Élaboration d'une liste de questions pour les encadrants Viseo
 * Première réunion avec les encadrants Viseo pour relever le besoin

Sprint 2 : 04/02/2014 - 10/02/2014

 * Daba, Xu, Jordan
 * Relève du besoin
 * Cahier des charges
 * Début de rédaction du document de spécifications
 * Etat de l'art des technologies


 * Jordan
 * Etude de l’API Twitter et de Twitter Storm (connecter Storm à l’API Twitter, dictionnaire cosmétique et traitement de données en flux avec dictionnaire émotions)
 * Restitution des données (données pertinentes et exemples de graphes axé aide à la décision librairie nvd3.js VS highcharts) : Pie chart (positive negative neutral), Line Chart (trends), Bar chart (actual sentiment)


 * Daba
 * Etude de Tweetping (nodejs, socket.io, processing.js, (backbone.js))
 * liste des données extraites par Tweetping et autres applications
 * leur type
 * Aspect temps réel coté front (mettre en place une mini appli fonctionnelle issu d’un tuto -> nodejs + websocket)


 * Xu
 * Etude de mongodb
 * (Etude de hadoop)
 * lien entre les deux (connecteurs ?), début de recherche sur l’organisation des données JSON (stockage des tweets préfiltrés et prétraité) ex: nom_du_twittos, date, contenu, langue, negative, neutre, positive -> 0 à 1 ou 0 à 100, opinion(somme), etc.

Sprint 3 : 11/02/2014 - 17/02/2014

 * Daba, Xu, Jordan
 * Implémentations partiales pour validation des technologies


 * Jordan
 * Apache Storm, Twitter4j, Twitter API et Holmes API


 * Daba
 * Node.js et Sails.js


 * Xu
 * MongoDB et NVD3

Sprint 4 : 18/02/2014 - 26/02/2014

 * Daba, Xu, Jordan
 * Preuve de concepte
 * Interconnexion des parties

Sprint 5 : 27/02/2014 - 10/03/2014 (interruption du 1 au 9 mars)

 * Daba, Xu, Jordan
 * Recenser les fonctionnalités orienté utilisateur et apporter une représentation graphique adaptée
 * Conception IHM (mobile en priorité)
 * Validation de la conception du frontal pour implémentation


 * Jordan
 * Storm
 * Ajout des champs "retweeted" et "favorite_count" aux tweets traités, en base
 * Insertion des mots clés du fichier txt en base, à la première lecture -> pour la recherche par tagué et le top des mots clés recherchés
 * Rédaction d'une procédure de déploiement de Storm (commandes à taper, variables d'environnement à modifier, liste des dépendances) pour déploiement ultérieur


 * Daba
 * Migration de la webapp sur Sails (MVC -> réponse aux requêtes sur telle ou telle URL)
 * Rédaction d'une procédure de déploiement de la partie webapp (commandes à taper, variables d'environnement à modifie, liste des dépendances) pour déploiement ultérieur


 * Xu
 * Résolution du problème de responsive design des graphes NVD3
 * Résolution des beugs liés à la présence de plusieurs graphes sur une même page web
 * Combinaison d'une multi bar chart avec line chart avec NVD3 ? Pour représenter l'évolution du négatif, neutre, positif + score

= Liens associés = Big Data :
 * Storm project
 * Apache Hadoop
 * MapReduce

Frameworks :
 * Node.js
 * Expressjs
 * Socket.io
 * Sails.js

BD :
 * MongoDB

IHM :
 * NVD3