Posted by & filed under blog.

Bonjour, dans le cadre du projet ZONE nous proposons un Stage M4 ou M5 de développement web pour une refonte ergonomique de la démo ZONE.

Description du projet

ZONE-project fournit des méthodes innovantes de suivi de news. Au coeur du système on retrouve un agrégateur classique de news basé sur des flux RSS. En utilisant la puissance du web sémantique nous sommes capable d’annoter et de « tagguer » chaque news. Ces tags sont la base de filtres sémantiques. Les filtres permettent aux utilisateurs de récupérer uniquement les news qui sont proches de leurs besoins.

Par exemple un utilisateur peut demander toutes les informations contenant un tag précis ou au contraire demander des news qui ne parlent pas de ce sujet. Cela signifie que chaque utilisateur peut créer des flux de news personnalisés en accord avec ses besoins.

Ainsi il peut être possible pour Mme Michu d’échanger des filtres avec ses petis enfants ou de suivre des flux de news personnalisés d’autres utilisateurs. On pourra alors créer des news group spécifiques à des sujets précis tel que dans le domaine technologique, la médecine, l’industrie, le transport, l’agriculture, l’environnement… Aucun topic n’échappera à votre ZONE!

(description plus détaillé en fin de fichier)

Objectif du stage

L’objectif de ce stage est de proposer une refonte de l’IHM existante en l’adaptant aux lecteurs et/ou rédacteurs d’informations. L’IHM refondue sera utilisée comme client officiel du projet ZONE. C’est une étape critique du projet car elle permettra de fournir une interface graphique en adéquation avec les attentes des utilisateurs (lecteurs, rédacteurs d’informations…) du service. Elle permettra de valoriser le travail d’annotation des news effectué en amont.

Vous devrez donc concevoir au cours de votre stage une nouvelle application web à l’aide du framework RubyOnRails. Vous aurez à votre disposition le code du prototype de l’application pour avancer rapidement sur la partie “sémantique” du projet.

Si vous êtes intéressés par le projet Zone mais souhaitez travailler sur une autre facette de l’application n’hésitez pas à nous contacter.

Aspects logistiques

Vous percevrez une indemnité de stage d’environ 430e en cas de stage M4 et 1000 euros en cas de M5.

Le stage se déroulera au sein de l’équipe WIMMICS sur le centre de recherche INRIA – Sophia Antipolis. Le centre dispose d’une cantine, est à 10 minutes de la mer et nous pouvons vous aider à trouver un logement pour la durée du stage. Il est envisageable que vous présentiez votre travail lors de conférences internationales tel que les RMLL ou Futur En Seine.

Planning possible

Le planning ci-dessous est une proposition initiale. Elle sera discutée avec l’étudiant pour tenir compte de ses contraintes de temps et de ses compétences.

  • Modélisation de l’utilisateuret de sa tâche de suivi d’information
    • Choix des niches d’utilisateurs à cibler : lecteurs et/ou rédacteurs
    • Recherche d’utilisateurs potentiels et étude de leurs besoins
    • Analyse préliminaire de la tâche de suivi et d’organisation des informations
  • Étude de l’existant
    • Analyse de la version actuelle de l’IHM
    • Analyse d’IHM existantes de services du même type que Zone
  • Maquettage
    • Proposition d’une première maquette et évaluation auprès d’utilisateurs potentiels
    • Réalisation d’une seconde maquette en utilisant les retours utilisateurs
  • Étude du framework RubyOnRails
    • Apprentissage des concepts clés du framework
    • Développement d’une application simple pour valider l’apprentissage
  • Développement de l’application
    • Définition des jalons pour passer du prototype actuel à la version “maquettée”
    • Développement de bout en bout de l’application

Encadrants

  • Christophe Desclaux (projet Zone – équipe Wimmics, Inria-I3S) christophe.desclaux@inria.fr
  • Alain Giboin (équipe Wimmics, Inria-I3S) alain.giboin@inria.fr

Environnement

Environnement de maquettage

Différentes possibilités existent : du maquettage basse-fidélité (maquette papier) au maquettage haute-fidélité (ex. : Axure), en passant par le maquettage fidélité-intermédiaire (ex. : PowerPoint).

Le choix de l’environnement sera discuté avec le stagiaire.

Environnement de développement

Vous développerez l’application à l’aide du framework de développement web RubyOnRails. La base de données à requéter sera de type NoSQL orienté web sémantique (virtuoso) et vous pourrez exploiter MongoDB au sein de votre webApp. Vous develloperez des API Rest, utiliserez jQuery, voir Cofeescript. Vous pourrez mettre en place des tests Cucumber et vous serez en charge du déploiement de l’application.

Votre code sera diffusé sur github sous licence libre (Apache v2).

Environnement de travail : méthodes agiles

Pour le suivi de projet vous travaillerez en mode Agile avec kanban board, daily meetings et outils en ligne tel que pivotaltracker, icescrum …

Description détaillé du projet

Les journaux papier sont sur le déclin et le virement vers le tout numérique est en marche: les journaux papiers se sont mis à diffuser leurs informations en ligne. Conséquence : les lecteurs de journaux peuvent désormais suivre les informations sur un sujet donné en provenance de différents journaux électroniques ; de leur côté, les rédacteurs d’un journal peuvent aussi puiser dans les autres journaux des informations qui leur serviront à rédiger de nouveaux articles. Pour faciliter la tâche de suivi et d’organisation des informations des lecteurs et des rédacteurs, les informaticiens proposent des services particuliers appelés “agrégateurs de news”.

Zone est l’un de ces services. Il est développé par Christophe Desclaux. Zone vise à fournir une solution agrégeant les news en provenance de nombreux sites (sites journalistiques, mais aussi tout autre type de sites d’informations tel que des sites sportifs ou informatiques).

Techniquement le service Zone se compose de deux parties distinctes:

  • La partie serveur vise a récupérer toutes les news sur Internet et à les annoter sémantiquement : chaque news est annotée par un concept décrivant sa thématique (autrement dit, le sujet dont dont elle parle). Cette annotation permet à l’utilisateur de choisir ensuite les news qu’il souhaite consulter en fonction de ses intérêts thématiques. Techniquement, une API REST permet aux clients (voir 2) d’accéder à la base de connaissances du serveur.
  • La partie client se base sur les communications REST pour afficher à l’utilisateur une sélection des news du serveur. Parmi les différents types de clients possibles, on peut imaginer : a) un client web classique fonctionnant comme Google news, b) d’autres clients plus originaux qui par exemple proposeraient à chaque utilisateur de choisir un type de contenu en fonction de son profil, sur une tablette ou un smartphone.

Un premier prototype de l’application a été développé l’an dernier dans le cadre d’un Projet de Fin d’Etudes (PFE) à Polytech Nice Sophia. Le développement se prolonge actuellement dans le cadre d’un projet portant le même nom que le service. Ce projet, soumis par Christophe Desclaux au concours BoostYourCode organisé par l’Inria, a remporté le premier prix de ce concours. Une application finalisée sera livrée en octobre 2013.

L’IHM actuelle du service Zone

L’interface actuelle de Zone est en ligne sur http://demo.zone-project.org/. Elle est essentiellement utilisée comme outil de debugging, et donc principalement destinée au développeur ; l’objectif du stage est de concevoir une IHM pour des lecteurs et/ou rédacteurs d’informations ; il s’agit donc d’adopter le point de vue de ces types d’utilisateurs.

L’interface actuelle permet dans un premier temps de visualiser les dernières news récupérées par le service. Ensuite elle permet de créer des filtres de news personnalisés en sélectionnant les éléments intéressants dans les news déjà parues.

Les boutons Oranges Verts et Violets présents pour chaque news représentent ces filtres. En cliquant sur l’un de ces boutons, la page est actualisée et n’affiche que les news répondant au filtre donné. L’utilisateur peut ainsi composer le flux RSS qui correspond à son besoin par superposition de filtres.