Qu'est ce que Ht://Dig ?
Ht://Dig est un logiciel d'indexation et de recherche de documents par mots-clefs à l'intérieur
d'un site web donné. C'est typiquement le genre de logiciel qui est utilisé lorsqu'un site web offre
des fonctionalités du type "rechercher sur ce site:" ou "search this site", etc... Ht://Dig
se distingue des autres logiciels du même genre en étant un logiciel libre distribué sous licence
GPL (GNU General Public Licence) et aussi en étant l'un des plus performants. Il est de ce fait le moteur
de recherche favori des distributions de Linux et des sites dédiés au logiciel libre. Voir http://htdig.sourceforge.net/
pour en savoir plus.
Qu'est ce qui fait qu'Ht://Dig est adapté à une langue ou à une
autre ?
Le moteur d'indexation et de recherche d'Ht://Dig est indifférent au language utilisé, mais sa
configuration ne l'est pas. Ht://Dig utilise en effet quelques fichiers annexes et des paramètres de configuration
qui permettent de l'adapter à une langue ou à une autre. Pour qu'Ht://Dig puisse fonctionner correctement
avec la langue française, il faut substituer une version française de certains fichiers à
ceux de la version anglaise par défaut et adapter le fichier de configuration.
Où se procurer les fichiers nécessaires ?
Lorsque j'ai voulu utiliser Ht://Dig sur un site en français, je me suis aperçu que ce n'étais
pas si simple que ça et qu'il n'existait pas de kit de francisation établi qui puisse être
utilisé tel quel. Etant du genre têtu et curieux, j'ai entrepris de creuser la question en explorant
les mailing-lists, en rassemblant divers fichiers et en faisant des essais sous Linux ... et la persévérance
a fini par être avantageuse, puisque je suis effectivement arrivé au bout de quelques jours à
faire fonctionner correctement Ht://Dig en français. Grâce à ce challenge de mon ego d'informaticien
par une nature récalcitrante, vous pouvez désormais bénéficier d'un kit de francisation
dûment documenté:
Que contient le kit de francisation ?
Fichiers à substituer dans ./installdir avant la compilation et l'installation:
- htdig.conf (fichier de configuration adapté pour le français - remplace le fichier du
même nom)
- rundig (script de lancement de la procédure d'indexation - remplace le fichier du même
nom)
- footer.html, header.html, long.html, nomatch.html, search.html, short.html, syntax.html, wrapper.html
(gabarits d'affichage en français - remplacent les fichiers de même nom)
Fichiers à rajouter après l'installation, avant de lancer l'indexation:
- ./common/francais.0 (dictionnaire des mots français - équivalent de english.0)
- ./common/francais.aff (dictionnaire des terminaisons françaises - équivalent de english.aff)
- ./common/bad_words.fr (liste de mots à exclure: articles, adverbes, etc... adaptée au
français - équivalent de bad_words)
- ./common/_synonyms.fr (dictionnaire des synonymes - équivalent de synonyms)
- ./bin/_trans.pl (script de création d'un dictionnaire de synonymes non accentués - fichier
ajouté)
- ./htdocs/lisezmoi.html: le présent document, qui tient lieu de documentation du kit
Cette version du kit est basée sur la version 3.15 d'Ht://Dig.
Comment installer Ht://Dig pour le français ?
- Télécharger et déployer le package de la distribution
d'Ht://Dig standard
- Télécharger et déployer le kit
de francisation
- Substituer les fichiers du kit de francisation aux fichiers de la distribution standard qui sont dans le sous-répertoire
./installdir
- Hormis cette substitution de fichiers, l'installation de la version française est en tous points identique
à celle de la version anglaise (se référer à la documentation
d'Ht://Dig).
- Rajouter les fichiers du kit de francisation qui ne se sont pas automatiquement installés dans les bons
répertoires
- Lancer rundig pour créer les bases de données d'indexation
Attention ! Pour que les caractères accentués soient correctement reconnus, Ht://Dig doit avoir
été (re)compilé avec le paramètre locale:fr_FR, qui est spécifié
dans la version modifiée d'htdig.conf. Cela suppose donc que le fichier htdig.conf du
kit de francisation ait été substitué à celui de la distribution standard AVANT la (re)compilation.
A propos de certaines variantes de LOCALE
Ci-après extraits de mails de personnes qui ont résolu les problèmes relatifs à
leurs variantes de locale:
"... J'ai bien tout recompilé, mais ça ne marchait toujours pas. J'ai exécuté
la commande locale sur mon Unix et la j'ai vu que je n'avais pas fr_FR tout seul mais fr_FR.iso88591 ou fr_FR.roman,
j'ai donc mis fr_FR.iso88591 dans le paramètre et là ça fonctionne au niveau de htdig, htmerge
et htfuzzy, par contre j'ai encore des problèmes avec htsearch dans certains cas. J'ai résolu le
problème en positionnant la variable dans le fichier htdig.conf à fr_FR.iso88591 pour les phases
htdig, htmerge et htfuzzy, mais je la mets en commentaire pour htsearch, et là tout fonctionne. Je tourne
sous HP-UX 10.20 ..."
(François Soupault <fs@sigu7.jussieu.fr>)
"... J'ai réussi et c'était un problème de "locale" en desaccord entre le
système (SUN/Solaris) et htdig, dans notre cas il fallait locale : fr (tout court) ..."
(Nicolas MARIE <nicolas.marie@meteo.fr>)
Qui a fourni les dictionnaires ?
Les dictionnaires des mots et des terminaisons proviennent du dictionnaire "ispell" d'IREQ (ftp://ftp.robot.ireq.ca/ispell/francais-IREQ.tar.gz).
Les dictionnaires de la distribution ispell ont été compilés au moyen de la syntaxe: cat
*.dico | sort | uniq > francais.0. Le fichier des terminaisons francais.aff est réutilisé
tel quel.
Le dictionnaire des synonymes a été fourni par Sébastien
Brize suite à un appel à contribution de ma part. Ce dictionnaire est un peu brut de décoffrage,
mais utilisable en l'état par ceux qui veulent s'en servir.
Appel à contribution: si quelqu'un apporte des améliorations à ce dictionnaire
des synonymes, merci de me les communiquer pour en faire profiter tout le monde.
Comment à été composé le fichier bad_words.fr ?
Le fichier bad_words.fr a été composé empiriquement par tests successifs sur un
site de taille moyenne, jusqu'à ce que le fichier db.wordlist ne contienne plus que des mots utiles:
- lancement de rundig -> indexation
- observations des mots indésirables récupérés dans db.wordlist
- ajouts de ces mots dans le fichier bad_words.fr
- lancement de rundig -> ré-indexation
- etc...
Appel à contribution: ce fichier est vraisemblablement améliorable. Toutes les
suggestions allant dans ce sens sont bienvenues.
Quid des synonymes ?
Le dictionnaire des synonymes peut être employé de trois manières:
- pour étendre automatiquement la recherche à des synonymes des mots qui ont été
entrés; c'est à cela que peut servir le fichier synonyms.fr du kit; pour activer ce type
d'utilisation, enlever le '_' en tête du nom de fichier ("_synonyms.fr" -> "synonyms.fr")
- pour étendre la recherche à des mots qui s'orthographient de plusieurs manières; cette
approche n'a pas été implémentée pour l'instant, mais elle mériterait de l'être
- pour étendre la recherche aux équivalents non-accentués des mots entrés; c'est
à cela que sert le script trans.pl, en attendant que cette fonctionalité
la soit incluse dans le programme lui-même; pour activer ce type d'utilisation, enlever le '_' en tête
du nom de fichier ("_trans.pl" -> "trans.pl")
Comment faire en sorte que les caractères accentués ou non soient
équivalents ?
Cela peut être accompli en constituant un dictionnaire des synonymes où les mots sans accents figurent
en tant que synonymes des mots comportant des accents. Répondant à mon appel à contribution,
Stéphane Marzloff a réalisé un script (trans.pl)
qui compose un dictionnaire des synonymes non accentués à partir de db.wordlist. Ce script
peut être exécuté automatiquement grâce à une version adaptée de rundig
(inclus dans le kit). Pour l'activer, enlever le '_' en tête du nom de fichier ("_trans.pl"
-> "trans.pl").
Une autre approche a été développée par Robert Marchand, qui consiste à intégrer
l'équivalence entre caractères accentués/non accentués dans le code source d'htfuzzy
plutôt qu'en utilisant les synonymes, ce qui devrait être plus performant. Cela n'est pas encore inclus
dans le kit, mais vous pouvez en prendre connaissance et l'essayer en attendant:
Que faire des fichiers synonyms.db, word2root.db et root2word.db en anglais ?
Ces fichiers doivent être remplacés par leur équivalent en français. Pour cela, il
faut effacer ces fichiers *.db d'origine et lancer une réindexation une fois que les fichiers du
kit de francisation ont été mis dans les bons répertoires. Le script rundig comporte
une procédure qui détecte l'absence des fichiers *.db et qui les reconstitue automatiquement
à partir des dictionnaires spécifiés.
Comment proposer des améliorations du kit de francisation ?
Vous m'écrivez en décrivant les améliorations
que vous suggérez et en joignant éventuellement les fichiers illustrant le propos (pas trop gros
SVP). Dès que j'ai le temps de m'en occuper, j'essaie d'évaluer l'utilité et la faisabilité
de la proposition et je vous répond pour dire ce que j'en pense. Si besoin est, on demande au Ht://Dig Group
ce qu'il en pense. Une fois que nous sommes tombés d'accord sur les améliorations à apporter
au kit, je les incorpore dans une nouvelle version du kit, en mentionnant votre contribution dans la présente
FAQ, et je transmet au d'Ht://Dig Group la nouvelle version du kit pour qu'elle soit rendue disponible sur le serveur
d'Ht://Dig et dans le CVS.
Qui a contribué à ce kit de francisation ?
- Le Ht://Dig Group, en fournissant un logiciel bien conçu
et paramétrable à souhait, et en faisant en sorte que la documentation et les archives des mailing-lists
soient aisés à consulter
- L'auteur du kit de germanisation, en donnant l'exemple
- Didier Lebrun, en assemblant ce kit et en rédigeant
la présente FAQ
- Gilles Detillieux, en servant d'interface avec le Ht://Dig Group
et en prodiguant quelques bons conseils
- François Soupault et Nicolas
Marie, en relatant leurs déboires avec locale
- Stéphane Marzloff, en fournissant le script qui automatise
la création d'un dictionnaire des équivalents non-accentués
- Sébastien Brize, qui a fourni un dictionnaire des synonymes
- Tous ceux qui ont adressé des questions, en suscitant des améliorations à apporter
Historique des modifications
- Version 1.0.1: ajout version adaptée de rundig et explications concernant la francisation des
fichiers *.db
- Version 1.0.2: francisation des options de recherche (variables $(METHOD), $(FORMAT) et $(SORT));
clarifications et compléments d'explications (lisezmoi.html)
- Version 1.0.3: ajout du script de création du dictionnaire des synonymes non accentués (_trans.pl)
- Version 1.0.4: ajout d'un dictionnaire des synonymes brut de décoffrage (_synonyms.fr)
- Version 1.0.5: modification des liens vers le site http://htdig.sourceforge.net/
|