Récupérer les adresses des vidéos sur le site de France 5

Le site de France 5 propose des vidéos pour la plupart des émissions, mais il y a n’a aucun moyen facile d’en récupérer les adresses, pour enregistrer les émissions en local ou simplement les regarder avec mplayer. C’est un peu agaçant. Plein d’espoir, je me suis dit que peut-être, ils n’étaient pas au courant (on ne sait jamais), et je les ai contactés le 08/01. J’ai finalement eu une réponse le 27/02 (ouf):

> Je regarde assez régulièrement les émissions disponibles en vidéo sur le site
> Internet de France 5. Mais je trouve dommage qu'elles ne soient pas disponibles
> sous forme de podcasts. Cela me permettrait d'être averti facilement lorsque de
> nouvelles émissions sont rendues disponibles.
> Est-ce qu'une évolution de ce type est prévue ? D'ici combien de temps ?
> Merci d'avance

Merci de votre intérêt pour notre émission.
Le podcast n'est pas prévu pour le moment pour ce type d'émission.
Nous notons toutefois votre intérêt pour ce service et vous remercions pour
votre message.
Bien cordialement,
L’équipe web France 5

(c’est moi qui ai remis le mail “à l’endroit” pour qu’il soit lisible)

Bref, du coup, je distribue mon script qui, même s’il n’est pas parfait, a l’avantage de marcher. Ca se passe là. C’est en Ruby, a priori il n’a pas besoin de libs particulières.
Il permet de récupérer toutes les URLs (lancer simplement ./f5rip.rb). Si ca se passe mal, rajoutez -d.

Vous pouvez aussi ne récupérer les adresses des vidéos que pour une seule émission, il suffit de passer en paramètre un morceau du nom de l’émission ou de l’url de la page de l’émision:

$ ./f5rip.rb asi
Arrêt sur images - http://www.france5.fr/asi/
- mms://a533.v55778.c5577.e.vm.akamaistream.net/7/533/5577/42c40fe4/lacinq.download.akamai.com/5577/internet/asi/arretimages_20070225.wmv

Et si comme moi, vous ne vous souvenez jamais des paramètres à passer à mplayer pour enregistrer l’émission localement, utilisez -m (ou –mplayer):

$ ./f5rip.rb --mplayer madame
Madame Monsieur Bonsoir - http://www.france5.fr/madame-monsieur-bonsoir/video.php
- Record:  mplayer -dumpfile out.avi -dumpstream mms://a533.v55778.c5577.e.vm.akamaistream.net/7/533/5577/42c40fe4/lacinq.download.akamai.com/5577/internet/madamemonsieur/madamemonsieur.wmv
  or View: mplayer mms://a533.v55778.c5577.e.vm.akamaistream.net/7/533/5577/42c40fe4/lacinq.download.akamai.com/5577/internet/madamemonsieur/madamemonsieur.wmv

Pour l’instant, il n’y a pas de licence. Si vous voulez en faire qqchose d’intéressant, on discutera! Patches welcomed.

Update (01/03) :
J’ai finalement mis le script sous CECILL V2 pour qu’il puisse être facilement intégré dans televidilo. J’en ai profité pour intégrer un patch et rajouter le support pour “Le magazine de la santé”. Le script mis à jour est là.

Slides for my FOSDEM talks about Debian QA

As promised, the slides from my FOSDEM talks about Automated Testing of Debian Packages and Use of Grid Computing for Debian Quality Assurance are available.

Don’t hesite to ask questions or post comments. The videos for both talks should be available so you can laugh at my frenglish, but I haven’t heard of an ETA yet.

Efficient key signing

I just finished signing all the keys from the FOSDEM KSP.

Importing keys I received:
Mutt is nice. You can tag all messages with ‘t’, then use ‘;’ (tag-prefix) and ^K (Ctrl + K) to import all signatures. (Thanks Myon + sam for the tip)

Signing keys:
caff (featured on debaday last week) has some useful info in /usr/share/doc/signing-party/, especially the README.many-keys and README.gpg-agent files.

State of software for Suspend to RAM/Disk ?

Dear readers,

I am the mostly happy owner of a Dell Latitude D610 (the one with the ATI video card), running Debian Etch. I installed the hibernate package to try to get Suspend to RAM and to Disk to work, and Suspend to Disk worked out of the box. But Suspend to RAM didn’t work (garbled screen at resume).

I never bothered to investigate this until today, when I discovered that acpi-support provides the same functionality, and works both for Suspend to RAM and to Disk ! I’m happier now, but I would like to understand, and the world of ACPI and Suspend to RAM/Disk is very difficult to grasp for newcomers.

What is the story behind hibernate and acpi-support ? Why was this duplication of effort needed ? Also, it seems that gnome-power-manager and kpowersave provide the same functionality. Why can’t they just call the relevant acpi-support or hibernate scripts ? How do those different implementations compare (what are their main differences ?) ? Looking at the packages content, it seems that hibernate tries to be generic, while acpi-support gave up, and handles each and every laptop model differently. Correct ? Also, hibernate seems to be handling a few things better, like getting my network interface back up after hibernation.

Finally, the last question: how do one debug Suspend issues, when it fails to work ? Is there a document somewhere explaining that ?

Working evince and poppler in Debian Etch

Evince and poppler (the library used to render PDFs) are quite outdated in etch, and fail to display correctly a number of PDF files (including PDFs generated by latex-beamer). There’s a new poppler version (0.5.x, vs 0.4.5 in etch), but it bumps the soname, so it’s a no-go.

Since I was particularly annoyed by this (I’m an evince fan), I looked at the issue, and found that entry in poppler’s changelog for version 0.5.1:

2006-02-16  Albert Astals Cid

        * qt4/src/Makefile.am:
        * qt/Makefile.am:
        * poppler/Makefile.am:
        * glib/Makefile.am: Update soname as we are not really compatible
        anymore with previous releases that had soname 0.0.0

And I thought that maybe, the soname update was not totally justified. I modified the package in experimental (v.0.5.4) to remove the soname bump, and renamed the binary packages so it becomes a drop-in replace for the version in etch.

It works fine for me with the version of evince in etch, and seems to fix at least #369164, #409758, and #410085.

Packages are available here. Of course, this is totally unsupported, and I have not done any careful testing. But it works for me until now, and I’l update this entry if I discover some problems. Also, I don’t plan to maintain this on the long term, so beware of security bugs.

Update : This breaks tetex (see #356079). Arg. I’ll have to use the experimental version…

Running Debian on your Linksys WRT54G* … sort of

I’m the happy owner of a Linksys WRT54GL. OpenWRT is nice, but … well. Debian is just nicer. And I couldn’t resist the idea of running Debian on this little MIPS system. Since there’s clearly not enough space available on the Linksys, I decided to install etch in a chroot, that I would mount using NFS.

Joey tried that already, the Debian wiki provides some information, but I use another technique.

First, on another system (an i386, I debootstrap’ed a mipsel etch, using --foreign. This tells debootstrap not to run the second stage:
debootstrap --arch mipsel --foreign etch /space/debian-mipsel http://ftp.fr.debian.org/debian

Then, I modified /etc/exports to allow the router to mount that chroot:

I mounted it on the router:
ipkg install kmod-nfs
insmod sunrpc
insmod lockd
insmod nfs
mount -t nfs star:/space/debian-mipsel /debian -o nolock
mount -t proc /dev/null /debian/proc

I set up some swap space on the NFS mount (mandatory, or debootstrap’s second stage will fail):
ipkg install losetup
ipkg install kmod-loop
ipkg install swap-utils
dd if=/dev/zero of=/debian/swapfile bs=1M count=100
losetup /dev/loop/0 /debian/swapfile
mkswap /dev/loop/0
swapon /dev/loop/0

I chrooted inside /debian, and ran debootstrap’s second stage:
chroot /debian /bin/bash
debootstrap/debootstrap --second-stage

When you are done playing, you can disable the swap space and umount everything:
swapoff /dev/loop/0
losetup -d /dev/loop/0
umount /debian/proc
sleep 1 # or umount /debian will fail
umount /debian

If you want to re-mount everything, all you need to do is:
insmod sunrpc
insmod lockd
insmod nfs
mount -t nfs star:/space/debian-mipsel /debian -o nolock
mount -t proc /dev/null /debian/proc
losetup /dev/loop/0 /debian/swapfile
swapon /dev/loop/0
chroot /debian /bin/bash

That first stage/second stage split in debootstrap is really cool: it’s an easy way to run Debian anywhere, only requiring to be able to chroot at some point.