Méta-calendrier automatique pour portail www

15
Isabelle Kervella - Mastè re ISIC 1 Méta-calendrier automatique pour portail www Projet d’ingénierie Mars 2002

description

Méta-calendrier automatique pour portail www. Projet d’ingénierie Mars 2002. Plan. Situons le contexte ... Compréhension du besoin Analyse fonctionnelle Solutions techniques proposées. Situons le contexte. Compréhension du besoin. Ce projet couvre plusieurs aspects : - PowerPoint PPT Presentation

Transcript of Méta-calendrier automatique pour portail www

Page 1: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 1

Méta-calendrier automatique pour portail www

Projet d’ingénierieMars 2002

Page 2: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 2

Plan

Situons le contexte ...

Compréhension du besoin

Analyse fonctionnelle

Solutions techniques proposées

Page 3: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 3

Situons le contexte ...

Page 4: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 4

Compréhension du besoin

• Ce projet couvre plusieurs aspects :

l’extraction des données le stockage des données le nettoyage des données la représentation visuelle des données le paramétrage de la collecte / l’administration

Page 5: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 5

Analyse fonctionnelle

Données HTML(source HTTP)

Grammaire(fichier .nf)

Ecrite aprèsanalyse ducode source :Analyse de lasémantique

Wrapper(programme

Java)

Résultats(Fichiers de sortie)

.txt .xml

<Calendrier><Evenements Date= ‘’01.01.02’’><EvenementType=’’Fest-noz’’ Lieu=’’Brélès’’Acteurs=’’Kael’’><\Evenement><\Evenements><\Calendrier>

n fichiers XML (format unifié)Stockage des

données

Nettoyage des données- Détection des doublons- Annulation des donnéesobsolètes

Formulaire de recherche

Requête

Portail Trad.org

Affichage des réponses

Résultat de la requête

Parseur(programme

Java)

Page 6: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 6

Solutions techniques retenues

Le format HTML est adapté :• à la présentation de documents• à la navigation entre les pages publiées sur le web

cependant… il n’offre pas :• une présentation structurée des données

BILAN :• les informations au format HTML sont difficiles à capturer par

des parsers grammaticaux ordinaires

La solution proposée : le WRAPPING

Page 7: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 7

Solutions techniques retenues

Choix du Wrapper : Araneus

il combine les avantages :• d’une approche déclarative, basée sur une grammaire, • et la flexibilité d’une programmation procédurale

cette particularité lui permet de traiter efficacement les hétérogénéités et les exceptions.

Il permettra de recueillir les données dans un fichier XML.

Page 8: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 8

Solutions techniques retenues

Présentation de l’outil par l’exemple

Format HTML Format XML

Page 9: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 9

Solutions techniques retenues

Écriture de la grammaire (fichier nf)

• HTML :<td width=4% nowrap><div align=center><b>Fest-deiz</b></div></td>

• Grammaire nf :<td[ ]width=4%[ ]nowrap><div[ ]align=center><b> $TypeEvt { out.print("<Evenement Type=\"" +

$TypeEvt + "\""); } </b></div></td>

• XML :

<Evenement Type="Fest-deiz"

En complément, consulter le tutorial fourni avec la documentation d’Araneus !

Page 10: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 10

Solutions techniques retenues

Extraction des données : les principales commandes

calendrier.nf

java mwg trads\NFFiles\calendrier.nf calendrier.java

Wrapper

calendrier.java

calendrier.xml

java calendrier S trads\html\capture.htm > calendrier.xml

Cette commande produit dans le répertoire courant un wrapper appelé calendrier.java à partir des spécifications décrites dans le fichier calendrier.nf

Cette commande wrappe le document source (fichier stocké localement ou URL), extrait les données et retourne le résultat dans un fichier XML.

Page 11: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 11

Solutions techniques retenuesCalendrier

Evenements

Lieu

Date

Acteur

Type

Evenement

Lieu

Acteur

Type

Evenement

Evenements

Lieu

Date

Acteur

Type

Evenement

Le wrapper génère en sortie un fichier xml, structuré, qui ne mélange pas l’information et la mise en forme du document.

La séparation du contenu et de la forme permet d’extraire facilement les informations du document par un simple parsing.

Page 12: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 12

Solutions techniques retenues

Le parsing

Le parseur, utilisé pour réaliser le parsing, est un programme capable de récupérer des informations contenues dans un fichier structuré, tel que XML.

Principe :– on donne l’appellation de la balise– on obtient en retour la valeur comprise entre cette balise ouvrante et sa

jumelle fermante

Les APIs jouent le rôle d’interface et permettent d’accéder facilement aux données contenues dans le document XML.

Page 13: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 13

Solutions techniques retenues

Le parsing

Page 14: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 14

Solutions techniques retenues

Le parsing : développement d’un parseur en Java

Le parseur développé utilise les APIs JAXP et DOM.

• La première partie du programme utilise l’API JAXP (Java API for XML Parsing) pour construire un arbre d’objets DOM.

• La seconde partie du programme permet de parcourir, nœud par nœud, l’arbre d’objets, afin de parser l’ensemble du fichier XML.

Page 15: Méta-calendrier automatique pour portail www

Isabelle Kervella - Mastère ISIC 15

Conclusion

Une solution au problème d’extraction ...

L’emploi :• d’un wrappeur pour traduire un document non structuré dans un format XML, • d’un parseur pour extraire l’information, constitue une solution à ce problème.

Ce projet couvre plusieurs aspects. Seule la première partie a été abordée.

La suite du travail ...• Concernant le stockage des données, deux solutions simples peuvent être

envisagées :

- la base de données XML

- la base de données MySQL