phpdig doc fr


PhpDig : Documentation h1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 18pt; font-weight: normal} h2 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14pt; font-weight: normal} body { font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000; font-size: 10pt; background-color: #FFFFFF;} a { font-family: Verdana, Arial, Helvetica, sans-serif; color: #004488; text-decoration: none; font-size: 10pt} a:hover { font-family: Verdana, Arial, Helvetica, sans-serif; color: #FFFFFF; background-color: #004488; font-size: 10pt} a.high { font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000; background-color: #FFCC55; text-decoration: none; font-size: 10pt; font-weight: bold;} a.high:hover { font-family: Verdana, Arial, Helvetica, sans-serif; color: #FFFFDD; background-color: #003060; font-size: 10pt;} .grey {padding:5px; margin-top:8px; margin-bottom:18px; margin-right:32px; border:2px dotted #BBBBBB; background-color:#EEEEEE;} .blue {background-color:#CCDDFF; margin-top:8px; margin-bottom:8px; margin-right:32px; padding:3px; border-top:1px solid #7688A7; border-bottom:1px solid #7688A7; } Documentation de PhpDig 1.6.2 DerniŁre mise ą jour : 2003-04-06 1. Table des matiŁres 1. Table des matiŁres2. Oł trouver la derniŁre version de PhpDig ?3. Fonctionnalits4. Installation5. Configuration6. Mise ą jour de PhpDig7. Indexation par l'interface web8. Indexation en ligne de commandes9. Les templates10. Intgrer PhpDig ą un site web11. Fonctionnement interne de PhpDig12. Obtenir de l'aide sur PhpDig 2. Oł trouver la derniŁre version de PhpDig ? A l'url : http://phpdig.toiletoine.net/ 3. Fonctionnalits 3.1. Exploration HTTP PhpDig suit les liens contenus dans les documents fournis par un serveur web, comme n'importe quel navigateur, afin de constituer sa liste de pages ą indexer. Les liens peuvent ętre contenus dans des AreaMap, rsulter d'une redirection, ou ętre contenus dans des frames. Toute criture, męme approximative, des liens HREF est supporte. Les liens en javascript simple comme window.open() et window.location() sont dtects. PhpDig ne suit pas les liens externes au site dfini comme racine lors de la recherche (Cependant, voir plus bas : Indexation de domaine). La profondeur de recherche dans le site peut ętre paramtre. Tout le contenu html servi par le site distant est parcouru, que ce soit du html simple, ou des pages cres dynamiquement. PhpDig se base sur le Mime-Type pour dterminer quel est le type du document. 3.2. Indexation Full Text PhpDig indexe exhaustivement les mots contenus dans un document, excepts ceux de moins de 3 lettres (par dfaut), et ceux contenus dans une liste de mots considrs comme courants. Les nombres seuls ne sont pas indexs. En revanche, les mots contenant des chiffres le sont. Les underscores dans les mots sont considrs faisant partie des mots, comme des noms de fonctions dans une documentation technique. Le nombre d'occurences d'un mot dans une page est conserv dans l'index pour une meilleure pertinence des rsultats. Les mots du titre des pages peuvent ętre pondrs. 3.3. Types de fichiers pouvant ętre indexs PhpDig indexe nativement les fichiers HTML et texte. De plus, PhpDig est capable d'indexer les fichiers PDF, MS-Word et MS-Excel si vous installez sur la machine qui effectue l'indexation des excutables externes capables d'extraire le contenu textuel de ces documents. PhpDig est configur pour utiliser les utilitaires catdoc, xls2csv et pstotext. Vous trouverez catdoc et xls2csv ą cette adresse : http://www.45.free.net/~vitus/ice/catdoc/. Choisissez la version 0.91.5. La version dite "stable" n'extrait pas correctement le contenu des fichiers et ne contient pas le programme xls2csv. Vous trouverez pstotext ą cette adresse : http://research.compaq.com/SRC/virtualpaper/pstotext.html. Aucun support n'est fourni par l'auteur sur ces outils. Veuillez vous adresser en cas de problŁme de compilation ou d'utilisation aux auteurs respectifs de ces programmes. Cependant, rien ne vous empęche d'utiliser d'autres excutables en renseignant correctement les constantes appropries dans le fichier de configuration. Le format de sortie doit imprativement ętre du texte brut. 3.4. Autres fonctions PhpDig prend en compte un ventuel fichier robots.txt contenant les chemins des rpertoires ą exclure de l'indexation. Les balises meta robots sont aussi examines. PhpDig peut indexer des sites situs sur un port diffrent du port 80 par dfaut. On peut spcifier un nom et un mot de passe au robot pour indexer les sites protgs par mot de passe. Attention ! Cette derniŁre fonction peut permettre ą des personnes non autorises de lire des informations protges. Il est recommand de crer une instance spcifique de PhpDig, protge par les męmes droits d'accŁs que le site restreint, ainsi que de crer un compte pour le robot lui-męme. Si le serveur renvoie un header Last-Modified, la valeur est mmorise afin de ne pas effectuer de rindexation inutile. La balise <META> revisit-after est galement prise en compte pour la mise ą jour de l'index. Si le moteur est configur pour le faire, les rsultats affichent un extrait des pages trouves, contenant les termes de recherche surligns ou mis en gras. 3.5. ModŁles de prsentation Un systŁme simple de modŁles permet de personnaliser facilement la page de recherche et de rsultats. Il suffit d'insrer quelques balises spcifiques dans une page statique servant de modŁle. 3.6. Limitations PhpDig ne gŁre pas la recherche par expression exacte. Cela impliquerait un index au moins de la taille des documents indexs (ce qui n'est pas le but), sans compter le ralentissement de la recherche. Les instances de Php qui ralisent l'indexation ne peuvent ętre configurs en safe_mode, sans quoi la limite de temps des scripts empęcherait le moteur de fonctionner. Cette limite est toutefois contournable de deux maniŁres : Soit en utilisant la possibilit d'indexation distante (par les connexions TCP mysql et FTP), soit en lanant l'indexation en ligne de commande sur le serveur, ventuellement par une tche cron. L'indexation est relativement lente. En revanche, la recherche, męme sur un contenu assez tendu, reste suffisament rapide pour ne pas gęner l'utilisateur. 4. Installation 4.1. Pr - Requis PhpDig ncessite un serveur web (Apache a ma prfrence) dot de Php, et d'un serveur de bases de donnes MySql. Les configurations suivantes ont t testes : Php/4.1.1, Apache/1.3.20 (Win32), Windows 2000 ; Php/4.1.2, Apache/1.3.23 (Unix) mod_ssl/2.8.7, Linux noyau 2.4.3 ; Php/4.3.0, Apache/2.0.44 (Unix) OpenSSL/0.9.6g, Linux noyau 2.4.18; Php/4.3.1, Apache/2.0.44 (Win32), Windows 2000 . 4.2. Installation des scripts Il suffit de dplier le fichier d'archive dans un rpertoire de votre choix. (qui sera dsign ultrieurement par [PHPDIG_DIR] Il n'est pas ncessaire de crer un VirtualHost Apache pour le moteur. Vrifiez par la męme occasion, si vous ętes sous un systŁme Unix, que L'utilisateur sous lequel est lanc le serveur Apache ait le droit d'crire dans les rpertoires : [PHPDIG_DIR]/text_content [PHPDIG_DIR]/include [PHPDIG_DIR]/admin/temp 4.3. Installation de la base MySql Deux mthodes sont possibles pour installer la base. Script php d'installation : Dans votre navigateur, appelez le script [PHPDIG_DIR]/admin/install.php Et suivez les instructions. Choisissez notamment si vous dsirez crer la base de donnes, ou uniquement les tables ; ou si vous dsirer mettre ą jour une base de donnes de la version prcdente de PhpDig. Le script utilise les informations pour renseigner les champs du fichier "[PHPDIG_DIR]/include/_connect.php" et pour en faire une copie sous le nom "[PHPDIG_DIR]/include/connect.php". Installation manuelle : Il vous faut crer la base mysql (il n'est pas obligatoire de la nommer "phpdig") : #mysql mysql mysql> CREATE DATABASE phpdig; mysql> quit #mysql phpdig < [PHPDIG_DIR]/sql/init_db.sql Vrifiez l'existence de toutes les tables : #mysql phpdig mysql> SHOW TABLES; La base de donne doit vous rpondre : +------------------+ | Tables_in_phpdig | +------------------+ | engine | | excludes | | keywords | | logs | | sites | | spider | | tempspider | +------------------+ 7 rows in set (0.00 sec) mysql> Une fois la base cre, copiez le fichier "[PHPDIG_DIR]/include/_connect.php" vers le fichier "[PHPDIG_DIR]/include/connect.php" et ditez ce dernier. Remplacez les valeurs "<host>", "<user>", "<pass>", et "<database>" respectivement par l'URL de votre serveur MySql, le nom d'utilisateur, son mot de passe, et le nom que vous avez donn ą la base de donnes. Si vous dsirer prfixer chaque table par une chane de caractŁre de votre choix, remplacez "<dbprefix>" par la chane et modifiez le nom des champs dans une interface MySql. Si ce n'est pas le cas, mettez une chane vide. Sur une installation locale, gnralement les valeurs "localhost", "root", et "" sont suffisantes pour la connexion. Vous pouvez vrifier que l'installation s'est bien droule en ouvrant la page principale [PHPDIG_DIR]/index.php. Le formulaire de recherche doit s'afficher. 5. Configuration DŁs l'tape d'installation franchie, le moteur est oprationnel. L'tape de configuration est optionnelle et dpend de vos besoins. N'oubliez pas de modifier le login et le mot de passe d'administration si vous utilisez Php compil en module d'apache ou en module statique. Note : l'authentification ne fonctionne pas avec php utilis en CGI. Dans ce cas, utilisez un fichier .htaccess pour protger le rpertoire [PHPDIG_DIR]/admin Tous les paramŁtres de configuration se trouvent dans le fichier [PHPDIG_DIR]/include/config.php. Chaque paramŁtre fait l'objet d'un commentaire explicitant son utilisation. Dans les parties suivantes consacres ą la configuration, les lignes de code se rapportent toutes au fichier config.php. Les valeurs indiques sont les valeurs dfinies par dfaut. 5.1. Configuration de l'accŁs ą l'administration Modifiez les constantes suivantes. Si vous ne voulez pas que le mot de passe apparasse en clair quelque part, utilisez les fonctions d'authentification d'apache. define('PHPDIG_ADM_AUTH','1'); //active ou non l'authentification define('PHPDIG_ADM_USER','admin'); //Nom d'utilisateur (login) define('PHPDIG_ADM_PASS','admin'); //Mot de passe pour l'accŁs 5.2. Configuration du robot et du moteur Modifiez les variables et constantes suivantes. define('SPIDER_MAX_LIMIT',12); //Profondeur maximale slectionnable pour l'indexation define('SPIDER_DEFAULT_LIMIT',1); //Valeur slctionne par dfaut dans le formulaire define('RESPIDER_LIMIT',4); //Profondeur pour les mises ą jour define('LIMIT_DAYS',7); //Nombre de jours par dfaut avant de revisiter une page define('SMALL_WORDS_SIZE',2); //Taille des mots ą ne pas indexer define('MAX_WORDS_SIZE',30); //Taille maximale possible d'un mot define('PHPDIG_EXCLUDE_COMMENT','<!-- phpdigExclude -->'); //commentaire HTML pour exclure une partie //de page define('PHPDIG_INCLUDE_COMMENT','<!-- phpdigInclude -->'); //commentaire HTML pour arręter l'exclusion //d'une partie de page define('PHPDIG_DEFAULT_INDEX',true); //phpDig considŁre /index et /default //html, htm, php, asp, phtml comme tant //la męme url que '/' define('PHPDIG_SESSID_REMOVE',true); // enlŁve les SIDS des urls stockes define('PHPDIG_SESSID_VAR','PHPSESSID');// nom de la variable SID define('TITLE_WEIGHT',3); //Poids des mots du titre par rapport aux autres mots define('CHUNK_SIZE',2048); //Taille du dcoupage pour le traitement des pages (ce paramŁtre ne ncessite pas d'ętre modifi) define('SUMMARY_LENGTH',500); //Longueur de texte pour le rsum des pages define('TEXT_CONTENT_PATH','text_content/'); //rpertoire des fichiers de contenu textuel define('CONTENT_TEXT',1); //Active ou non le stockage des fichiers de contenu. define('PHPDIG_IN_DOMAIN',false); //Permet ą PhpDig de suivre les //liens interne au domaine //si vous indexez "www.mondomaine.tld", //le domaine est "mondomaine.tld" 5.3. Configuration de l'encodage utilis Modifiez la constante suivante. Notez que PhpDig ne supporte pas les encodages multiples : Les paramŁtres suivant s'appliquent ą tous les documents indexs ainsi qu'ą l'interface. define('PHPDIG_ENCODING','iso-8859-1'); // iso-8859-1 et iso-8859-2 supports Pour permettre ą PhpDig de supporter des encodages supplmentaires, il vous faut rajouter des index de tableaux aux variables suivantes, en vous basant sur les index existants. $phpdig_string_subst['iso-8859-1'] $phpdig_string_subst['iso-8859-2'] ... $phpdig_words_chars['iso-8859-1'] $phpdig_words_chars['iso-8859-2'] ... 5.4. Configuration des excutables externes Chaque outil externe est dfini par trois constantes : - INDEX (true ou false) : Active l'indexation de ce type de document ; - PARSE (chemin) : Chemin de l'excutable traitant ce type de document ; - OPTION (options) : Options ą passer ą l'excutable. define('PHPDIG_INDEX_MSWORD',true); define('PHPDIG_PARSE_MSWORD','/usr/local/bin/catdoc'); define('PHPDIG_OPTION_MSWORD','-s 8859-1'); define('PHPDIG_INDEX_PDF',true); define('PHPDIG_PARSE_PDF','/usr/local/bin/pstotext'); define('PHPDIG_OPTION_PDF','-cork'); define('PHPDIG_INDEX_MSEXCEL',true); define('PHPDIG_PARSE_MSEXCEL','/usr/local/bin/xls2csv'); define('PHPDIG_OPTION_MSEXCEL',''); 5.5. Configuration du modŁle pour les rsultats Modifiez les variables et constantes suivantes. $phpdig_language = "en"; //langue de l'interface $template = "$relative_script_path/templates/phpdig.html"; //chemin du fichier de modŁle define('HIGHLIGHT_BACKGROUND','yellow'); //Couleur de fond du surlignage //Seulement en mode 'classic' define('HIGHLIGHT_COLOR','#000000'); //Couleur du texte surlign //Seulement en mode 'classic' define('LINK_TARGET','_blank'); //Target pour les liens de rsultats define('WEIGHT_IMGSRC','./tpl_img/weight.gif'); //chemin de l'image servant de baragraph define('WEIGHT_HEIGHT','5'); //hauteur du baragraph define('WEIGHT_WIDTH','50'); //largeur maximale du baragraph (pour 100%) define('SEARCH_PAGE','index.php'); //Nom de la page de recherche define('SUMMARY_DISPLAY_LENGTH','150'); //Nombre de caractŁres dans //la description define('DISPLAY_SNIPPETS',true); //Affiche les extraits define('DISPLAY_SNIPPETS_NUM',4); //Nombre maximum d'extraits define('DISPLAY_SUMMARY',false); //Affiche la description define('PHPDIG_DATE_FORMAT','\1-\2-\3'); // Format de la date affiche // \1 est l'anne, \2 le mois et // \3 le jour define('SEARCH_DEFAULT_LIMIT',10); //resultats par page par dfaut define('SEARCH_DEFAULT_MODE','start'); //mode de recherche par dfaut (start|exact|any) 5.6. Configuration FTP (si ncessaire) A quoi diable peut-donc servir une connexion ftp dans PhpDig si il n'indexe pas les sites FTP ? Beaucoup d'utilisateurs de installent PhpDig sur des serveurs mutualiss, et sur ces dernier, Php est toujours configur en safe_mode. PhpDig ne peut effectuer d'indexation en safe_mode, et dans le cas des hbergements mutualiss, l'accŁs aux tches cron est bien entendue exclue. La solution est d'avoir une instance Php sur une autre machine. Dans mon cas, c'est une machine Linux ą mon domicile, branche sur une connexion ą haut dbit qui effectue ce travail. Votre hbergement doit toutefois vous autoriser ą vous connecter en TCP/IP ą votre serveur de bases de donnes MySql. Et le FTP dans tout a ? Il sert ą envoyer au serveur les fichiers de contenu textuel qui permettent d'afficher des extraits pertinents des documents trouvs dans les pages de rsultat. Si vous dsactivez la fonction FTP lors d'une indexation distante, les rsultats afficheront l'ancienne version de l'extrait ou les premiers mots du documents stocks dans la base MySql, selon que le fichier de contenu existe ou non sur le serveur. Les paramŁtres concerns sont les suivants. define('FTP_ENABLE',0); //Activation ou non de la connexion FTP define('FTP_HOST','<ftp host dir>'); //nom du serveur FTP define('FTP_PORT',21); //port ftp define('FTP_PASV',1); //utiliser le mode passif (conseill) define('FTP_PATH','<phpdig root dir>'); //chemin du rpertoire de phpdig sur le serveur ftp define('FTP_TEXT_PATH','text_content'); //rpertoire des fichiers de contenu (default) define('FTP_USER','<ftp username>'); //utilisateur du compte FTP define('FTP_PASS','<ftp password>'); //mot de passe pour le compte FTP 6. Mise ą jour de PhpDig 6.1. Mise ą jour de la base de donnes Le script sql [PHPDIG_DIR]/sql/update_db_to[version].sql contient les instructions SQL ncessaires 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 immdiatement prcdente de la base de donnes. 6.2. Mise ą jour des scripts Remplacez les anciens scripts par les nouveaux, en ayant pralablement 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. Spcifiez 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 indexe est marque d'un coche vert. Les '+' indiquent les nouveaux liens trouvs ą partir de cette page. L'indication "doublon avec une page existante" indique que malgr une URL diffrente, la page que PhpDig vient de trouver est identique ą une autre page dją indexe. A la fin de l'indexation, une liste rcapitule tous les liens trouvs par PhpDig. 7.2. Mettre ą jour un site Dans l'interface d'administration, une liste des sites dją indexs permet de les mettre ą jour : Slectionnez 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 situe ą droite de chacune des branches. Pour les deux volets, la croix rouge supprime la branche ou le fichier slectionn, le coche vert force la rindexation de la branche ou de la page ainsi que la recherche de nouveaux liens sur une profondeur dfinie par le paramŁtre RESPIDER_LIMIT. 7.3. Maintenance du moteur Trois liens situs en bas de l'interface d'administration permettent de nettoyer la base de donne des enregistrements inutiles ou corrompus. Le lien Nettoyer l'index supprime les entres d'index qui sont ne sont plus lies ą aucun mot-clef. Le lien Nettoyer les mots-clefs supprime les entres de mots-clefs qui ne sont plus lies ą aucune entre 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 entres 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 dfaut) : Met ą jour tous les sites ; - forceall : Met ą jour tous les sites de maniŁre force; - http://mondomaine.tld : ajoute ou met ą jour l'url ; - path/file : ajoute ou met ą jour les urls contenues dans le fichier spcifi. 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 redirige 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 tche cron afin de procder automatiquement ą la mise ą jour du moteur. La priodicit conseille est de 7 jours, quitte ą forcer la rindexation par l'interface web des pages devant figurer dans le moteur immdiatement. Ces derniŁres peuvent galement comporter un Metatag "revisit-after" spcifique. 9. Les templates 9.1. Gnralits 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 ide de la faon dont les pages de rsultat peuvent ętre personnalises. Le couple de balises <phpdig:results></phpdig:results> sert au tableau de rsultats : Tout le contenu situ entre ces deux balises sera rpt autant de fois qu'il y a de rsultats de recherche dans la page. Deux classes CSS sont utilises par PhpDig dans les templates: .phpdigHighlight : Classe de niveau <SPAN/> utilise pour le surlignage des termes de recherche. a.phpdig : Classe de balise <A/> pour les liens de rsultats et de navigation. Les balises sont toutes du style <phpdig:parametre/>. A part la balise <phpdig:results></phpdig:results>, ce sont toutes des balises unitaires. 9.2. Balises en dehors de la table des rsultats phpdig:title_message Titre de la page phpdig:form_head Dbut 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 droulante du nombre de rsultats par page phpdig:form_radio Boutons radio sur l'interprtation des mots phpdig:form_foot Fin du formulaire phpdig:result_message Message sur le nombre de rsulats 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 rsultats phpdig:pages_bar Barre de navigation sans les liens suivants/prcdents phpdig:previous_link src=[img src] Lien vers l'icne "prcdents" phpdig:next_link src=[img src] Lien vers l'icne "suivants" 9.3. Balises pour la table des rsultats phpdig:results Encadre les lignes de rsultat phpdig:img_tag Baragraph de pertinence phpdig:weight Pertinence de la page (sur 100) phpdig:page_link Titre du rsultat et lien vers la page phpdig:limit_links Liens limitant la recherche ą un site/un chemin phpdig:text Texte du rsultat phpdig:n Classement du rsultat 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. Intgrer 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 intgr ą 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 rpertoire phpdig par rapport au script courant. La fonction phpdigSearch() doit galement ętre appele toujours de la męme faon : 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'intgration : Utilisez 'classic' pour la prsentation fixe de PhpDig (les balises d'en-tęte html sont incluses.) Utilisez la variable $template pour utiliser un template. La variable peut ętre dfinie dans le fichier config.php ou ailleurs, afin de prsenter un aspect diffrent selon la partie du site oł le moteur est appell. Utilisez 'array' pour exploiter vous-męme les rsultats 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 dcrits plus haut, vous pouvez facilement intgrer 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 dcrite par le template et apparatra ą l'endroit oł vous placerez l'appel de la fonction phpdigSearch(). Il vous suffira d'intgrer ą votre css une classe .phpdigHighlight. 10.4. Utiliser PHP En utilisant le mode 'array', la fonction phpdigSearch() renvoie un tableau ą la fois des rsultats et des lments 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 rsultat de recherche : print '<pre>'; print_r( phpdigSearch($id_connect, $query_string, $option, $refine, $refine_url, $lim_start, $limite, $browse, $site, $path, $relative_script_path, 'array') ); print '</pre>'; 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 spcifie pour l'indexation, et rajoute au fur et ą mesure de son exploration les liens trouvs dans une liste de liens ą suivre. Lorque aucun nouveau lien n'est trouv par le moteur, il termine son indexation. Afin de dterminer 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 stocke dans sa base de donnes en cas de r-indexation. Si les deux dates sont identiques, l'URI n'est pas traite. Enfin, PhpDig vrifie que l'URI ne fait pas partie de la liste d'exclusions d'un fichier robots.txt ou d'exclusions dfinies 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 tlcharge 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 dfinis dans le fichier de configuration (constantes PHPDIG_EXCLUDE_COMMENT et PHPDIG_INCLUDE_COMMENT) dterminent 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 analyss afin de dterminer ceux ą indexer, ceux qui mŁnent vers un document inexistant ou protg, vers un autre site, etc. - La procdure d'indexation est exclusive par site : Un site est verrouill tant qu'une opration (indexation, suppression de branche, etc) est effectue. Aucune autre opration ne peut ętre effectue 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 oprateur AND est appliqu inconditionnellement ą tous les termes de recherche ; - Un mot prcd d'un '-' (signe moins) est exclu de la recherche. Aucune page contenant ce mot ne sera retourne en rsultat ; - La recherche est insensible ą la casse et aux accents. 12. Obtenir de l'aide sur PhpDig Un mini-forum consacr ą PhpDig est disponible ą l'adresse http://phpdig.toiletoine.net/messageboard/ Vous pouvez y poser toutes les questions relatives au programme. Vous pouvez demander de l'aide directement ą l'auteur en crivant ą phpdig@toiletoine.net Fichier cr par le parser XSLT Php 4.3.0 - Sablotron 0.97

Wyszukiwarka

Podobne podstrony:
phpdig doc fr
phpdig doc api
phpdig doc api
phpdig doc en
phpdig doc en
Additional Products fr
03 PEiM Met opisu ukł elektr doc (2)
Od Pskowa do Parkan 2 02 doc
protokół różyca doc
CW5 doc
syntax doc
index fr
O nagich udach panny Dietrich doc
fr c24
Forsyth Fr Upior Manhattanu

więcej podobnych podstron