edirTIC31 / EDIRTIC31-TwELEC

Projet TwELEC (ELEC par Twitter) de l'EDIR TIC 31
0 stars 0 forks source link

EDIRTIC31-TwELEC

Projet TwELEC (ELEC par Twitter) de l'EDIR TIC 31

TwELEC est un outil (actuellement un prototype) de recherche de fils twitter par rapport à un évènement (accident, catastrophe, ...).

Le principe est simple : on fourni des mots clés (ex: "Bordeaux" et "inondation") et TwELEC fait une recherche des tweets contenant ces termes. Ensuite, il va appliquer un algorithme de scoring (cf l'explication dans le répertoire source) pour classer les tweets par ordre d'importance. Et enfin, il affiche le résultat.

Pré-requis

Python 3.x avec les modules Twitter, Flask, matplotlib, filelock et pytz, les autres modules sont normalement en standard avec Python 3.x (sqlite3, json,...)

Note : httplib2 qui est utilisé par Flask peut faire face à un problème de certificats expirés. Le github dédié à httplib2 possède des versions à jour. Note(2) : sous Debian/Jessie l'installation par pip de matplotlib est un peu délicate et demande un certain nombre de dépendance qu'il faut installer avec apt : libfreetype6-dev et libpng12-dev.

Format de distribution

Plusieurs fichiers Python à éxécuter en application web (Flask)

Documentation

A part ce fichier, il y a trois autres documents :

Installation

Configurer le mot de passe de session et les droits d'accès à Twitter dans twelec_globals.py

  # Session password
  s_password="password"

  # Keys to access the twitter API
  c_key = ''
  c_secret = ''
  a_token = ''
  a_secret = ''

Pour tester en local : python3 mainWeb.py en utilisant le serveur web intégré de Flask L'URL '/' est routée sur la page d'entrée.

Enfin, pour l'explication de l'intégration entre Flask, mod_wsgi et Apache2, c'est ici : http://flask.pocoo.org/docs/0.10/deploying/mod_wsgi/

Usage

Deux URL sont disponibles :

Un URL supplémentaire /sessions est disponible pour visualiser les tweets résultats d'une session. C'est surtout utile à des fins de debugging.

Démarrage d'une session

La page de démarrage demande de founir :

L'affichage des résultats

La page des résultats est structurée comme suit :

Bannir un tweet : celui-ci disparaît de la liste (et dans une même session, il ne va plus réapparaître).

Aimer un tweet : les contenus des tweets 'aimés' sont utilisés pour "deviner" des mots clés pertinents ... et la recherche est mise à jour avec ces nouveaux mots clés lors qu'on clique sur le bouton rafraîchir (bouton à coté de la liste des mots clés).

Tous les autres tweets qui ne sont ni bannis, ni aimés sont conservés tels quels.

Enfin, on peut à la fois aimer et bannir ... mais dans ce cas, il ne se passe rien !

Suggérer des mots clés optionnels : à partir de tous tweets affichés, coup de pouce va suggérer des mots clés qu'il rajoutera aux mots clés optionnels.

Troubleshooting

L'affichage des statistiques peut être capricieux, surtout s'il n'y a pas de concordance entre (a) l'endroit où sont stockés les fichiers PNG créés (cf. displayTweetStats.py) et le code HTML les affichant cf. (templates/view_tweet_stats.html).

Les évolutions prévues du code