Le plugin Flash et Debian

Vincent Bernat

Beaucoup de sites requièrent toujours l’utilisation du plugin Flash d’Adobe pour accéder à certains contenus. Si vous utilisez une version 64 bits de Debian (avec une architecture Intel), vous pouvez obtenir ce plugin à travers le paquet flashplugin-nonfree. Malheureusement, Adobe n’a jamais prouvé sa capacité à maintenir ce plugin à jour. Une première version avait été fournie vers la fin de l’année 2008 puis a été retirée pendant quelques mois (principalement en raison d’importants problèmes de sécurité) avant qu’une version plus récente soit remise en ligne.

Cette version a deux défauts majeurs :

  • Elle n’est pas du tout à jour. Elle est touchée par plusieurs trous de sécurité pour lesquels Adobe n’a communiqué aucune date de correction pour la version 64 bits.
  • Elle est frappée de quelques bugs qui lui sont propres et pour lesquels Adobe n’a montré aucune attention alors que les corrections à apporter sont parfois triviailes. Par exemple, le son est déformé en raison de l’utilisation de memcpy() au lieu de memmove(). Cela se produit avec une libc récente pour laquelle les deux fonctions n’ont plus un comportement identiques. Le rapport de bug comprend un certain nombre de parades à ce bug dont un patch binaire à appliquer sur le plugin.

Même en corrigeant le second point, le premier point peut difficilement être résolu par d’autres entités qu’Adobe. Quelles sont les alternatives ?

Mise à jour (07.2011)

Adobe fournit depuis le 13 juillet la version 11 de son player en 64 bits. Toutefois, il n’est toujours pas certain si cette version sera maintenue correctement.

Lightspark#

Lightspark est une implémentation open-source qui se base sur LLVM pour fournir un compilateur JIT qui permet de traduire le code Flash en code machine afin d’améliorer les performances. Il utilise également OpenGL pour accélérer l’affichage. Il ne supporte cependant que ActionScript 3 qui a été introduit avec Flash 9. Quand il y a besoin de versions plus anciennes, Gnash est appelé à la rescousse.

Le principal problème avec Lightspark est l’utilisation d’OpenGL pour le rendu. Si vous ne disposez pas d’un bon support d’OpenGL (comme par exemple une carte NVIDIA avec le pilote Nouveau), ce sera extrêmement lent. À noter qu’avec une carte Intel, les performances sont satisfaisantes.

Pour le moment, Lightspark n’est disponible que dans Debian Sid. Le paquet à installer est browser-plugin-lightspark.

Gnash#

Gnash est un projet plus ancien qui ne supporte pas ActionScript 3. Il ne fonctionne donc pas avec tous les sites mais il fonctionne très bien avec Youtube par exemple. Il utilise des techniques plus classiques pour le rendu et fonctionne également sur des machines moins bien dotées. Si votre usage du Flash est assez limité, cela peut être une bonne solution de remplacement.

Dans Debian, il suffit d’installer le paquet browser-plugin-gnash.

Utiliser le plugin 32 bits#

Ubuntu ne fournit pas le plugin dans sa version 64 bits. Il utilise la version 32 bits via nspluginwrapper qui permet d’encapsuler un plugin 32 bits en un plugin 64 bits. Cela semble une bonne décision vu le peu d’entrain d’Adobe à maintenir la version 64 bits et le manque total de visibilité sur son avenir.

Il est possible de faire de même sous Debian. Il faut d’abord télécharger la version 32 bits de Flash (désormais non disponible), la décompresser et placer le fichier libflashplayer.so dans ~/.mozilla/plugins.

# aptitude purge flashplugin-nonfree
# aptitude install nspluginwrapper lib32asound2-plugins
$ cd ~/.mozilla/plugins
$ nspluginwrapper -i $PWD/libflashplayer.so

Attention ! Il va falloir maintenant maintenir à jour vous-même ce plugin. Mozilla propose un site web pour vérifier si tous les plugins sont à jour. Celui-ci fonctionne également avec d’autres navigateurs que Firefox.

Il est assez honteux que, en 2011, il soit toujours nécessaire d’utiliser ce type de solution mais il ne semble pas exister d’autres alternatives en attendant la disparition de Flash pour la plupart des usages.

Mise à jour (06.2011)

Dans un commentaire, Paul Rufous indique l’existence dans le dépôt debian-multimedia.org du paquet flashplayer-mozilla qui contient la version 32 bits du plugin en utilisant nspluginwrapper.

HTML5#

Grâce à la balise <video> disponible dans HTML5, il est désormais possible de visualiser des vidéos dans le navigateur sans aucun plugin. Malheureusement, HTML5 ne définit aucune norme quant aux codecs et à l’encapsulation que les navigateurs doivent supporter. Certains navigateurs supportent Ogg Theora, d’autres H264. Google propose désormais WebM, un format libre d’utilisation. Mark Pilgrim explique en détail cette problématique des formats vidéo.

Chromium, tel que fourni dans Debian, supporte les 3 formats les plus courants (Theora, WebM et H264). Youtube a une option pour activer la mise à disposition des vidéos avec HTML5 mais la plupart des sites continuent simplement d’utiliser Flash en attendant qu’une solution universelle apparaisse. Bref, il faut encore attendre pour se passer de Flash.

Outils en ligne de commande#

Mise à jour (06.2011)

Josh Triplett indique dans un commentaire l’existence de plusieurs outils en ligne de commande permettant de télécharger les vidéos au format Flash depuis les sites les plus populaires. Parmi les candidats, on peut citer youtube-dl, get-flash-videos et clive. Ces outils peuvent être utiles même en présence d’un plugin flash fonctionnel car ils permettent de choisir le lecteur de vidéos à utiliser (meilleures performances et mode plein écran qui fonctionne correctement).

Mise à jour (06.2011)

Une solution analogue indiquée dans un commentaire consiste à utiliser l’extension Video DownloadHelper qui permet d’extraire les vidéos de la page actuelle.