Vendredi 23 novembre 2018 (Modifié le Vendredi 23 novembre 2018)

URL: http://linuxfr.org/news/transfert-de-fichier-simple-entre-deux-peripheriques-sans-bluetooth Title: Transfert de fichier simple entre deux périphériques sans Bluetooth Authors: anubis Xavier Teyssier et palm123 Date: 2017-11-09T21:10:30+01:00 License: CC by-sa Tags: transfert et http Score: 26

Qui ne s’est pas déjà retrouvé bête avec deux périphériques ultra-connectés (ordiphone, PC, …) dans les mains sans pouvoir transférer un fichier de l’un à l’autre, rapidement et simplement (sans sortir ses outils en console ou faire appel à un Nuage), dans le cas où un des périphériques n’a pas le Bluetooth ? Cette dépêche présente brièvement deux outils pour répondre à ce besoin : woof et ShareViaHttp.


woof Share via HTTP


Prérequis

  • les deux périphériques doivent être accessibles dans un même réseau (généralement le besoin c’est dans le réseau local mais ça marche sur Internet)
  • au moins un des périphériques doit tourner sous Android ou Linux
  • coté Linux, l’intégration a été réalisée et testée avec Thunar mais elle doit pouvoir s’adapter facilement à d’autres gestionnaires de fichiers. Principales dépendances : python, zenity (facultatif)

Les outils

woof fournit un serveur web minimal pour servir un fichier que vous passez en argument. Le projet n’a pas l’air très vivant, mais le code fourni répond au besoin et il existe un paquet Debian.

Share via HTTP est une appli pour Android, libre et disponible sur le marché libre F-Droid. Elle permet de la même manière de servir rapidement un fichier présent sur un périphérique Android.

Configuration

  • coté Android : rien à faire, l’option de partage « Share via HTTP » apparait automatiquement dans les navigateurs de fichiers lorsque vous sélectionnez un ou plusieurs fichiers.

  • coté Linux : woof étant un script Python, un petit script d’habillage permet de faciliter son utilisation en l’intégrant dans Thunar :

    #!/bin/sh # partage d’un fichier avec Woof et affichage d’un popup rappellant l’adresse d’accès. PORT=9999 MON_IP_PRIVE=ip addr | awk '/inet / {sub(/\/.*/, "", $2); print $2}' |grep 192 MON_IP_PUB=wget -qO- http://ipecho.net/plain FICHIER=$1

    echo “Partage de ‘$FICHIER’ avec Woof.”

    woof -p $PORT $FICHIER &

    CODE_SORTIE=$? echo “Code sortie : $CODESORTIE”

    #Affichage de la fenêtre zenity –title=”Partage d’un fichier” –info –text=”Fichier ‘$FICHIER’ disponible via http://$MON_IP_PRIVE:$PORT ou http://$MON_IP_PUB:$PORT.”&

Maintenant on peut faire le lien dans Thunar de manière à pouvoir appeler le script par un clic droit sur le fichier à partager. Pour cela il faut passer par Édition > Configurer les actions personnalisées… > Ajouter une nouvelle action personnalisée. Indiquer dans la commande le chemin d’accès au script et vérifier dans l’onglet « Conditions d’apparition » que tous les types de fichiers sont bien cochés.

Création d'une action personnalisée dans Thunar

Utilisation

Une fois que tout est configuré, il suffit de partager d’un coté, puis de se connecter avec votre navigateur (voire wget) sur l’adresse IP et le port indiqué par ShareViaHTTP ou woof.

Aperçu du partage avec woof et le script d’habillage utilisé dans Thunar

L'action Partager est maintenant disponible par un clic droit sur n'importe quel fichier dans Thunar

Un popup est affiché pour rappeler l'adresse à rentrer sur le 2e périphérique

Aperçu du partage coté Android avec ShareViaHTTP

aperçu coté Android

Nota :

  • ShareViaHTTP permet de partager plusieurs fichiers en même temps en créant un zip ;
  • Si vous avez besoin de transférer un fichier depuis votre ami Michue ayant un périphérique utilisant Windows par exemple, il est possible d’utiliser woof en mode upload ;
  • le port par défaut est 9999 ce qui est facile à retenir.