Indexation du site

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.

  1. La liste des mots cles: <!-- kw: mot-cle1, mot-cle2 -->
  2. Le titre à afficher dans la recherche: <!-- title: Le titre -->
  3. 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...