On vient de me faire découvrir un petit script en python appelé woof. Et il s’avère que ça m’a changé la vie ! Du coup je souhaitais partager ma trouvaille. Woof est un script qui permet d’échanger de façon ultra simple un fichier entre 2 ordinateurs connectés en réseau. Je ne compte plus le nombre de fois où j’ai souhaité envoyer un fichier à une personne par Internet. En général, les premières tentatives par MSN et ne Gtalk ne mènent à rien, la transmission finissant par planter ou bien s’éternisant pour quelques pauvres Ko. En général la seconde option est l’envoi par email, mais bien généralement soit le fichier est trop gros pour l’hébergeur ou soit le fichier en question est considéré comme vérolé et donc supprimé. C’est une spécialité de MSN également…
Je m’arrachais donc les cheveux depuis plusieurs années à chaque fois que je souhaitais envoyer un fichier.
Et je suis tombé sur woof, déconcertant de simplicité. Ce dernier fonctionne de la manière suivante. La commande
$ woof filename |
crée un serveur web temporaire sur notre machine (sur le port de notre choix avec l’option -p)
Il n’y a alors plus qu’à copier l’adresse du web serveur et à la communiquer à une seconde personne.
Celle-ci n’a alors plus qu’à faire un simple
wget http://192.168.1.111:1234 |
(dans le cas où l’IP du serveur est 192.168.1.111 et le port 1234) pour récupérer le fichier.
C’est fantastiquement simple et terriblement efficace ! C’est réellement utile quand on développe à plusieurs, je suis conquis ! Un grand merci à Simon Budig pour avoir créé ce petit script magique.
Mots-clefs : linux, python, script, woof













Je n’ai pas le temps de me plonger en détail dans le code (et je ne peux pas tester) mais quelle est la valeur ajoutée par rapport à la fonction python SimpleHTTPServer ? http://www.tux-planet.fr/un-serveur-web-en-une-seule-ligne-de-code-python/
Et sinon, si tu développes à plusieurs, je te conseille chaudement d’utiliser un système de gestion de version, ou encore mieux, un système de gestion de version via une forge http://codingteam.net. N’hésites pas si tu veux des précisions
Ah sympathique, je ne connaissais pas du tout SimpleHTTPServer ! Par conséquent, il m’est un peu difficile de voir la valeur ajoutée. Je dirais (à première vue) que l’utilisation est légèrement différente. Woof permet de transmettre juste un fichier de façon extrêmement simple en passant par un simple wget et non un navigateur web.
Merci pour l’info !
Enfin, ça m’a l’air tout de même tout aussi génial comme principe. Je vais l’essayer dès demain au travail
Sinon, je connais très bien les systèmes de gestion de versions :] Mais dans le cas d’un partage d’un seul fichier de façon rapide, c’est utiliser une bombe H pour tuer une mouche
De rien !
gestion de version: arf pardon tu es connaisseur , j’espère que tu ne l’as pas mal pris
effectivement pour juste un fichier ca fait beaucoup
Viens y vite alors !! Ce que j’aime beaucoup sur cette forge c’est la qualité du soft de la forge (qui est libre) et l’ambiance conviviale (message subliminal: viens sur le salon jabber codingteam@conference.codingteam.net )
Moi j’utilise simplement scp qui est rapide, déjà installé en général et avec la même sécurité qu’ssh
Effectivement, scp est tout aussi efficace, mais nécessite une authentification pour pouvoir déplacer des fichiers sur une autre machine. A moins qu’il existe un mode sans authentification et moins lourd qu’un prompt de mot de passe ?
Oui il faut s’identifier mais bon pour un simple transfère çà me parait plus simple que créer un serveur, sinon rcp est un scp sans auth mais j’ai jamais utilisé
@R@oul: il peux y avoir des problème de redirection de port non ? ma box pourrie ne peut pas faire la redirection de port)
Don’t know, le réseau c’est pas mon fort !
Disons que si je veux copier un fichier chez un pote (qui a une vraie box) qui a un serveur ssh pas de problème
Mais à l’inverse personne ne peux se connecter chez moi avec scp, à cause des ports non redirigeable de ma box pourrie