Travail dirigé de Martin Sévigny, ©1996 | Section précédente | Section suivante | Page d'accueil | |
Tout logiciel d'interrogation de bases de données propose un environnement de recherche, c'est-à-dire un ensemble d'éléments d'interface et de fonctionnalités qui permettent à l'usager d'exprimer ses besoins dinformation. Le logiciel conçu dans le cadre de ce projet de recherche ne fait pas exception à la règle. Toutefois, il s'agit de la partie du logiciel qui dépend le moins des caractéristiques des bases de documents structurés.
Nous avons conçu cet environnement de recherche afin qu'il permette à tout usager d'effectuer ces tâches:
La plupart des éléments d'interface retenus étant semblables à ce que l'on retrouve dans plusieurs logiciels d'interrogation, nous allons les décrire ici de façon sommaire, pour nous concentrer sur certains points forts de l'interface et certaines particularités.
Les deux modes d'interrogation d'une base de données les plus utilisés sont sûrement le mode commande et le mode bordereau. Habituellement, les bordereaux ne sont qu'une façon d'éviter à l'usager de saisir les commandes au complet, et surtout de les mémoriser. C'est pourquoi on retrouve également l'expression "mode expert" pour le mode commande.
Nous avons décidé d'unifier ces deux concepts, puisque de toute façon le mode commande est un bordereau simplifié, possédant un seul champ où l'usager doit entrer une requête selon la syntaxe exacte du langage de commande du logiciel. Ainsi, dans ERIS, la seule façon d'effectuer des requêtes est le mode bordereau.
Linterface présente pour linstant trois bordereaux de recherche. Ces trois bordereaux sont présents afin de refléter les possibilités de recherche à court et moyen terme du prototype. En effet, on retrouve un bordereau "commande" afin que l'usager puisse entrer sa requête directement dans le langage d'interrogation complet qui, comme le modèle de repérage, est encore en élaboration. Il y a aussi un bordereau général, composé uniquement de quatre rangées de quatre champs. À moyen terme, il s'agit des requêtes les plus complexes qui seront acceptées par le moteur de recherche, ce qu'il ne peut faire pour l'instant toutefois.
Finalement, il y a aussi le bordereau "simple", qui lui peut être utilisé en recherche; il sera décrit un peu plus loin, tout juste après une description des fonctionnalités communes à tous les bordereaux. Les deux autres bordereaux ne seront pas discutés plus profondément, puisque leur usage n'est pas encore possible.
Tous les bordereaux sont accessibles par le menu "Recherche". Si l'usager demande un bordereau, tout autre bordereau ouvert sera immédiatement fermé et la requête correspondante supprimée.
Les bordereaux se présentent dans une fenêtre (voir par exemple la Figure 13: fenêtre présentant le bordereau de recherche simple, page 167), qui comprend trois panneaux situés l'un au-dessus de l'autre; ces panneaux contiennent (de haut en bas) les informations sur la requête, les champs de saisie de la requête, puis des boutons de commande pour démarrer les opérations. Le premier et le troisième panneau sont communs à tous les bordereaux, alors que le deuxième (les champs de saisie) sera bien sûr différent d'un bordereau à l'autre.
Ces parties communes des bordereaux permettent de présenter à l'usager un environnement de saisie des requêtes uniforme. Ainsi, il saura que peu importe le type de recherche qu'il veut effectuer ou la façon dont il veut les effectuer, il pourra déclencher les mêmes actions et avoir les mêmes informations. Nous croyons que cette approche permet d'atteindre un haut degré de cohérence dans l'interface, à peu de coût.
Le panneau d'information sur la requête doit sa présence à l'éventuelle complexité des requêtes (et donc des bordereaux) que rendra possible le modèle d'interrogation. Ainsi, chaque requête aura un numéro, un nom et une description.
Le numéro sera fixé par le logiciel, qui les attribuera en partant du numéro un et en augmentant de un à chaque requête valide. Les requêtes supprimées ne verront pas leurs numéros réutilisés, afin d'éviter la confusion.
Le nom de la requête est une courte chaîne de caractères (maximum 20) permettant d'identifier la requête de façon plus intuitive qu'un numéro. Le modèle de recherche permettra de reprendre ces noms dans des requêtes subséquentes, tout comme les numéros d'ailleurs. Toutefois, afin d'éviter une surcharge de saisie pour l'utilisateur, un nom est automatiquement généré par le logiciel au début de chaque nouvelle requête. Ce nom est constitué par la concaténation du nom du bordereau, d'une espace puis du numéro de la requête; par exemple "Simple 1". Bien entendu, l'usager peut modifier ce nom, autant pendant la saisie de la requête que par la fenêtre de l'historique (voir la section sur lhistorique des recherches, page 68). Si lusager choisit un nom déjà utilisé, il serait intéressant que le prototype lui demande sil veut ainsi modifier une ancienne requête ou encore réellement en créer un nouvelle. Pour linstant, cette fonction ne fait pas partie d'ERIS.
Le troisième élément d'information présent dans le premier panneau est la description en texte libre de la requête. Cette description est bien sûr facultative et aucune description par défaut n'est proposée par le logiciel. Nous avons ajouté cet élément d'information afin de permettre à l'usager de bien identifier ses requêtes. Ceci prend encore plus d'importance dans un environnement qui permet la sauvegarde des requêtes (ou de l'historique). Lorsque l'usager revient quelques jours après avoir effectué la requête, une description plus détaillée lui permet de mieux se rappeler sa séance d'interrogation. Cette possibilité de sauvegarder les stratégies de recherche n'est pas permise présentement par le logiciel, mais cet élément d'interface pourra tout de même s'avérer utile pour se rappeler la signification des requêtes complexes effectuées quelques minutes auparavant.
Le troisième panneau présente six boutons de commande qui permettent dactiver autant de fonctions. On y retrouve bien sûr un bouton d'aide présentement désactivé puisque l'aide en ligne n'est pas disponible. Ensuite, le bouton "Annuler" permet à l'usager d'arrêter la saisie de sa requête et d'empêcher son stockage. Le bouton "Exécuter" permet bien sûr de démarrer le moteur de recherche et de présenter ensuite les résultats, si la requête est valide.
Ensuite le bouton "Guide sommaire" permet d'activer la fenêtre qui présente le guide sommaire de la structure, donnant ainsi des pistes à l'usager pour l'aider à composer une requête sensée du point de vue de la structure. Le bouton "Index" permet d'afficher un des index de la base que l'usager devra choisir. Finalement, le bouton "Historique" active la fenêtre de l'historique des commandes.
La présence des deux panneaux communs sur tous les bordereaux augmente la cohérence de l'interface. Cette qualité n'est pas directement liée à la recherche dans les documents structurés, mais elle est peut-être encore plus importante dans un tel contexte étant donné la complexité des requêtes qu'il est possible d'effectuer.
Le bordereau simple (voir Figure 13: fenêtre présentant le bordereau de recherche simple, page 167) présente un panneau de saisie de requête très sommaire, mais qui est suffisant pour exprimer toutes les requêtes possibles du moteur de recherche tel qu'il est implanté présentement. Quatre champs principaux sont présentés à l'auteur:
Rechercher:
Une liste déroulante permet à l'usager de choisir un identificateur générique qui servira de conteneur pour la recherche des mots saisis dans les champs suivants. Un conteneur est défini comme l'ensemble constitué d'un élément et de tous les éléments qu'il contient, jusqu'en bas de la hiérarchie. Par exemple, si on choisit l'identificateur générique SECT comme conteneur, la recherche s'effectuera dans tous les éléments SECT et tous les éléments qu'ils contiennent. Si on trouve l'expression désirée dans un conteneur SECT, celui-ci deviendra un élément de l'ensemble de résultat.
Contenant: (premier mot)
Premier terme (mot simple) de la requête de recherche textuelle. Il pourra être relié au deuxième par un opérateur.
Contenant: (deuxième mot)
Deuxième terme (mot simple) de la requête de recherche textuelle. Il pourra être relié au premier par un opérateur.
Opérateur
Opérateur booléen ou de proximité, tel que défini dans le langage sommaire. Il s'agit donc de ET, OU, SAUF, MMO ou MNQ.
Les opérateurs ET, OU et SAUF sont faciles à interpréter pour tous. Quant aux opérateurs MMO et MNQ, il signifient tout simplement "mots même ordre" et "mots nimporte quel ordre" respectivement. Ils sont destinés à être précédés dun nombre entier, ce qui leur confère une signification dopérateur de proximité. Le nombre exprime la distance maximale qui peut exister entre les deux mots pour constituer un résultat. Ainsi, pour obtenir l'adjacence stricte (deux mots qui se suivent), il faut utiliser "1MMO". Bien entendu, le laconisme de ces termes ne facilite pas la vie des usagers, mais ils constituent une solution temporaire en attendant le langage de recherche.
Si l'usager choisit un des deux opérateurs de proximité (MMO ou MNQ), un autre champ apparaîtra à la droite du panneau, afin de lui permettre d'entrer le nombre de mots à considérer pour la proximité.
Ces champs permettent à l'usager d'entrer sa requête sans restrictions, tout en lui évitant d'entrer directement les identificateurs génériques ou noms d'attribut et ainsi risquer de faire des erreurs. Bien entendu, la touche de tabulation permet de passer rapidement d'un champ à l'autre, permettant ainsi d'entrer l'information sans utiliser le dispositif de pointage.
L'historique des recherches est présenté dans une fenêtre (voir Figure 14: fenêtre de l'historique des recherches, page 167) qui se veut un point de référence important dans l'ensemble du logiciel. En effet, autant, en navigation hypertextuelle, il est important d'avoir accès à l'historique des noeuds visités de façon à retourner directement à un noeud préalablement visité, autant, en recherche, il est important de connaître ce qu'on a déjà fait de façon à pouvoir le réutiliser.
La fenêtre de l'historique est donc accessible non seulement du menu "Recherche" mais aussi de tous les bordereaux. Sa dimension (largeur importante mais hauteur modérée) fait en sorte qu'elle peut très bien demeurer constamment visible à l'écran, dans le bas de l'écran par exemple. Nous croyons que son importance amènera les usagers à l'utiliser de la sorte.
Avec l'historique des recherches, nous voulons que l'usager puisse gérer sa session de recherche à partir d'un seul endroit. C'est pourquoi nous avons prévu les tâches suivantes associées à cette fenêtre:
L'élément d'interface important de la fenêtre de l'historique est une grille dont chaque rangée constitue une requête. Les colonnes de la grille informent l'usager sur le numéro de la requête, son nom et sa description, l'heure où elle fut saisie, le type de bordereau utilisé de même que le nombre de résultats obtenus.
La principale information qui manque à cette grille semble être la requête elle-même. Nous avons décidé de ne pas l'inclure car il faudrait pour cela traduire les informations saisies dans un bordereau dans le langage de commande, et présenter ce langage dans une colonne de la grille. Cette traduction doit se faire de toute façon pour effectuer la recherche, mais il n'est pas certain que l'usager soit assez familier avec le langage pour bien comprendre la signification d'un bordereau traduit en langage de recherche.
Ainsi, le nom et la description des requêtes devraient être suffisants pour permettre à l'usager de savoir de quelle requête il s'agit. D'ailleurs, il s'agit d'une des raisons importantes de la présence de ces éléments d'information associés à chaque requête. De plus, l'usager peut toujours retourner au bordereau avec une fonction qui sera décrite dans la section suivante.
L'usager peut effectuer quatre opérations majeures à l'aide de la fenêtre de l'historique, soit modifier les informations sur une requête, modifier une requête, voir les résultats d'une recherche ou bien supprimer une requête de recherche de l'historique.
La modification des informations sur une requête peut se faire directement dans la grille, en éditant les cellules appropriées. Seuls les champs "Nom" et "Description" peuvent être modifiés de la sorte. Cette façon de procéder est très intéressante pour l'usager qui réalise, à un moment où plusieurs requêtes furent saisies, qu'il pourrait finir par oublier à quoi elles ont servi. Il pourra mettre des commentaires dans la description ou encore modifier le nom.
La suppression d'une requête est effectuée à l'aide du bouton de commande "Supprimer la requête". Si l'usager active ce bouton, on lui demandera d'abord de confirmer son action puis on supprimera la requête présentement sélectionnée. Cette suppression est définitive, l'usager ne pourra la récupérer par la suite.
La modification d'une requête se fait simplement en activant le bouton de commande "Modifier la requête". L'historique contient toutes les informations nécessaires et le même bordereau qui a servi à la création de la requête sera ouvert, avec un nouveau numéro d'identification de requête; toutes les autres informations saisies préalablement seront présentes. L'usager pourra alors modifier la requête de la même façon qu'il l'a composée.
Il est important de noter que cette façon de fonctionner ne permet pas à l'usager de modifier une requête avec un bordereau différent de celui utilisé pour la création. Ceci demanderait des critères d'équivalence entre les champs de bordereaux différents et le logiciel n'est pas adapté à ce besoin. Cela pourrait constituer une amélioration pour l'avenir.
Finalement, la dernière opération possible avec la fenêtre de l'historique est la consultation des résultats associés à une recherche. On peut y parvenir simplement en activant le bouton de commande "Voir les résultats" et ceci permet d'afficher les résultats de la requête présentement sélectionnée, en activant la fenêtre de présentation des résultats.
Le moteur de recherche associé à tout environnement de recherche d'information dépend bien entendu du langage d'interrogation utilisé. Il doit être capable d'interpréter correctement les commandes formulées dans ce langage et retourner les résultats appropriés. Dans notre cas, le langage dépend du modèle de recherche et n'est donc pas encore totalement élaboré.
ERIS comprend toutefois un moteur de recherche, qui permet seulement d'effectuer correctement les recherches permises par le bordereau simple décrit précédemment. Pour y arriver, il utilise l'index (fichier inversé) créé lors des étapes préliminaires et stocké dans la base de données. De plus, pour tenir compte de la structure (c'est-à-dire de l'identificateur générique précisé dans la requête), il utilise une particularité de la base, à savoir que tous les noeuds (éléments) contenus à l'intérieur d'un même élément possèdent des numéros d'identification consécutifs. L'étendue de tout élément peut donc être caractérisée par deux identificateurs de noeuds, soit celui de l'élément lui-même (pour marquer le début) et celui du dernier élément qu'il contient (pour marquer la fin). Ce dernier numéro est inscrit dans la base de données, et ce pour chaque élément. Il est ainsi facile de savoir si un mot se retrouve à quelque part à l'intérieur d'un élément à l'aide du fichier inversé.
Travail dirigé de Martin Sévigny, ©1996 | Section précédente | Section suivante | Page d'accueil | |