Journal Photo P2P

Posté par .
Tags : aucun
0
14
juin
2004
Bonjour, je souhaite développer un soft permettant de partager ses photos entre amis.

A 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....
  • # Bonne idée

    Posté par . Évalué à 1.

    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.
  • # ++

    Posté par (page perso) . Évalué à 2.

    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 (page perso) . Évalué à 2.

      des bindings jxta existent pour python aussi ... ;-)
    • [^] # Re: ++

      Posté par . É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 (page perso) . É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 . É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 :-)

    Posté par . Évalué à 2.

    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 . É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é...
  • # Zeroconf

    Posté par . Évalué à 2.

    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

    Posté par (page perso) . Évalué à 2.

    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

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.