Echange de fichiers directement de pc à pc

Petit nouveau ! | 7 Messages

13 avr. 2009, 19:03

Bonjour,
Existe t il un script permettant à deux pc d'éfectuer l'echange de fichiers directement entre eux en transitant par un site web et sans avoir à stocker ce fichier sur l'espace web du dit site?
Merci

ViPHP
ViPHP | 5924 Messages

13 avr. 2009, 19:18

Première question : pourquoi ?
Deuxième question : tu as quel type d'hébergement à disposition ?
Troisième question : j'espère que tu n'attends pas de nous que l'on te le fasse :)

Petit nouveau ! | 7 Messages

13 avr. 2009, 19:25

re-Bonjour,
je possède un site de mutualisation des maths et un espace disk restreint de stockage ,donc pour ne pas saturer cet espace je pensais qu'en permettant aux profs d'echanger directement entre eux en trnsitant par mon site cela pourait rendre service.
je n'attends nullement que l'on face ce travail à ma place ,mais qi un tel script existe deja c'est pas la peine de le réecrire.
Merci de vos réponses

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 avr. 2009, 19:36

Modération :
vivi, le multipostage est interdit sur le forum.

Merci de prendre le temps de lire les règlements.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 7 Messages

13 avr. 2009, 19:46

Merci de me prevenir mais je ne savais pas vraiement dans quelle rubrique mettre mon post
désolé encore.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 avr. 2009, 19:50

Sinon, concernant ton soucis, je ne pense pas que le PHP pur te le permette.

Un téléchargement, c'est un serveur et un client. Il faut qu'un serveur soit présent sur le poste émetteur pour pouvoir envoyer un fichier.
Et pour cela, il va falloir te tourner vers d'autres technologie.

Recherche du côté des systèmes de P2P.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 5924 Messages

13 avr. 2009, 19:55

je possède un site de mutualisation des maths et un espace disk restreint de stockage ,donc pour ne pas saturer cet espace je pensais qu'en permettant aux profs d'echanger directement entre eux en trnsitant par mon site cela pourait rendre service.
Donc je suppose que tu as songé au fonctionnement. Tu comprends que les deux utilisateurs doivent être exactement en même temps sur le site et l'envoyeur effectuer l'envoi en même temps que receveur le recevoir ? De même pendant tout le temps de l'envoi les deux utilisateurs doivent être connectés.
Enfin il te faut un hébergement très très laxiste sur le plan de la sécurité, qui t'autorise :
- Soit d'héberger un script qui ouvre des connexions réseau supplémentaires et qui a un temps d'exécution illimité, donc à utiliser aussi une part non négligeable du processeur. Mais si déjà t'es limité au niveau de l'espace j'en doute.
- Soit d'héberger un démon, qui sera naturellement codé en autre chose qu'en PHP, et qui sera évidemment (c'est un démon quoi) exécuté en permanence. Mais si déjà t'es limité au niveau de l'espace j'en doute.
En gros il te faut un serveur dédié…

ViPHP
ViPHP | 3607 Messages

13 avr. 2009, 22:54

Et du coup tant qu'a faire d'avoir un serveur dédié... autant stocker les fichiers sur le serveur et ne pas se prendre la tête avec des systèmes foireux... D'autant plus que des échanges de documents c'est pas non plus de la vidéo, de la photo... ça va pas aller chercher très loins ;)

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

13 avr. 2009, 23:37

Tu peux toujours te raccrocher à du "semi temps réel" : un utilisateur dépose un fichier pour un autre utilisateur, tu stockes ce fichier sur le serveur, et de temps en temps (genre aléatoirement au début de index.php) tu supprimes tous les fichiers stockés depuis plus de X minutes.

Kohntark
Invité n'ayant pas de compte PHPfrance

14 avr. 2009, 20:55

Salut,

Comme cela a été dit PHP n'est peut être pas le langage le mieux adapté pour faire cela. Néanmoins c'est tout à fait possible, à mon sens, même sur un hébergement mutualisé, et moyennant un peu de prise de tête.

A la louche :
Chaque client est identifié par un id

Le client X souhaite échanger un fichier avec le client Y
les 2 sont connectés (sinon erreur)
Un message/confirmation est envoyé à Y
X envoie son fichier sur le serveur via POST. Y voit s'afficher un message d'attente.
Fin envoi fichier
Y est invité à télécharger le fichier via un simple lien (refus => suppression du fichier sur le serveur)
Téléchargement du fichier terminé par Y

Ce ne sont bien sur que les grandes lignes mais l'esprit est là.

Tu pourrais très bien permettre une certaine tolérance quant au stockage sur le serveur, selon l'espace restant par exemple, la conservation des fichiers pendant 4/7 jours.

Sans même passer par un démon (php ou autre) tu pourrais développer une petite appli qui, moyennant une install très simple de php sur les machines (dans ton cas ça pourrait être envisageable) permettrait de dialoguer en réel P2P.

Cordialement,

Kohntark-

ViPHP
ViPHP | 5924 Messages

14 avr. 2009, 21:29

Comme cela a été dit PHP n'est peut être pas le langage le mieux adapté pour faire cela. Néanmoins c'est tout à fait possible, à mon sens, même sur un hébergement mutualisé, et moyennant un peu de prise de tête.
Un peu…
Le client X souhaite échanger un fichier avec le client Y
les 2 sont connectés (sinon erreur)
Un message/confirmation est envoyé à Y
X envoie son fichier sur le serveur via POST. Y voit s'afficher un message d'attente.
Fin envoi fichier
Y est invité à télécharger le fichier via un simple lien (refus => suppression du fichier sur le serveur)
Téléchargement du fichier terminé par Y
Du coup, il y a quand même stockage sur le serveur, et ça demande un développement lourd en PHP et Javascript. A ce moment, autant faire un upload simple avec un timeout des fichiers sur le serveur du même ordre que la session (5, 10 minutes), c'est presque aussi efficace, et il y a des chances que cela existe déjà…
Sans même passer par un démon (php ou autre) tu pourrais développer une petite appli qui, moyennant une install très simple de php sur les machines (dans ton cas ça pourrait être envisageable) permettrait de dialoguer en réel P2P.
Installation de php sur les clients ? En plus pour faire des programmes standalone ? Tu plaisantes j'espère ? :-/
A la limite, on pourraît envisager un programme en java, pour que ce soit multiplateforme, à la limite sous forme d'applet pour que ce soit simple à exécuter (et encore, je ne sais pas si les applets java ont accès au disque dur), mais là c'est du bon développement réseau comme on aime (enfin moi j'adore :P). :)

Mouais, je ne suis vraiment pas convaincu par tes solutions Kohntark. Le mieux, ce serait vraiment d'autoriser aux utilisateurs de stocker des fichiers sur ton hébergement…

Cordialement,

Kohntark-[/quote]

Petit nouveau ! | 4 Messages

15 avr. 2009, 09:02

Salut Sékiltoyai,

Nous sommes bien d'accord, j'ai dit moi même que PHP n'était pas le plus adapté et que le développement ne serait pas si simple.
Mon intervention avait pour but de relativiser certains post qui laissaient penser que ce n'était pas possible en PHP, hors ça l'est tout à fait, même pour un P2P
Concernant ce dernier point je ne pense pas non plus que ce soit la meilleure idée. Cela étant je ne plaisante pas. Quelque soit la solution tu devras installer un soft, après, que ce soit du java ou du PHP/GTK ...

Et puis nous n'en savons pas assez sur le pb de vivi :
espace disque restreint ? 1Mo ? 1Go ? 1% de libre ? 75 % ?
quels types de documents ? des textes à 20Ko ? des videos de 700 Mo ?
...

Enfin bref, la solution dépends de la réponse à ces questions.


Cordialement,


Kohntark-

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Mammouth du PHP | 693 Messages

15 avr. 2009, 10:04

Et un envoie en pièce jointe par mail si les fichiers ne sont pas trop gros ?

Je ne sais pas quels sont les fichiers à envoyer, mais tant que c'est pas des images ou des vidéos, ca peux passer.

ViPHP
ViPHP | 5924 Messages

15 avr. 2009, 10:58

Cela étant je ne plaisante pas. Quelque soit la solution tu devras installer un soft, après, que ce soit du java ou du PHP/GTK ...
Ouais mais bon, PHP pour du standalone c'est vraiment pas adapté. C'est n'importe quoi d'avoir implémenté la gestion des librairies graphiques en PHP. Java, au moins, est fait pour ça, et est installé sur la grosse majorité des machines…

ViPHP
ViPHP | 3300 Messages

15 avr. 2009, 12:09

Cela étant je ne plaisante pas. Quelque soit la solution tu devras installer un soft, après, que ce soit du java ou du PHP/GTK ...
Ouais mais bon, PHP pour du standalone c'est vraiment pas adapté. C'est n'importe quoi d'avoir implémenté la gestion des librairies graphiques en PHP. Java, au moins, est fait pour ça, et est installé sur la grosse majorité des machines…
Je vois pas le rapport et non java est pas fait pour ca, java à la base c'est fait pour la domotique pas pour les ordinateurs si on veut parler de "fait pour", ensuite si c'est idiot d'avoir implémenté GTK dans php c'est aussi idiot d'avoir implémenté mysql, ldap , fopen, en fait php c'est idiot tout court selon ton raisonement, on pourrait le faire en cgi, en perl, mais bon perl c'est stupide aussi on pourrait le faire en c, en fait le cgi c'est stupide on à qu'à pas faire de site webs...

tsss :)
Fait du php depuis que ca existe ou presque :)