<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><!-- #BeginTemplate "/Templates/circa.dwt" -->
<head>
<!-- #BeginEditable "doctitle" -->
<title>Circa, moteur de recherche Internet</title>
<!-- #EndEditable -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
font-family: sans-serif;
color: black;
background: white;
margin-left : 0;
margin-top : 0;
}
th, td { /* ns 4 */
font-family: sans-serif;
}
a {font: bold; color:Navy;}
h1 { text-align: center }
h2, h3, h4, h5, h6 { text-align: left }
h1, h2, h3 { color: #005A9C; }
h1 { font: bold 100% }
h2 { margin:1em; font: bold 95% }
h3 { font: 90% }
h4 { font: bold 85% }
h5 { font: italic 85% }
h6 { text-align: right }
ul,p { font: 80%;}
p { text-align:justify; margin:1em;}
.p-liens {text-align:right;}
TH {background : #008080; color : White;}
TD {}
.td-bord {background : Navy; color : White;}
.small {font:70%; }
.h2-sans-marge {margin:0; text-align:center;}
.without-margin {margin:0,0,0,0;}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="8%" class="td-bord" align="left"> </td>
<td width="22%"><img src="http://www.alianwebserver.com/circa/images/circa_logo1.gif" width="70" height="70"><img src="http://www.alianwebserver.com/circa/images/circa_logo2.gif" width="110" height="50">
</td>
<td width="62%"><!-- #BeginEditable "titre" -->
<h1>Circa</h1>
<div align="right"><a href="index.en.html">English version</a></div>
<!-- #EndEditable --></td>
<td width="8%" class="td-bord"> </td>
</tr>
<tr>
<td width="8%" class="td-bord"> </td>
<td colspan="2"> </td>
<td width="8%" class="td-bord"> </td>
</tr>
<tr>
<td width="8%" class="td-bord"> </td>
<td colspan="2"><!-- #BeginEditable "corps" -->
<h2>Présentation</h2>
<p>Circa est un moteur de recherche pour votre site, ou pour un ensemble
de sites. Il agit comme Altavista pour l'indexation, c'est à dire
qu'il va suivre et inscrire chacune des url trouvées dans la page
inscrite du moment que cette page se trouve sur le même serveur
que la page originale.</p>
<p>Circa est gratuit, couvert par la license <a href="COPYING.txt" target="_blank">GNU</a></p>
<h2>Essayez-le !</h2>
<p>Faites une recherche sur AlianWebServer :</p>
<form method="POST" enctype="application/x-www-form-urlencoded" action="http://www.alianwebserver.com/circa/search.cgi">
<table>
<tr>
<td>
<input type="text" name="word" >
<input type="hidden" name="id" value="1">
</td>
<td>
<input type="submit" name=".submit">
</td>
</tr>
</table>
<p>Ou essayer la <a href="http://www.alianwebserver.com/circa/search.cgi" target="_blank">recherche
avancée</a>.</p>
</form>
<h2>Possibilités</h2>
<ul>
<li> Indexation plein texte</li>
<li>Des facteurs différents peuvent être attribués
dans la configuration pour les différentes parties d'un document:
corps, title, keywords, description</li>
<li>Support des requêtes booléennes ou (par defaut) et ("+")
sans ("-"). Ex perl + faq -cgi : les documents contenant obligatoirement
faq avec perl sans cgi.</li>
<li>Client Perl ou PHP</li>
<li>Support du protocole HTTP, FTP</li>
<li>Stockage des index dans une base de donnée MySQL</li>
<li>Indexation des pages HTML et fichiers plein texte.</li>
<li>Possiblité d'utiliser Circa pour la navigation par répertoire
/ catégorie.</li>
<li>Possibilité d'indexation de répertoire local sans passer
par un serveur Web. </li>
<li>Plusieurs niveaux d'indexation : totale, incrémentale, ciblée
sur un site.Les documents qui n'ont pas été mis à
jour depuis la dernière indexation ne sont jamais réindexés.
Toute requête sur un fichier se fait au préalable par une
requête HEAD récupérer les infos nécessaires
: validite, date de modif, taille.</li>
<li>La taille des documents indéxés peut être limitée
(Ex: ne pas indexer les documents de plus de 5 Mo). A utiliser en fonction
de la place mémoire disponible.</li>
<li>Masques HTML pour le résultat de la recherche facilement personnalisable.</li>
<li>Recherche sur différentes parties de la base : Nouveautés,
documents mis à jour depuis une certaine date, restriction par
langue, par url, par site.</li>
<li>Interface Web d'administration, ou en ligne de commande.</li>
<li>Support des balise d'exclusion standart des robots (robots.txt). Identification
avec CircaIndexer/0.1, adresse mail alian@alianwebserver.com.</li>
<li>Espace les requêtes d'indexation sur un même serveur de
8 secondes. "It's not a bug, it's a feature!" Ceci est une
règle mimimum pour ne pas surcharger un serveur. </li>
<li>Indexe ou non les différents liens d'un CGI (tout ce qui est
après nomfichier?)</li>
<li>Support proxy HTTP</li>
</ul>
<h2>Todo</h2>
<ul>
<li>Support NNTP</li>
<li>Support des langages exotiques (Japonais, Chinois, Turc, ...).</li>
<li>Support d'autres bases de donnée</li>
</ul>
<h2>Prérequis </h2>
<ul>
<li>MySQL</li>
<li>Perl pour l'indexation, PHP ou Perl pour la recherche</li>
<li>Modules DBI, DBD::mysql,LWP::RobotUA,HTML::LinkExtor; </li>
</ul>
<h2>Ressources utilisées</h2>
<p>Occupation mémoire : Indexation : 5,5M<br>
Ocupation processeur : sur Sun SPARC Station 4 : (5 secondes à
2%, 2s. à 20%, 1s. à 30%) / url indexée.<br>
Occupation espace disque base données : 2-5 ko / page inscrite
suivant les réglages.</p>
<p>L'indexation des pages n'est pas une mince affaire, et le moteur peut
tourner trèèèèès longtemps (10-15 heures
en fonctions des urls à indexer et du niveau max rélgé,
donc ceci n'est pas adapté pour le protocole CGI. Utilisez donc
admin.pl en ligne de commande pour mettre à jour les index. Si
vous ne disposez pas d'un accès telnet, vous pouvez le lancer en
tache de fond depuis un autre script. Ou mieux, installer MySQL sur une
de vos machines pour faire tourner l'indexation, et exporter ensuite les
index sur l'hébergement final. </p>
<h2>Installation</h2>
<ul>
<li>Téléchargez l'archive et décompressez-là
dans un répertoire qui supporte les CGI.</li>
<li>Vous devez modifier search.cgi et search.pl (script de recherche)
et admin.cgi,admin_compte.cgi, admin.pl (script d'administration) pour
mettre vos paramètres de connexion à MySQL : Utilisateur,
mot de passe, base de donnée, éventuellement adresse du
serveur si autre que 'localhost'.</li>
<li>Utiliser admin.cgi (Interface CGI) ou admin.pl (Interface en ligne
de commande) pour inscrire ou indexer les url voulues, creer ou supprimer
les tables, ... Pour l'indexation, je vous conseille d'utiliser si possible
le script en ligne de commande, étant donné que ce genre
d'opération peut durer longtemps si bcp d'url</li>
<li>Lancer search.cgi ou search.pl. Vous pouvez utiliser le formulaire
par défaut généré pour l'intégrer
dans vos pages. Seul le champ 'words' est obligatoire.</li>
<li>Pour un exemple de la présentation de la page de résultat,
regardez la page circa.htm</li>
</ul>
<h2>Documentation</h2>
<p>La documentation est faite au format POD, cad qu'elle est compris dans
le source des modules. Utilisez pod2html nom_du_fichier.pm > nom_du_fichier.html
pour le lire.</p>
<h2>Téléchargement</h2>
<p>Si vous pouvez installer des modules dans le répertoire de Perl
(droit Administrateur), vous pouvez télécharger et installer
les deux modules : <a href="http://search.cpan.org/search?dist=Circa-Search">Circa::Search</a>
et <a href="http://search.cpan.org/search?dist=Circa-Indexer">Circa::Indexer</a>. Voir le répertoire
demo de chacun des modules pour leur utilisation. Installez Circa::Indexer
en premier.</p>
<p>Sinon vous pouvez utiliser cette distribution :</p>
<p><a href="http://www.alianwebserver.com/circa/circa.zip">Format ZIP</a>
ou <a href="http://www.alianwebserver.com/circa/circa.tar.gz">Format tar.gz</a></p>
<h2>Auteur</h2>
<p>Alain BARBET <a href="mailto:alian@alianwebserver.com">alian@alianwebserver.com</a></p>
<h2>Référence</h2>
<p>L'implémentation du moteur est fait en fonction des directives
de :</p>
<p><a href="http://info.webcrawler.com/mak/projects/robots/robots.html" target="_blank">http://info.webcrawler.com/mak/projects/robots/robots.html</a></p>
<p>Possibilités : </p>
<p><a href="http://search.mnogo.ru/features.html" target="_blank">http://search.mnogo.ru/features.html</a></p>
<p>Pourquoi ?</p>
<p>J'ai vu <a href="http://www.debian.org/search" target="_blank">ce besoin</a>,
j'en avais besoin de un pour AlianWebServer, et pense que d'autres personnes
peuvent en avoir besoin.</p>
<!-- #EndEditable --></td>
<td width="8%" class="td-bord"> </td>
</tr>
<tr>
<td width="8%" class="td-bord"> </td>
<td colspan="2"><!-- #BeginEditable "bas_page" --><!-- #EndEditable --></td>
<td width="8%" class="td-bord"> </td>
</tr>
<tr>
<td width="8%" class="td-bord"> </td>
<td colspan="2">
<h6> </h6>
<h6> Powered by <a href="http://www.alianwebserver.com/circa" target="_blank">AlianWebServer</a>
</h6>
</td>
<td width="8%" class="td-bord"> </td>
</tr>
</table>
</body>
<!-- #EndTemplate --></html>