14 Piloter la plateforme par macros ou par scripts Groovy ou R

14.1 Utiliser des macros

Les macros sont le moyen le plus simple pour piloter la plateforme à partir de scripts. Il s'agit de scripts Groovy (voir la section suivante) pouvant prendre leurs paramètres depuis une boite de dialogue ou à partir d'objets sélectionnés dans l’interface de TXM. C'est une façon pratique de faire exécuter un script par l'utilisateur sans avoir besoin de connaissances du langage de programmation Groovy (sans avoir à lire le code du script).

Différentes macros sont disponibles :

14.1.1 Exécuter une macro

Les macros se lancent à partir de la vue « Macro », ouverte à partir du menu « Affichage > Vues > Macro », en double-cliquant sur leur icône ou bien avec le raccourcis clavier « F12 » (exécuter le dernier script ou la dernière macro exécutée) en cas d'appels successifs.

Il y a deux façons de fournir des paramètres à une macro :

 Les paramètres et la façon de les renseigner dépendent de chaque macro, par exemple un corpus, une requête CQL, un dossier contenant des fichiers à traiter, un fichier de sortie pour des résultats, etc.).

Les valeurs des paramètres saisies dans la boite de dialogue sont mémorisées entre chaque appel d’une macro. Cette mémorisation s'appuie sur des fichiers d’extension « .properties » situés dans le même répertoire que celui du fichier de la macro (visible dans la vue « Fichier » de TXM ou depuis le navigateur de fichier du système d'exploitation) situé à partir du dossier $HOME/TXM/scripts/macro. La suppression du fichier « .properties » d’une macro supprime les valeurs de paramètres mémorisées, la macro utilisera les valeurs par défaut définies dans le script. L’édition du fichier « .properties » permet d’éditer les valeurs de certains paramètres.

L'exécution de la macro est terminée quand le message « Terminé : » s'affiche dans la console suivi de son temps d'exécution en millisecondes.

Les résultats des macros sont très variables, comme pour les commandes TXM (nouveau sous-corpus ou concordance, nouveaux fichiers, messages dans la console, etc.).

14.1.2 Installer une macro

De nouvelles macros sont disponibles depuis plusieurs sources, voir la section 14.1.

Une macro correspond à un fichier script Groovy dont le nom se termine par « ...Macro.groovy ». Certaines macros peuvent être accompagnées par des scripts Groovy secondaires (sans suffixe « ...Macro »). Dans ce cas la macro se télécharge sous forme d'archive ZIP.

Pour installer une nouvelle macro dans TXM :

14.1.3 Modifier une macro

Dans la vue « Macro », clic-droit sur l'icone de la macro puis lancer la commande « Éditer » du menu contextuel. La modification du script requière des connaissances en programmation dans le langage Groovy (voir section suivante).

Une macro peut être associée à plusieurs scripts Groovy secondaires qui ne sont pas visibles dans la vue Macro. Pour les éditer, il faut utiliser la vue Fichier ouverte sur le dossier contenant la macro et les scripts, faisant partie de la hiérarchie du dossier « $HOME/TXM/scripts/macro ».

14.1.4 Créer une macro

14.1.4.1 À l’aide du bouton « Nouvelle macro »

La façon la plus simple de créer une macro est de cliquer dans TXM sur le bouton «Nouvelle macro» dans la vue Macro. Cette commande demande d’abord de saisir le nom de la macro puis ouvre un éditeur de texte pour éditer le squelette de script générique proposé :

14.1.4.2 Par copie de fichier

Une autre façon d’ajouter une macro, depuis l’extérieur de TXM, est de déposer un script Groovy ayant un nom se terminant par « ...Macro.groovy » dans le dossier « $HOME/TXM/scripts/macro/org/txm/macro » ou dans un de ses sous-dossiers, puis de rafraîchir la vue « Macro » pour y voir apparaître son nom.

14.1.4.3 Les différents types de paramètres disponibles pour une macro

Les paramètres d’une macro peuvent être de types suivants :

14.1.4.4 Variables prédéfinies

Les macros peuvent accéder à divers objets de TXM par le biais de variables prédéfinies :

Nom de la variable

Description

Type Groovy

corpusViewSelection

l'élément couramment sélectionné dans la vue Corpus (corpus, sous-corpus, partition, résultat)

Object

corpusViewSelections

liste d'éléments couramment sélectionnés dans la vue Corpus

List<Object>

selection

l'élément couramment sélectionné (sélection de texte dans un éditeur, icône de requête dans la vue Requête...)

Object

selections

une liste d'éléments couramment sélectionnés

List<Object>

monitor

objet interne permettant d'accéder à l'interface utilisateur pendant l'exécution de la macro

org.txm.rcpapplication.utils.JobHandler

gse

objet interne permettant l'appel mutuel entre scripts Groovy et donc entre macros

org.txm.rcpapplication.utils.GSERunner qui étend la classe groovy.util.GroovyScriptEngine

editor

fenêtre de résultats ou éditeur de texte couramment sélectionné

org.eclipse.ui.IWorkbenchPart

 

14.1.4.5 Appel d'une macro depuis une autre macro

Il est possible d'appeler une macro depuis une autre macro à l'aide de la variable « gse ».

Pour appeler une macro « B » à partir d’une macro « A », on peut par exemple utiliser la ligne de code suivante dans la macro « A » :

gse.runMacro BMacro, ["param1":value1, "param2":value2]

 

Remarques :

Si des paramètres obligatoires de la macro appelée (B dans l’exemple) ne sont pas renseignés lors de l’appel, la macro ouvrira la boite de dialogue pour saisir les valeurs des paramètres manquants obligatoires.

14.1.5 Macros TXM prédéfinies

TXM est livré avec plusieurs macros utilitaires prédéfinies, accessibles depuis la vue Macro. Ces macros sont organisées par répertoires thématiques :

14.1.5.1 Macros d’assistance à la préparation des fichiers sources d'un corpus

14.1.5.2 Macros d’assistance à la correction de l'annotation de mots d'un corpus

14.1.5.3 Macros d’appel de script R

14.1.5.4 Macros d’assistance à l'appel de commandes CQP

14.1.5.5 Macros d’assistance pour l'appel répétitif de commandes de TXM

14.1.6 Partager vos macros avec la communauté des utilisateurs de TXM

Vous pouvez éditer la page https://groupes.renater.fr/wiki/txm-users/public/macros du wiki des utilisateurs de TXM pour documenter et mettre un lien vers vos macros.