Back to my blog Back to my projects

Scripts

Translations:

Scripts divers et variés

J'ai écrit un certain nombre de scripts pour me faciliter la vie de tous les jours. Et oui, comme tout bon informaticien, je suis prêt à passer 8 heures à peaufiner un script qui me fera gagner 30 secondes tous les mois... Mais bon, là n'est pas la question.

Il se trouve que je pense que certains de ces scripts pourraient être utiles à d'autres, donc dans le plus pur esprit du Logiciel Libre, je les met à disposition sur  cet espace de développement. Tous ces scripts sont sous licence  GPL v3.

Scripts proposés

Voici une petite présentation, script par script.

backup-delicious.py

Un simple script pour sauvegarder ses signets stockés sur delicious.com dans un fichier XML, au cas où Delicious aurait un problème (site cassé, perte de données, politique commerciale à la con, revente de Yahoo, etc.). À coller dans une crontab si on veut vraiment utiliser le service sans être coincé.

Source : backup-delicious.py

birthdaysfromvcard.py

Le script créé un fichier iCalendar avec les anniversaires des gens trouvés dans un fichier vCard (vcf).

Très pratique pour ne plus oublier les anniversaires des ses connaissances (voire de sa famille...) :)

Source : birthdaysfromvcard.py

files2feed.py

Le script créé un ficher Atom XML (équivalent RSS) à partir des derniers fichiers modifiés ou ajoutés dans un répertoire et ses sous-répertoires.

Cas d'utilisation : je partage mes fichiers par le web, et j'aimerais bien proposer un flux RSS pour les mises à jour et les nouveaux fichiers partagés (ici c'est un flux Atom, mais c'est le même principe).

Source : files2feed.py

make-songs-list.py

Le script créé un PDF à partir des chansons disponibles pour  Performous, un excellent jeu de karaoké.

Il utilise la pochette de l'album si elle est disponible, et essaye d'en mettre un maximum sur le minimum de pages, pour qu'il n'y ait plus qu'à imprimer et à distribuer aux joueurs.

Source : make-songs-list.py

podcast-transcode.py

Cas d'utilisation : je dispose d'un lecteur de vidéos portable que j'utilise dans les transports en commun, mais il n'est pas assez puissant pour décoder les vidéos d'aujourd'hui (résolutions assez élevées, codecs gourmands, etc.) Il faut donc que je convertisse et que je redimensionne les vidéos des podcasts auxquels je suis abonné.

Fonctionnement : le script prend en entrée un flux RSS, et convertit toutes les vidéos incluses en attachement au format AVI/DivX/MP3, en les redimensionnant à la taille demandée. Une fois la conversion effectuée, la balise d'attachement est mise à jour pour pointer sur l'adresse de la vidéo convertie.

Pour les vidéos de  TED, le script peut même ajouter les sous-titres s'ils sont disponibles, et si le script tedtalksubs.py est installé (c'est à dire dans le PATH). C'est un autre de mes scripts, téléchargeable au même endroit (enfin, dans ce cas-là, dire "de mes scripts" est un peu fort, puisque j'ai quasiment tout pompé sur un autre).

Le script tedtalksubs.py est indépendant, il permet de lister, télécharger et convertir au format SRT les sous-titres des vidéos de  TED.

Source : podcast-transcode.py

rss-mirror.py

Cas d'utilisation : quand je tombe sur une page web intéressante mais que je n'ai pas le temps de lire là tout de suite, je la sauvegarde dans  Instapaper. Le service me fournit ensuite un flux RSS des pages en attente de lecture. Pour utiliser au mieux le temps que je passe dans les transports en commun, j'aimerais y lire ces pages, mais je n'ai pas d'abonnement internet mobile. Par contre, j'ai un lecteur portable qui dispose d'un navigateur web.

Fonctionnement : le script prend un ou plusieurs flux RSS en entrée, et fait un miroir local de toutes les entrées en utilisant wget ou httrack. Le niveau de profondeur des liens récupérés est configurable, mais pas défaut il ne prend que la page indiquée, pas les liens trouvés sur cette page. Il créé ensuite un index des pages téléchargées en utilisant le fabuleux  iUI.

Le répertoire de téléchargement peut ensuite être synchronisé sur un lecteur portable, qui n'a alors besoin que d'un navigateur web. Dans mon cas, je l'utilise avec  Instapaper, mais n'importe quel flux RSS peut être utilisé. Par exemple, des signets sur Delicious, les favoris de  Tiny Tiny RSS ou Google Reader, etc.).

C'est en quelque sorte le lecteur de flux hors-ligne du pauvre :)

Source : rss-mirror.py

Rapporter des bugs

Pour créer un nouveau ticket sur ce site, vous aurez besoin d'un identifiant  OpenID. Si vous en avez déjà un, c'est bon, cliquez simplement sur le lien "OpenID Login" en haut à droite de cette page. Si vous n'en avez pas, allez sur  cette page pour choisir un fournisseur et créer un compte. Vous avez peut-être déjà un identifiant OpenID sans le savoir.

Ensuite, il y aura un nouveau bouton "New Ticket" dans la barre de menu, utilisez-le pour signaler des bugs ou pour proposer des améliorations.