I develop stuff and have opinions on things -
About me/Contact

Articles:

Le partage de fichiers du futur

Introduction

Dans « sites de partage de fichiers », aujourd’hui, on entend megaupload, rapidshare, fileserve ; cependant, si on y réfléchit, tous ces sites ne sont pas des sites de partage de fichiers, mais de de distribution de fichiers. En effet, techniquement, il n’y a pas de partage (ou plutôt d’échange) à proprement parler, mais juste une distribution en deux temps à sens unique : une personne upload un fichier, puis plein de personnes (ou pas) le téléchargent.

De même, les gens ont de plus en plus tendance à déserter les espaces de partage que sont les réseaux peer-to-peer au profit de ces sites, ce qui crée un certain nombre de problèmes :

  • Tous ces sites sont à très fort trafic, ce qui entraîne une congestion à différents nœuds du transit
  • → les opérateurs ont naturellement envie de s’appuyer sur ceux qui gagnent de l’argent en utilisant leur réseau afin de financer leurs infrastructures
  • Les acteurs du web et d’internet ont besoin de cdn (content delivery network) pour que les utilisateurs aient le meilleur accès à leur contenu (en étant situé sur le même réseau)
  • Tout le contenu devient centralisé, donc plus facile à bloquer, censurer, ou espionner

Alors que si le contenu était disponible en peer-to-peer, d’une part, la plupart des protocoles sont bien conçus, ce qui fait que la priorité sera donnée aux pairs les plus proches, donc qui bénéficient d’accords de peering, ce qui épargne le coût du transit. D’autre part, toute censure serait ineffective, puisque les contenus seraient disponibles chez plusieurs internautes différents.

Bon, ok, la censure n’est pas (encore) le point qui me préoccupe le plus, mais toujours est-il qu’on peut quand même remercier la loi hadopi et la stupidité (ou ignorance) des gens qui en ont peur, pour ce beau pourrissage structurel du réseau.

Fin de l’introduction, c’était juste pour faire un point sur ce qui ne va pas avec les sites de distribution de fichiers (en plus de leur ui pourrie, leurs pubs, et leurs CGU à la con).

Présentation

Dans cet esprit de partage, j’ai créé un petit logiciel (enfin, une application web, c’est pareil) qui cumule les avantages du direct download avec ceux du torrent.

pleaseshare

Comme on peut le voir, c’est juste un site banal sur lequel on peut envoyer ses fichiers, assez moche au demeurant, on peut quand même préciser un pseudo, un mot de passe de suppression, et une description.

image1

La particularité de ce site tient surtout dans la façon dont les fichiers sont partagés ; ici, pas de lien « download » direct, juste un .torrent généré après l’upload du fichier. Le torrent généré ne référence pas de tracker, ce qui fait que la recherche de pairs se fait uniquement via DHT (même si je vais peut-être ajouter la possibilité de faire des torrents privés, donc avec un tracker, un de ces 4).

Le fichier uploadé sert de webseed au torrent, ce qui garantit à peu près la même vitesse qu’en direct download dans le pire des cas. Bien sûr, il est recommandé à l’uploader du fichier de télécharger le torrent et de le faire pointer sur son fichier local, afin d’optimiser le débit en téléchargement. De cette façon, le fichier est toujours disponible (même quand il n’y a plus de seeders) grâce à la webseed, un nombre de pairs conséquent permet de s’affranchir de la webseed.

image2

Il faut bien comprendre que ce mode de fonctionnement est destiné à des fichiers seuls, le web n’étant tout simplement pas fait pour l’upload de fichiers multiples (avec des dossiers et des sous-dossiers…). Ces fichiers peuvent bien sûr être des archives, donc ça ne pose pas de gros problèmes (en dehors du fait que les gens qui veulent trier ce qu’ils téléchargent  dans le torrent ne pourront pas).

Point « technique »

Pour ce qui est de la technique, cette application est intégralement en python -2, hélas-, django 1.3, plus précisément, avec des morceaux de Deluge pour ce qui est de la partie création de torrent.

Techniquement, ce n’est pas grand chose à faire (je l’ai faite en deux jours, en ayant regardé 23 animes et lu un peu plus de 200 chapitres de mangas ; même si les problèmes d’encodage de python2 m’ont pris pas mal de temps), mais ça n’existait pas avant, donc je l’ai fait, parce que ça me semble intéressant.

Oh, et bien évidemment, c’est libre et sous licence AGPLv3.

Si vous avez des remarques ou commentaires à propos de cet article, n’hésitez pas à me contacter.