Valiz : Moteur de recherche open-source

Aller au contenu | Aller au menu | Aller à la recherche

dimanche, juin 10 2007

Authentifier le contenu

Introduction

J'ai déjà évoqué le potentiel de la recherche universelle puis par secteur (bibliographie, évènement, article,...). À présent, je vais évoquer un autre type de séparation : le niveau de qualification d'un site.

Niveau de qualification

De nos jours, tout le monde peut créer un site. Tout le monde peut acheter un nom de domaine. Cela est du à deux paramètres principaux :

  • Le très faible cout d'un nom de domaine et de l'hébergement grand public
  • Le niveau de connaissances requis : nul (il existe des plate-formes de sites, des CMS,...)

Comme tout le monde peut générer du contenu sur internet, on peut y trouver n'importe quoi. Je peux tout à fait écrire sur ce blog un long article sur les risques dû aux transmissions micro-onde dans l'espace sans pour autant m'y connaitre. Un moteur de recherche ne fera pas la distinction entre un hurluberlu et un chercheur qualifié.
Comme le moteur de recherche ne peut faire la distinction, l'internaute qui posera sa requête au moteur de recherche peut très bien tomber sur un article fantaisiste et baser un mémoire dessus...

Distinguer

Dès lors, comment distinguer une page dont le contenu est issu de personnes qualifiées des pages impertinentes ? De mon point de vue, je vois deux types de pages pertinente :

  1. Celles publiées sur le site d'université, hautes écoles,...
  2. Celles diffusées sur le site personnel d'un passionné. Sans que l'auteur soit qualifié, son travail a de la valeur.

Un bot n'a que peu de chance de faire un bon tri sur ces aspects. Un filtre humain doit être appliqué.
Avec un travail communautaire, nous pourrions recenser les nom de domaine appartenant à des universités, hautes écoles, sites de passionnés, etc...

Autres domaines

Dans le même esprit, nous pourrions filtrer les sites des administrations pour chaque pays. Cela pourrait faciliter le recherche de texte de lois, d'informations sur les brevets, sur les entreprises, etc... sans que des sites amateurs viennent s'y emmêler. Tout ceci augmenterait largement la pertinence de certaines requêtes. Qu'en pensez-vous ?

dimanche, mai 27 2007

État du projet

Bonjour à tous,

Petit rappel

Cela fait déjà 140 jours qu'il n'y a plus eu de mise à jour sur ce blog. Il est temps de remettre le compteur à zéro.
Je rappelle le but de ce blog : débattre sur divers sujets ayant un lien avec la recherche accessible dans le but d'établir le cahier des charges d'un moteur de recherche simple, puissant, libre et gratuit. J'ai eu bon nombre de feedbacks (très peu par commentaire, c'est dommage) et le projet intéresse plusieurs personnes. Cependant pour obtenir une bonne base, il faut davantage d'intervenants dans les débats sur ce blog.
Je précise que tous les billets de ce blog peuvent recevoir des commentaires en tout temps, vous pouvez relancer un débat quand vous voulez.

Petite synthèse

Valiz est un projet gigantesque qui est très intéressant sous beaucoup d'aspects (que ce soit éthique, technique ou simplement en tant que défi). Cependant il y a des côtés qui risquent de pénaliser le projet :

  • Les acteurs du projet : L'idéal ce serait de former une bonne communauté remplie de talents motivés pour la bonne cause. Mais ce n'est pas évident à trouver.
  • Le financement : Tout le monde aimerait un moteur gratuit, sans publicité, etc... Mais l'infrastructure (on ne compte pas la main d'oeuvre qui est censée être bénévole) est extrêmement onéreuse pour un projet de cette ampleur. Si on peut se débrouiller pour monter de quoi tester l'algorithme à petite échelle, c'est une autre paire de manche pour permettre l'accès universel. Je ne suis pas persuadé qu'un tel projet puisse tourner exclusivement avec des dons.


Conclusion

Je suis toujours motivé si vous l'êtes aussi. Je ne peux me lancer seul dans un tel projet (j'ai des compétences dans pas mal de domaines, mais je ne peux pas tout faire ni être efficace dans tous les domaines et il est dur de réunir toutes les bonnes idées avec une seule personne).
Donc, je vous invite une nouvelle fois à :

  • Intervenir régulièrement sur ce blog
  • Faire connaitre cette initiative autour de vous, à en parler sur vos blogs, forums,...
  • Me contacter à soutien@valiz.org pour toutes propositions, message de soutien, si vous seriez intéresser à faire un don par la suite, si vous souhaitez être averti de tout évènement majeur, etc...

De mon côté, je disposerai de beaucoup de temps dès juillet. Donc si vous êtes motivé, nous pouvons faire avancer ensemble ce projet dès cet été.



Google libre sur les forums d'Ubuntu-fr

dimanche, février 4 2007

Critères d'accessibilité

Le rôle de Valiz

Valiz, en plus d'être un moteur open-source, a un objectif : devenir une référence dans la recherche accessible (où son utilisation et les résultats obtenus sont accessibles par le maximum de personnes possibles).

Les critères d'accessibilités

De l'utilisateur

J'aimerais fournir les résultats en fonction du profil de l'utilisateur. En fonction du navigateur utilisé (texte, oral, braille, normal,...) on peut facilement déduire les handicaps principaux de l'internaute (cela sera évidemment personnalisable) et en fonction de cela, des résultats adaptés pourront être fournis.
Même si l'internaute ne souffre d'aucun handicap, valiz n'indexera pas et ne fournira pas de sites non structurés (pour rester un minimum spécialisé et aussi pour économiser de précieuses ressources).

Des sites

Dans mes premiers billets, je signalais que pour les débuts, je pensais me baser sur une validation via l'API SOAP du W3C puis par la suite faire une analyse complète de l'accessibilité des sites car certains sites valides ne sont pas accessibles et vis-versa.
Je ne sais pas encore si je maintiendrai ce critère, mais dans tous les cas, réfléchissons aux critères d'accessibilité d'un site web :

  • Le contraste (via une analyse des attributs style et des feuilles de styles css)
  • La structure du site (sémantique, navigation par clavier simple (accesskey, tab,...)
  • Attributs alt renseignés (pas seulement alt="")
  • Présence de java-script, de java ou de flash
  • Et encore ... ?

L'accessibilité porte sur énormément de critères, néanmoins il n'est pas envisageable de faire une analyse automatique pour chaque site (même si on ne contrôlait que les bonnes pratiques d'opquast par exemple). Donc quels sont les critères facilement contrôlables et pertinents pour chaque profil d'utilisateur ?

lundi, janvier 29 2007

Réflexion sur une architecture externe

Le fait

Je l'ai déjà dit assez souvent, mais ça ne fait pas de mal de le répéter : un moteur de recherche, ça prend des ressources, beaucoup de ressources (humaines et systèmes). Des serveurs puissants sont requis, et il en faut en nombre pour garantir un minimum de réactivité pour l'indexation et la prise en compte de modification.

Contribuer efficacement

Valiz visant le 100% open-source (donc gratuit, libre, aucun profit financier, etc..., le financement de ces serveurs sera un beau problème, j'espère que les dons en couvriront une partie et peut-être même qu'un ou plusieurs partenaires seront intéressés à soutenir le projet (financièrement ou matériellement).
Pour l'infrastructure, j'en avait déjà vaguement parlé dans un précédent article, mais j'ai eu récemment une autre idée : créer une architecture atome Pourquoi atome ? Parce que ça y ressemble :

  • Un noyau avec les bases de données et serveurs pour les résultats à la volée. C'est toujours le noyau qui affiche le résultat.
  • Des électrons qui gravitent autour du noyau : des serveurs (ou plus précisément des ressources serveurs) mises à disposition par des particuliers, entreprise ou autre association qui désire soutenir Valiz et qui auraient un ou plusieurs serveurs qui tournent à vide ou presque.

Serveur électron

(Le nom sert juste de lien avec l'atom, c'est juste un modèle, un nom plus convenable sera probablement trouvé).
Ces serveurs font le lien entre le web et le noyau, ils peuvent servir de ValizBot (en mode indexation, mise à jour,... ou encore 100% réservé à son site) ou de générateur de cache (mise à jour des requêtes populaires, pré-formatage,...),. Cela permet non seulement d'alléger la charge du noyau, mais également d'augmenter de manière proportionnel à sa popularité sa réactivité.

Problème de sécurité

Valiz est open-source et facilement modifiable, mais il ne faut en aucun cas que les paramètres d'indexation et autres critères puissent être modifiés extérieurement. Un serveur satellite signifie un accès au noyau ainsi que des accès sql (très limités), pour éviter des problèmes, il sera impératif de valider les accès un par un avec vérification des intentions de la personne souhaitant contribuer.
Ensuite vient le problème de l'environnement installé sur le serveur permettant d'exécuter ValizBot ou autre générateur de cache. Il ne faut surtout pas qu'il soit en langage interprété (beaucoup trop facilement modifiable par le propriétaire pour avantager ses sites ou injecter n'importe quoi dans les bases de données. Je pense qu'un langage compilé comme le C++ a davantage sa place. Ensuite il faut simplifier la mise à jour. Pour ça, je pense à une gestion par paquet binaire (dpkg et rpm) et pour ce qui est de l'auhentification, l'astuce reste à trouver (probablement sous la forme d'un clef).

Conclusion

Je pense que ce concept pourrait donner pas mal de potentiel à Valiz, néanmoins sa conception devra faire face à énormément de défis. Qu'en pensez-vous ?

samedi, janvier 27 2007

Quels langages pour Valiz ?

Valiz est un gros projet et comme en prime il est open-source, il doit être parfaitement lisible, récupérable par module ou encore facilement modifiable. Évidemment, il faut aussi qu'il soit portable, etc...
Bref, le choix des langages est primordial. Il faut aussi penser à coder léger et performant.
Donc il faut choisir les langages pour Valizbot, les divers algorithme, le site, la gestion des APIs, etc... le point commun sera les donnée, je pense aux bases du SGBDR PostgreSQL.
Je pensais faire valizbot principalement en python avec une gestion des regex par Perl (comme c'est son point fort). Peut-être Java pour les algorithme ?
Comment voyez-vous Valiz et avec quels langages ?

- page 1 de 4