Le plugin Flash et Debian

Vincent Bernat

Beau­coup de sites re­quièrent tou­jours l’uti­li­sa­tion du plu­gin Flash d’Adobe pour ac­cé­der à cer­tains conte­nus. Si vous uti­li­sez une ver­sion 64 bits de De­bian (avec une ar­chi­tec­ture In­tel), vous pou­vez ob­te­nir ce plu­gin à tra­vers le pa­quet flashplugin-nonfree. Mal­heu­reu­se­ment, Adobe n’a ja­mais prouvé sa ca­pa­cité à main­te­nir ce plu­gin à jour. Une pre­mière ver­sion avait été four­nie vers la fin de l’an­née 2008 puis a été re­ti­rée pen­dant quelques mois (prin­ci­pa­le­ment en rai­son d’im­por­tants pro­blèmes de sé­cu­rité) avant qu’une ver­sion plus ré­cente soit re­mise en ligne.

Cette ver­sion a deux dé­fauts majeurs :

  • Elle n’est pas du tout à jour. Elle est tou­chée par plu­sieurs trous de sé­cu­rité pour les­quels Adobe n’a com­mu­ni­qué au­cune date de cor­rec­tion pour la ver­sion 64 bits.
  • Elle est frap­pée de quelques bugs qui lui sont propres et pour les­quels Adobe n’a mon­tré au­cune at­ten­tion alors que les cor­rec­tions à ap­por­ter sont par­fois tri­viales. Par exemple, le son est dé­formé en rai­son de l’uti­li­sa­tion de memcpy() au lieu de memmove(). Cela se pro­duit avec une libc ré­cente pour la­quelle les deux fonc­tions n’ont plus un com­por­te­ment iden­tique. Le rap­port de bug com­prend un cer­tain nombre de pa­rades à ce bug dont un patch bi­naire à ap­pli­quer sur le plugin.

Même en cor­ri­geant le se­cond point, le pre­mier point peut dif­fi­ci­le­ment être ré­solu par d’autres en­ti­tés qu’Adobe. Quelles sont les al­ter­natives ?

Mise à jour (07.2011)

Adobe four­nit de­puis le 13 juillet la ver­sion 11 de son player en 64 bits. Tou­te­fois, il n’est tou­jours pas cer­tain si cette ver­sion sera main­te­nue cor­rectement.

Lightspark#

Lights­park est une im­plé­men­ta­tion open-source qui se base sur LLVM pour four­nir un com­pi­la­teur JIT qui per­met de tra­duire le code Flash en code ma­chine afin d’amé­lio­rer les per­for­mances. Il uti­lise éga­le­ment OpenGL pour ac­cé­lé­rer l’af­fi­chage. Il ne sup­porte ce­pen­dant que ActionScript 3 qui a été in­tro­duit avec Flash 9. Quand il y a be­soin de ver­sions plus an­ciennes, Gnash est ap­pelé à la rescousse.

Le prin­ci­pal pro­blème avec Lights­park est l’uti­li­sa­tion d’OpenGL pour le rendu. Si vous ne dis­po­sez pas d’un bon sup­port d’OpenGL (comme par exemple une carte NVIDIA avec le pi­lote Nou­veau), ce sera ex­trê­me­ment lent. À no­ter qu’avec une carte In­tel, les per­for­mances sont sa­tis­faisantes.

Pour le mo­ment, Lights­park n’est dis­po­nible que dans De­bian Sid. Le pa­quet à ins­tal­ler est browser-plugin-lightspark.

Gnash#

Gnash est un pro­jet plus an­cien qui ne sup­porte pas ActionScript 3. Il ne fonc­tionne donc pas avec tous les sites mais il fonc­tionne très bien avec You­tube par exemple. Il uti­lise des tech­niques plus clas­siques pour le rendu et fonc­tionne éga­le­ment sur des ma­chines moins bien do­tées. Si votre usage du Flash est as­sez li­mité, cela peut être une bonne so­lu­tion de rem­placement.

Dans De­bian, il suf­fit d’ins­tal­ler le pa­quet browser-plugin-gnash.

Utiliser le plugin 32 bits#

Ubuntu ne four­nit pas le plu­gin dans sa ver­sion 64 bits. Il uti­lise la ver­sion 32 bits via nspluginwrapper qui per­met d’en­cap­su­ler un plu­gin 32 bits en un plu­gin 64 bits. Cela semble une bonne dé­ci­sion vu le peu d’en­train d’Adobe à main­te­nir la ver­sion 64 bits et le manque to­tal de vi­si­bi­lité sur son avenir.

Il est pos­sible de faire de même sous De­bian. Il faut d’abord té­lé­char­ger la ver­sion 32 bits de Flash (dé­sor­mais non dis­po­nible), la dé­com­pres­ser et pla­cer le fi­chier libflashplayer.so dans ~/.​mozilla/​plugins.

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

At­ten­tion ! Il va fal­loir main­te­nant main­te­nir à jour vous-même ce plu­gin. Mo­zilla pro­pose un site web pour vé­ri­fier si tous les plu­gins sont à jour. Ce­lui-ci fonc­tionne éga­le­ment avec d’autres na­vi­ga­teurs que Firefox.

Il est as­sez hon­teux que, en 2011, il soit tou­jours né­ces­saire d’uti­li­ser ce type de so­lu­tion mais il ne semble pas exis­ter d’autres al­ter­na­tives en at­ten­dant la dis­pa­ri­tion de Flash pour la plu­part des usages.

Mise à jour (06.2011)

Dans un com­men­taire, Paul Ru­fous in­dique l’exis­tence dans le dé­pôt debian-multimedia.org du pa­quet flashplayer-mozilla qui contient la ver­sion 32 bits du plu­gin en uti­li­sant nspluginwrapper.

HTML5#

Grâce à la ba­lise <video> dis­po­nible dans HTML5, il est dé­sor­mais pos­sible de vi­sua­li­ser des vi­déos dans le na­vi­ga­teur sans au­cun plu­gin. Mal­heu­reu­se­ment, HTML5 ne dé­fi­nit au­cune norme quant aux co­decs et à l’en­cap­su­la­tion que les na­vi­ga­teurs doivent sup­por­ter. Cer­tains na­vi­ga­teurs sup­portent Ogg Theora, d’autres H264. Google pro­pose dé­sor­mais WebM, un for­mat libre d’uti­li­sa­tion. Mark Pil­grim ex­plique en dé­tail cette pro­blé­ma­tique des for­mats vidéo.

Chro­mium, tel que fourni dans De­bian, sup­porte les 3 for­mats les plus cou­rants (Theora, WebM et H264). You­tube a une op­tion pour ac­ti­ver la mise à dis­po­si­tion des vi­déos avec HTML5 mais la plu­part des sites conti­nuent sim­ple­ment d’uti­li­ser Flash en at­ten­dant qu’une so­lu­tion uni­ver­selle ap­pa­raisse. Bref, il faut en­core at­tendre pour se pas­ser de Flash.

Outils en ligne de commande#

Mise à jour (06.2011)

Josh Tri­plett in­dique dans un com­men­taire l’exis­tence de plu­sieurs ou­tils en ligne de com­mande per­met­tant de té­lé­char­ger les vi­déos au for­mat Flash de­puis les sites les plus po­pu­laires. Parmi les can­di­dats, on peut ci­ter youtube-dl, get-flash-videos et clive. Ces ou­tils peuvent être utiles même en pré­sence d’un plu­gin flash fonc­tion­nel car ils per­mettent de choi­sir le lec­teur de vi­déos à uti­li­ser (meilleures per­for­mances et mode plein écran qui fonc­tionne cor­rec­tement).

Mise à jour (06.2011)

Une so­lu­tion ana­logue in­di­quée dans un com­men­taire consiste à uti­li­ser l’ex­ten­sion Vi­deo DownloadHelper qui per­met d’ex­traire les vi­déos de la page actuelle.