## Vues - La Fenêtre de Recherche

Cette fenêtre vous permet de rechercher des mots, des expressions, des propriétés, par la valeur indiquée.
Vous disposez de deux champs de saisie :
A - Le premier champ, est obligatoire, sans quoi, aucune recherche ne sera effectuée.
B - Le second est facultatif.
A - Dans le premier champ, entrez simplement une valeur, un mot.
Ne mettez pas une partie de mot accompagnée d'une étoile. Ainsi, ne faites pas quelque chose du genre "bordie*" pour rechercher le mot "bordier" ; il faut au contraire juste mettre "bordie" et là, GenJ vous recherchera tous les mots qui commencent par les lettres "bordie". Si vous ne mettez que "ordie" (toujours sans étoile bien sûr), GenJ vous trouvera là encore tous les mots qui commencent par "ordie" mais aussi tous ceux qui comportent ces mêmes lettres, et donc il vous trouvera aussi le mot "bordier" dans mon exemple.
GenJ met en surbrillance rouge le mot que vous recherchiez dans les occurences qu'il trouve.
Les Regex (fonction de recherche avancée) :
Ce premier champ, est accompagné d'un bouton sur la gauche qui vous autorise à faire des recherches extrémement pointues.
Son usage me semble vraiment trés complexe, mais voilà un peu de quoi il retourne :
En cliquant sur ce bouton, la liste suivante s'affiche :

^ $ . \s X? X* X+ X{n} X{n,} X{n,m} | commencement d'une ligne fin d'une ligne n'importe quel caractère espace blanc X, une fois ou pas du tout X, zéro fois ou plus X, une fois ou plus X, exactement n fois X, au moins n fois X, au moins n max. m fois

Ces recherches sont basées sur ce qu'on appelle les "regex", qui est une contraction de l'anglais "Regular expression" traduit en français par Expressions régulières, mais aussi Expressions rationnelles. Je pense qu'il faut mieux aller vers la première traduction, à savoir "Expressions Régulières".
Dans un premier temps, il faut savoir ce qu'est une "Expression régulière" ? On peut dire qu'il s'agit d'un système très élaboré et très puissant, permettant de TROUVER (retrouver ==> coupler ==> assortir) des MOTIFS (pattern ==> profils ==> masques ==> structures) et de TRAITER (récupérer ==> extraire ==> remplacer) des éléments à l'intérieur d'une chaîne de caractères. En effet, ce système est conçu uniquement pour traiter des chaînes de caractères.
Je vous conseille de regarder sur internet un tutorial, vous devriez en trouver quelques uns de trés bien faits. Un petit coup de Google, et voilà .... (le but de cette aide n'étant pas de faire un tutorial sur les "regex").
Quelques exemples cependant pour vous faire comprendre :
Tout d'abord, une nécessité : Vous devez cocher l'option juste au-dessus dont le label est "Expression Exacte" (mais même si vous ne le faites pas, GenJ le fera pour vous, dés que vous allez utiliser cette fonction basée sur les RegEx).
Maintenant, vous voulez rechercher les endroits, où dans votre arbre (votre fichier gedcom), on a le nom "Massonneau".
La manière la plus simple est de mettre "Massonneau" (avec ou sans majuscule, mais alors ne cochez pas l'option "Expression Exacte) dans le premier champ, et de lancer la recherche.
Cependant, on peut vouloir rechercher par exemple, le mot "Massonneau", mais qui pourrait être orthographié de différentes manières, on pourrait par exemple vouloir voir s'afficher les endroits où l'on trouve "Massonneau", "Masonneau", "Massoneau", "Masoneau". Comment faire ?
Il faut dans ces conditions utiliser la fonction de recherche basée sur les expressions régulières. On va mettre dans le premier champ le mot "Masoneau", cocher l'option "Expression Exacte", et cliquer sur le bouton à gauche du premier champ. Là on va choisir parmi les options proposées (il y en a plein d'autres, mais là regardez comme je vous le disais dans un tutorial), celle qui nous dit "je veux rechercher les cas où j'ai au moins une fois la lettre "s" et au moins une fois la lettre "n", c'est donc le cas "X+ (X, une fois ou plus)". Il va falloir que dans le premier champ, votre recherche soit écrite comme ça : "Mas+on+eau".
N.B. : Dans la liste des "regex" proposées, "X" s'applique à ce qu'on recherche, donc ici, c'est la lettre "s" et la lettre "n". Dans mon exemple ci-dessus, on a utilisé deux fois cette fonction.
Si par contre, vous utilisez la fonction de cette manière :
(bateau){2,} ça va vouloir dire que vous recherchez les endroits où le mot "bateau", se retrouve deux fois de suite au moins, côte à côte, donc quelque chose du genre "bateaubateau".
Si vous mettez bateau{2,} (vous voyez que je ne mets pas le mot bateau entre parenthèses), vous ne rechercherez que les endroits où l'on trouve dans votre fichier gedcom, la lettre "u", au moins deux fois côte à côte, donc quelque chose comme "uu" ou "uuu" ou "uuuu", etc....
Ce qui est entre accolades, s'applique uniquement au caractère situé juste avant. Donc si vous ne mettez pas de parenthèse on ne recherchera que la lettre. Si au contraire, vous mettez des parenthèses, ça recherchera tout ce qui est entre parenthèses.
Vous voyez la puissance du truc, d'où l'intérêt de reprendre un tutorial.
B - Dans le deuxième champ, qui n'est qu'un champ facultatif, vous pouvez en plus, si vous le souhaitez, entrer une sélection pour limiter la recherche uniquement dans une partie particulière de votre fichier Gedcom. Là vous avez deux possibilités :
a - Ou bien vous connaissez bien le format gedcom, et ce qu'on appelle le "Chemin des Etiquettes", et vous mettez le chemin que vous voulez, exemple : INDI:RESI:ADDR:CITY, ou INDI:OCCU.
b - Ou bien vous ne connaissez pas du tout cette structure, et vous utilisez le bouton situé à gauche pour choisir parmi une liste déjà préparée, dans laquelle vous aurez :
. Individu
. Nom
. Naissance
. Profession
. Note
. Résidence
. Famille
Vous remarquerez, que GenJ va compléter le champ avec des chemins d'étiquettes, et non pas le mot plus familier que ce chemin signifie, ceci afin de vous familiariser avec cette structure. Vous avez choisi "Profession", GenJ place dans le champ le chemin "INDI:OCCU".
Parmi la liste qui vous est proposée, vous n'avez pas toutes les possibilités, cela va de soi, donc n'hésitez pas à faire des expérimentations, et vous verrez la puissance de la recherche car quelque soit l'indentation de la structure gedcom dans votre arbre généalogique, vous pourrez cibler la recherche sur telle ou telle partie trés précise.
Exemple de recherche basée sur les deux champs :
Je veux rechercher le mot "cultivateur", mais uniquement dans les professions. Je vais mettre le mot cultivateur dans le premier champ, puis dans le deuxième champ, je vais choisir la propriété profession par le bouton situé à gauche du deuxième champ, ou alors, je mets directement dans ce deuxième champ la phrase suivante INDI:OCCU.
Une fois que votre choix est fait, il vous suffit de cliquer sur le premier bouton dans la barre d'outils (en bas à gauche) pour démarrer la recherche.

Si vous voulez que la recherche se fasse exactement sur le mot que vous indiquez (ex : vous voulez que la casse soit respectée), entrez le mot ou les mots qui vous intéresse dans le champ de recherche et cochez l'option "Expression exacte".

### Barre d'Outils

Les actions suivantes sont possibles :

1. Démarrer la recherche,
2. Stopper la recherche.