PROJET SOA FOAFINDER ET FOAFOX CAHIER DES CHARGES FONCTIONNEL - FRÉDÉRIC ETERNO - SÉBASTIEN PONTAILLIER

La page est créée Romain Maurice
 
CONTINUER À LIRE
PROJET SOA FOAFINDER ET FOAFOX CAHIER DES CHARGES FONCTIONNEL - FRÉDÉRIC ETERNO - SÉBASTIEN PONTAILLIER
Projet SOA
     FoaFinder et FoaFox

Cahier des charges fonctionnel

     Frédéric Eterno – Sébastien Pontaillier
PROJET SOA FOAFINDER ET FOAFOX CAHIER DES CHARGES FONCTIONNEL - FRÉDÉRIC ETERNO - SÉBASTIEN PONTAILLIER
FoaFinder et FoaFox – Cahier des charges fonctionnel – Dernière révision : 2009-12-08

Sommaire

Sommaire ................................................................................................................................................ 2

Introduction............................................................................................................................................. 3

Fonctionnalités ........................................................................................................................................ 4

   Terminologie ....................................................................................................................................... 4

   Diagramme de cas d'utilisation ........................................................................................................... 5

   Cas d'utilisation ................................................................................................................................... 6

Interface utilisateur ................................................................................................................................. 8

Travail à accomplir .................................................................................................................................. 9

   Architecture......................................................................................................................................... 9

   Répartition des tâches....................................................................................................................... 10

   Roadmap ........................................................................................................................................... 11

                                                                                                                                                         2
FoaFinder et FoaFox – Cahier des charges fonctionnel – Dernière révision : 2009-12-08

Introduction

         Dans le cadre du projet SOA mené en deuxième année de Master à l'université d'Evry, nous
avons choisi le sujet intitulé "Plugin de réseaux sociaux dans un navigateur web". Le sujet tel qu'il
nous a été explicité est le suivant : "En utilisant le standard FoaF, on imagine l'utilité d'un plugin pour
FireFox, permettant d'exploiter les ressources disponibles que permet ce standard. On imagine aussi
l'enrichissement de bases de connaissances de réseaux sociaux exprimés en FOAF, à partir de
requêtes sur des systèmes de communication en vogue tels que Twitter ou Wikipédia."

        FoaF est une spécification XML basée sur le format RDF dont l'idée a été proposée par Dan
Brickley and Libby Miller en 2000. Il permet de voir les personnes, les pages web et les informations
disponibles sur le web comme un gigantesque réseau dont chaque nœud est lié aux autres,
éventuellement par l'intermédiaire d'autres nœuds. En utilisant un tel format il est facile de naviguer
d'une personne à l'autre en considérant leurs amis, leurs centres d'intérêts, ou toute autre
information qu'ils désirent fournir.

        L'objectif principal de ce projet est de développer un service web exploitant les ressources
FoaF fournies par les réseaux sociaux existants. D'autre part, il convient de mettre en place une
interface utilisateur (ici matérialisée par un plugin pour le navigateur web Mozilla Firefox)
permettant un dialogue avec ce service et une exploitation des réponses aux requêtes qui lui sont
envoyées. Le projet est donc orienté autour de deux axes majeurs : la partie dite "client" et la partie
dite "service".

         Le service web permet de gérer une liste de ressources FoaF, de les récupérer et de les
stocker, de manière à ce qu'elles soient disponibles pour répondre à des requêtes envoyées par des
clients externes. Parmi ces requêtes on trouve la recherche par mots-clés, la recherche de liens entre
deux ressources données, l'affichage des liens existants entre toutes les ressources répertoriées, ou
encore l'ajout de ressources à la liste maintenue par le service. Il est à noter que ce service n’est pas
destiné à la mise en place d’un réseau social basé sur FoaF, même si cet objectif peut constituer une
extension ultérieure.

         La partie "client" (le plugin Firefox) permet d'envoyer des requêtes vers le service précité,
d'afficher les résultats dans un format convivial et facilement exploitable pour l'utilisateur, et de
traiter les pages web affichées dans le navigateur pour mettre en évidence les liens existants vers
d'autres ressources.

                                                                                                         3
FoaFinder et FoaFox – Cahier des charges fonctionnel – Dernière révision : 2009-12-08

Fonctionnalités

Terminologie

Utilisateur
Personne physique utilisant le plugin FireFox développé dans le cadre du projet.

Administrateur
Personne physique ayant à charge de gérer le service web développé.

Ressource
Fichier FoaF répertorié par le service et utilisé par le plugin.

Dépôt
Espace dans lequel sont regroupées des ressources FoaF. Il peut prendre plusieurs formes : URL, FTP,
base de données, espace disque...

FoaFox
Nom du plug-in FireFox développé.

FoaFinder
Nom du service web développé.

                                                                                                   4
FoaFinder et FoaFox – Cahier des charges fonctionnel – Dernière révision : 2009-12-08

Diagramme de cas d'utilisation

                             Figure 1 - Diagramme de cas d'utilisation

                                                                                              5
FoaFinder et FoaFox – Cahier des charges fonctionnel – Dernière révision : 2009-12-08

Cas d'utilisation
Utilisateur : Recherche par mots-clés
         L'utilisateur peut faire des recherches par mots-clés sur l'ensemble des dépôts et des
ressources répertoriées par le service. La recherche peut être effectuée à deux niveaux : saisie d'un
mot-clé unique (recherche simple) ou saisie de critères avancés permettant par exemple de
sélectionner les parties des ressources à analyser ou le type d'informations souhaité (cela permettant
la réalisation de requêtes du type "Trouver les personnes liées à celles travaillant sur le projet XXX").
Après saisie d'un ou de plusieurs mot(s) (critère de recherche), une liste de résultats est affichée dans
la fenêtre du plugin. Chaque ligne de résultats contient un lien permettant d'accéder au fichier FoaF
contenant les informations affichées. Le contenu du fichier FoaF est formaté de manière à être
affiché avec une mise en page facilitant sa lecture. Une option est disponible pour afficher le code
source du fichier FoaF.

Utilisateur : Lister les dépôts FoaF répertoriés par le service
        Cette fonctionnalité permet la récupération de la liste des ressources FoaF enregistrées par le
service. L'utilisateur désirant connaître la liste des ressources répertoriées clique sur le bouton
correspondant, et le résultat est récupéré puis mis en forme pour un affichage sur l'interface du
client sous forme de liste de liens. Chaque lien donne accès au fichier ou au dépôt FoaF
correspondant. Cette fonctionnalité peut constituer un point d'entrée à la réalisation d'une
recherche (l'utilisateur demande une recherche basée sur un dépôt en particulier).

Utilisateur : Proposer une ressource ou un dépôt
          L'utilisateur peut à tout moment demander au plugin d'ajouter une ressource ou un dépôt à
la liste maintenue par le service. Il peut pour cela saisir manuellement l'URL d'une ressource ou d'un
dépôt, ou en spécifier une à partir de la page web active (suite à l'utilisation de la fonctionnalité
"mettre en évidence les liens vers des ressources" par exemple). Il est à noter que cet ajout doit faire
l'objet d'une validation par l'administrateur du serveur (voir le cas d'utilisation administrateur "gérer
la liste des dépôts et des ressources").

Utilisateur : Trouver des liens entre deux ressources spécifiées
        L'utilisateur peut demander au service de trouver les liens entre deux ressources. Cette
fonctionnalité est accessible en soumettant deux URLs de ressources. Le résultat est affiché sous
deux formes : soit un simple texte (du type "Monsieur X et monsieur Y ont tous deux collaborés au
projet P" ou "Monsieur X et monsieur Y sont tous deux en relations avec monsieur Z"), soit un graphe
de dépendances illustrant les liens communs aux deux ressources fournies.

Utilisateur : Afficher une cartographie complète des ressources disponibles
        Via une demande depuis l'interface du plugin, l'utilisateur peut demander l'affichage d'une
cartographie complète (sous forme de graphe de dépendance) de l'ensemble des ressources
répertoriées par le service. L'idée de cette fonctionnalité est basée sur le principe de l'API FoaF
proposée par Google (http://code.google.com/intl/fr/apis/socialgraph/docs/).

                                                                                                       6
FoaFinder et FoaFox – Cahier des charges fonctionnel – Dernière révision : 2009-12-08

Utilisateur : Mettre en évidence les liens vers des ressources
         Lors de la navigation sur le web, l'utilisateur peut souhaiter connaître les liens vers des
ressources FoaF présents sur la page affichée, dans le cas où ces liens ne seraient pas explicites. Cette
fonctionnalité a pour effet de mettre en surbrillance ce genre de lien, directement dans la page
active. Il s'agit d'une fonctionnalité secondaire qui ne sera pas implémentée en priorité.

Utilisateur : Configurer le plugin
         Comme toute interface utilisateur le plugin FoaFox est paramétrable. Outre le choix de
l'agencement des éléments à l'intérieur de la fenêtre de l'application, l'utilisateur peut définir les
fonctionnalités à activer à l'ouverture de la fenêtre. L'utilisateur peut également sauvegarder une
liste de dépôts favoris.

Administrateur : Gérer la listes des dépôts et ressources
         Le service disposera d'un annuaire local répertoriant des dépôts de fichiers FoaF. Cet
annuaire sera tout d'abord maintenu manuellement par les administrateurs du service, mais pourra
aussi être mis à jour par des agents externes : l'extension FireFox développée dans le cadre de ce
projet est à considérer comme un de ces agents. Afin de fournir des dépôts fiables, les dépôts ajoutés
par des agents externes seront soumis à validation avant d'être considérés comme utilisables. A ce
titre, deux listes parallèles seront entretenues. Ces listes seront accessibles aux agents externes (voir
cas d'utilisation lister les dépôts FoaF répertoriés par le service).

                                                                                                       7
FoaFinder et FoaFox – Cahier des charges fonctionnel – Dernière révision : 2009-12-08

Interface utilisateur

                                 Figure 2 - Interface utilisateur

                                                                                              8
FoaFinder et FoaFox – Cahier des charges fonctionnel – Dernière révision : 2009-12-08

Travail à accomplir

Architecture

                                          Figure 3 - Architecture

        La partie client correspond au plugin Firefox FoaFox. C’est l’interface de ce plugin qui permet
le passage de requête par l’utilisateur. Le plugin peut interagir avec le web (les pages affichées lors
de la navigation) pour réaliser certaines fonctionnalités.

        Le service FoaFinder embarque une interface de dialogue avec le client (réception des
requêtes et envoi de réponse). Le moteur du service utilise une base de données pour traiter les
requêtes reçues. Une interface de liaison avec les dépôts de ressources FoaF permet la récupération
de ces ressources et leur gestion par le biais de la base de données citée précédemment.

        Les dépôts de ressources FoaF sont présents sur le web et sont simplement exploités par le
service FoaFinder, qui embarque une interface de dialogue dédiée à cette exploitation.

                                                                                                     9
FoaFinder et FoaFox – Cahier des charges fonctionnel – Dernière révision : 2009-12-08

Répartition des tâches

       Le système développé s'appuiera sur deux composants principaux : l'extension FireFox
(FoaFox) qui sera le point d'entrée utilisateur au système, et le service web (FoaFinder) qui
embarquera toute la logique applicative. Suit le découpage du travail à réaliser que nous envisageons
aujourd'hui.

        Sébastien aura à sa charge la réalisation du client FoaFox : ce composant étant une extension
du navigateur Mozilla Firefox, il nécessitera l'utilisation des technologies du web et de la fondation
telles que XUL, JavaScript, DOM, CSS. Cette extension embarquera le minimum de logique
applicative, et devra se focaliser sur l'expérience utilisateur et privilégier intuitivité et convivialité.

        Frédéric se concentrera sur le service FoaFinder : cela consistera à mettre en place un
serveur web (Apache, PHP, MySQL) capable de recevoir les requêtes clientes en provenance de
FoaFox par exemple, et d'y répondre dans les plus brefs délais. Les technologies des traitements web
seront donc mises en jeu telles que PHP et SQL.

       Evidemment, les communications entre les clients et le service seront réalisées à l'aide de
messages HTTP SOAP. Leurs spécifications et leurs implémentations seront réalisées conjointement
par Sébastien et Frédéric.

                                                                                                        10
FoaFinder et FoaFox – Cahier des charges fonctionnel – Dernière révision : 2009-12-08

Roadmap

Le projet de déroule sur 13 semaines.
Violet : tâche conjointe
Rouge : tâche réalisée par Sébastien
Bleu : tâche réalisée par Frédéric

                                        Semaine 1 2 3 4 5 6 7 8 9 10 11 12 13
Rédaction cahier des charges
Spécification communications service / client
Configuration serveur
Développement du service
Développement de l’interface service/client
Développement de l’interface service/dépôts
Définition interface utilisateur
Création écrans utilisateur
Exploitation des données envoyées par le service
Modification du DOM des pages affichées
Correction des bugs et ajustement
Rédaction rapport d’implémentation
Préparation soutenance + démonstration
Maintient à jour des blogs projet

                                                                                                 11
Vous pouvez aussi lire