PROJET SOA FOAFINDER ET FOAFOX CAHIER DES CHARGES FONCTIONNEL - FRÉDÉRIC ETERNO - SÉBASTIEN PONTAILLIER
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
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