XML -- TP 7 : Outil eXist -- Correction


Méthodologie

Au cours de ce TP, nous utiliserons l'outil eXist afin de mettre en place un site web fondé sur une base de données XML. Cet outil nous permettra d'administrer la base de données en
  1. intégrant des documents XML,
  2. interrogeant la base données (Xquery),
  3. modifiant la base de données (XQuery Update),
  4. appliquant des feuilles de style aux documents produits (XSLT).
Cet outil propose une implémentation de XQuery, accompagnée de nombreuses fonctionnalités telles que plusieurs interfaces web. Développé en Java, il est également possible d'utiliser ses librairies dans des programmes Java.

Installation de l'outil

L'outil, s'il est installé dans son ensemble, prend environ 100 Mo. Vous devrez donc l'installer dans l'espace temporaire (/tmp). Commencez par télécharger l'archive Java de l'outil. Exécutez-la avec la commande : java -jar eXist-1.2.4-rev8072.jar. Pour lancer l'outil, exécutez, dans le répertoire eXist/bin, la commande startup.sh. Celle-ci démarre le serveur gérant la base de données. Elle lance également l'interface web, disponible à l'adresse suivante : http://localhost:8080/exist/.

Documentation

Une fois l'outil installé et le serveur web démarré, toute la documentation sur l'outil est accessible à l'adresse http://localhost:8080/exist/ (copie locale du site internet). En particulier les points suivants sont particulièrement intéressants :

Un premier site exemple

Dans les exercices suivants, nous utiliserons comme exemple un site très simple permettant la gestion d'une base de données de films, suivant le cadre du fichier films.xml. Afin de télécharger cet exemple, récupérez d'une part l'archive site.zip contenant les fichiers html nécessaires, et d'autre part l'archive BD.zip contenant les fichiers XQuery permettant de manipuler la base de données. Vous pouvez décompressez la première archive où vous le souhaitez. En revanche, la seconde archive contient des fichiers utilisés par l'outil eXist et doit être décompressée dans le dossier eXist/webapp/ correspondant à l'interface web de l'outil. En particulier, les modifications que vous ferez sur ces fichiers devront être sauvegardées ! (car ces fichiers vont se trouver dans /tmp)

Exercice 1 : Utilisation de eXist

Le but de cet exercice est de tester le site de gestion de la BD de films et d'étudier et comprendre sa structure. Pour chacune des fonctionnalités du site, testez-la et lisez le code sources des pages correspondantes. Vous expliquerez brièvement les liens (appels) entre les pages.

  1. Initialisation
  2. Affichage via XQuery
  3. Interrogation
  4. Application d'une transformation XSLT
  5. Mise à jour de la BD

Exercice 2 : Extensions

Nous considérons dans cet exercice un certain nombre d'extensions du site web présenté précédemment.