'); //mot de passe pour le compte FTP
6. Mise à jour de PhpDig
==============================
6.1. Mise à jour de la base de données
-------------------------
Le script sql [PHPDIG_DIR]/sql/update_db_to[version].sql contient
les instructions SQL nécessaires pour mettre à jour votre installation
existante, version par version.
Vous pouvez également utiliser l'interface d'installation en choississant
l'option de mise à jour de la base. Cette fonction n'opère que pour la
version immédiatement précédente de la base de données.
6.2. Mise à jour des scripts
-------------------------
Remplacez les anciens scripts par les nouveaux, en ayant préalablement
effectué une sauvegarde de votre configuration.
7. Indexation par l'interface web
==============================
7.1. Indexer un nouveau site
-------------------------
A partir de l'interface d'administration [PHPDIG_DIR]/admin/index.php, un champ
de formulaire vous permet de renseigner un site à indexer. Vous pouvez également
indiquer un chemin et/ou un fichier à partir duquel le robot va commencer son
indexation.
Spécifiez une profondeur de recherche (combien de niveaux de liens va suivre le
robot avant d'arrêter son indexation, et cliquez sur le bouton [dig this!].
Une page s'ouvre montrant le processus de recherche de liens et d'indexation.
Une page correctement indexée est marquée d'un coche vert. Les '+' indiquent les
nouveaux liens trouvés à partir de cette page.
L'indication "doublon avec une page existante" indique que malgré une URL différente,
la page que PhpDig vient de trouver est identique à une autre page déjà indexée.
A la fin de l'indexation, une liste récapitule tous les liens trouvés par PhpDig.
7.2. Mettre à jour un site
-------------------------
Dans l'interface d'administration, une liste des sites déjà indexés permet de
les mettre à jour : Sélectionnez l'un des sites et cliquez sur le bouton
[update form].
Une interface à deux volets s'affiche. A gauche se trouve une liste des branches
du site indexé, à droite s'affiche la liste des fichiers d'une branche si on clique
sur la flèche bleue située à droite de chacune des branches.
Pour les deux volets, la croix rouge supprime la branche ou le fichier sélectionné,
le coche vert force la réindexation de la branche ou de la page ainsi que la
recherche de nouveaux liens sur une profondeur définie par le paramètre
RESPIDER_LIMIT.
7.3. Maintenance du moteur
-------------------------
Trois liens situés en bas de l'interface d'administration permettent de nettoyer
la base de donnée des enregistrements inutiles ou corrompus.
Le lien Nettoyer l'index supprime les entrées d'index qui sont ne sont plus
liées à aucun mot-clef.
Le lien Nettoyer les mots-clefs supprime les entrées de mots-clefs qui ne
sont plus liées à aucune entrée d'index. Ce lien permet de minimiser la
taille de la table des mots-clefs après de nombreuses indexations et mises
à jour.
Le lien Nettoyer les mots courants supprime les entrées d'index et de mots-clefs
devenues inutiles suite au rajout de mots dans le fichier des mots courants
[PHPDIG_DIR]/includes/common_words.txt.
8. Indexation en ligne de commandes
==============================
Le script [PHPDIG_DIR]/admin/spider.php peut être
lancé en ligne de commande afin de ne pas charger le serveur web.
Le script se lance ainsi :
#php -f [PHPDIG_DIR]/admin/spider.php [option]
Les options sont les suivantes :
- all (par défaut) : Met à jour tous les sites ;
- forceall : Met à jour tous les sites de manière forcée;
- http://mondomaine.tld : ajoute ou met à jour l'url ;
- path/file : ajoute ou met à jour les urls contenues dans le fichier spécifié.
Exemples d'utilisation :
#php -f [PHPDIG_DIR]/admin/spider.php http://hote.mondomaine.com
#php -f [PHPDIG_DIR]/admin/spider.php [Fichier contenant une liste d'urls]
Comme pour n'importe quelle commande, la sortie peut être redirigée
vers un fichier (pour tenir des logs par exemple.)
#php -f [PHPDIG_DIR]/admin/spider.php all >> /var/log/phpdig.log
Le script [PHPDIG_DIR]/admin/spider.php peut également être
programmé en tâche cron afin de procéder automatiquement
à la mise à jour du moteur. La périodicité conseillée est
de 7 jours, quitte à forcer la réindexation par l'interface web
des pages devant figurer dans le moteur immédiatement.
Ces dernières peuvent également comporter un Metatag
"revisit-after" spécifique.
9. Les templates
==============================
9.1. Généralités
-------------------------
Les templates consistent en fichiers html dans lesquels quelques
balises de style xml permettent de placer le contenu dynamique.
Les modèles fournis permettent de donner une petite idée de la
façon dont les pages de résultat peuvent être personnalisées.
Le couple de balises sert
au tableau de résultats : Tout le contenu situé entre ces deux balises
sera répété autant de fois qu'il y a de résultats de recherche dans la
page.
Deux classes CSS sont utilisées par PhpDig dans les templates:
.phpdigHighlight : Classe de niveau utilisée pour le surlignage
des termes de recherche.
a.phpdig : Classe de balise pour les liens de résultats et
de navigation.
Les balises sont toutes du style .
A part la balise
, ce sont toutes des
balises unitaires.
9.2. Balises en dehors de la table des résultats
-------------------------
phpdig:title_message Titre de la page
phpdig:form_head Début du formulaire
phpdig:form_title Titre du formulaire
phpdig:form_field Champ texte du formulaire
phpdig:form_button Bouton de soumission du formulaire
phpdig:form_select Liste déroulante du nombre de résultats par page
phpdig:form_radio Boutons radio sur l'interprétation des mots
phpdig:form_foot Fin du formulaire
phpdig:result_message Message sur le nombre de résulats
phpdig:ignore_message Message sur les mots trop courts
phpdig:ignore_commess Message sur les mots trop courants
phpdig:nav_bar Barre de navigation dans les pages de résultats
phpdig:pages_bar Barre de navigation sans les liens suivants/précédents
phpdig:previous_link src=[img src] Lien vers l'icône "précédents"
phpdig:next_link src=[img src] Lien vers l'icône "suivants"
9.3. Balises pour la table des résultats
-------------------------
phpdig:results Encadre les lignes de résultat
phpdig:img_tag Baragraph de pertinence
phpdig:weight Pertinence de la page (sur 100)
phpdig:page_link Titre du résultat et lien vers la page
phpdig:limit_links Liens limitant la recherche à un site/un chemin
phpdig:text Texte du résultat
phpdig:n Classement du résultat
phpdig:complete_path URL complète du document
phpdig:update_date Dernière mise à jour du document
phpdig:filesize Taille du document (Kilo Octets)
10. Intégrer PhpDig à un site web
==============================
10.1. Le script index.php
-------------------------
Le script index.php est juste un exemple d'utilisation de PhpDig avec
le template du même nom. Ce script peut être intégré à n'importe quel endroit
de votre site, du moment que les fichiers de configuration et les librairies
sont correctment incluses.
la variable $relative_script_path doit indiquer le chemin relatif de
la racine du répertoire phpdig par rapport au script courant.
La fonction phpdigSearch() doit également être appelée toujours de
la même façon :
extract(phpdigHttpVars(
array('query_string'=>'string',
'template_demo'=>'string',
'refine'=>'integer',
'refine_url'=>'string',
'site'=>'integer',
'limite'=>'integer',
'option'=>'string',
'search'=>'string',
'lim_start'=>'integer',
'browse'=>'integer',
'path'=>'string'
)
));
phpdigSearch($id_connect, $query_string, $option, $refine,
$refine_url, $lim_start, $limite, $browse,
$site, $path, $relative_script_path, $template);
Seul le dernier paramètre, $template a de l'importance pour l'intégration :
Utilisez 'classic' pour la présentation fixe de PhpDig (les balises d'en-tête
html sont incluses.)
Utilisez la variable $template pour utiliser un template.
La variable peut être définie dans le fichier config.php
ou ailleurs, afin de présenter un aspect différent selon la partie
du site où le moteur est appellé.
Utilisez 'array' pour exploiter vous-même les résultats de
recherche.
10.2. Utiliser le mode 'classic'
-------------------------
Vous n'avez rien à faire : Tout l'affichage est pris en compte par la
fonction phpdigSearch(). En revanche vous ne pourrez pas modifier
l'affichage.
10.3. Utiliser les templates
-------------------------
A l'aide des templates décrits plus haut, vous pouvez facilement intégrer
PhpDig à la charte graphique de votre site.
En effet, un template peut aussi bien être une page HTML entière, comme
les templates fournis avec PhpDig, qu'une seule partie de la page. Seule
cette partie sera décrite par le template et apparaîtra à l'endroit où
vous placerez l'appel de la fonction phpdigSearch().
Il vous suffira d'intégrer à votre css une classe .phpdigHighlight.
10.4. Utiliser PHP
-------------------------
En utilisant le mode 'array', la fonction phpdigSearch() renvoie
un tableau à la fois des résultats et des éléments du formulaire de recherche.
Pour afficher le contenu du tableau de recherche, modifiez l'appel de la
fonction ainsi et envoyez au script une url complète de résultat de recherche :
print '';
print_r(
phpdigSearch($id_connect, $query_string, $option, $refine,
$refine_url, $lim_start, $limite, $browse,
$site, $path, $relative_script_path, 'array')
);
print '';
Exploitez ensuite le contenu du tableau comme vous l'entendez.
11. Fonctionnement interne de PhpDig
==============================
11.1. Exploration et Indexation
-------------------------
PhpDig lit la page d'origine spécifiée pour l'indexation, et rajoute au fur et à mesure
de son exploration les liens trouvés dans une liste de liens à suivre.
Lorque aucun nouveau lien n'est trouvé par le moteur, il termine son indexation.
Afin de déterminer que faire d'un lien, PhpDig opère ainsi :
- Il demande au serveur l'en-tête (header HTTP) de l'URI en cours. Si le
mime-type du document renvoyé correspond à un document que PhpDig est capable
d'indexer, il continue le traitement.
Si le serveur renvoie une redirection, PhpDig analyse si la redirection renvoie
bien à une URI du même site (ou du même domaine).
Le moteur compare ensuite l'en-tête "last-modified" avec la date stockée dans
sa base de données en cas de ré-indexation. Si les deux dates sont identiques,
l'URI n'est pas traitée.
Enfin, PhpDig vérifie que l'URI ne fait pas partie de la liste d'exclusions
d'un fichier robots.txt ou d'exclusions définies par l'utilisateur.
- Dans le cas d'un document HTML, PhpDig lit les meta-tags robots pour savoir
si il lui est permis d'indexer et/ou de suivre les liens contenus dans le
document.
- PhpDig télécharge ensuite le document pointé par l'URI dans un fichier temporaire.
Le document est tout d'abord indexé : Le contenu textuel est stocké
dans un fichier servant à l'affichage des extraits, puis analysé afin d'en extraire
les mots-clef.
Pour un document HTML, les commentaires définis dans le fichier de configuration
(constantes PHPDIG_EXCLUDE_COMMENT et PHPDIG_INCLUDE_COMMENT) déterminent
des parties à exclure de l'indexation.
- Enfin, PhpDig relit le fichier temporaire dans le cas d'un document HTML
afin d'en extraire de nouveaux liens. Tous les liens sont analysés afin de
déterminer ceux à indexer, ceux qui mènent vers un document inexistant ou
protégé, vers un autre site, etc.
- La procédure d'indexation est exclusive par site : Un site est verrouillé
tant qu'une opération (indexation, suppression de branche, etc) est effectuée.
Aucune autre opération ne peut être effectuée tant que le verrou est en place.
11.2. Recherche
-------------------------
Même si le formulaire de recherche parle de lui-même, il n'est pas inutile de
rappeler que :
- Un opérateur AND est appliqué inconditionnellement à tous les termes de
recherche ;
- Un mot précédé d'un '-' (signe moins) est exclu de la recherche. Aucune
page contenant ce mot ne sera retournée en résultat ;
- La recherche est insensible à la casse et aux accents.
12. Obtenir de l'aide sur PhpDig
==============================
Un forum consacré à PhpDig est disponible à l'adresse
http://www.phpdig.net/
Vous pouvez y poser toutes les questions relatives au programme.