SATO / Guide d'installation et de gestion de SATO (version 4.5)

Auteur : François Daoust (Dernière mise à jour : 2021/01/21)


SATO est accessible gratuitement sur un serveur de recherche à l'Université du Québec à Montréal, http://sato.ato.uqam.ca, et possiblement dans des sites alternatifs. Normalement donc, un utilisateur n'a pas besoin d'installer le logiciel. Il lui suffit de s'ouvrir un compte sur le serveur. C'est gratuit.

Il est possible cependant qu'un utilisateur avancé veuille l'installer sur son poste local pour l'utiliser sans accéder à l'Internet et pour y apporter des modifications locales s'il le juge à propos. Ce petit guide indique comment procéder à l'installation de SATO-HTML en mode local, c'est-à-dire sur son propre ordinateur. La procédure illustrée est basée sur un système d'exploitation Linux. L'installation sur un serveur distant ou sur un autre système d'exploitation suit une procédure semblable si on utilise un serveur Web Apache.



Table des matières



Principes de fonctionnement de SATO-HTML

SATO en mode HTML fonctionne en utilisant les principes et les protocoles standards de la diffusion Web. L'utilisateur accède donc au programme SATO au moyen d'un navigateur Web qui enverra des requêtes à un serveur Web tournant sur un ordinateur distant ou local. Comme mentionné en introduction, ce guide explique l'installation de SATO sur un ordinateur personnel sur lequel se trouvent à la fois le navigateur Web, le serveur Web répondant aux requêtes du navigateur Web, et le logiciel SATO lui-même.

La procédure d'installation que nous documentons ici utilise une version pré-compilée de SATO pour une livraison de Linux issue de la source Debian avec processeurs de type Intel ou AMD en mode 64 bits. En fait, il est aussi possible de compiler SATO pour d'autres systèmes d'exploitation et types de processeurs. La procédure de configuration du serveur peut aussi être adaptée à un autre serveur Web que la variante d'Apache pour Debian. Rappelons finalement qu'il est possible d'installer Linux sur un PC-Windows ou sur un Mac tout en gardant le système d'exploitation d'origine. La documentation de cette installation se retrouve facilement sur le Web et ne sera abordée dans ce guide.

L'installation de SATO-HTML requiert la présence d'un serveur de requêtes WEB de même qu'un interpréteur Perl. Sous Linux, Perl est pré-installé. Dans les sections qui suivent, on indique comment installer les fichiers de SATO, le serveur Web et des modules Perl supplémentaires. Par la suite, on présente les divers fichiers de configuration de SATO.


Installation d'un serveur Web

SATO peut fonctionner avec tout serveur de pages Web supportant le protocole CGI standard (Common Gateway Interface). SATO utilise aussi des témoins (cookie) pour empêcher qu'une session active puisse être dérobée par un autre internaute. Pour une utilisation locale sur ordinateur personnel, on peut inhiber ce dispositif. Voir Fichier de configuration de la passerelle.

Le gestionnaire du serveur Web, ou l'usager individuel qui désire effectuer une installation locale sur son poste de travail, pourra choisir le serveur de son choix. Mais, pour faciliter la chose pour l'utilisateur novice, nous donnerons ici des indications sur l'installation et la configuration du serveur Apache qui est gratuit, robuste et largement distribué. (http://httpd.apache.org/).

Apache2 fait partie de la banque de logiciels distribuée par la plupart des distributions Linux. Dans le cas des distributions Desktop de Linux, Apache2 n'est pas pré-installé, mais il est facile de l'ajouter. On peut utiliser l'interface visuelle d'installation de programmes ou utiliser une commande dans un terminal. La commande est la suivante.

sudo apt-get install apache2

Après l'installation par défaut d'Apache, on pourra vérifier que le serveur est en fonction en tapant l'adresse suivante dans son navigateur Web : http://localhost.

On devrait alors obtenir une page par défaut. Dans le cas des distributions Linux de la famille Debian et Ubuntu, on aura une page de documentation expliquant la structure des fichiers de configuration d'Apache.

Pour fonctionner au moyen de son interface Web, Sato nécessite l'activation du module CGI mod_cgid (ou mod_cgi). Dans la configuration d'Apache d'une distribution de la famille Debian, on active le module de la façon suivante.

sudo a2enmode satocgid.load
sudo systemctl reload apache2

Pour faciliter cette configuration en suivant le modèle Debian, la distribution de SATO contient un fichier de configuration permettant de d'accéder à SATO en tant qu'hôte virtuel. Dans notre modèle d'installation locale, l'hôte virtuel sato permettra d'accéder à SATO à partir d'un nom de domaine local sans interférer avec d'autres installations servies par le serveur. Ce nom local sera ajouté au fichier /etc/hosts au moyen d'un éditeur. Dans l'exemple qui suit on appelle, dans une fenêtre terminal, l'éditeur pico avec sudo pour être en mode administrateur.

sudo pico /etc/hosts

L'éditeur va afficher le contenu du fichier où on verra la ligne

127.0.0.1	localhost

On ajoute la ligne suivante après la ligne localhost

127.0.0.1	sato

En écrit le fichier et on sort en exécutant les commandes appropriés affichées en bas de la fenêtre de pico.

Chaque hôte virtuel est défini par un fichier de configuration indépendant qu'on retrouve dans le répertoire /etc/apache2/sites-available/. C'est là que l'on va copier le fichier de configuration /opt/sato/sato.conf. On activera le fichier de configuration au moyen de la commande a2ensite et on redémarrera Apache par systemctl reload apache2, toutes ces commandes étant exécutées dans une fenêtre terminal :

sudo cp /opt/sato/sato.conf /etc/apache2/sites-available
sudo a2ensite sato
sudo systemctl reload apache2
Avec l'ajout dans /etc/hosts du nom sato pointant sur l'adresse 127.0.0.1, qui désigne l'ordinateur local, Apache sera à même de reconnaitre l'appel standard http://sato comme un appel à SATO sur l'ordinateur local. Il est à noter que dans la configuration proposée, il sera aussi possible d'appeler d'atteindre SATO depuis un autre poste sur le réseau local en autant que l'on utilise l'adresse du site sato sur le réseau dans la configuration du fichier /etc/hosts sur les autres ordinateurs du réseau. Exemple : « 192.168.194.4 sato »

Il est aussi possible de modifier le fichier de configuration de l'hôte virtuel pour qu'il ne soit accessible que par l'ordinateur sur lequel est installé SATO (ex. Require ip 127.0.0.1)


Installation de SATO

La procédure d'installation de SATO-HTML est assez simple. L'ensemble des fichiers est compressé dans un fichier satoxxx.zipxxx correspond à la version de SATO. On installe SATO en décompressant le fichier zip dans le répertoire /opt de Linux, ce qui va créer le sous répertoire sato. Les fichiers de configuration installés assume que l'on a suivi ce modèle standard, même s'il est possible de procéder autrement en modifiant les fichiers de configuration proposés. Il sera sans doute nécessaire d'ajuster les permissions du répertoire sato et de tout ce qu'il contient. On devrait d'abord modifier le groupe d'appartenance de SATO pour www-data, qui est le groupe d'Apache sous Debian. Il faut aussi donner à ce groupe les droits d'écriture sur le répertoire sato et son contenu. Il peut être utile aussi que l'installateur se définisse comme propriétaire (appelons-le moi dans l'exemple) afin de pouvoir modifier librement le contenu du répertoire.

sudo chgrp -R www-data /opt/sato
sudo chmod -R g+w /opt/sato
sudo chown -R moi /opt/sato

Voici un bref descriptif de la structure du répertoire /opt/sato.


Installation de Perl

Le langage Perl est développé par Larry Wall. Il est très largement utilisé dans le contexte des applications WEB. Aussi, plusieurs utilitaires utilisés par l'interface SATO-HTML sont écrits en Perl. Comme Perl est déjà installé dans les distributions de Linux, il suffit de compléter la configuration en installant certains modules Perl utilisés par SATO qui ne sont peut-être pas partie du Linux installé.

Certains modules s'installent par apt-get, soit par l'interface visuel de Linux ou par un appel direct dans une fenêtre terminal, ce que nous illustrons dans les lignes suivantes.

sudo apt-get install libxslt1-dev
sudo apt-get install libxml2-dev
sudo apt-get install libxml-libxslt-perl

Les autres modules s'installent à partir du Comprehensive Perl Archive Network (CPAN) au moyen d'un programme disponible sous Linux que l'on démarre dans une fenêtre de terminal.

sudo cpan App::cpanminus
sudo cpanm CGI::Simple::Standard
sudo cpanm Math::Cephes
sudo cpan Math::BigFloat
sudo cpan Text::Wrap
sudo cpan Unicode::Collate
sudo cpan XML::LibXML::Reader
sudo cpanm XML::Twig

Comme une mauvaise installation de Perl risque d'empêcher le bon fonctionnement de SATO, on a ajouté un appel à Perl qui vérifie l'installation des modules à chaque ouverture de session. Donc, si, après l'ouverture d'une session SATO en mode intégral, on voit apparaître des diagnostics d'erreurs dans la fenêtre inférieure de l'écran, c'est qu'il y a un problème d'installation.


Installation facultative de TreeTagger et Flem

L'interface HTML de SATO permet d'appeler des analyseurs linguistiques externes. On trouve ces appels dans la partie Tâches/Catégorisation grammaticale de l'interface. Dans son état actuel, l'interface de SATO permet l'accès à deux analyseurs externes : TreeTagger et Flemm. Les procédures de SATO assument que ces logiciels seront installés les répertoires /opt/treetagger et /opt/flemm respectivement.

TreeTagger est un étiqueteur probabiliste de catégories grammaticales en contexte développé par Achim Stein à l'Institut de linguistique computationnelle de l'Université de Stuttgart. Il faut télécharger le logiciel sur le site de son auteur : https://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/. Les fichiers à télécharger sont les suivants:

cd ~/Téléchargements
sudo mkdir /opt/treetagger
sudo tar xzvf tree-tagger-linux-3.2.3.tar.gz  -C /opt/treetagger
sudo mkdir /opt/treetagger/lib
sudo mv *.par.gz /opt/treetagger/lib
cd /opt/treetagger/lib
sudo gunzip english.par.gz
sudo gunzip french.par.gz
sudo gunzip italian.par.gz
sudo gunzip spanish.par.gz

Flemm est un analyseur morphologique développé à l'Université de Nancy par Fiammetta Namer. On peut le télécharger à l'adresse https://sites.google.com/site/fiammettanamer/home/outils---ressources/flemm. Comme le logiciel est distribuée selon une licence publique générale GNU, il est intégrée dans la distribution de SATO et s'installera dans le répertoire /opt/flemm.


Démarrage de SATO-HTML

Comme indiqué précédemment, on accède à SATO à partir de l'adresse http://sato. Même en mode local, SATO-HTML est une application multi-usagers. On peut définir autant d'usagers que l'on veut. En fait, chaque usager peut correspondre à un projet, ce qui permet de répartir les données sur plusieurs répertoires.


Le compte de gestion de SATO

Dans le répertoire usagers, on trouve un compte prédéfini appelé sato. C'est dans le répertoire sato, correspondant à ce compte, que l'on retrouve les fichiers d'inscription des usagers, ainsi que les fichiers .ses qui indiquent les sessions actives. C'est aussi là que se trouvent les journaux enregistrant les statistiques d'accès à SATO. La gestion du serveur SATO se fait à partir de l'hyperlien Administration/Gestion disponible depuis l'index principal de SATO. Voici une description des fichiers manipulés par cet interface.

Les fichiers d'inscription des usagers sont des fichiers .txt dont le nom correspond au répertoire de l'usager. Par exemple sato.txt correspond au compte du gestionnaire de SATO. Le mot de passe prédéfini du compte de gestion sato est «sato». Pour l'installation sur un serveur public, il faut impérativement modifier ce mot de passe pour éviter des accès non-autorisés. Voici une transcription du fichier sato.txt

sato
Administrateur SATO
administrateur.sato@monadresse.ca

On trouve d'abord le mot de passe. On trouve ensuite le nom complet du propriétaire du compte et son adresse électronique sur la troisième ligne.

Le fichier satox.log contient les statistiques courantes d'accès à SATO. Les autres fichiers .log contiennent les accès archivés.


Fichier de configuration de la passerelle

La passerelle satox utilise un fichier le configuration satox.ini situé dans le sous-répertoire cgi-bin. En voici un exemple

[Adm]
admin=
sessionnmax=
tracer=1
cookie=oui
serveurnom=Bienvenue sur le serveur SATO local (v. 4.5)
[Env]
usagerrep=/opt/sato/usagers/
satorep=/opt/sato
sessionrep=/opt/sato/sessions/
[Exe]
admin=/usr/bin/perl /opt/sato/bin/admin.pl
apostrophe=/usr/bin/perl /opt/sato/bin/apostrophe.pl
apostrophe-lot=/usr/bin/perl /opt/sato/bin/apostrophe-lot.pl
bino=/usr/bin/perl /opt/sato/bin/bino.pl
calibrer=/usr/bin/perl /opt/sato/bin/calibrer.pl
carcv=/usr/bin/perl /opt/sato/bin/carcv.pl
cooc=/usr/bin/perl /opt/sato/bin/cooc.pl
gestion=/usr/bin/perl /opt/sato/bin/gestion.pl
loc=/usr/bin/perl /opt/sato/bin/loc.pl
loc0=/usr/bin/perl /opt/sato/bin/loc0.pl
locbloc=/usr/bin/perl /opt/sato/bin/locbloc.pl
perltst=/usr/bin/perl /opt/sato/bin/perltst.pl
PropToTei=/usr/bin/perl /opt/sato/bin/PropToTei.pl
sato=/opt/sato/bin/sato
source-html=/usr/bin/perl /opt/sato/bin/source-html.pl
tabulation=/usr/bin/perl /opt/sato/bin/tabulation.pl
TeiToProp=/usr/bin/perl /opt/sato/bin/TeiToProp.pl
ttf=/usr/bin/perl /opt/sato/bin/ttf.pl
tt_tab=/opt/sato/bin/tag_tab.bat
ttf_tab=/opt/sato/bin/tag-french_tab.bat
ttfa_tab=/opt/sato/bin/tag-french_old_tab.bat
ttfa_txt=/opt/sato/bin/tag-french_old_txt.bat
xslt-lot=/usr/bin/perl /opt/sato/bin/xslt-lot.pl
xslt=/usr/bin/perl /opt/sato/bin/xslt.pl
[Var]
v0=
v1=
v2=
v3=
v4=
v5=
v6=
v7=
v8=
v9=
corpus=../corpus/
datesato=2021-01-11
satoman=http://sato

Le fichier satox.ini est construit d'après les modèles des fichiers «.ini» de Windows. Les noms de sections sont entre parenthèses carrées. Les variables sont définies à raison d'une par ligne sous la forme «variable=valeur».

Dans la section [Adm] on trouve la variable admin qui contrôle la création de comptes d'usager. Si le contenu de la variable est vide, la création de compte est libre. Si la variable a une valeur, la chaîne inscrite dans le fichier de configuration sera confrontée au champ admin du formulaire de création des nouveaux comptes. Ce mécanisme permet de restreindre la création de nouveaux comptes aux gestionnaires de SATO qui connaissent le mot de passe défini dans le fichier de configuration. La variable sessionnmax ne doit pas être modifiée. Elle contient un code fourni avec la livraison de votre copie de SATO.

La section [Env] contient les variables de localisation des fichiers SATO. usagerrep indique le chemin vers la racine à partir de laquelle seront créés les espaces de travail des usagers. La variable satorep indique où est installé SATO et la variable sessionrep où seront créées les répertoires de travail pour les sessions SATO. La variable tracer est utilisé pour activer le mode de validation. La variable cookie est utilisée pour activer l'utilisation des témoins à des fins de sécurité. La variable devrait être à oui pour l'utilisation de SATO en mode Internet.

La section [Exe] contient la liste des noms de programmes qui peuvent être démarrés par la passerelle. En effet, pour des raisons de sécurité, le nom des programmes à démarrer correspondent à des variables inscrites dans la section Env, et dont la valeur doit correspondre à la localisation complète du fichier à exécuter.

Enfin, la section [Var] contient la liste de variables que l'on utilise dans les fichiers HTML de l'interface SATO. La valeur définie pour une variable sera utilisée seulement dans le cas où le formulaire d'appel de la passerelle ne contiendrait pas de valeur pour le paramètre du même nom. À moins d'avoir à modifier l'interface de SATO, on ne devrait pas modifier cette section du fichier de configuration.