Derniers journaux de dmz :
- [22/04@11:50] Tutorial J2EE pratico pratique ?
- [28/02@13:25] Segmentation fault dans Samba
- [23/02@12:39] Compatibilité portable <-> Linux
- [17/09@09:54] Gestion de configuration
Journal : Photo P2P
Posté par Damien Metzler () le 14 juin 2004A plusieurs reprises on se retrouve avec pleins de copains, on fait plein de photos et après c'est la galère pour regrouper toutes les photos prises
L'idée est de mettre en place un réseau d'échange de photo décentralisé avec authentification (faudrait pas que mon patron trouve mes photos de ma dernière soirée ;-) )
Quelqu'un aurait-il de la doc sur l'implémentation des technos P2P, ou un lien sur une librairie facilement exploitable. Je compte faire un logiciel à peu près portable (les archis cible sont Linux et Windows) et je n'ai pas encore choisi les technos....
> Lire le journal (11 commentaires, moyenne: 1,6).
Bonne idée
Une librairie sympa pour le p2p : jxta ( http://www.jxta.org(...) ). A la base concu pour java, il y a maintenant des bindings pour plein d'autres langages. D'experience (jxta 1.0 et java), c'est très stable mais pas super rapide.
++
Excellente idée ...
(j'avais déjà vu, je crois, des logiciels qui faisait ça ... (à vérifier))
Cependant ... comme choix de techno ... je conseillerai :
python pour sa simplicité et son côté rad et objet + wxpython pour l'interface multi plateforme os based ...
Pour ce qui est des échange réseau, une bonne libraire python est dispo aussi : http://www.twistedmatrix.com/(...) ... qui permet de faire un peu prêt tout ...
(des implémentations du p2p bittorent existent en python ... une réutilisation pourrait être interessante ?!?)
Je serais même assez chaud pour participer ... (je développe jbrout dans les technos cités (jbrout.free.fr) ... il y aurait moyen d'interconnecter tout ça)
-
[^]Re: ++
Posté par manatlan (Jabber id, page perso, ) le 14/06/2004 à 14:33. (lien). Évalué à 2.des bindings jxta existent pour python aussi ... ;-)
-
[^]Re: ++
Posté par Damien Metzler () le 14/06/2004 à 15:13. (lien). Évalué à 1.Ben j'avais eu l'idée y'a assez longtemps, mais pas le temps de la développer....
Aujourd'hui, j'ai vu une page de pub pour PixVillage.com, mais leur solution ne me plait pas (et tourne que sous win2k). Donc je pense imaginer un truc qui me plaise... ;-)
Coté python, j'avais déjà commencé à regarder et c'est vrai que ça me permettrai de commencer à faire qqc de concret. Pour le réseau j'avais trouvé twistedmatrix à l'époque assez lourd....
Pour JXTA j'avais aussi regardé un temps, mais comme tu dis ça a l'air d'être assez lent.
Si je trouve une librairie simple pour faire de P2P qui me convienne je l'utiliserai. Sinon, faudra redévelopper le bazarre, autant dire que je préfèrerais trouver qqc de tout fait !
En tout cas si des gens ont des docs sur : comment implémenter du P2P ça m'intéresse même si je trouve une bonne librairie. (une doc du genre : quels sont les pb, comment on les contourne normalement etc...)-
[^]Re: ++
Posté par manatlan (Jabber id, page perso, ) le 14/06/2004 à 15:52. (lien). Évalué à 2.moi je trouve twistedmatrix vraiment simple et pratique ...
en 10 lignes, tu fais communiquer un client et un serveur ... sans aucun problèmes ....
Etant le developpeur de jbrout ... ton idée m'a bien fait réfléchir
Car ce problème d'échanges de photos avec des gens : je l'ai aussi ...
Bon si c'est pour unifier un ensemble de photos d'une soirée : chacun partage son répertoire sous bittorrent, et chacun va pomper le répertoire de l'autre : ça devrait fonctionner tout seul ...
Le p2p simple : à 2, chacun, en client serveur : qui va piocher des photos chez l'autre est déjà plus interessant ... (j'imagine la structure des répertoire partagés, et les thumbnails affichés de par et d'autres)
(en python, avec twistedmatrix, et wxpython, en moins de 10h tu montes un proto fonctionnel, pour se connecter à 2 ... je suis assez tenté pour le fun)
Mais en ce qui me concerne, et qui devrait être assez vite réalisé : je vais intégré un serveur http dans jbrout, qui présentera les albums/photos de jbrout ... ainsi le partage pourrait déjà être réaliser de façon simplissime ...-
[^]Re: ++
Posté par Damien Metzler () le 15/06/2004 à 08:33. (lien). Évalué à 1.Pour le partage, j'utilise déjà le script php gallery qui est déjà vachement bien et que j'utilise à la place d'un client lourd.
Mon truc c'est que je dispose d'un serveur tournant 24h/24 et c lui qui héberge mes photos. Dans l'architecture que je vois, j'imagine un partie serveur avec un présentation web d'un coté et une interface pour client de type lourd et une partie client lourd de type jbrout (mais qui ne me parait pas indispensable pour le moment.... désolé)
Le serveur web utiliserait alors la partie dont j'ai l'idée qui permet de faire du P2P entre plusieurs serveur de même type. Gallery propose la notion de miroir mais ce n'est pas suffisant à mon gout....
-
-
Je l'ai fait :-)
Dans le cadre d'un projet de Programmation Orienté Objet (C++ dans notre cas) j'ai develloper une application de P2P. Il y a un serveur et un client.
Le fonctionnement est plutôt basique mais j'ai essayé de faire en sorte que ce soit facilement évolutif, j'ai donc séparé au maximum l'interface du reste.
Mon projet utilise les classes Common CPP, donc il fonctionne parfaitement sous Windows et GNU/Linux. Il devrait normalement fonctionner sur BSD et Mac mais je n'ai pas les moyen de vérifier (surtout Mac, c'est beau mais c'est cher).
Pour le moment, l'interface est console, on recherche un fichier puis on le télécharge mais rajouter une interface graphique par dessus le tout ça devrait pas être trop dur normalement.
PS : Attention, je ne suis pas un programmeur de génie alors certaines personnes risquerai de hurler en voyant comment j'ai fait communiquer les threads entre eux. :-)
-
[^]Re: Je l'ai fait :-)
Posté par LeMagicien Garcimore () le 14/06/2004 à 14:57. (lien). Évalué à 1.PS : Attention, je ne suis pas un programmeur de génie alors certaines personnes risquerai de hurler en voyant comment j'ai fait communiquer les threads entre eux. :-)
Ça peut pas être pire que ça : ecrire dans un fichier sur le disque dans le thread 1 et lire le même fichier dans le thread 2. An utilisant des sleep pour la synchro. C'est le code pondu par un DUT info indus en stage de fin d'étude. Il a été diplomé...-
[^]Re: Je l'ai fait :-)
Posté par Romain LE DISEZ () le 14/06/2004 à 15:01. (lien). Évalué à 2.Nan, c'est pas pire, j'ai quand même utilisé un mutex
(cf http://www.gnu.org/software/commoncpp/docs/refman/html/class_mutex.(...) )
-
Zeroconf
Ce qui serait genial, c'est si cela pouvait fonctionner avec Zeroconf. Tu connectes tous les pc aux reseaux et automatiquement sans serveur principal, pouf tu vois tout. Avec un peu de crypto en plus et la possibilite d'echanger des documents aussi, ca serait nickel.
p2p
Yo, j'ai suivi mon idée de plus haut ...
et j'ai réalisé un script python qui une fois lancé est un serveur HTTP qui sert des pages HTML/CSS d'albums et de photos ...
un peu comme une gallery photos ... un client n'a plus qu'à se connecter avec son navigateur favori à l'ip du serveur, sur un port spécial ... et peut naviguer à travers les photos du gars/serveur ...
s'il veut en récupérer, il n'a plus qu'à les drag'n'dropper dans son downloader préféré ... et le tour est joué ...
le serveur est setupé en 2 secondes ... faut juste lui fournir le chemin absolu vers un répertoire (qui peut contenir des sous répertoires)
et lancer le binz ...
C'est absolument nickel pour le partage simple, et l'echange de photos ... c'est très vite fait !
Je ferais plus tard une intégration dans "jbrout" ... ce sera encore plus simple à servir ... (en cochant/decochant une checkbox)
je vais fignoler tout ça ... et le mettre dispo en gpl

Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.