Jour 29 : Permettre la recherche partout

Tout site Web a besoin d'une fonctionnalit� de recherche. Pause.

R�gles d'un bon moteur de recherche :

  1. Placez la boite de recherche sur toutes les pages, de pr�f�rence "au dessus du magma" (visible sans scroller).
  2. Permettez la recherche de tout par d�faut. Si vous avez une option pour chercher les entr�es, les commentaires ou les deux, permettez les deux par d�faut.
  3. N'encombrez pas votre boite de recherche avec des options avanc�es, comme de la logique bool�enne, respect de la casse ou expressions r�guli�res. Choisir les d�fauts qui mim�tisent le comportement de Google (prendre tous les mots, ne pas prendre les mots partiels, ne pas prendre les diff�rences de casse, ne pas utiliser les expressions r�guli�res) et rendre toutes les options visibles sur une page "recherche avanc�e".
  4. Donnez � votre boite de recherche une �tiquette appropri�e et une touche d'acc�s. Je recommande accesskey="4". (Note : Pendant le jour 15, J'ai donn� un exemple sur la fa�on d'assigner un accesskey � votre formulaire de recherche et je me suis tromp�. Pour une compatibilit� maximum entre les navigateurs, il vous faut d�finir l'accesskey sur le <label>, non pas sur l'<input>. Voir les exemples suivants pour la syntaxe ad�quate.)

Qui en bénéficie ?

Jackie, Michel, Guillaume, Liliane, Marc et en fait � peu pr�s tout le monde b�n�ficient d'un moteur de recherche bien r�alis�. Plus particuli�rement sur un carnet Web ou un site orient� nouvelles, o� le contenu est organis� tout d'abord chronologiquement, c'est tr�s frustant de trouver une entr�e sp�cifique qui a disparu de la page principale. Tr�s peu de personnes connaissent la syntaxe "site:example.org" de Google (pour restreindre les r�sultats de la recherche � un domaine particulier) et Google r�indexe uniquement une fois par moi. Fournissez votre propre moteur de recherche.

Comment le réaliser ?

Greymatter a un syst�me de recherche int�gr�, mais vous aurez besoin de param�trer le gabarit l�g�rement pour fournir un accesskey pour la bo�te de recherche. Se rendre � "Edit Templates", "Miscellaneous Templates", "Search Form Template"et trouver un formulaire comme ceci :

<FORM ACTION="{{cgiwebpath}}/gm-comments.cgi" METHOD=POST>
<INPUT TYPE=TEXT NAME="gmsearch" SIZE=20>
<INPUT TYPE=SUBMIT VALUE="Search">
</FORM>

Et changez le en :

<FORM ACTION="{{cgiwebpath}}/gm-comments.cgi" METHOD=POST>
<label for="gmsearch" accesskey="4">Search for:</label>
<INPUT TYPE=TEXT id="gmsearch" NAME="gmsearch" SIZE=20>
<INPUT TYPE=SUBMIT VALUE="Search">
</FORM>

Les utilisateurs de Movable Type peuvent essayer le plugiciel (plug-in) MT-Search. J'utilise cela sur mon site � venir qui fonctionne avec MT. Je l'ai essay� sur mon carnet Web principal (plus de 900 entr�es) et c'�tait assez lent, mais il semble qu'il fonctionne plut�t bien sur des sites plus petits. Ce n'est plus d�velopp�, mais cela fonctionne bien, m�me avec la derni�re version de Movable Type (NdT : � l'�poque de la r�daction). (Note : Si vous utilisez la version MySQL de Movable Type 2.2, vous aurez besoin de changer un peu mt-search.cgi.)

Si vous avez un carnet Web sur votre propre nom de domaine, vous pouvez utiliser un service de recherche tiers qui indexe votre contenu et fournit les r�sultats de la recherche � la demande. Quelques solutions populaires comprennent Atomz Express Search, que Blogger.com recommande et Google Free Web Search, que j'utilise sur mon propre carnet Web. Les deux sont param�trables jusqu'� un certain point et assez rapide, bien que les index de leur contenu ne soient pas toujours � jour. Les deux vous permettent de param�trer l'habillage de votre boite de recherche ; ma boite de recherche Google ressemble � ceci (notez l'utilisation d'un <label> et d'un accesskey):

<form id="searchform" method="get" action="http://www.google.com/custom">
<p id="searchlabel"><label for="q" accesskey="4">Search this site:</label></p>
<p id="searchinput"><input type="text" id="q" name="q" size="18" maxlength="255" value=" " /></p>
<p id="searchsubmit"><input type="submit" value="Search" />
<input type="hidden" name="cof" value="LW:116;L:http://diveintomark.org/images/eyes.jpg;LH:68;AH:left;GL:0;S:http://diveintomark.org/;AWFID:0d8ffcebe359c844;" />
<input type="hidden" name="domains" value="diveintomark.org" />
<input type="hidden" name="sitesearch" value="diveintomark.org" />
</p>
</form>

Note : Vous pouvez couper et coller ceci dans votre carnet Web. Si vous voulez utiliser le syst�me de recherche gratuite de Google, vous aurez besoin de vous enregistrer et d'ins�rer votre propre code qui sera plac� dans le champs cach� cof.

Approfondir