Méta-calendrier automatique pour portail www Projet d’ingénierie Mars 2002 Isabelle Kervella - Mastère ISIC 1 Plan Situons le contexte ... Compréhension du besoin Analyse fonctionnelle Solutions techniques proposées Isabelle Kervella - Mastère ISIC 2 Situons le contexte ... Isabelle Kervella - Mastère ISIC 3 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 Isabelle Kervella - Mastère ISIC 4 Analyse fonctionnelle Données HTML (source HTTP) Wrapper Grammaire (fichier .nf) (programme Java) Ecrite après analyse du code source : Analyse de la sémantique Résultats (Fichiers de sortie) .txt Nettoyage des données - Détection des doublons - Annulation des données obsolètes <Calendrier> <Evenements Date= ‘’01.01.02’’> <Evenement Type=’’Fest-noz’’ Lieu=’’Brélès’’ Acteurs=’’Kael’’> <\Evenement> <\Evenements> <\Calendrier> Stockage des données Requête Formulaire de reche rche .xml Parseur (programme Java) n fichiers XML (format unifié) Résultat de l a requête Affichage des réponses Portail Trad.org Isabelle Kervella - Mastère ISIC 5 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 Isabelle Kervella - Mastère ISIC 6 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. Isabelle Kervella - Mastère ISIC 7 Solutions techniques retenues Présentation de l’outil par l’exemple Format HTML Format XML Isabelle Kervella - Mastère ISIC 8 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 ! Isabelle Kervella - Mastère ISIC 9 Solutions techniques retenues Extraction des données : les principales commandes calendrier.nf Cette commande produit dans le répertoire courant un wrapper appelé calendrier.java à partir des spécifications décrites dans le fichier calendrier.nf java mwg trads\NFFiles\calendrier.nf calendrier.java Wrapper calendrier.java java calendrier S trads\html\capture.htm > calendrier.xml calendrier.xml Cette commande wrappe le document source (fichier stocké localement ou URL), extrait les données et retourne le résultat dans un fichier XML. Isabelle Kervella - Mastère ISIC 10 Solutions techniques retenues Calendrier Evenements Date Evenement Type Lieu Acteur Evenement Type Lieu Acteur 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. Evenements Date Evenement Type Lieu Acteur Isabelle Kervella - Mastère ISIC 11 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. Isabelle Kervella - Mastère ISIC 12 Solutions techniques retenues Le parsing Isabelle Kervella - Mastère ISIC 13 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. Isabelle Kervella - Mastère ISIC 14 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 Isabelle Kervella - Mastère ISIC 15