-
Notifications
You must be signed in to change notification settings - Fork 11
Installation de Synopx (doc détaillée)
Vous pouvez installer baseX en local ou sur un serveur distant (NB : pensez à lancer le serveur http, voir ici pour la commande exact : http://docs.basex.org/wiki/Startup#BaseX_HTTP_Server)
Pour bénéficier d'une connexion sur un serveur distant, des serveurs de production peuvent être installés, à la demande, à la très grande infrastructure HumaNum.
Première connexion sur le serveur où est installé baseX (basex4labo au CBP) et création d'une base de données
Comme représenté sur le schéma ci-dessous, nous pouvons utiliser plusieurs outils pour aller sur cette machine : oXygen (webdav), commandes bash (curl, ssh), fileZilla (protocole sftp/ssh).
Les commandes bash comme ssh ou curl, nous permettent de travailler directement sur le serveur distant : ces commandes peuvent donc être couplées avec l'utilisation d'un logiciel type fileZilla avec le protocole sftp/ssh en parallèle (pour envoyer les fichiers sur son espace perso, avant de lancer les commandes).
NB : télécharger Putty ou un autre client SSH et Curl
NB : pour les commandes REST, curl pas très pratique, très redondant, car on doit redonner l'url distante à chaque commande
L'utilisation d'oXygen, permettra de se connecter en webdav directement au serveur web (cf documentation plus bas).
Intégrer ici le schéma de Séverine.
- Avoir en tête l'organisation des fichiers :
-
Ouvrir un terminal
-
Dans le terminal local on va se connecter directement au serveur distant + créer la base de données avec un fichier XML qu'on a en local (-i = include [le http header in the output] / -x = request (c.a.d. qu'on déclare qu'on va travailler avec des http request methods (ici plus spécifiquement le protocole REST qui définit des http request methods qu'on utilise dans des uri) / PUT est une commande REST, qui ici nous permet d'envoyer le fichier xml sur la base distante par une URI; il est compris par curl grâce à la commande -x / -T = upload file) :
-
Créer une nouvelle base avec des données en curl:
(remarques : pour vérifier les bases présentes sur son serveur utiliser l'url suivante dans un navigateur : http://serveur.domaine.fr:8984/rest
. Pour vérifier les ressources présentes dans une base du serveur utiliser l'url suivante dans un navigateur : http://serveur.domaine.fr:8984/rest/nom_de_la_BDD
)
$ curl -i -X PUT -T "/home/login/file.xml" " admin:[email protected]:8984/rest/nom-de-la-base"
ou pour ajouter un lot de fichiers :
$ curl -i -X PUT -T "/home/login/files.zip" " admin:[email protected]:8984/rest/nom-de-la-base"
- Ajouter des données dans une base pré-existante:
$ curl -i -X POST -H "Content-Type:" -d "<command xmlns='http://basex.org/rest'><text>ADD /home/login/myProject.xml</text></command>" "login:[email protected]:8984/rest/myProject"
ou pour ajouter un lot de fichiers :
$ curl -i -X POST -H "Content-Type:" -d "<command xmlns='http://basex.org/rest'><text>ADD /home/login/myFiles.zip</text></command>" "login:[email protected]:8984/rest/myProject"
NB 1 : il faut donc penser à placer nos fichiers dans home/login (ex : home/cdupont) via SFTP avant de lancer cette commande.
NB 2 : les espaces étant signifiant dans les corpus XML, il faut spécifier au serveur basex l'option CHOP=FALSE lors de la création d'une base.
$ curl -i -X POST -H "Content-Type:" -d "<command xmlns='http://basex.org/rest'><text>CREATE DB dbname</text><option name='chop' value='false'/></command>" "login:[email protected]:8984/rest/myProject"
NB 3 : On peut de la même manière fixé les options (index full text, index attribute ...), voir la liste complète des options ici : http://docs.basex.org/wiki/Options
NB 4 : Pour vérifier les options sur un serveur, on peut utiliser la commande suivante : http://serveur.domaine.fr:8984?command=INFO%20DB
- On ouvre un terminal et on se connecte à au serveur dédié grâce à son login :
ssh login:[email protected]
- ou :
ssh [email protected]
- En vous connectant ainsi à BaseX, vous arrivez par défaut dans le dossier home/login (ex : home/dupond) il faut remonter de 2 répertoires (pour ensuite trouver ce chemin : /usr/local/basex/bin).
Voici un copie d'écran de l'organisation des fichiers :
-
On regarde où on est tombé :
pwd
/home/login
-
On tape donc le chemin :
cd /usr/local/basex/bin
-
Puis on liste le contenu pour vérifier que basexclient est bien dans les parages :
ls
Voici la copie d'écran de ce qu'on doit obtenir :
- Puis on ouvre basexclient :
./basexclient
- Puis on crée sa BDD :
CREATE DATABASE nomdelabase inputdelabase.xml
NB 1 : pour vérifier les bases présentes sur son serveur utiliser l'url suivante dans un navigateur : http://serveur.domaine.fr:8984/rest
NB 2 : pour vérifier les ressources présentes dans une base du serveur utiliser l'url suivante dans un navigateur : http://serveur.domaine.fr:8984/rest/nom_de_la_BDD
NB 3 : il faut donc penser à placer le fichier de base de données XML (monfichier.xml) dans home/login (ex : home/cdupont) via FTP avant de lancer cette commande.
NB 4 : tous les fichiers restxq de synopsx se trouve désormais dans webapp (et plus dans webapp et repo)???
SynopsX est sur Github : https://github.com/ahn-ens-lyon/synopsx. Vous pourrez donc récupérer l'entrepôt des dossiers/fichiers de SynopsX (NB : si ce n'est pas déjà le cas le module synopsX est à placer dans usr/local/ à côté de basex) :
Soit avec Git sur l'application distante :
(ça, c'est déjà installé sur les serveurs pour basex du CBP) On peut donc vérifier et effectuer les mises à jour directement via commandes ssh dans un terminal (sudo [pour dire qu'on est admin root] et git pull / git status). Par exemple, quand on est dans /usr/local/synopsx :
$ sudo git status
$ sudo git pull
soit en utilisant Egit (Github for Eclipse - documentation?)
soit en utilisant l'application Github
Github pour les PC:
-
Télécharger : https://windows.github.com/
-
Doc pour l'install' : https://windows.github.com/help.html
Github pour les Mac:
-
Télécharger : https://mac.github.com/
-
Doc pour l'install' : https://mac.github.com/help.html
Si on choisit cette 3ème option : on peut récupérer l'entrepôt en cliquant (directement dans l'espace github de synopsX) sur "Clone in Desktop".
- Une boite de dialogue s'ouvre la première fois :
- Sélectionner Gihub et cliquer sur OK.
- Votre mot de passe pour une connexion ssh va vous être demandé plusieurs fois.
- On va vous demander de choisir en local l'emplacement où ranger l'entrepôt de dossiers/fichiers de SynopsX, par exemple :
- On peut vérfier le nombre de dépôts auxquels on a accès via "Repositories" :
- Il ne vous reste plus qu'à aller chercher cet ensemble de dossiers et de fichier et de les envoyer sur le serveur via FTP, dans usr/local/synopsx.
ln -s /usr/local/synopsx/webapp /usr/local/basex/webapp
Question : où met-on les fichiers restxq? dans /usr/local/basex/webapp? ou dans /usr/local/synopsx/webapp? question des bonnes pratiques sur les modif de fichiers sources de synopsx
Dans votre navigateur internet, aller faire un tour sur votre installation :
http://nomserveur.domaine.fr:8984/
- Voici ce que vous devriez obtenir :
Pour modifier ses fichiers de base de données (les fichiers XML) tout en restant connecté à sa base de données, le plus simple est d'utiliser Oxygen. Ainsi, inutile de recréer la base de données à chaque modification de fichier.
Ouvrir Oxygen
-
Aller dans Fenêtre > Afficher la vue > Explorateur de Sources de Données
-
La fenêtre de dialogue s'ouvre alors à gauche de l'application :
-
Clic droit sur "Connexion" + choisir "Configurer les sources de données" :
-
Selectionner "WebDAV FTP WebDAV (S)FTP" dans la nouvelle boite de dialogue :
-
Ensuite, dans la zone "Connexions", ajouter une nouvelle "connexion" (cliquer sur +).
-
Une boite de dialogue s'ouvre. Renseigner alors les champs pour permettre la connexion (en pensant à sélectionner WebDAV comme "source de données" :
-
La connexion est alors établie avec le serveur : vous ne pouvez modifier en direct que les fichiers de "bases de données" : les fichiers XML.
Les fichiers .xqm eux sont à modifier en local et à renvoyer via ftp (avec filezilla par exemple).