Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/05/2008, à 02:17

WhiteFox

Internet V/S Minitel 2.0, une hypothétique solution à google...

Après visionnage de cette vidéo : Internet Libre ou Minitel 2.0 (Attention, plus d'1h, pour les plus pressés je ferais un résumé en fin de post, allez directement à la citation, vous pourrez toujours revenir plus tard), j'ai décidé de chercher des solutions aux problèmes évoqués.
Le premier problème qui m'a parut relativement facile à résoudre dans un temps relativement court, c'est celui de google (voir la vidéo ou lire le résumé) :
L'idée c'est de faire un moteur de recherche qui ne soit pas un site internet mais un logiciel, à la façon de copernic sous windows, si ce n'est que ce moteur de recherche n'utiliserait pas d'autres moteurs de recherche, il serait indépendant.
Pourquoi tous ces "relativement" ?
Et bien parce que j'ai des idées mais pas assez de connaissances (je le déplore) pour réaliser ce dont je parle, bref, je suis une bille en programmation et il faut que j'aille sur le site du zero pour me souvenir comment mettre une image dans une page html...c'est pas gagné.
Je vous expose le principe de fonctionnement que j'avais à l'idée et je vous propose de me donner votre avis sur le côté réalisable de la chose et pourquoi pas votre aide, qui sera toujours la bienvenue.
Voici le cahier de charge du moteur de recherche (appelons-le MDR (moteur de recherche, pas mort de rire)) :

Points rincipaux :
1 - Il doit être sous forme logicielle et pas sous forme de site, pour pouvoir fonctionner indépendamment de toute coupure d'électricité ou piratage.
2 - Il ne doit dépendre que de lui même et d'aucune machine "centrale", si on pirate un pc, MDR doit continuer de fonctionner sur tous les autres.
3 - Il doit rivaliser avec google, tous les sites que vous trouvez avec google doivent pouvoir être trouvés avec MDR, sans que celui-ci ne s'appuie sur google ou un autre moteur de recherche.
4 - Il doit tourner sur tous les principaux OS (Linux, Windows, Mac dans un premier temps).
5 - Il doit être léger et tourner sur les plus vieux PC.

Points secondaires :
A - Il doit posséder une interface graphique pour être facilement utilisable par quelqu'un qui ne sait même pas ce qu'est la ligne de commande (ma grand mère doit pouvoir s'en sortir).
B - Il doit posséder des options de filtrage (mais aucun filtre par défaut) pour, par exemple, ne pas avoir une recherche polluée par des skyblogs, (je vous jure que sur google c'est très énervant d'avoir 11millions de réponses dont 6 millions de skyblogs de midinettes).
C - il doit pouvoir effectuer des recherches de vidéos (pas uniquement les vidéos en flash type youtube, mais aussi les vidéos téléchargeables par ftp par exemple), d'images, de documents (PDF, .doc, .odt, etc...) et enfin, d'autres fichiers (quels qu'il soient).

Voilà pour le moment, si vous avez d'autres idées, n'hésitez pas.
En attendant, voici une liste des "solutions" que j'ai peut-être trouvé pour répondre à quelques points du cahier des charges :
Points numéro 1, 2 et 3 :
MDR fonctionnerait selon un principe de partage :
Un fichier "F" serait généré par MDR, contennant une liste de mots clefs et les sites qui leurs sont associés, à chaque fois que l'on effectuerait une recherche, MDR commencerait par chercher dans ce fichier "F" puis il chercherait sur le net, (comme google ou yahoo), et enfin, il se connecterait aux autres instances de MDR en cour à travers le monde afin d'explorer leurs fichier "F", ces deux dernières étapes permettant de mettre à jour les fichiers "F".
Ainsi, si une bombe explose sur un PC, les autres peuvent continuer leur recherche (si il y a une bombe chez google, tout le savoir de l'humanité est perdu à tout jamais...ou du moins tout devra être refait depuis les débuts de google).

Point numéro 4 et 5 :
Je ne préconise pas le Java, qui est très lourd, le Python me semble plus léger mais je n'y connais vraiment rien, je n'ai donc pas vraiment de solution à ces points.

Point A : Pour le design, je peux m'en charger, mais pour véritablement créer une interface graphique, je ne sais pas faire (gimp je maîtrise mais c'est tout).

Point B et C : là je n'ai vraiment pas les compétences.

Voilà, vous en savez un peu plus, j'attends vos avis, critiques et idées.

Maintenant un petit résumé de ce qui se dit dans la vidéo :

Internet vire au minitel :
Internet et les logiciels libres sont apparut en même temps, et sont intrinsèquement liés : si les protocoles d'internet n'avaient pas étés libres, il ne se serait jamais développé, et si internet n'existait pas, impossible de difuser un logiciel libre ou de le dévolopper (pas de sourceforge, etc...).
A la base, tous les réseaux à part internet, sont des réseaux centrés : un gros ordinateur "intelligent" qui gère tout et des petits terminaux "débiles" qui s'y connectent, ça c'est par exemple, le minitel.
Internet est différent, chaque ordinateur est à la fois serveur et client, ainsi, si on supprime les états unis, internet fonctionne toujours.
Cependant, les 90% de ce que l'utilisateur Lambda fait sur internet, est faisable sur du minitel.
Par exemple, l'outil le plus utilisé : Google (je prends cet exemple car c'est de moteur de recherche dont je parle dans mon post).
Pour citer Benjamin Bayart, google c'est 8000 machines, qui contiènnent tout le savoir de l'humanité, et des millions de petits terminaux "débiles" qui s'y connectent, je sais pas comment vous appellez ça vous, mais pour moi, c'est du minitel, il l'ont fait en plus grand, en plus beau, en couleur, mais fondamentallement, c'est pareil, on est dépendants, nos recherches peuvent être (et sont) filtrées.
Et pour résumer c'est pareil avec tout : Dailymotion, youtube, ce sont des serveurs qui contiènnent toutes les vidéos et nos terminaux débiles viennent encore s'y connecter.
Pour conclure : hébergez-vous vous même, devenez indépendants, reprenez le contrôle d'internet, libérez internet, sinon, il va mourir, et les logiciels libres avec.

Voilà un bref résumé (qui ne contient qu'une infime partie) de la conférence de Benjamin Bayart aux 8èmes rencontres mondiales du logiciel libre. C'est loin d'être exhaustif.

Dernière modification par WhiteFox (Le 07/05/2008, à 02:18)


Microsoft : microsize your mind !

Hors ligne

#2 Le 07/05/2008, à 07:21

akira86

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Salut
http://www.transfert.net/Gnutella-devient-un-vrai-moteur-de


astuce de la console :
tab pour compléter automatiquement le nom d'une commande d'un dossier ou d'un fichier.
clique molette pour recopier une sélection.

Hors ligne

#3 Le 07/05/2008, à 13:05

alexduf

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

C'est alléchant tout ça, sauf qu'à mon sens il y a une faille dans ton raisonnement:

Un fichier "F" serait généré par MDR, contenant une liste de mots clefs et les sites qui leurs sont associés, à chaque fois que l'on effectuerait une recherche, MDR commencerait par chercher dans ce fichier "F" puis il chercherait sur le net, (comme google ou yahoo), et enfin, il se connecterait aux autres instances de MDR en cour à travers le monde afin d'explorer leurs fichier "F", ces deux dernières étapes permettant de mettre à jour les fichiers "F".

ça veux dire que le fichier F va grossir sans arret. Cumule ça à toutes les recherches et tu satures rapidement... Concevoir une application distribuée c'est pas de la tarte à mon avis.

Mais l'idée est vraiment bonne.

Je remplacerais bien les "fichiers" par une base de données embarquée, genre sqlite. C'est léger, et surtout efficace pour les recherches, donc parfaitement adapté.

La question qui me taraude c'est l'indexation. Comment faire pour bien distribuer l'indexation du web? Peut-être en exploitant les pages naviguées par l'utilisateur ? mais se pose alors la question de la vie privée. Et comment juger la pertinence des résultats ? Ce qui fait la force de google, c'est justement la présentation des résultats qui est la plus pertinente du marché, et prétendre égaler leurs algorithme est quand même sacrément ambitieux.

Se pose aussi la question de bidouiller les résultats, en modifiant un client qui enverrai des informations erronée pour promouvoir tel ou tel site. Bref beaucoup de questions délicates !

Après l'interface graphique c'est finalement ce qu'il doit y avoir de plus simple et elle n'as pas besoin d'être évoluée au départ. La dissocier du "moteur" peut être un plus pour, par exemple, effectuer des recherches en ligne de commande.

La gestion des communications entre les différents nœuds (donc les instances qui tournent) implique de reposer sur un protocole. Quel protocole utiliser ? En créer un de toute pièce? Il existe peut-être quelque chose sur lequel s'appuyer.

Enfin tu parles de java comme étant lourd, mais il a l'avantage d'être facilement déployable, aujourd'hui quasiment tout le monde possède une JVM. Effectivement le python se prête bien aussi à la question, mais là... je ne pourrais pas aider tongue (mais ça fait un moment que j'aimerais m'y mettre, alors pourquoi pas)

Hors ligne

#4 Le 07/05/2008, à 16:09

WhiteFox

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Étant donné mon niveau, je ne suis pas vraiment apte à répondre à tes questions...
En fait, si je lance un tel projet c'est parce que l'idée me parait bonne mais les compétences me manquent.
Je vais donc me massacrer le cerveau et tenter de chercher quel est le meilleur langage de programmation et apprendre ce langage du mieux que je pourrais (après tout, je lance un projet, la moindre des choses est d'y participer un minimum).

Pour ce qui est du fichier F j'avoue n'avoir aucune idée de ce que ça pourrait donner, et j'ai jamais pigé le principe de base de donnée...

Pour ce qui est de la pertinence on pourrait faire en sorte que le logiciel soit évolutif : à chaque recherche, il demanderait si les résultats sont pertinents, et changerait sa façon de trier en fonction des réponses, cela pourrait peut-être même dépasser la pertinence de google étant donné que la pertinence des résultats serait dépendante de l'opinion de l'utilisateur, le logiciel aurait disons...la même vision de la pertinence que son utilisateur.

Pour en revenir au fichier F (ou base de donnée), il ne ferait que contenir les adresses des sites et les mots clefs qui leurs sont associés, et MDR ne ferait que lire ce fichier, on pourrait donc théoriquement rajouter des mots clefs pour se trouver en meilleur position, pour palier à cela il faudrait intégrer un système de comparatif, MDR comparerait les fichiers F qu'il trouverait, ainsi, si un seul d'entre eux contient le mot clef "bidule" pour le site "www.machin.com", ce mot clef serait considéré comme une erreur, en revanche, si suffisement de fichiers F contiennent le mot clef "bidule" pour le site "www.machin.com" alors ce mot clef serait retenu. De plus, si on ajoute à cela la possibilité de juger de la pertinence des résultats, alors même si un site parvient à se frayer un chemin pour arriver en tête de toutes les requêtes, il sera vite dégagé car non pertinent.

Pour l'interface, je pensais aussi que le programme pourrait utiliser un système en ligne de commande et un frontend en plus pour ceux qui préfèrent, mais je me pose des question quant-à la portabilité d'un système backend/frontend sur d'autres plateformes...

Pour ce qui est du protocol, le P2P est ce qui me semble offrire le plus de possibilité et de facilité, reste à savoir lequel utiliser (torrent, gnutella, ou autre ?), mais je n'y connais rien, je dis peut-être des conneries.

Je me penche tout de suite sur le langage à utiliser.

@ akira86 : le projet de gnutella à l'air mort (nom de domaine à vendre...pas bon signe).

Dernière modification par WhiteFox (Le 07/05/2008, à 16:10)


Microsoft : microsize your mind !

Hors ligne

#5 Le 07/05/2008, à 18:30

alexduf

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

WhiteFox a écrit :

Étant donné mon niveau, je ne suis pas vraiment apte à répondre à tes questions...

c'est pas grave ça permet de mettre en évidence les points à travailler

WhiteFox a écrit :

Je vais donc me massacrer le cerveau et tenter de chercher quel est le meilleur langage de programmation et apprendre ce langage du mieux que je pourrais (après tout, je lance un projet, la moindre des choses est d'y participer un minimum).

Hmm si tu commences à développer, il faudrait peut-être songer à quelque chose de moins ambitieux. Là ton idée touche à peu près à tous les aspects de la programmation (base de données, IHM, réseau) donc ça va effectivement demander de sacrifier pas mal de neurones ^^


WhiteFox a écrit :

Pour ce qui est du fichier F j'avoue n'avoir aucune idée de ce que ça pourrait donner, et j'ai jamais pigé le principe de base de donnée...

Une base de données, c'est comme un gros fichier, sauf qu'il existe un langage pour faire des recherches dedans de manière simple et efficace.

WhiteFox a écrit :

(...)
cela pourrait peut-être même dépasser la pertinence de google étant donné que la pertinence des résultats serait dépendante de l'opinion de l'utilisateur, le logiciel aurait disons...la même vision de la pertinence que son utilisateur.

(attention cet avis n'engage que moi, et je vais passer pour un rabats-joie tongue ). Je pense que donner la possibilité aux gens de noter la pertinence d'un résultat est une bonne idée. Seulement, qui dis "moteur de recherche" dis "intérêt économique". Et qui dit "intérêt économique" dit "tout les coups sont permis". En gros, en donnant la possibilité aux gens de noter, on leur donne aussi la possibilité de tricher.

WhiteFox a écrit :

Pour l'interface, je pensais aussi que le programme pourrait utiliser un système en ligne de commande et un frontend en plus pour ceux qui préfèrent, mais je me pose des question quant-à la portabilité d'un système backend/frontend sur d'autres plateformes...

je pense que ça ne pose pas de problème en adoptant un système client/serveur (le frontend serait le client du backend) C'est relativement standard comme façon de faire.


WhiteFox a écrit :

Pour ce qui est du protocol, le P2P est ce qui me semble offrire le plus de possibilité et de facilité, reste à savoir lequel utiliser (torrent, gnutella, ou autre ?), mais je n'y connais rien, je dis peut-être des conneries.

Le torrent nécessite un serveur (au sens machine) pour tourner. Mais il doit effectivement exister quelque chose de completement décentralisé.

Je pense que vue l'ampleur de l'idée, il faudrait diviser tout ça en différents modules, et assigner des développeurs à chaque module. Personnellement je veux bien participer au développement et apporter mes quelques compétences, mais autant être honnête, la majorité des question soulevées ici sont largement au dessus de mes moyens (un système distribué doit être vraiment atroce à concevoir). Je sais aussi d'expérience, qu'il vaut mieux concevoir en penser le système dans son ensemble avant de pondre la moindre ligne de code.

Je répète par contre que ce n'est que mon avis, je ne suis qu'un développeur junior (2 ans de java dans le milieu professionnel). Donc mes infos sont à prendre avec des pincettes wink ,et désolé pour l'aspect un peu pessimiste de mes propos, je suis parfois un peu trop "terre à terre"

Hors ligne

#6 Le 07/05/2008, à 19:31

WhiteFox

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Hmm si tu commences à développer, il faudrait peut-être songer à quelque chose de moins ambitieux. Là ton idée touche à peu près à tous les aspects de la programmation (base de données, IHM, réseau) donc ça va effectivement demander de sacrifier pas mal de neurones ^^

Il faut souffrir pour être...savant^^
Mais je ferais ce qui est à ma portée et j'essaierais d'étendre ma portée autant que possible.

Une base de données, c'est comme un gros fichier, sauf qu'il existe un langage pour faire des recherches dedans de manière simple et efficace.

Merci, je me sens déjà pousser des liaisons neuronales...:D

(attention cet avis n'engage que moi, et je vais passer pour un rabats-joie tongue ). Je pense que donner la possibilité aux gens de noter la pertinence d'un résultat est une bonne idée. Seulement, qui dis "moteur de recherche" dis "intérêt économique". Et qui dit "intérêt économique" dit "tout les coups sont permis". En gros, en donnant la possibilité aux gens de noter, on leur donne aussi la possibilité de tricher.

Ça, c'est un peu leur problème étant donné que ça n'aura d'influence que sur le logiciel installé sur leur machine et pas sur l'ensemble du réseau, c'est une pertinence personnalisée... (oui il m'arrive de mal m'expliquer...^^)

je pense que ça ne pose pas de problème en adoptant un système client/serveur (le frontend serait le client du backend) C'est relativement standard comme façon de faire.

Attention tout de même, l'idée c'est dé décentraliser, il ne faut pas que le logiciel soit dépendant d'un serveur central, et unique, il faut qu'il fonctionne comme internet lui-même : chacun doit être à la fois client et serveur.
Sinon, aucun intérêt et google fait très bien son boulot.
Ou alors j'ai mal compris et tu parlais d'un système client/serveur indépendant sur chaque machine (oui il m'arrive de mal comprendre aussi^^).

Le torrent nécessite un serveur (au sens machine) pour tourner. Mais il doit effectivement exister quelque chose de completement décentralisé.

C'est l'idée.

Je pense que vue l'ampleur de l'idée, il faudrait diviser tout ça en différents modules, et assigner des développeurs à chaque module.

Décentraliser jusqu'au développement...excellent.

Personnellement je veux bien participer au développement et apporter mes quelques compétences, mais autant être honnête, la majorité des question soulevées ici sont largement au dessus de mes moyens (un système distribué doit être vraiment atroce à concevoir).

Toute aide est la bienvenue, et puis, moi qui suis la personne la plus incompétente de ce projet, j'ai la prétention d'en lancer l'idée...

Je sais aussi d'expérience, qu'il vaut mieux concevoir en penser le système dans son ensemble avant de pondre la moindre ligne de code.

C'est ce qu'on fait là.

Je répète par contre que ce n'est que mon avis, je ne suis qu'un développeur junior (2 ans de java dans le milieu professionnel). Donc mes infos sont à prendre avec des pincettes wink ,et désolé pour l'aspect un peu pessimiste de mes propos, je suis parfois un peu trop "terre à terre"

Ça aussi il en faut.
Bienvenue.


Microsoft : microsize your mind !

Hors ligne

#7 Le 08/05/2008, à 11:43

alexduf

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Ça, c'est un peu leur problème étant donné que ça n'aura d'influence que sur le logiciel installé sur leur machine et pas sur l'ensemble du réseau, c'est une pertinence personnalisée... (oui il m'arrive de mal m'expliquer...^^)

OK j'avais pas compris ça comme ça...

Ou alors j'ai mal compris et tu parlais d'un système client/serveur indépendant sur chaque machine (oui il m'arrive de mal comprendre aussi^^).

C'est de ça que je parlais effectivement tongue

Je pense que vue l'ampleur de l'idée, il faudrait diviser tout ça en différents modules, et assigner des développeurs à chaque module.

Décentraliser jusqu'au développement...excellent.

Je vois déjà quelques modules :
Serveur (local donc) :
- indexation du web (qui tourne en tache de fond)
- sauvegarde récupération des données de la base
- couche réseau (et le protocole qui va avec)


Je répète par contre que ce n'est que mon avis, je ne suis qu'un développeur junior (2 ans de java dans le milieu professionnel). Donc mes infos sont à prendre avec des pincettes wink ,et désolé pour l'aspect un peu pessimiste de mes propos, je suis parfois un peu trop "terre à terre"

Ça aussi il en faut.
Bienvenue.

huhu ^^

Si par le plus grand des hazards tu choisis python, j'ai trouvé ça : http://www.cifen.ulg.ac.be/inforef/swi/python.htm
C'est un livre O'Reilly pour apprendre le python disponible gratuitement en PDF.

J'ai commencé à le lire par curiosité vue que ça fait longtemps que je regarde ce langage avec attention.

Hors ligne

#8 Le 09/05/2008, à 00:11

WhiteFox

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Je vois déjà quelques modules :
Serveur (local donc) :
- indexation du web (qui tourne en tache de fond)
- sauvegarde récupération des données de la base
- couche réseau (et le protocole qui va avec)

Bon alors, indexation du web, je crois comprendre, c'est en gros la partie moteur de recherche...normale, si je ne m'abuse.
Sauvegarde et récupération des données de la base, ce doit être la partie qui s'occupe d'explorer les bases de données de tout le monde et de soi même pour trouver son bonheur, encore une fois, si je ne m'abuse.
Mais couche réseau c'est quoi ? A moins que la partie précédente s'occupe uniquement de notre base de donnée et cette partie serait celle qui s'occupe de la récupération des bases dde données tierces, me trompe-je ?
Ça fait 3 jolis modules, alors voyons...
On à (besoin d') une équipe qui s'occupe de l'indexation du web
Une autre qui s'occupe de la partie base de donnée
Une autre qui s'occupe du partage de la base de donnée via un protocole pas encore déterminé.
Qu'est-ce qu'il manque ?
Pas grand chose, avec ça, on répondrait aux principaux points du cahier des charges.
Une fois le fond traité, pour ce qui est de la forme, je pense que ces 3 modules devraient se présentés comme 3 deamons, plus un 4ème qui contrôlerait les 3, les 3 deamons serviraient à la recherche proprement dite, le 4ème, l'interface avec l'utilisateur, servirait à faire le tri dans les résultats à les présenter à l'utilisateur et à faire disons, les tâches administratives (c'est lui qui s'occuperait des préférences de pertinences dont je parlais plus haut par exemple), bref, il s'occuperait de toutes les tâches qui sont communes aux 3 autres afin d'éviter la répétition de fonction.
il va falloir que je schématise tout ça, je m'en occupe de suite (et après je lis le livre sur le Python qui, d'après les recherches que j'ai fais jusque là, semble parfaitement adapté, au moins pour le 4ème module du programme, les  autres demandant peut-être un langage un peu plus...direct comme le C++, l'inconvénient étant la portabilité dans ce cas...).
Je fais un schéma et j'édite ce message.

Tremble google, je suis une bille mais j'arrive quand même big_smile

Dernière modification par WhiteFox (Le 09/05/2008, à 14:05)


Microsoft : microsize your mind !

Hors ligne

#9 Le 09/05/2008, à 00:35

alexduf

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Hmmm, je vais préciser ma proposition :

alors la partie indexation, s'occupe de scanner au pif le net. En tapant des adresses ip au hasard par exemple. Dès qu'on trouve un site on regarde son contenu puis on enregistre ce qu'on pense être pertinent comme mots clefs.
Ca parait simple dit comme ça mais ça ne l'est pas vraiment. C'est cette partie qui fera la pertinence des résultats, en analysant son contenu, l'en tête de chaque page du site, commencer à récupérer tous les liens qui pointent vers l'extérieur, puis indexer toutes les pages pointées par la première... Ca demande d'étudier en détail le référencement d'un site web.

sauvegarde et récupération des données : c'est juste la partie qui s'occupe de faire les accès à la base (enregistrement, recherche ...). Elle est interrogée par les deux autres modules.

couche réseau, (ok le terme est super-ambigu), disons "module de communications" : s'occupe de trouver des noeuds, de les enregistrer, d'envoyer des recherches, de récupérer les résultats etc ...
trouver des noeuds fait partie des opérations compliquées dans la mesure où on est complètement décentralisé, et que statistiquement, les chances de tomber sur un utilisateur par rapport au nombre d'adresses IP est quand même faible (allez je suis ambitieux, on dit 1000 utilisateur, ça fait 2.93873588 × 10-36 chances d'en trouver un à chaque test).

Personnellement je verrais biens ces trois modules comme un seul et même demon.

je pousserais même le principe jusqu'à dire que l'IHM se contenterais d'interroger le process serveur comme n'importe quel autre noeud du réseau. Pouvoir modifier les fichiers de conf du serveur ou ce genre de préférences pourrais être un plus.

Tremble google, je suis bille mais j'arrive quand même

Je sens  qu'il est effrayé ^_^

Hors ligne

#10 Le 09/05/2008, à 15:37

WhiteFox

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

je pousserais même le principe jusqu'à dire que l'IHM se contenterais d'interroger le process serveur comme n'importe quel autre noeud du réseau. Pouvoir modifier les fichiers de conf du serveur ou ce genre de préférences pourrais être un plus.

IHM ?
C'est une maladie ? ^^

Je sens  qu'il est effrayé ^_^

Ah bein oui, forcement, quand je m'énerve, je peux casser un œuf d'une main, c'est impressionnant forcement...^^

Je fais un schéma et j'édite ce message.

Héhé, je me cite moi même, la classe, bon alors ce schéma de répartition des tâches, schéma heuristique, c'est plus clair :
mdrprojecthl8.png
Donc : en jaune, Le nom du projet, en rouge, le nom des équipes et le reste ce sont les travaux assignés (ou disons, à assigner).
Je me demande si c'était bien nécessaire de faire une légende pour un schéma aussi simple...
Bon, il va de soi qu'il n'y à encore que les grandes lignes mais je compte bien étoffer ce schéma (Labyrinth à beau être simple, il est très bien pour ça), donc pas trop de foutage de gueule s'il vous plaît.

Dernière modification par WhiteFox (Le 09/05/2008, à 23:21)


Microsoft : microsize your mind !

Hors ligne

#11 Le 14/05/2008, à 10:06

alexduf

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

WhiteFox a écrit :

IHM ?
C'est une maladie ? ^^

Interface Homme Machine. Une interface utilisateur quoi. Pardon, je suis tellement dans mon milieu d'informaticiens que je ne fais plus gaffe quand je sors mon jargon. Promis je vais me surveiller.

WhiteFox a écrit :

Héhé, je me cite moi même, la classe, bon alors ce schéma de répartition des tâches, schéma heuristique, c'est plus clair :
(...)
Donc : en jaune, Le nom du projet, en rouge, le nom des équipes et le reste ce sont les travaux assignés (ou disons, à assigner).
Je me demande si c'était bien nécessaire de faire une légende pour un schéma aussi simple...
Bon, il va de soi qu'il n'y à encore que les grandes lignes mais je compte bien étoffer ce schéma (Labyrinth à beau être simple, il est très bien pour ça), donc pas trop de foutage de gueule s'il vous plaît.

Bon bah avec ça c'est bon on est prêt à refaire le monde... Des volontaires? Parce qu'à deux, ça va pas le faire.

Hors ligne

#12 Le 16/05/2008, à 23:40

Shrat

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Connaissances très partielles de python et sql. Prêt à apprendre.

Ready for orders!

Hors ligne

#13 Le 17/05/2008, à 10:05

Harry_seldon

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

@WhiteFox
Salut,

Ce projet me parait une bonne idée. Je le dis d'autant plus facilement que j'avais réfléchi à ce genre de système de moteur de recherche distribué il y a un an environ.

En gros la question que je me posais etait de savoir s'il serait envisageable de refaire un Google open source où la puissance de calcul et l'espace de stockage serait partagés par les utilisateurs.

Les premières questions à se poser sont que fait Google et pourquoi est-ce que cela marche si bien en pertinence et en rapidité.

Autant que je comprenne Google stocke à grandes échelles des pages webs statiques (alors que les sites webs internets d'aujourd'hui sont des programmes dynamiques) et il indexe ces pages avec des mots clés. Cet ensemble de pages indexées forme l'index de Google (c'est ton ensemble de fichiers F , si je ne m'abuse). Lors d'une recherche sur Google, Google ne manipule que son index, il ne fait jamais de recherche sur internet à proprement parler, si la page n'est pas dans l'index elle ne sera pas trouvée.
La pertinence des résultats de rechercher vient de l'algo (et notamment le fameux pagerank). Ton moteur devra avoir un bon algo de classement de résultats par pertinence. Je ne sais pas quel algo tu comptes utiliser.
La rapidité vient du hardware (une fois que l'index est fait). L'index est placé sur des tonnes de servers ultra rapides. Si l'index de Google était distribué sur des pc d'utilisateurs la rapidité serait facilement divisée par un facteur 100. (Temps perdu dans les communications plus que dans les calculs, avec une connexion 100 fois plus rapide qu'aujourd'hui c'est peut être évitable) A mon sens c'est le point clé qui fait que le ticket d'entrée pour faire son propre moteur de recherche est très élevé aujourd'hui.
La quantité de données est de l'ordre de 1000 milliards de pages. soit avec un koctets par page : 1 million de gigaoctets. Si tes utilisateurs donnent 100 go/personne, il faut dix mille utilisateurs. C'est donc faisable.
Enfin l'un des plus beaux succès de Google c'est la recherche en texte intégrale "full texte". Elle est possible parce que Google stocke tous ces milliards de pages webs. Si toi tu veux seulement de la recherche par mots clé pour limiter la taille de l'index, tu passes à côté du meillleur de Google.

Tout ça pour dire que même sur le papier ce projet ne paraît pas facilement faisable aujourd'hui. En revanche dans 5 à 10 ans avec la fibre optique notamment. Il sera peut être envisageable de faire un "google distribué" ou chaque pc d'utilisateur pourra être à la fois un robot d'indexation et une partie de l'index. Tout comme google cet index comprendra des redondances.
Comme dans bcp de pb de base de données ton problème n°1 sera la rapidité. En 2 la pertinence.
Si tu as le temps d'une thèse devant toi, c'est jouable.

Au passage tu dis :

si il y a une bombe chez google, tout le savoir de l'humanité est perdu à tout jamais...ou du moins tout devra être refait depuis les débuts de Google.

Ce n'est pas vrai. Déjà parce que l'index est dupliqué en différents endroits. Et deuxio tout ce qui peut être perdu c'est l'index mais sûrement pas les données. Google n'en aurait que pour quelques mois à reconstruire son index.

Quelques sujets connexes qui me viennent à l'esprit :
p2p (tu en as parlé)
Calcul distribué (exemple du SETI@home)
Distributed Version Control System (cf GIT) pour les aspects distribution de bdd.

Bonne chance
H

Hors ligne

#14 Le 21/05/2008, à 00:31

WhiteFox

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Désolé du retard les amis, j'ai beaucoup de travail :
Tout d'abord, alexduf : Merci.
Ensuite, Shrat : Bienvenue
Enfin, Harry_seldon : Merci et bienvenue.
Stoooooop, un petit retour sur Harry :
il va de soit qu'il y a certains "impondérables" que nous devrons contournés, mais je ne désespère pas (on se croirait dans "la guerre selon Charlie Wilson" :
"Donc, vous voulez qu'Israël se rapproche du Pakistan, de l'Egypte et de l'Afghanistan ?"
"Et de l'Arabie Saoudite !"
"J'entrevois quelques petits problèmes, comme ça, à vu de nez...")

Bon, je me replonge dans le python et dans la conception d'un site et d'un projet sourceforge (ou autre, on verra, mais sourceforge à l'air pas mal pour ça), ce qui sera plus simple pour gérer le projet.
Je vous recontact.


Microsoft : microsize your mind !

Hors ligne

#15 Le 22/05/2008, à 01:26

herberts

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Salut à vous. Ce projet est ma foi très intéressant, et même si comme le dit harry c'est pas gagné, je suis prêt à participer à hauteur de mes faibles compétences en la matière. Je suis débutant en programmation (C et phyton), et c'est tout smile. Donc je sais pas si je pourrais faire grand chose, mais je vais suivre ce topic de près.

Hors ligne

#16 Le 22/05/2008, à 17:10

Skippy le Grand Gourou

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Un moteur de recherche distribuée, c'est effectivement une excellente idée sur le principe (ça tombe bien je suis moi-même en train de poser les bases pour un moteur de recherche, mais j'en dirais pas plus avant d'avoir au minimum un brouillon viable).

Malheureusement, je vois un très, très gros problème qui se posera immédiatement, et qui risque de foutre tout à l'eau (donc sur lequel réfléchir avant de se lancer à corps perdu là-dedans) : il est à parier que dès les premiers jours, les bases de données indexées soient polluées par des gens qui veulent refourguer leurs sites porno payants. hmm

Edit : C'est sans doute une des raisons pour lesquelles le projet InfraSearch, la recherche distribuée selon Gnutella, pourtant racheté par Sun Microsystems, a été abandonné.

Dernière modification par Skippy le Grand Gourou (Le 22/05/2008, à 17:16)

Hors ligne

#17 Le 22/05/2008, à 18:32

Shrat

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Un filtre, c'est vite fait et ça éliminera beaucoup d'ennuis.

Autement, j'avais l'idée d'un moteur basé sur le même système que Bittorrent. Je m'explique :

Chaque utilisateur indexe un certain nombre de pages, celles qu'il consulte souvent. Ensuite, il alloue une certaine part de sa bande passante, la rapidité de ses recherches étant relative à cette quantité (c'est une forme de ratio de partage). A l'intérieur de cette bande passante, on divise le tout en deux. Une partie de la bande sert à tous le monde, c'est une recherche globale (autant dire que c'est lent et que tous le monde se bouscule à l'entrée). L'autre partie est allouée à une recherche qu'on pourrait dire communautaire. Lorsque quelqu'un tombe sur un site pertinent en cherchant dans l'index de ce mec (par recherche global), ils deviennent "ami". Par la suite, lorsque l'un de ces gars fais une recherche, il va d'abord chercher chez ses amis (recherche communautaire). A terme, l'utilisateur préfèrera privilégier la recherche communautaire.

Quel intérêt? Au fur et à mesure, chaque utilisateur se forge son propre répertoire privilégié d'index intéressants. De fait, le moteur de recherche redevient communautaire. J'aime tel site, je le fais partager. Plus je partage, plus mes recherches sont rapides. Plus mon index est intéressant, plus les gens vont le consulter, plus j'ai d'amis potentiels qui aiment ce que j'aime. Le but de ce système, c'est de faire de l'internet et non du minitel. Je ne vais pas voir les sites que google ou un quelconque site de fesse apprécie, je vais voir les sites que mes copains trouvent intéressants. C'est une recherche en réseau (type téléphone arabe) et non une recherche "minitel".

On a déjà vu ces idées à travers les navigateurs communautaires mais ici, le concept est tout de même différent. Qu'en pensez-vous?

Hors ligne

#18 Le 22/05/2008, à 19:09

alexduf

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

j'en pense que c'est effectivement un bon moyen de contourner la pollution du réseau !

Je savais pas que bittorrent fonctionnait sur ce principe.

Hors ligne

#19 Le 22/05/2008, à 19:47

Jashugatts

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Je ne suis pas du tout apte à vous aider malheureusement (je ne programme pas du tout)  mais je vois beaucoup d'idée intéressante et d'autre un peu utopique, si vous acceptez les critiques constructives, je serai ravi d'apporter un peu de mon sens logique et de mon expérience.

Je réserve mes remarques car je vais relire tout ça avec attention (ainsi que la vidéo).

Bon courage les amis, et peut être que l'on pourra dire au revoir a ce sacré minitel (mais gardez en un, c'est comme les dinosaures)


Inventer, c'est penser à côté.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information

[Albert Einstein]

Hors ligne

#20 Le 22/05/2008, à 20:43

Shrat

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

alexduf a écrit :

j'en pense que c'est effectivement un bon moyen de contourner la pollution du réseau !

Je savais pas que bittorrent fonctionnait sur ce principe.

Dans Bittorrent il y a torrent. Chaque personne possédant un boût de fichier le partage un petit peu. Des centaines de petits ruisseaux forment alors un large torrent de données.

C'est le même principe ici. Plein de petits index forment un gros index personalisé.

Petite précision, dans mon idée, recherche globale et communautaire ne sont pas deux recherches différentes (dans l'interface de l'utilisateur). Le moteur effectue les deux types de recherche. Seulement, si l'utilisateur n'a pas d'ami, le moteur ne fait qu'une recherche globale (de mauvaise qualité). Plus l'utilisateur a d'ami, plus le logiciel effectue une pondération et recherche prioritairement dans les index ami. Le moteur devrait pouvoir afficher les résultats en temps réel et les adapter au fur et à mesure qu'il reçoit des infos. Une page qui apparrait dans plusieurs index serait alors affiché en premier dans les résultats.

En outre, l'utilisateur pourrait peaufiner son moteur au petits oignon en effectuant lui même les pondérations, en bannissant certains index (bouh le résultat tout pourri, je bannis l'index tout entier). Si l'utilisateur s'en fout, le moteur le fait tout seul (arg, ça sent la fonction bien chaude à coder).

C'est comme un torrent, au début, le truc n'est pas très rapide, pas très gros. Au fur et à mesure que l'utilisateur utilise le moteur, l'outil devient beaucoup plus puissant.

C'est ambitieux mais ca me semble viable mon machin, non?

Dernière modification par Shrat (Le 22/05/2008, à 20:44)

Hors ligne

#21 Le 22/05/2008, à 21:43

WhiteFox

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Bienvenue Herberts.
Voilà un essai d'interface graphique fait avec Glade (donc GTK+).
Rien n'est fonctionnel, c'était juste pour essayer de prendre en main le logiciel et donner une idée de ce qu'il y aura à coder (une petite idée car je n'ai pas encore développé tous les onglets de l'interface).
interfacegraphique1bw5.png


Microsoft : microsize your mind !

Hors ligne

#22 Le 22/05/2008, à 22:41

Shrat

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Mouais enfin partir de l'interface...

Sinon j'aime! roll

Hors ligne

#23 Le 22/05/2008, à 23:36

WhiteFox

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

Comme je l'ai dis, c'est juste pour donner une idée.
Mais c'est mon premier programme, je prends peut-être tout à l'envers...


Microsoft : microsize your mind !

Hors ligne

#24 Le 23/05/2008, à 08:36

Skippy le Grand Gourou

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

WhiteFox a écrit :

je prends peut-être tout à l'envers...

Oui... tongue

Enfin, l'avantage c'est que c'est plus facile de penser à toutes les fonctionnalités. En fait ton interface c'est un peu une todo-list en plus clair, donc c'est pas mal. smile

Hors ligne

#25 Le 23/05/2008, à 08:58

DrDam

Re : Internet V/S Minitel 2.0, une hypothétique solution à google...

le projet est interessant ...

il faut juste apres reussir à creer une redondance dans les liens pour palier aux eventuels "peer lost" (perte d"ami") du au fait qu'un ami ne peu etre connecter pour le moment ...


Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité
Vous etes perdu ?, là ce sera trop loin

Hors ligne