« Transfert de fichier » : différence entre les versions

De Wiki JabberFR
Aller à la navigation Aller à la recherche
 
(30 versions intermédiaires par 15 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
=En bref=
== En bref ==
Le protocole associé est le « [http://www.jabber.org/jeps/jep-0096.html JEP-0096: File Transfert] ». Il définit comment transférer des fichiers d'un client à un autre. D'après ce protocole, il est possible :
''(Cette page traite du transfert de fichier selon le protocole [http://xmpp.org/extensions/xep-0096.html XEP-0096: File Transfert]. Jingle permet aussi un transfert de fichier mais ce protocole n’est pas encore standardisé, et n’est utilisé que dans [[Google Talk]])''
* de transférer des fichiers à un ami par une communication directe (de pair à pair) ;
* de transférer des fichiers à un ami en passant par un serveur relai (aussi appelé serveur proxy) ;
* de transférer une partie seulement d'un fichier ;
* d'associer une description du fichier à sa demande de transfert.


Il n'y pas de limite en ce qui concerne la taille du fichier ou le débit de la connexion.
Jabber permet de transférer des fichiers d’un client à un autre. D’après ce protocole, il est possible :
* de transférer des fichiers à un ami par une communication directe (de pair à pair) ;
* de transférer des fichiers à un ami en passant par un serveur mandataire (aussi appelé serveur proxy) ;
* de transférer des fichiers à un ami en passant à travers le serveur Jabber (méthode déconseillée, car le serveur limite la vitesse de transmission) ;
* d’arrêter puis de reprendre un transfert de fichier ;
* d’associer une description du fichier à sa demande de transfert.


=Pratiques courantes=
Il n’y pas de limite en ce qui concerne la taille du fichier ou le débit de la connexion.
En général le destinataire doit accepter le transfert de fichier avant qu'il ne puisse s'effectuer. Le nom et la taille du fichier à transmettre sont alors présentés au destinataire ainsi que la description du fichier.


Le client essait d'abord de transmettre le fichier directement au destinataire. Si le transfert échoue, il essait alors de transmettre le fichier en passant par un serveur proxy.
[[Image:Transfert_de_fichier.png]]


=Pour aller plus loin=
== Pratiques courantes ==
Nous allons voir maintenant le détail d'un transfert de fichier entre deux utilisateurs : expediteur@server1.org (expéditeur) et destinataire@server2.com (destinataire).
En général, le destinataire doit accepter le transfert de fichier avant qu’il ne puisse s’effectuer. Le nom et la taille du fichier à transmettre sont alors présentés au destinataire ainsi que la description du fichier.


L'expéditeur envoie le fichier « test.txt » au destinataire. Il ajoute a sa demande de transfert une description « Voici le texte dont je t'avais parlé. » afin que le destinataire sache de quoi il s'agit et puisse accepter le fichier en connaissance de cause.
Une fois indiqué le [[#Serveurs_proxy|serveur mandataire à utiliser]], le client choisira automatiquement la manière de transférer le fichier la plus efficace.
# Le client essaie d’abord de transmettre le fichier directement au destinataire.
# Si le transfert échoue, il essaie alors de transmettre le fichier en passant par un serveur mandataire.


<iq type='set' id='offer1' to='destinataire@server2.com/resource'>
== Clients supportant ce protocole ==
  <si xmlns='http://jabber.org/protocol/si'
* [[Coccinella]] 0.95.11 :
      id='a0'
** permet de choisir le port utilisé pour le transfert de fichier
      mime-type='text/plain'
* [[Exodus]] 0.9.1.0
      profile='http://jabber.org/protocol/si/profile/file-transfer'>
* [[Gajim]] 0.8 :
    <file xmlns='http://jabber.org/protocol/si/profile/file-transfer'
** support complet du transfert de fichier sauf l’envoie à travers le serveur Jabber
          name='test.txt'
** Gajim intègre une liste de serveurs mandataires par défaut donc il n’y a rien à configurer
          size='1022'
** Gajim découvre à la connexion si le serveur Jabber possède une fonction de serveur mandataire
          hash='552da749930852c69ae5d2141d3766b1'
** le port utilisé ainsi que la liste des serveurs mandataires par défaut peuvent être édités dans l’éditeur de configuration avancée
          date='1969-07-21T02:56:15Z'>
* [[iChat]] 3
      <desc>Voici le texte dont je t'avais parlé.</desc>
* [[JBother]] 0.8.9
    </file>
* [[Kopete]] 0.9.2 :
    <feature xmlns='http://jabber.org/protocol/feature-neg'>
** permet de choisir le port utilisé pour le transfert de fichier (8010 par défaut)
      <x xmlns='jabber:x:data' type='form'>
** permet de choisir un serveur mandataire différent pour chaque compte Jabber
        <field var='stream-method' type='list-single'>
* [[Pandion]] 2.5
          <option><value>http://jabber.org/protocol/bytestreams</value></option>
* [[Pidgin]] 2.9.0 :
          <option><value>http://jabber.org/protocol/ibb</value></option>
** transfert de fichier un peu bogué parfois
        </field>
** ne permet pas de définir un serveur mandataire pour l’envoi de messages mais peut en utiliser un pour la réception
      </x>
* [[Psi]] 0.9.3 :
    </feature>
** permet de choisir le port utilisé pour le transfert de fichier (8010 par défaut)
  </si>
** permet de choisir un serveur mandataire au cas où le transfert de fichier direct échouerait
</iq>
** permet de choisir un serveur mandataire différent pour chaque compte Jabber
** utilise une extension au protocole pour essayer le transfert dans l’autre sens si jamais il échoue. Cette extension est compatible avec tout les clients
* [[Spark]] 2.0.8
** support complet du transfert de fichiers (même en passant par le serveur Jabber)
** découvre à la connexion si le serveur Jabber possède une fonction de serveur mandataire
** ne peut utiliser que le serveur mandataire du serveur Jabber lié au compte
** Utilise une modification du protocole de transfert de fichiers pour pouvoir changer de méthode si le transfert échoue (passer d’une connexion directe à une connexion à travers le serveur Jabber par exemple). Cette modification peut le rendre incompatible avec certains clients (Psi).
* [[Tkabber]] 0.9.9


L'expéditeur propose dans l'élément <feature /> toutes les méthodes de transfert de fichier qu'il supporte. Ici, il propose les deux éléments requis par le protocole&nbsp;: [http://www.jabber.org/jeps/jep-0065.html JEP-0065: SOCKS5 Bytestreams] et [http://www.jabber.org/jeps/jep-0047.html JEP-0047: In-Band Bytestreams (IBB)].
== Tutoriels disponibles ==
* apprenez à [[Transfert de fichiers avec Psi|configurer Psi pour le transfert de fichier]].


ce moment là, le destinataire obtient en général une fenêtre lui indiquant que expediteur@server1.org veut lui envoyer un fichier. Les informations concernant le fichier lui sont présentées (nom, description, etc.). Lorsque le destinataire accepte le transfert, le client répond par la méthode de transfert de fichier qu'il préfère&nbsp;: ici la méthode «&nbsp;SOCKS5 Bytestreams&nbsp;»
== Serveurs supportant ce protocole ==
Le transfert de fichier ne fait pas intervenir le serveur sauf dans le cas d’un transfert relayé par un serveur mandataire. Pour l’instant, seul Openfire dispose d’un serveur mandataire intégré. Toutefois, [http://code.google.com/p/proxy65/ un composant séparé] est utilisable par tous les serveurs afin de fournir cette fonctionnalité.


<iq type='result' to='expediteur@server1.org/resource' id='offer1'>
== Serveurs mandataires ==
  <si xmlns='http://jabber.org/protocol/si'>
Il est préférable d’utiliser le serveur mandataire de son propre serveur. Cependant, si votre serveur ne dispose pas d’un serveur mandataire, vous pouvez utiliser un des serveurs publics suivant :
    <feature xmlns='http://jabber.org/protocol/feature-neg'>
* proxy.jabberfr.org
      <x xmlns='jabber:x:data' type='submit'>
* proxy.eu.jabber.org
        <field var='stream-method'>
* proxy65.jabber.autocom.pl
          <value>http://jabber.org/protocol/bytestreams</value>
* proxy.jabber.cd.chalmers.se
        </field>
* proxy.netlab.cz
      </x>
    </feature>
  </si>
</iq>


Maintenant que les deux clients se sont mis d'accord sur une méthode de transfert des données, ils vont pouvoir négocier le transfert des données.
Si vous voulez connaître le serveur mandataire relatif à votre serveur, vous pouvez consulter le tableau suivant (n’hésitez pas a contribuer) :
<!-- ordre alphabétique -->
{|
! serveur Jabber !! serveur mandataire associé
|-
| [http://jabber.fr/ jabber.fr] || proxy.jabberfr.org
|-
| [http://jabber.org/ jabber.org] || proxy.jabber.org
|}


...à compléter par un example SOCKS5 Bytestream
[[Catégorie:Fonctionnalité Jabber]]
 
=Clients supportant ce protocole=
* [http://exodus.jabberstudio.org Exodus]&nbsp;:
 
* [http://psi.affinix.com Psi]&nbsp;:
** permet de choisir le port utilisé pour le transfert de fichier (8010 par défaut)&nbsp;;
** permet choisir un serveur proxy au cas où le transfert de fichier directe échouerait&nbsp;;
** permet de choisir un serveur proxy différent pour chaque compte Jabber.

Dernière version du 26 juillet 2011 à 21:31

En bref

(Cette page traite du transfert de fichier selon le protocole XEP-0096: File Transfert. Jingle permet aussi un transfert de fichier mais ce protocole n’est pas encore standardisé, et n’est utilisé que dans Google Talk)

Jabber permet de transférer des fichiers d’un client à un autre. D’après ce protocole, il est possible :

  • de transférer des fichiers à un ami par une communication directe (de pair à pair) ;
  • de transférer des fichiers à un ami en passant par un serveur mandataire (aussi appelé serveur proxy) ;
  • de transférer des fichiers à un ami en passant à travers le serveur Jabber (méthode déconseillée, car le serveur limite la vitesse de transmission) ;
  • d’arrêter puis de reprendre un transfert de fichier ;
  • d’associer une description du fichier à sa demande de transfert.

Il n’y pas de limite en ce qui concerne la taille du fichier ou le débit de la connexion.

Pratiques courantes

En général, le destinataire doit accepter le transfert de fichier avant qu’il ne puisse s’effectuer. Le nom et la taille du fichier à transmettre sont alors présentés au destinataire ainsi que la description du fichier.

Une fois indiqué le serveur mandataire à utiliser, le client choisira automatiquement la manière de transférer le fichier la plus efficace.

  1. Le client essaie d’abord de transmettre le fichier directement au destinataire.
  2. Si le transfert échoue, il essaie alors de transmettre le fichier en passant par un serveur mandataire.

Clients supportant ce protocole

  • Coccinella 0.95.11 :
    • permet de choisir le port utilisé pour le transfert de fichier
  • Exodus 0.9.1.0
  • Gajim 0.8 :
    • support complet du transfert de fichier sauf l’envoie à travers le serveur Jabber
    • Gajim intègre une liste de serveurs mandataires par défaut donc il n’y a rien à configurer
    • Gajim découvre à la connexion si le serveur Jabber possède une fonction de serveur mandataire
    • le port utilisé ainsi que la liste des serveurs mandataires par défaut peuvent être édités dans l’éditeur de configuration avancée
  • iChat 3
  • JBother 0.8.9
  • Kopete 0.9.2 :
    • permet de choisir le port utilisé pour le transfert de fichier (8010 par défaut)
    • permet de choisir un serveur mandataire différent pour chaque compte Jabber
  • Pandion 2.5
  • Pidgin 2.9.0 :
    • transfert de fichier un peu bogué parfois
    • ne permet pas de définir un serveur mandataire pour l’envoi de messages mais peut en utiliser un pour la réception
  • Psi 0.9.3 :
    • permet de choisir le port utilisé pour le transfert de fichier (8010 par défaut)
    • permet de choisir un serveur mandataire au cas où le transfert de fichier direct échouerait
    • permet de choisir un serveur mandataire différent pour chaque compte Jabber
    • utilise une extension au protocole pour essayer le transfert dans l’autre sens si jamais il échoue. Cette extension est compatible avec tout les clients
  • Spark 2.0.8
    • support complet du transfert de fichiers (même en passant par le serveur Jabber)
    • découvre à la connexion si le serveur Jabber possède une fonction de serveur mandataire
    • ne peut utiliser que le serveur mandataire du serveur Jabber lié au compte
    • Utilise une modification du protocole de transfert de fichiers pour pouvoir changer de méthode si le transfert échoue (passer d’une connexion directe à une connexion à travers le serveur Jabber par exemple). Cette modification peut le rendre incompatible avec certains clients (Psi).
  • Tkabber 0.9.9

Tutoriels disponibles

Serveurs supportant ce protocole

Le transfert de fichier ne fait pas intervenir le serveur sauf dans le cas d’un transfert relayé par un serveur mandataire. Pour l’instant, seul Openfire dispose d’un serveur mandataire intégré. Toutefois, un composant séparé est utilisable par tous les serveurs afin de fournir cette fonctionnalité.

Serveurs mandataires

Il est préférable d’utiliser le serveur mandataire de son propre serveur. Cependant, si votre serveur ne dispose pas d’un serveur mandataire, vous pouvez utiliser un des serveurs publics suivant :

  • proxy.jabberfr.org
  • proxy.eu.jabber.org
  • proxy65.jabber.autocom.pl
  • proxy.jabber.cd.chalmers.se
  • proxy.netlab.cz

Si vous voulez connaître le serveur mandataire relatif à votre serveur, vous pouvez consulter le tableau suivant (n’hésitez pas a contribuer) :

serveur Jabber serveur mandataire associé
jabber.fr proxy.jabberfr.org
jabber.org proxy.jabber.org