Indexation du site
Ph.Leroy
2018-09-05
Vu la très grande quantité de pages présentes sur le site, il est important de maintenir un outil de recherche facilitant l'utilisation du site.
Principe de fonctionnement
Chaque élément d'information susceptible d'être recherché par un utilisateur va être identifié et associé à une ou plusieurs ressources.
Par exemple le manuel en français contient les pages suivantes relatives aux blobs.
fr BlobLen man 1_6_97 Fonction BlobLen fr CopyBlob man 1_6_96 Fonction CopyBlobfr fr GetBlob man 1_6_98 Fonction GetBlob fr NewBlob man 2_1_23 Fonction NewBlob fr PutBlob man 1_6_99 Fonction PutBlob fr ReadBlob man 2_1_26 Fonction ReadBlob fr SetBlob man 1_6_95 Fonction SetBlob fr WriteBlob man 2_1_25 Fonction WriteBlob fr DumpBlob man 1_6_101 Fonction DumpBlob
Lorsque l'utilisateur va faire une recherche sur "tblob" par exemple, le moteur de recherche va proposer ces trois pages.
| GetBlob 1_6_98 | Fonction GetBlob |
| PutBlob 1_6_99 | Fonction PutBlob |
| SetBlob 1_6_95 | Fonction SetBlob |
Il faut donc un processus automatisé qui permette de récolter ces clés de recherche et de les classer dans une base de données; c'est ce que l'on appelle l'indexation.
La difficulté est de définir ces clés de recherche localement afin que l'indexation puisse être faite aisément après toute modification. En fonction de la nature des documents ces clés vont être précisées différemment.
Indexation des pages html ou php
L'indexation des pages html ou php repose sur les champs standardisés de l'html.
<meta name="keywords" content="Langage applicatif, EDI, ERP, Supervision, Stock, Logistique, Temps réel" />
Concernant les inclusions de traduction, par exemple /lang/en/store/components.php est un fichier XML contenant le texte à substituer dans /store/components.php quand la langue de l'utilisateur est l'anglais.
Pour cela on va indiquer dans des commentaires Html les directives spécifiques.
- La liste des mots cles: <!-- kw: mot-cle1, mot-cle2 -->
- Le titre à afficher dans la recherche: <!-- title: Le titre -->
- L'identifiant de la page de référence: <!-- alias: /store/components.php -->
<!-- kw: resources, delivery --> <!-- title: The true story of Sisal --> <!-- alias: store/index.php --> <article> <Header> Sisal-Store </header> <p> Sisal resources delivery site. </p>
Ce sont des commentaires, ils ne sont pas affichés; par contre si l'utilisateur sélectionne une page dans une langue autre que la sienne, on le fait changer de langue le temps de la lecture.
Indexation des pages du manuel
Les pages du manuel sont enregistrées dans des fichiers xml/html bruts situés dans un répertoire spécifique à chaque langue.
Par exemple le chapitre 1.6.8 du manuel en français est enregistré en
| /lang/fr/man/1_6_8.xml |
<h3>Fonction String </h3> <p> La fonction String transforme la valeur passée en paramètre en chaà®ne de caractère. </p> <div class="syntax"> <p> String( valeur) : string </p> </div>
On intégre la liste des mots-clés dans un commentaire au début du fichier:
<!-- kw: String, transforme --> <h3>Fonction String </h3> <p> La fonction String transforme la valeur passée en paramètre en chaà®ne de caractère. </p> <div class="syntax"> <p> String( valeur) : string </p> </div>
Indexation des pages
Les pages sont des documents créés par des utilisateurs afin de décrire certains points de manière détaillée.
Ce sont des documents légers, conformes au standard Text2Tags qui sont enregistrés dans la table Pages. Elles sont identifiées par un identifiant et une langue ( fr, en, zh, ...).
Wiki Sisal Automate %%mtime(%Y-%m-%d) %!encoding: UTF-8 %kw automate, machine à états finis, states.sch = Automates simples = Sisal permet de définir facilement des automates, c'est à dire une machine à états finis. ...
Les mots clés sont écrits par l'auteur de la page dans un commentaire txt2tag spécifique %kw mot_cle1, mot_cle2.
Les documents
Un document publié peut être indexé, et même doit être indexé si on veut pouvoir le retrouver.
Cela s’effectue dans la page de gestion de ses documents en sélectionnant un ou plusieurs documents, et en activant l'entrée de menu fichiers/définir les mots-clés.
Moteur d'indexation
Le moteur d'indexation est lancé par la page php recense.php.
Cela peut marcher tout seul...