- on Fri 06 February 2015
Après une grosse période d’inactivité sur PleaseShare, j’ai enfin pris mon courage à deux mains pour le réécrire depuis Django 1.6 vers Flask (et python 3.4 au passage). La raison principale est que Django m’apparaissait comme très lourd pour le peu que je lui demandais, ainsi que le côté désagréable de devoir me plonger dans l’API à chaque nouvelle version pour voir ce qui a cassé.
Réécriture
Même si j’écris « réécriture », en réalité j’ai pu conserver le style, la plupart des templates, ainsi que le code de gestion des torrents. J’ai donc du seulement me débrouiller avec flask, avec les choses comme les traductions, les formulaires, et les embrouilles de csrf et compagnie.
J’en ai également profité pour réécrire tout le code de gestion des archives, qui était cassé et trouvé, et pour utiliser le module singledispatch de python 3.4 avec les annotations de python 3, pour avoir un code plus présentable.
Ajouts
- Traductions qui dépendent de l’ Accept-language du navigateur. Seuls l’anglais et le français sont actuellement disponibles.
- Accès via le sous-dossier d’un virtualhost ; auparavant on pouvait seulement le configurer sur un sous-domaine.
- Ajout d’une page « Vos fichiers » qui ne dure que le temps de la session.
- Un soupçon de javascript non-obligatoire pour rendre l’interface plus agréable
- Un nouveau design plus moderne et épuré (merci cynddl)
Ce qui fonctionne encore
Tout, ce qui implique entre autres:
- Upload d’archives (compressées ou pas) qui seront extraites pour créer des torrents à plusieurs fichiers
- Liste d’autres trackers à utiliser dans le torrent, choisis par l’utilisateur
- Liste d’autres webseeds à utiliser dans le torrent, choisis par l’utilisateur
- Choix possible de créer un torrent privé (sans DHT) ou non
- Ajout forcé de trackers lors de la création du torrent
- Ajout d’autres webseeds connues du serveur (par exemple en synchronisant le dossier d’upload avec un autre serveur)
- Tout ça est bien évidemment configurable
Liens
- Page du projet
- Le project sur github, gitorious, mon propre repo
- Ma propre instance sur share.jeproteste.info