• Aucun résultat trouvé

Peu de travaux ont traité la problématique de publication de bases de données par l’exemple. Cer- tains travaux présentent des langages d’interrogations de bases de données par l’exemple et d’autres traitent la recherche de mots clés dans une base de données.

QBE [53] (Query By Example) est un langage de gestion des bases de données de haut niveau (interrogation, mise à jour, définition et contrôle d’une base de données). Le principe fondamental est d’éviter à l’utilisateur la maîtrise d’un langage de requêtes pour interroger une base de données, en se basant sur une image de la réponse que l’on veut obtenir. Toutefois, ce langage présente cer- taines limites en considérant notre problématique à savoir celle de la génération de programmes de publication de bases de données par l’exemple :

• QBE ne permet pas la génération de programme de publication ou de document dynamique. Le résultat obtenu est le résultat d’une requête SQL, présenté sous un format brut à savoir le

format tabulaire. Par ailleurs, QBE présente à l’utilisateur des tables squelettes, sur lesquelles il sélectionne les attributs en attribuant des valeurs (existantes dans la base ou pas), en précisant les prédicats et en formulant les jointures avec des valeurs égales pour les attributs associés au sein des relations.

• QBE est un langage simplifié par rapport à SQL, mais nécessite néanmoins un minimum de connaissance en terme de bases de données ainsi que du schéma de la base. En effet, c’est à l’utilisateur que revient la tâche de construire les jointures entre les différentes relations( connaître les clés primaires/étrangères associés)

Dans le même contexte, Microsoft Access [17] propose un module permettant la génération de requête d’interrogation de la base par l’assistant et un module pour la génération automatique d’états. En proposant des interfaces permettant le choix de tables et d’attributs, le premier module évite à l’utilisateur d’écrire en SQL les requête. Les opérations de jointure, sont implicites et invisibles à l’utilisateur. Le module de génération d’états permet d’éditer des états basés sur des données extraites de la base. Tous les résultats peuvent être exporter en plusieurs formats( mail, fichier texte, XML, Excel..). Toutefois, le système nécessite un minimum de connaissance quand aux notions associées à un schéma de donnée. En effet, pour l’exécution d’une requête contenant une opération de join- ture, l’utilisateur est contraint de choisir des relations qui ont des associations (et est donc censé les connaître), sinon, un message d’erreur s’affiche pour lui recommander de choisir les relations adé- quates. La solution que nous cherchons à proposer ferait abstraction totale de toutes les notions liées au schéma de la base ainsi qu’aux langages de programmation et ceux d’interrogation des bases de données et s’adresse aux utilisateurs non experts.

Par ailleurs, certains travaux émergents traitent l’extraction automatique d’informations publiques à partir de sites Web(wrappers), dans le but de les transformer sous forme de documents semi struc- turés afin de de les traiter plus facilement. Lixto [43] propose un framework permettant à l’utilisateur d’extraire des informations en se basant sur un programme (entrée de l’extracteur), qui peut être uti- lisé pour des extractions continues et automatiques sur des pages qui changent d’aspects ou de forme ou alors sur d’autres pages HTML ayant la même structure. Ce document pourrait être vue comme un document canonique dans notre cas, étant donné que la génération des résultats se base sur ce document exemple pour produire toutes les informations similaires. Lixto se base sur un langage dé- claratif basé sur la logique Elog [25]. Ce langage est complètement masqué à l’utilisateur, qui n’est pas censé être un expert en informatique. Ce framework est basé essentiellement sur la technologie java et d’autres standards tel que XSLT, SOAP et J2EE, mais qui restent invisibles à l’utilisateur qui n’est pas censé les maîtriser. Des interfaces lui permettent de sélectionner par des cliques souris les informations à extraire. Toutefois, l’objectif fondamentale dans Lixto est de pouvoir effectuer des synthèses, des rapports, des comparaisons sur des informations de même structure existants sur plu- sieurs pages Web et interroge des pages HTML qui peuvent être de sources différentes. Par ailleurs, le résultat de la phase d’extraction dans Lixto est un document XML, un traitement effectué sur ce document est nécessaire dans une phase ultérieure.

destiné aux utilisateurs non familiers avec les bases de données en faisant abstraction des langages d’interrogation des bases de données et même du schéma de la base. Baroque permet une navigation dans la base en se basant sur des requêtes simplifiées portant sur des informations de la base ( What is ?, what is the connection between ?, what is know about ?, Any other like ?). Les données de la base sont représentées sous forme de réseau d’items, exprimant les associations entre les différents relations. La constitution des résultats retournés (qui ne sont autres que les détails relatifs aux infor- mations recherchées) se base sur une navigation dans ces réseaux d’items. Toutefois, la méthode se base sur des valeurs de données en entrée,qui peuvent avoir des significations différentes. Le résultat retourné n’est donc toujours pas conforme au souhait de l’utilisateur. La problématique telle qu’elle a été énoncée dans le chapitre , cherche à construire une solution constituant le résultat à partir d’un document exemple qui est basé sur la navigation dans la base et qui aboutirait, sans ambiguïté, au résultat souhaité.