Barrage par AB & CJ

Fusion

Des spécialisations différentes

Les deux programmes réalisés jusque là fonctionnent, mais ils peuvent encore être améliorés.

De son côté, Christian a travaillé sur l'acquisition des paramètres d'entrée et sur le tests d'existence des fichiers et de l'arborescence. La priorité est donc donnée à l'utilisateur, qui peut faire appel à son programme sans devoir vérifier la bonne structure de son arborescence et sans crainte d'écraser des fichiers déjà existants.

D'autre part, Arianna a plutôt travaillé sur l'automatisation du traitement global. La priorité est donc donnée à la rapidité de constitution du corpus, dans la perspective d'une application à des grandes quantités de données.

Le but de la fusion est donc de réunir les atouts des deux scripts.

L'interaction entre les deux codes

La structuration d'un programme en sous-programmes étant toujours une bonne démarche, nous avons décidé de garder deux codes séparés. Le programme d'Arianna maintient sa structure de fond, mais il fait appel au programme de Christian pour la création de chaque tableau. La concaténation des tableaux, qui produisait une page très longue et peu lisible, est remplacée par un seul tableau de liens renvoyant aux tableaux créés par le programme appelé.

L'appel du programme fait-tableau n'a pas posé de problèmes particuliers, du moment que le script de Christian avait été conçu pour être exécuté depuis la ligne de commande, simplement suivi de ses trois arguments.

Voici comment le programme tableau-global appelle fait-tableau :

# 3 paramètres en entrée sont nécessaires: le nom du fichier-liste,
# le titre du tableau et le mot exploré: 
./programmes/fait-tableau.sh $fic.txt $fic $mot

Quant au programme appellant, il ne prend désormais qu'un paramètre en entrée, à savoir le mot exploré. En effet, le paramètre répertoire n'a plus aucune utilité, puisque fait-tableau s'occupe de tester la bonne structure de toute l'arborescence.

Inclure les définitions dans le tableau

Comme dernière amélioration, nous avons pensé à inclure dans le tableau global le champ Définitions. Cela permet de bien comprendre à quel sens du mot se réfère chaque tableau. L'utilisateur n'a qu'à créer un répertoire nommé "DEFINITIONS" contenant des fichiers du type *-def.txt et le programme les utilisera pour remplir ce champ.

Voici quelques exemples de fichier définition pour le mot barrage :

hydro-def.txt
TRAV. PUBL. Ouvrage construit sur un cours d'eau, soit pour dériver ou
régulariser le cours, soit pour en utiliser la retenue comme source
d'énergie ou comme réserve pour l'irrigation :
Ex. Barrage d'accumulation, de prise, de régulation, de retenue;
barrage fixe, mobile, provisoire, artificiel.
psycho-def.txt
PSYCHOL. Test de barrage. Test de l'attention qui consiste à barrer
d'un trait certains signes géométriques simples, mélangés à d'autres
signes presque semblables 
(d'apr. Psychol. 1969).

La présence de ces fichiers n'est toutefois pas nécessaire à la bonne exécution du programme. En effet, l'existence de chaque fichier et testée, et son éventuelle absence signalée dans le tableau même, par le message "Définition introuvable".

# $defin est la variable contenant le texte qui sera
# affiché dans la colonne Définitions affectation par défaut d'un
# message d'erreur à la variable $defin :
defin="Définition introuvable"
#
# Test d'existence du répertoire "definitions"
# le cas échéant, s'il existe un fichier contenant la définition
correspondante au tableau, celle-ci est affecté à la variable $defin:
#
if [ -d ./DEFINITIONS ]
	then
	if [ -f ./DEFINITIONS/$fic-def.txt ]
		then
		defin=`cat ./DEFINITIONS/$fic-def.txt`
	fi
fi

Menu