Outils pour utilisateurs

Outils du site


public:specs_setups

Ceci est une ancienne révision du document !


Spécification des installeurs de TXM

Objectif

Pour chaque OS supporté, un installeur doit prendre en charge l'installation de TXM et de tous ses composants (CQP, R, Java, etc.)

Pour tout OS

Le top est de profiter des systèmes de dépendances des OS pour installer les composants de TXM (ex: packages Debian) :

  • Java et ses librairies
  • R et ses packages
  • CQP et ses propres dépendances

Problème, seul Linux possède ce genre de système. Windows et Mac possèdent des systèmes alternatifs :

Il faut essayer de partager un maximum homogénéité dans l'architecture des installeurs TXM :

  • TXM s'installe dans le répertoire des programmes :
    • linux : /usr/lib/TXM
    • Windows : C:/Program Files/TXM
    • Mac : /Applications/TXM
  • TXM s’exécute chez l'utilisateur
    • linux&Mac : $HOME
    • Windows : dossier roaming
  • TXM stocke ses préférences dans le répertoire “.txm” chez l'utilisateur
    • linux&Mac : $HOME
    • Windows : dossier roaming
  • TXM installe les fichiers utilisateurs dans le répertoire “TXM” du répertoire utilisateur
    • linux : $HOME/TXM
    • Windows : C:/Users/xxxx/TXM
    • Mac : /Users/xxxx/TXM

Solution

Jusqu'à TXM 0.7.7

L'installation se déroule en 2 étapes :

  • une installation “admin” : prépare le système pour que TXM puisse s'exécuter
  • une installation “utilisateur” : prépare un répertoire de travail pour TXM

Il y a 3 technologies différentes pour installer TXM :

  • Linux : les dépots Debian et un fichier deb
  • Windows : nsis
  • Mac OS X : pkg et le package builder

Page 1 - préliminaire d'avertissement :

  • avertissement de récupération des corpus
  • avertissement d'installation de R
  • annulation possible

Page 2 - d'acceptation des CGU :

  • Ubuntu : affiche une page debconf avec le texte du fichier “XXX db conf”
  • Windows : affiche une page nsis avec le texte du fichier “XXX.nsis”
  • Mac OS X : affiche une page 'pkg' avec le texte du fichier “XXX”

Puis, dans le répertoire d'installation sont copiés :

  • le répertoire css
  • le répertoire doc : contient le manuel de TXM
  • le répertoire xsl
  • le répertoire samples : les corpus d'exemple livrés avec TXM
  • le répertoire scripts : les scripts R et Groovy. Contient aussi les scripts driver des modules d'imports (fichier xxxxLoader.groovy)
  • le répertoire cwb : contient les fichiers exécutables et leurs librairies de CWB pour l'OS
  • le répertoire R :
    • linux : contient juste les scripts d'installation des packages R
    • mac : contient en plus un installeur R et les librairies dont TXM à besoin
    • windows : contient un R complet avec les librairies dont TXM a besoin pré-installées
  • le répertoire TXM : contient le build de TXM pour l'OS
  • les fichiers de licence
  • le fichier STAMP : permet au script de savoir quand TXM a été installé et mettre à jour le répertoire .txm (qui contient les jars de la “configuration” RCP)

Les installeurs copient tous un scripts de lancement de TXM qui va régler l’environnent de configuration de TXM dans le répertoire “.txm”. On y trouvera :

  • les préférences utilisateurs
  • les projets Eclipse

Ce script lance TXM avec les options pour indiquer :

  • à TXM d'utiliser le dossier jre $INSTALL/TXM/jre
  • l'option “-run” pour que TXM soit certain qu'il ait été lancé par le script

Page 3 - de finalisation :

  • instructions de lancement
  • instructions d'installation complémentaire de TreeTagger

Java

A partir de TXM 0.7.7, java est livré avec l'installeur :

  • la jvm sélectionnée est celle d'Oracle : specs jvm
  • le scripts de lancement à changé :
    • dans certains cas indiquer le répertoire $INSTALL/TXM/jre suffit mais pas toujours : cas de Mac OS X 10.6

Mises à jour

Depuis TXM 0.7.5, TXM peut se mettre à jour : TXM peut ajouter des jars dans la “configuration” de TXM (le répertoire configuration d'une installation Eclipse classique). On peut indiquer à TXM de se lancer avec un répertoire de configuration différent mais cela à provoquer plusieurs bugs de mises à jour. Le répertoire de configuration n'est plus déporté du répertoire d'installation. Ce qui oblige l'utilisateur à avoir les droits nécessaires pour mettre à jour TXM :

  • Linux : lors de l'installation les utilisateurs sont inscrit au groupe txm → il faut alors que l'utilisateur qui installe se relogue pour que les droits soient mis à jour
  • MacOSX & Windows : l'utilisateur doit avoir les droits admin

0.7.8

Plusieurs problèmes ont été relevés :

  • l'installation des packages R : l'architecture et les versions de R sont différents entre les OS
  • la difficulté d'installer TXM dans une salle de cours : la 2e phase d'installation “utilisateur” pose des problèmes

Fichier control du paquet Debian

L'internationalisation des fichiers de configuration du paquet Debian n'est pas immédiate et ne peut pas se faire directement dans le paquet.

On opte donc pour mettre les messages en anglais partout.

fichier control

FR

...
Description: Analyse textométrique de corpus textuels
 Avertissement : les corpus d'une installation pré-existante de TXM seront automatiquement récupérés dans le TXM qui va être installé.
 .
 Analyse statistique et documentaire de corpus textuels structurés, annotés et multimédia compatible Unicode / XML / TEI, basé sur le moteur de recherche plein texte CQP et l'environnement statistique R.
...

EN

...
Description: Textometric analysis of textual corpora
 Important notice: Corpora of a previously installed TXM will be automatically transfered to the TXM that will be installed.
 .
 Statistical and documentary analysis of structured, annotated and multimedia textual corpora compatible with Unicode / XML / TEI, based on the CQP full text search engine and the R statistical environment.
...

Pages 1, 2 et 3 d'installation Ubuntu

Depuis Ubuntu 16.04 nous n'arrivons plus à afficher les fenêtres debconf.

Page 1

Ajouter le texte d'avertissement de récupération des corpus à la description du package Debian.

Page 2

Solution 1

On affiche la page 2 d'acceptation des CGU au premier lancement de TXM, pour tous les OS, dans une boite de dialogue modale :

  • si l'utilisateur accepte les CGU, la préférence “cgu_validation” est setté à TRUE
  • sinon TXM se ferme.

Boite de dialogue :

  • titre : Conditions générale d'utilisation de TXM
  • contenu : “TXM est diffusé sous la licence GNU GPL: ” + lien vers la licence GNU GPL
  • check : “J'accepte la licence et je m'engage à citer l’une des deux références suivantes pour rendre compte de l'utilisation de TXM pour mes travaux de recherche.”
  • bouton : “OK” → si check, la fenêtre se ferme et la préférence cgu_validation“ est setté à TRUE → sinon TXM se ferme
  • bouton : “Annuler”→ TXM se ferme
Solution 2

Afficher la page de CGU dans un éditeur tant que l'utilisateur n'a pas validé les CGU avec le bouton “J'ai bien compris et je m'engage à citer l’une des deux références suivantes pour rendre compte de l'utilisation de TXM pour mes travaux de recherche”.

voir http://textometrie.ens-lyon.fr/spip.php?rubrique61

Page 3

Ajouter les liens utiles à la page welcome.

Livraison de R dans le setup Ubuntu

Préparation de R :

  1. Copier les binaires installés par Debian
    1. cp -rf /usr/bin/R REMBED
    2. cp -rf /etc/R/* REMBED/etc
    3. cp -rf /usr/share/R/share REMBED/share
    4. cp -rf /usr/share/R/include REMBED/include
    5. cp -rf /usr/share/R/doc REMBED/doc
  2. Installer les packages de TXM : slam, wordcloud, igraph, textometry, Rserve, car, ellipse, scattrplot3d, leaps, flashClust, FactoMineR. Dépendances nécessaires pour installer les packages R :
  3. Copier les packages installer dans le répertoire library de R
    1. cp -rf /usr/local/lib/R/site-library /usr/lib/R/library
  4. modifier bin/R
    1. R_HOME_DIR=/usr/lib/TXM/R
    2. R_SHARE_DIR=/usr/lib/TXM/R/share
    3. R_INCLUDE_DIR=/usr/lib/TXM/R/include
    4. R_DOC_DIR=/usr/lib/TXM/R/doc

A l'installation de TXM

  1. régler les droits de fichiers
    1. chmod +x /usr/lib/TXM/R/lib/*
  2. installer les dépendances dont a besoin R
    1. libblas.so.3
    2. libblas3
    3. libbz2-1.0
    4. libc6 (>= 2.16)
    5. libcairo2 (>= 1.6.0)
    6. libgfortran3 (>= 4.3)
    7. libglib2.0-0 (>= 2.12.0)
    8. libgomp1 (>= 4.2.1)
    9. libjpeg8 (>= 8c)
    10. liblapack.so.3
    11. liblapack3
    12. liblzma5 (>= 5.1.1alpha+20120614)
    13. libpango-1.0-0 (>= 1.14.0)
    14. libpangocairo-1.0-0 (>= 1.14.0)
    15. libpaper-utils
    16. libpcre3 (>= 8.10)
    17. libpng12-0 (>= 1.2.13-4)
    18. libreadline6 (>= 6.0)
    19. libtiff5 (» 4.0.0-1~)
    20. libx11-6
    21. libxt6
    22. tcl8.5 (>= 8.5.0)
    23. tk8.5 (>= 8.5.0)
    24. ucf (>= 3.0)
    25. unzip
    26. xdg-utils
    27. zip
    28. zlib1g (>= 1:1.1.4)

Livraison de R dans le setup Mac OS X

notes pour la livraison de R préinstallé dans un setup TXM Mac OS X

notes

Dans TXM 0.7.X, un package R est livré et est installé lors de l'execution du fichier INSTALL du package de TXM.

le package R contient :

  • les fichiers de R.app : principalement un fichier exécutable dans Contents/MacOSX/R
  • le framework R : les librairies
  • TCLTK
  • textinfo5

L'installeur de TXM doit s'assurer que les dépendances de R soient bien installées, il faut donc installer les pkg suivants (ceux qui se trouvent dans le pkg de R):

  • tcltk8.pkg
  • textinfo.pkg

D'habitude R est installé dans :

  • /Library/Frameworks/R.framework/Versions/<no version> les fichiers classiques de R (lib, bin ,library, etc.) se trouvent dans le sous-répertoire Ressources
  • et dans /Applications/R.app

todo

  1. Installer TXM 0.7.X avec R-3.3.X (les packages de TXM seront installés dans la foulée)
  2. Récupérer les fichiers de R dans /Library/Frameworks/R.framework/Versions/3.3/Ressources
  3. éditer le fichier bin/R
    • remplacer la valeur de R_HOME à /Applications/TXM.app/R
    • remplacer les chemins ”/Library/Frameworks/R.framework/…“ par $R_HOME

Prochaines versions

  • les droits nécessaires à l'installation de mise à jour TXM : sous Linux surtout le fait de devoir se reloguer n'est pas évident
  • les scripts Groovy ne sont pas livrés et sont empaquetés dans le jar de la Toolbox. Il n'y a pas de politique d'utilisation des scripts de TXM (scripts de la Toolbox VS scripts de l'utilisateur)

TXM 0.8

La création de setup devrait être simplifiée par l'introduction des plugins CQP, R et du déplacement de la copie des fichier utilisateur (Groovy, CSS, XSL, etc.)

installation

TXM 0.8 doit permettre d'être installer à coté des autres TXM et ainsi permettre de :

  • beta testé TXM
  • avoir plusieurs TXM le temps de faire transition

On garde les technologies de TXM 0.7.9, la solution dépendra beaucoup du système d'exploitation :

  • Debian :
    • le package contient la version de TXM → TXM 0.8.1 est installé à coté de TXM 0.8.0
      • le package supprime donc seulement les éventuels TXM avec la même version
    • les fichiers sont patchés par le script BuildLinux64.sh : la version est ajouté par plusieurs cherchés/remplacés
  • Windows :
    • WIP
  • Mac OS X :
    • WIP

mise à jour

comment prévenir les utilisateurs :

  • qu'une mise à jour de type setup est disponible
  • qu'une version de TXM n'est plus maintenue

fichiers

TXM 0.8 change la donne sur la structure du répertoire d'installation :

  • les binaires de CQP sont packetés dans un plugin
  • les binaires de R sont packetés dans un plugin
  • les préférences par défaut sont mieux gérées

Une grande partie des fichiers du répertoire d'installation (Linux) peuvent aussi être packetés :

  • css → déjà dans la TBX
  • doc → déjà dans SVN mais pas dans la TBX, pourrait être inclu à un plugin org.txm.help (qui fait de l'aide contextuel entre plus d'ajouter les menus d'aide and co.)
  • schema → déjà dans la TBX
  • xsl → déjà dans la TBX
  • samples → pourrait être déplacé dans un plugin org.txm.corpussamples
  • TXM → peut devenir la racine du répertoire d'installation
  • R → n'a plus d'utilité
  • cwb → n'a plus d'utilité
  • install.prefs → n'a plus d'utilité, sauf peut-être pour le pré-réglage pour les installations en salles de cours ?
  • license_agreement.txt → n'a plus d'utilité depuis la fenêtre de validation d'utilisation
  • license_agreement_fr.txt → n'a plus d'utilité depuis la fenêtre de validation d'utilisation
  • LICENSE.TXT → licence GNU EN, obligatoire
  • LICENSE_FR.TXT → licence GNU FR, obligatoire
  • scripts → ?
  • TestPreInstall.jar → n'est plus utilisé
  • TXM.png → n'est plus utilisé
  • install.bash → n'a plus d'utilité ? sauf peut-être pour une installation archive
  • STAMP

gestion des fichiers partagés des setups

Les fichiers partagés sont copiés alors de la création du répertoire utilisateur. Ils habitent principalement dans les plugins ou le SVN de TXM :

  • scripts Groovy d'exemple (pas tous) : org.txm.core → org.txm.groovy.core
  • macros Groovy : org.txm.core → org.txm.groovy.core
  • scripts de lancement des modules d'import (pas tous) : org.txm.core → org.txm.groovy.core
  • scripts R d'exemple : org.txm.core→ org.txm.statengine.r.core
  • feuilles XSL : org.txm.core
  • css : org.txm.core → org.txm.groovy.core?
  • manuel TXM : SVN/projet doc
  • corpus d'exemple : SVN/corpora

Méthode

  1. Déplacer le code de copie des fichiers partagés vers la classe Workspace
  2. Déplacer tout le code de création du txmhomedir, et des sous-répertoires “css, corpora, etc” qui est dans org.txm.rcp.ApplicationWorkbenchAdvisor.checkTXMHOME() vers la classe Workspace (niveau TBX donc)
    • le répertoire utilisateur de TXM porte alors le nom “TXM_VERSION” (ex: TXM_0.8.0)
    • le répertoire utilisateur est créé si absent
    • le répertoire est mis à jour dans le cas où la version d'installation du répertoire est inférieure à la version courante de TXM
  3. On implémente les points d'extension de création du workspace dans chaque plugin concerné par les fichiers partagés :
    • org.txm.groovy.core (scripts groovy et imports)
    • org.txm.statengine.r.core (scripts R)
    • org.txm.core (xsl, css et schema)
  4. On laisse le manuel et les corpus d'exemple dans le répertoire d'installation PAR CONTRE, les corpus ne sont plus copiés dans le répertoire utilisateur
  5. On implémente une commande pour récupérer des corpus binaire d'un autre répertoire utilisateur TXM

Recette

Retours sur le nouveau setup Linux SLH 02/08/2017.

1) revoir la description du package deb :

  • ajouter en premier le commentaire “Les corpus d'une installation pré-existante de TXM seront automatiquement récupérés dans le TXM qui va être installé.”.
    • MD : OK fr
  • mettre à jour les prérequis ou les supprimer
  • reformuler accès Internet

MD : j'ai supprimé toute la partie pré-requis (ça se fait pas trop dans les fichiers deb de mettre ça ici) et rajouté le message de récupération des corpus

2) ajouter la licence dans le package deb

MD : A creuser, mais je pense qu'il faut enregistrer TXM sur la forge Ubuntu pour avoir le champ licence, mise à jour et des screenshots.

3) fenêtre de récupération de corpus :

  • titre de la fenêtre “Récupération des corpus TXM sauvegardés…” → “Récupération des corpus existants…”

MD : OK

  • question “Le dossier de travail de TXM existe déjà : /home/sheiden/TXM. Voulez vous recharger les corpus sauvegardés ?” : faut il vraiment poser la question ? (versus faire la récupération automatiquement)

4) messages étranges dans la console :

Démarrage de TXM 0.7.8 (2017-08-02)...
TXM install directory is not set ('install_dir' preference is not set).
Restoring preferences from previous TXM installation preferences file: /tmp/org.txm.rcpapplication.prefs

TXM user directory is not set ('user_txm_home' preference is not set).
Création de l'espace de travail utilisateur de TXM.
Nettoyage de l'ancien dossier de sauvegarde des corpus '/home/sheiden/TXM/corpus-backup-old'. 
Sauvegarde des corpus existants dans '/home/sheiden/TXM/corpus-backup'........................................................................................
Corpus déjà sauvegardés dans '/home/sheiden/TXM/corpus-backup-old' : VOEUX, graal.
Rechargement des corpus existants depuis le dossier '/home/sheiden/TXM/corpus-backup'........................................................................................
Les corpus GRAAL, VOEUX ont été mis à jour avec une version plus récente.
Updating CWB preferences for CQP version=1.1.0.201708021431
Chargement des sous-corpus et des partitions...Terminé.
Moteur de recherche lancé.
  • que veut dire “TXM install directory is not set ('install_dir' preference is not set).” ? quel est l'enjeu du message ?
  • “Restoring preferences from previous TXM installation preferences file: /tmp/org.txm.rcpapplication.prefs” → “Restoring preferences” ?
  • ces messages sont ils vraiment utiles “TXM user directory is not set ('user_txm_home' preference is not set).

Création de l'espace de travail utilisateur de TXM.” ? → “Création de l'espace de travail utilisateur de TXM.”

  • “Updating CWB preferences for CQP version=1.1.0.201708021431” utile ? → monter le niveau de log ?
    • MD: oui, le niveau de log n'était pas bon.

évolution pop up CGU

SLH 02/08/2017

5) fenêtre de dialogue pop-up CGU :

  • faire ouvrir la pop-up avant le backup des corpus (sert à rien de faire le backup si la personne n'accepte pas la licence)
    • MD : OK
  • titre “Conditions générales d'utilisation de TXM” → “Veuillez accepter la licence d'utilisation pour utiliser TXM” ou “Licence d'utilisation” ?
    • MD : OK pour Licence d'utilisation
  • contenu :
    TXM est diffusé sous la licence GNU GPL.
    
    J'accepte la licence et je m'engage à citer l’une des deux références suivantes pour rendre compte de l'utilisation de TXM pour mes travaux de recherche :
    
    Heiden, S., Magué, J-P., Pincemin, B. (2010a). TXM : Une plateforme logicielle open-source pour la textométrie – conception et développement. In I. C. Sergio Bolasco (Ed.), Proc. of 10th International Conference on the Statistical Analysis of Textual Data - JADT 2010) (Vol. 2, p. 1021-1032). Edizioni Universitarie di Lettere Economia Diritto, Roma, Italy. Online.
    Heiden, S. (2010). The TXM Platform : Building Open-Source Textual Analysis Software Compatible with the TEI Encoding Scheme. In K. I. Ryo Otoguro (Ed.), 24th Pacific Asia Conference on Language, Information and Computation (p. 389-398). Institute for Digital Enhancement of Cognitive Development, Waseda University.

    TXM est diffusé sous licence GNU GPL 2 <https://www.gnu.org/licenses/gpl-2.0.fr.html>.
    
    
    J'accepte la licence et je m'engage à citer TXM dans mes travaux de recherche (voir la section Citation de la page <http://textometrie.ens-lyon.fr/spip.php?rubrique61>).
    • MD : OK
  • finaliser la boite à cocher [ ]
    • MD : OK

6) Après avoir fait Cancel j'obtiens la même fenêtre d'avertissement d'exit code 1 de la JVM qu'Alexis → faire renvoyer 0.

  • MD : OK

7) Quand je relance TXM, la popup CGU ne s'ouvre plus et je peux utiliser TXM alors que j'avais fait Cancel. La console contient ceci:

Démarrage de TXM 0.7.8 (2017-08-02)...
Chargement des sous-corpus et des partitions...Terminé.
Moteur de recherche lancé.
Moteur statistique lancé.connecté.
Exécution de start.groovy
Opening CGU...
set message: <p>TXM est diffusé sous la <a href="https://www.gnu.org/licenses/gpl-2.0.fr.html">licence GNU GPL</a>.</p><p>J'accepte la licence et je m'engage à citer l’une des deux références suivantes pour rendre compte de l'utilisation de TXM pour mes travaux de recherche : </p><p> <ul><li>Heiden, S., Magué, J-P., Pincemin, B. (2010a). TXM : Une plateforme logicielle open-source pour la textométrie – conception et développement. In I. C. Sergio Bolasco (Ed.), Proc. of 10th International Conference on the Statistical Analysis of Textual Data - JADT 2010) (Vol. 2, p. 1021-1032). Edizioni Universitarie di Lettere Economia Diritto, Roma, Italy. Online.</li><li>Heiden, S. (2010). The TXM Platform : Building Open-Source Textual Analysis Software Compatible with the TEI Encoding Scheme. In K. I. Ryo Otoguro (Ed.), 24th Pacific Asia Conference on Language, Information and Computation (p. 389-398). Institute for Digital Enhancement of Cognitive Development, Waseda University.</li></ul></p>

Terminé: 973 ms
  • MD : OK → pas reproduit depuis
  • j'aurais imaginé avoir “Opening CGU…” avant “Chargement des sous-corpus et des partitions…Terminé.”
  • MD : OK
public/specs_setups.1526547151.txt.gz · Dernière modification: 2018/05/17 10:52 par matthieu.decorde@ens-lyon.fr