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 ?