Installation

Prérequis

  • Système d’exploitation linux ou mac OS
  • Java 8+
  • BaseX 9.2+

Recommandations architecture

/!\ Cette version de la documentation est prévue pour la VERSION MaX-v1.0.2 /!\

Les dernières instances portant la mention rc sont encore en phase de test.

Pour chaque projet, l’éditeur aura besoin :

  • d'une application BaseX (.zip) en version 9.6 pouvant être téléchargée ici,
  • d’une instance de MaX (.zip), dont il faut télécharger la version packagée MaX-v1.0.2 (et pas celles d'après !) sur cette page.

télécharger max

  • d’autant d’éditions que de corpus à traiter différemment du point de vue graphique (sommaire, logos, pages statiques, options d’affichage, etc.).

L’organisation recommandée est donc la suivante :

Un dossier [projet] va contenir :

  • un dossier BaseX : nommé [projet-]BaseX,
  • un dossier MaX : nommé [projet-]MaX,
  • un dossier pour les éditions : nommé [projet-]editions.

Exemple

graph LR; classDef default color:#274868, fill:#fff, stroke:#274868; projet-->A projet-->B projet-->C projet["projet"] A["projet-BaseX"] B["projet-MaX"] C["projet-editions"]

Les dossiers seront liés les uns aux autres au moyen de liens symboliques*.

graph LR; classDef default color:#274868, fill:#fff, stroke:#274868; projet-->A projet-->B projet-->C A-.->B B-.->C projet["projet"] A["projet-BaseX"] B["projet-MaX"] C["projet-editions"]

liens symboliques

Les dossiers [projet-]BaseX et [projet-]MaX sont finalement communs à l’ensemble des projets développés sur MaX. Après l’installation, seuls les éléments du [projet-]editions devront être modifiés.

Procédure

1) En ligne de commande, se placer dans le dossier [projet]

cd le/chemin/vers/mon/projet

2) Dézipper l’application BaseX (après avoir placé l’archive .zip dans le dossier [projet]):

unzip basex[XX].zip

3) Renommer l’application BaseX

mv basex [projet]-BaseX

4) Télécharger le code source de MaX et le dézipper dans votre dossier [projet].

5) Se placer dans le dossier [projet] et renommer le dossier MaX en [projet-]MaX

mv MaX [projet]-MaX

6) Initialiser MaX et installer des dépendances*

En ligne de commande se placer dans le dossier tools de [projet-]MaX. Puis saisir la commande ./max.sh -i. Ce qui donne :

cd [projet-]MaX/tools
./max.sh -i

=> Si le message suivant s’affiche Please install BaseX or set $BASEX_PATH environment variable, il faut alors indiquer le chemin vers le dossier contenant l’application BaseX au moyen de la commande suivante :

export BASEX_PATH=../../[projet-]BaseX

=> Si vous êtes derrière un proxy, vous devez configurer l'accès via ce proxy. Vous pouvez le faire à partir d'un terminal, avec les commandes suivantes :

export HTTP_PROXY=http://votre_proxy_ip:son_numero_port
export HTTPS_PROXY=http://votre_proxy_ip:son_numero_port


Nota bene :
Le terminal est sensible aux majuscules : si vous avez renommé le dossier [projet]-basex sans majuscule à basex, attention à ne pas en mettre lorsque vous tapez [projet-]basex dans la commande export BASEX_PATH.


Ensuite refaire ./max.sh -i.

7) Créer un lien symbolique depuis le dossier webapp de BaseX ([projet-]BaseX) pointant vers MaX ([projet-]MaX)

cd ../../[projet-]BaseX/webapp
ln -s ../../[projet-]MaX MaX

En faisant un ls -l vous pouvez vérifier que votre lien symbolique a bien été créé :

lrwxr-xr-x   1 anne  staff     9 11 mar 15:57 max -> ../../MaX

8) Lancer le serveur HTTP de BaseX

cd ../bin
./basexhttp &

S’il est nécessaire de configurer les ports de manière spécifique pour le projet, faire les étapes suivantes :

9) Arrêter le serveur HTTP de BaseX s’il est déjà lancé

./basexhttpstop

10) Modifier des ports START et STOP dans le fichier caché .basex (qui se trouve à la racine du dossier [projet-]BaseX)

  • l. 13 et 14 : changer le port START (par défaut 1984 ; par exemple 17000),
  • l. 38 : changer le port STOP (par défaut 8985 ; par exemple 17001)

11) Modifier le port dans le fichier jetty.xml qui se trouve dans le dossier webapp > WEB-INF > jetty.xml.

  • l. 13 : changer le contenu de l’élément <Set name="port">8984</Set> (par exemple 17002)

12) Relancer le serveur http de BaseX

./basexhttp &