Aucune réponse ni commentaire ?
Est-ce à dire que plus personne ne s'intéresse plus à 'Lifelines' ?
Devant l'absence de réaction, j'ai un peu plus réfléchi au problème, que
je croyais résolu depuis longtemps.
Et je pense avoir trouvé une solution... quoiqu'il me faudra sans doute
évaluer les résultats sur le long terme. Si d'autres personnes
intéressées pouvaient faire la même manip, je pense qu'il serait
intéressant de comparer les résultats.
La modif que j'ai faite, ne se peut faire qu'avec un Lifelines compilable
d'après un tarball, et donc ce n'est pas possible avec un .rpm ou
un .deb. Sachons bien qu'avec n'importe quelle distribution Linux, il n'y
a aucune obligation à faire usage des "packages", et qu'on trouve presque
toujours à télécharger un tarball à compiler. D'ailleurs, la version de
Lifelines (3,062) dont je dispose n'est - à ma connaissance - disponible
que sous cette forme. Je puis la communiquer à quiconque en ferait la
demande et ne l'aurait pas trouvée à télécharger ailleurs.
Après décompression et désarchivage, vous obtenez un répertoire:
/home/user/
Ce dossier comprend des sous-répertoires. Aller dans ...lifelines-3.0.62/
src/gedlib et ouvrez le fichier avec l'éditeur de texte de votre
préférence (ici c'est vim)
'soundex.c'
Ce fichier fait 151 lignes. Je n'en recopie ici que la partie qui nous
concerne, et que vous n'aurez aucun mal à retrouver :
********************************
{
/* English Language (Default) */
switch (letter) {
case 'B': case 'P': case 'F': case 'V':
newsx = '1'; break;
case 'C': case 'S': case 'K': case 'G':
case 'J': case 'Q': case 'X': case 'Z':
newsx = '2'; break;
case 'D': case 'T':
newsx = '3'; break;
case 'L':
newsx = '4'; break;
case 'M': case 'N':
newsx = '5'; break;
case 'R':
newsx = '6'; break;
default: /* new stays zero */
break;
}
***********************************
Il s'agit, avant de faire (refaire) la compilation de Lifelines, de
modifier ce fichier, et remplacer les paramètres du soundex anglophone
par ceux du soundex francophone, comme ci-après :
{
/* English Language (Default) */
/* Algorithm modified to French Language Language by
Bernard DEBREIL June 5, 2012 */
switch (letter) {
case 'B': case 'P':
newsx = '1'; break;
case 'C': case 'K':
case 'Q':
newsx = '2'; break;
case 'D': case 'T':
newsx = '3'; break;
case 'L':
newsx = '4'; break;
case 'M': case 'N':
newsx = '5'; break;
case 'R':
newsx = '6'; break;
case 'G': case 'J':
newsx = '7'; break;
case 'X': case 'Z': case 'S':
newsx = '8';break;
case 'F': case 'V':
newsx = '9';break;
default: /* new stays zero */
break;
}
}
*********************************************
Une fois cette séquence insérée dans le fichier 'soundex.c' à la place de
l'ancienne, il faut compiler Lifelines. Lisez bien le fichier INSTALL.
Votre Linux doit être équipé de libncursesw5-dev, gettext, gettext-base
etc... Si vous avez fait précédemment une compilation ratée dans le
répertoire
...lifelines-3,0,62/
il faut nettoyer:
$ 'make clean'
Puis:
$ ./configure (ou sh ./configure)
$ make
et, pour finir, s'il n'y a pas d'erreurs de compilation :
# make install (sous root ou superuser)
Ensuite vous cherchez le fichier de configuration. Généralement il se
trouve dans
/home/user/lifelines-3.0.62/.linesrc
Modifiez le, choisissez les répertoires où vous allez mettre vos
databases, vos outputs, vos reports... et le tour est joué !
Au fait, ceci étant fait, plus aucune de vos anciennes databases ne
fonctionnera convenablement. Le browse, 8 fois sur 10, ne trouvera plus
les patronymes que vous savez pourtant présents dans la base. Il faudra
donc virer vos LLDatabases, et les reconstruire à partir des Gedcom qui
ont permis de les faire à l'origine (ou à partir de gedcom que vous aurez
exporté à partir des bases actuelles). Après cette manip, chez moi tout
paraît satisfaisant, au moins au premier abord (car il y a moins d'une
heure que j'ai terminé ce travail).
Pour vos vérifications et tests, n'oubliez pas de faire usage du LLReport
intitulé:
'soundex-isfm.ll'
Avec un lifelines compilé avec le fichier soundex.c modifié comme
expliqué plus haut,
soundex-isfm
vous donne les nouveaux codes soundex, ceux du soundex francophone
(quoiqu'il leur ôte le dernier zéro,... je ne sais pas pourquoi, mais çà
n'a rien l'air de changer aux résultats obtenus)
Pour connaître, par un autre outil indépendant de Lifelines, les codes
soundex francophones, j'ai trouvé sur le web une contribution anonyme
sous forme du source d'un petit programme en Pascal. C'était du Turbo
Pascal, j'ai dû y apporter quelques modifications mineures afin de
pouvoir le compiler sur mon système par 'fpc' (Free Pascal compiler), où
il fonctionne parfaitement. Je puis communiquer sur demande le programme
compilé et/ou le source. Avec ce programme, on entre une chaîne de
caractères, et çà vous pond un code soundex francophone. Et là,
justement, les codes obtenus ont un zéro de plus à la fin... c'est à dire
un chiffre en plus que les codes anglophones... mais bon, on verra pour
la suite.