Une des grosses problématiques à laquelle on a à faire face lorsqu’on s’occupe d’un site est de fournir un moyen de rechercher des informations dessus.
Pour cela il existe plein de solutions mais elles sont toutes complexes à mettre en place et coûteuses en performance.
Je vais vous présenter dans cet article la solution la plus simple que j’ai pu trouver.
L’idée originale est de Ryan Farley’s
Cela faisait longtemps que je souhaitais proposer une recherche sur mon site (www.Dotnet-Project.com) mais je ne voulais pas mettre en place une usine à gaz.
J’avais donc pensé à récupérer d’une façon ou d’une autre les résultats de Google.
Puis je suis tombé sur le post de Ryan
et ce n’est pas par Google mais par le tout nouveau MSN Search (search.msn.com) que j’allais passer.
Bien entendu, cette solution implique que votre site soit correctement indexé sur ce moteur de recherche.
La technique
Le moteur de recherche MSN Search permet de récupérer les résultats sous forme de flux RSS. C’est la base de la solution.
Bas oui, pourquoi essayer de faire en quelques minutes (ou heure ... ou jours d'ailleurs) ce que d'autres font depuis bien des années ?
Il suffit donc de récupérer le flux qui provient de cette URL :
où Dotnet-Project.com est le site sur lequel rechercher et Framework le mot clé.
Il ne reste plus qu’à mettre en forme le résultat. M’étant engagé à faire l’exercice en 2 minutes il fallait bien entendu trouver là encore une solution rapide.
Ici, c’est le Custom Control RssFeed de Scott Mitchell qui va me permettre de tenir mon engagement. Vous pouvez le télécharger ici : http://www.gotdotnet.com/workspaces/workspace.aspx?id=6a116a0f-66c4-4f91-9e13-a0d00960b9ad
Le code
Voyons maintenant ce que cela donne concrètement.
Tout d’abord la partie aspx : Il suffit de placer le contrôle RssFeed et de configurer le rendu à votre guise.
Voici un exemple :
Vous allez nécessairement avoir besoin de rajouter un TextBox et un bouton pour effectuer vos recherches. Je pense qu’il n’y a pas besoin d’explication à ce niveau.
Enfin le code C# à placer, par exemple, dans l’évènement click d’un bouton :
Comme vous pouvez le voir, le contrôle RssFeed prendre comme source une URL qui sera celle du moteur de recherche MSN Search avec le site et le(s) mot(s) clé(s) à rechercher.
Conclusion
Cet article présente une solution simple et rapide pour offrir à votre site des recherches efficaces.
Mais au-delà de la technique, j’ai souhaité partager avec vous ma vision du développement qui consiste à rechercher au sein des diverses communautés existantes des solutions à mes problèmes de tous les jours.
C’est dans ce but que j’ai d’ailleurs créé le projet Dotnet-Project Framework (projet, aide en ligne) qui est un exemple, parmi d’autre, de ce que les communautés peuvent vous apporter.