Plateforme de capture et d analyse de sites Web AspirWeb



Documents pareils
L Intégration Continue & Agilité

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Gestion Projet. Cours 3. Le cycle de vie

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Projet de Java Enterprise Edition

Brique BDL Gestion de Projet Logiciel

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1

Création outil multimédia de restitution du projet «l intergénérationnel : un levier pour un levier pour créer du lien social en milieu rural

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.

Manuel d Administration

CRÉER SON SITE INTERNET. Créer son site Internet. Méd de Roanne. FG 16/09/08

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

CINEMATIQUE DE FICHIERS

Développement itératif, évolutif et agile

Bases de données et interfaces Génie logiciel

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

CAHIER DES CHARGES. Réalisation de site internet AGENCE W3G. Nom de l'entreprise : Adresse : Tel : Contact :

Organiser les informations ( approche technique )

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Choisir ses priorités: le développement incrémental de produit. Copyright Pyxis Technologies

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Programmation parallèle et distribuée

CQP Développeur Nouvelles Technologies (DNT)

Cahier des charges modèle

Environnements de développement (intégrés)

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Sauvegarde et Restauration d un environnement SAS

Les différents parcours en S4

Mode operatoire Reseau pedagogique

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

Expertise du logiciel «GanttProject»

Générer du code à partir d une description de haut niveau

Website Express Créer un site professionnel avec Orange

FEN FICHE EMPLOIS NUISANCES

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Créer et partager des fichiers

BES WEBDEVELOPER ACTIVITÉ RÔLE

Programme des sessions 2014

Installation / Sauvegarde Restauration / Mise à jour

Manuel d utilisation du site web de l ONRN

UTILITAIRE BRM BACKING UP, RESTORING AND MOVING CONTENT

Plateforme WikiJob spécifications

PG208, Projet n 3 : Serveur HTTP évolué

SITE I NTERNET. Conception d un site Web

DOCUMENTATION POINT FACTURE

OMGL6 Dossier de Spécifications

Manuel utilisateur Portail SAP

ENGEES 1 quai Koch _ BP Strasbourg Cedex. Appel d offre Pour l acquisition d un logiciel de scolarité

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

1 La visualisation des logs au CNES

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

David LUCAS 15/01/10 Ludovic HUET Sébastien LE NECHET Jason JAMOT. Projet BO

Sauvegarder automatiquement ses documents

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

HERBIER NUMERIQUE COLLABORATIF DE MAURICE. enseignants des établissements à programme français de Maurice

Introduction à Eclipse

CAHIER DES CHARGES DE REALISATION DE SITE INTERNET

Travaux pratiques. avec. WordPress. Karine Warbesson

ENJEUX NUMÉRIQUES AUTOUR DU COMPTE PERSONNEL D ACTIVITÉ

Modèle de Cahier des charges. Consultation pour la Conception et réalisation d un site internet

Refonte front-office / back-office - Architecture & Conception -

VOLUME 1 CRÉATION D UN SITE WEB

Chapitre 3 : outil «Documents»

UltraBackup NetStation 4. Guide de démarrage rapide

GEI 465 : Systèmes répartis

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

CAHIER DES CHARGES CREATION / AMELIORATION SITE INTERNET

Analyse,, Conception des Systèmes Informatiques

Constat ERP 20% ECM 80% ERP (Enterprise Resource Planning) = PGI (Progiciel de Gestion Intégré)

Manuel d utilisation de l outil collaboratif

Le génie logiciel. maintenance de logiciels.

CHARTE D UTILISATION DE LA PLATEFORME DES ACHATS HOSPITALIERS DE BASSE-NORMANDIE

Solutions informatiques (SI) Semestre 1

SOMMAIRE. Comment se connecter?

25/12/2012

Méthodes de développement

Solution globale de gestion et reporting projet

Avec sauvegardez sans y penser, partagez et bougez, vos données vous suivent! Retrouvez tous vos services du cloud pro en cliquant ici.

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Cahier des charges. «Application Internet pour le portail web i2n» Direction du Développement numérique du Territoire

ORIENTATIONS POUR LA CLASSE DE TROISIÈME

WebSpy Analyzer Giga 2.1 Guide de démarrage

AIDE A LA REDACTION CAHIER DES CHARGES DE REALISATION DE SITE INTERNET

OMGL 6 Cahier des charges

Documentation Honolulu 14 (1)

PLAN ASSURANCE QUALITE

L utilisation du réseau ISTIC / ESIR

Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise.

Optimisez vos processus informatiques, maximisez le taux de rendement de vos actifs et améliorez les niveaux de service

Guide d utilisation. Version document 0.8. Trouver toute la documentation sur :

DEVELOPPEMENT ET MAINTENANCE DE LOGICIEL: OUTIL DE PILOTAGE

Transcription:

Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises en programmation objet, à travers la conception et le développement d un produit logiciel en Java. A partir d un sujet à la fois précis et ouvert, vous serez amenés à assurer les différentes phases inhérentes à la conduite d un projet informatique en suivant une méthode de type agile. 2. Objectifs Les objectifs principaux du module sont de : Conduire en équipe un projet informatique de bout en bout, de la phase d analyse des besoins jusqu à la livraison d un produit fini, selon un processus itératif, Concevoir et développer en Java un produit logiciel ayant une architecture claire et de qualité, en particulier en faisant appel à des patrons de conception (design patterns), Maîtriser les fonctionnalités des ateliers de développement, et se familiariser avec les outils de gestion de version et de suivi des bogues. 3. Sujet Le projet 2009-2010 consistera à concevoir, développer et tester une plateforme d aspiration et d analyse de sites Web (telle que celle offerte par les logiciels HTTrack Website Copier ou MemoWeb). Cette plateforme permettra à un utilisateur de sauvegarder automatiquement le contenu d un ou plusieurs sites Web sur sa machine. Puis, elle lui permettra de parcourir l arborescence du site sauvegardé, de visualiser localement son contenu et d effectuer des analyses statistiques portant sur la forme, le fond ainsi que sur l évolution dans le temps du site Web. Le logiciel devra permettre au moins les trois fonctionnalités suivantes :

Capture de sites Web : la plateforme sera capable d aspirer et de sauvegarder un site Web localement à partir d une URL saisie par l utilisateur. Pour ce faire, le logiciel devra parcourir récursivement le site Web et sauvegarder une à une les pages rencontrées. L utilisateur pourra spécifier des contraintes sur la profondeur à parcourir, le volume maximal de données à transférer. Il pourra également spécifier des filtres quant à la nature des contenus à sauvegarder. Par exemple, le logiciel pourra filtrer les images en fonction d un format donné et/ou en fonction d une taille maximale. Gestion des sauvegardes : l utilisateur pourra gérer et visualiser les sites Web sauvegardés. Il pourra associer des méta-données (mots clés, commentaires) à une sauvegarde. Il lui sera également possible d organiser les sites Web (par date, par taille totale, par mot clé), de les mettre à jour à un instant donné ou de les supprimer à sa convenance. Par ailleurs, la plateforme permettra d afficher la structure d un site Web sauvegardé sous la forme d un arbre et de parcourir les pages sur la machine locale en hors ligne. Analyse statistique des contenus : l objectif de cette fonctionnalité est de permettre d extraire des informations statistiques sur le fond, la forme et l évolution du site Web. Le logiciel permettra notamment de compter les mots les plus fréquents, de déterminer les pages les plus référencées sur le site (en nombre de liens hypertexte), de détecter les pages les plus longues ou celles contenant le plus d images, d extraire les adresses email. L analyse statistique devra également permettre d évaluer les changements opérés (ajout, suppression, modification de contenu ou de pages) sur un même site Web entre deux sauvegardes. Une importance toute particulière sera donnée à l ergonomie du logiciel. Ainsi, la phase d aspiration du site Web pouvant être longue, il faudra impérativement que la plateforme fournisse des indications sur l état d avancement de l aspiration : nombre de pages, nombre d octets et profondeur. De même, pour faciliter la lecture des résultats d analyse, ceux-ci devront être présentés autant que possible sous la forme de graphes et de diagrammes. Les sauvegardes des sites Web seront stockées localement sur la machine et elles seront organisées selon une arborescence de répertoires. Les résultats d analyse devront également être sauvegardés par l application sous la forme d un ensemble de fichiers. L utilisateur devra disposer d une aide en ligne, et des valeurs par défaut devront lui être proposées pour les différents paramètres. Le logiciel devra impérativement être modulaire et facilement extensible pour permettre l ajout de nouvelles fonctionnalités.

Optionnellement (en fonction de l état d avancement de votre projet), vous pourrez travailler sur les fonctionnalités suivantes : - Comparer les statistiques de plusieurs sites Web, - Compresser et décompresser des sites sauvegardés, - Programmer des sauvegardes périodiques, - Visualiser les différences entre deux sauvegardes d un même site Web (à la manière d un outil de gestion de versions), - Permettre la gestion de comptes utilisateurs : chaque utilisateur se connectera à l aide d un login et d un mot de passe pour accéder à l ensemble de ses sauvegardes et aux résultats d analyse. 4. Déroulement du projet 4.1 Les groupes Les groupes seront impérativement constitués de 4 étudiants. Les étudiants d un groupe peuvent appartenir à des groupes de TD différents. Les groupes rencontreront leur encadrant environ une fois par semaine et fourniront un produit fini tous les 15 jours (à chaque itération). 4.2 Le planning Semaine 40 : premier cours sur la gestion de projet, constitution des groupes. Semaine 41 : deuxième cours, affectation des encadrants. Semaine 42 : première réunion avec l encadrant. Semaine 43 : première version des use cases, classement et planification des itérations. La suite de la progression suivra une démarche itérative en suivant une méthode de type agile (extreme programming). Chaque groupe devra avoir créé un projet sur un serveur subversion et devra disposer de pages wiki pour le suivi du projet. Les cas d utilisation (use cases) devront être mis en forme sur le wiki, ainsi que le planning. Le wiki servira à l équipe pour le suivi du projet, son avancement et sa documentation. Chaque groupe communiquera l adresse du wiki à son encadrant (Les serveurs subversion fournissent en général un service de ce type). Semaine 46 : première itération (démonstration des scénarios implantés, mise à jour du planning). Semaine 48 : seconde itération. Semaine 50 : troisième itération. Semaine 3 : Semaine 4 : dernière itération. soutenance finale (démonstration et rendu du projet).

4.3 Les itérations Les étudiants sont responsables de la gestion de leur projet. Ils doivent se répartir les rôles et les tâches pour mener à bien le travail de conception et de développement. Il appartient aux groupes de contacter par eux-mêmes leur encadrant pour fixer les différents rendez-vous. La première étape consistera à analyser les besoins et à rédiger le cahier des charges, l encadrant jouant le rôle du client. A partir du cahier des charges, les étudiants établiront un planning prévisionnel. Ce dernier sera réalisé en classant les différents cas d utilisation par ordre de priorité. Une évaluation du temps d implantation de chaque cas sera effectuée. Pour chaque itération, un sousensemble des cas sera sélectionné pour être implanté. Au cours d une itération, il sera réalisé une analyse et la conception de ce qu il faut faire. Les cas sélectionnés seront ensuite implantés. Des tests pourront être mis en place pour valider la réalisation des cas. Chaque itération doit aboutir à une nouvelle version du logiciel final. L analyse et la conception devront mettre en évidence les éléments principaux des cas à réaliser. Ils devront être mis à jour à chaque itération. A la fin de chaque itération, il sera fait un bilan de ce qui a été fait par rapport aux prévisions. Un document d une page ou deux sera fourni à chaque itération pour en faire le bilan (cas implantés, choix de conception). Les principaux diagrammes de conception seront également fournis et mis à jour (diagrammes de classes, diagrammes de séquences et éventuellement diagrammes d états). La planification pourra être remise en cause à ce moment là. Des feuilles de temps seront utilisées pour mesurer le temps passé par chacun sur le projet. Elles devront en outre mesurer le temps passé à l implantation de chaque use case. Chaque feuille est individuelle. Si vous faites de la programmation par paire, chacun comptera le temps passé intégralement. Vous ne serez pas notés sur le temps passé. Le compte de temps servira surtout à obtenir une évaluation objective du temps que vous avez consacré au projet. 4.4. Soutenance finale (démonstration) Les soutenances finales se dérouleront la semaine 4. Elles consisteront en une démonstration du produit final sur une machine, qui devra mettre en évidence les fonctionnalités et l ergonomie de la solution proposée. Les étudiants n ont pas à préparer de transparents. En revanche, ils devront remettre lors de cette démonstration un rapport synthétique de 10 pages environ. Ce rapport devra décrire les fonctionnalités du produit (3 pages), l architecture du produit (6 pages) et un guide d utilisation (1 page). Il devra également mentionner un lien (avec les accès) à partir duquel les enseignants pourront accéder au site du projet.

5. Evaluation Les enseignants se réunissent périodiquement pour évaluer l état d avancement des différents projets. Le travail demandé peut varier d un groupe à l autre en fonction des opportunités ou des difficultés rencontrées lors du projet, mais ces différences sont bien évidemment prises en compte lors de l évaluation finale. 5.1 Note de suivi La note de suivi est donnée par votre encadrant de projet. Les critères principaux pour cette note seront les suivants : - qualité de l implantation : le logiciel fonctionne conformément au cahier des charges et aux évolutions décidées au cours du projet, - qualité de la conception : le logiciel est construit de façon modulaire. Il suit une architecture Modèle-Vue-Contrôleur (MVC). La conception est justifiée, - qualité du code : le code est écrit en respectant des règles communes et homogènes (nommage, indentation...). Cette note tiendra également compte de l évolution du projet et du respect du principe des itérations. 5.2 Note de soutenance La note de soutenance est donnée par un autre enseignant (autre que votre encadrant de projet). Elle prend principalement en considération la qualité de votre démonstration, les fonctionnalités et l ergonomie du produit final ainsi que la qualité du rapport fourni. 5.3 Note finale La note finale sera la moyenne de la note de suivi et de la note de soutenance. La note finale sera la même pour tous les membres d un même groupe. Tous les membres d un groupe sont censés participer aux réunions avec leur encadrant. En cas de défaillance d un ou plusieurs membres d un groupe, les notes pourront être individualisées en tenant compte de cette participation et des feuilles de temps individuelles. Les meilleurs projets pourront être présentés dans le cadre des journées portes ouvertes de l ESIAL. 6. Références 6.1 Plateforme de développement Il n y a pas de contraintes strictes sur la plateforme de développement choisie. Nous vous conseillons l une des deux suivantes : - Netbeans (http://www.netbeans.org)

- Eclipse (http://www.eclipse.org) 6.2 Convention de codage Il vous est demandé de respecter autant que possible les conventions de nommage : - http://java.sun.com/docs/codeconv/codeconventions.pdf - http://gee.cs.oswego.edu/dl/html/javacodingstd.html 6.3 Hébergement du projet et gestion de versions Le projet pourra être hébergé sur une plateforme telle que XP-Dev Free (subversion + wiki). Dans tous les cas de figures, vous conserverez une copie locale du projet. - http://www.xp-dev.com - http://www.assembla.com - http://code.google.com 6.4 Documentation La documentation sera rédigée en ligne sous la forme de pages wiki qui seront mises à jour au fur et à mesure du projet. 6.5 Outils d'analyses de code utilisables Vous pourrez être amenés à utiliser les outils d analyses et de tests suivants : - JDepend (pour la qualité de la conception) http://www.clarkware.com/software/jdepend.html - CheckStyle (pour vérifier les standards de codage) http://checkstyle.sourceforge.net/ - PMD (pour l'analyse de code) http://pmd.sourceforge.net/ - JUnit (pour les tests unitaires) http://junit.org/ 6.6 Exemples de logiciels d aspiration de sites Web Voici deux exemples de logiciels d aspiration de sites web : - HTTrack Website Copier http://www.httrack.com - GNU Wget http://www.gnu.org/software/wget/ Bon courage.