s
Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU
Trucs en vrac

Google chrome abandonne Java ?

14 Juin 2014 , Rédigé par Jean-Pierre Tosoni Publié dans #debian, #web

Plus de Java ? Que se passe-t-il ?

J'utilise Linux Debian à la maison. Hier, après une mise à jour ordinaire de Wheezy, j'ai eu la surprise de voir que Java ne fonctionne plus dans Google Chrome qui est passé en version 35.

Installer une mise à jour du Java d'Oracle n'est pas trivial. Ensuite il faut utiliser la console de root pour faire un lien symbolique dans les plugins de Chrome vers une librairie dans le dossier Java (libnpjp2.so ou libjavaplugin_oji.so). Je me suis donc précipité pour voir si le lien y était, et oui, il avait disparu.

Je l'ai donc remis mais non, toujours pas de Java.

Après de longues recherches il s'avère que dans Chrome il existe deux API pour les plugins : une ancienne, "NPAPI", qui a l'air supportée par Mozilla (donc firefox, iceweasel, etc.) et une nouvelle, "PPAPI". Le plugin Java fourni par Oracle est compatible NPAPI.

Et Google a décidé d'abandonner NPAPI. Donc plus de Java. Comme d'autre part Firefox ne veut pas supporter PPAPI, on peut se demander ce qui va sortir d'un bras de fer entre ces trois géants. En attendant les utilisateurs en font les frais.

Mais j'aimais bien Chrome pourtant ?

Bien sûr une solution est de revenir à Firefox ou un autre navigateur. Inutile de passer à Chromium: la version de Chromium fournie dans Debian Wheezy (version 35) a suivi le même chemin que Chrome et ne supporte pas Java non plus (c'est compréhensible, ce sont les mêmes sources).

Comment faire alors ?

Je vous propose ici la réinstallation de chromium en version 34. J'ai un peu galéré pour y arriver: que j'utilise synaptic, aptitude ou apt-get, impossible de retrouver la version 34. Voici comment j'ai procédé.

Attention cependant: si vous restez en version 34 vous n'aurez plus de mises à jour de sécurité !

1. Téléchargez les paquets de la version 34

J'ai trouvé le site web dans /etc/apt/sources.list et j'ai fouillé un peu pour tomber sur les paquets en plusieurs versions. Avec un navigateur (ou un client FTP), allez sur 

http://ftp.fr.debian.org/debian/pool/main/c/chromium-browser/

Téléchargez les paquets Chromium en version 34:

chromium_34.0.1847.116-1~deb7u1_i386.deb
chromium-browser_34.0.1847.116-1~deb7u1_all.deb
chromium-inspector_34.0.1847.116-1~deb7u1_all.deb
chromium-l10n_34.0.1847.116-1~deb7u1_all.deb
chromium-browser-l10n_34.0.1847.116-1~deb7u1_all.deb

Les deux derniers ne sont pas indispensables, c'est pour customiser la langue des messages du navigateur (pour le mettre en français, donc).

2. Passez en ligne de commande avec l'utilisateur root

Ouvrez une console, allez dans le dossier de téléchargement et faites un "su" ou un "sudo su". Moi, j'ai téléchargé sur mon bureau, donc:

jpt@jpt:~$ cd Desktop
jpt@jpt:~/Desktop$ su
password: ******
root@jpt:/home/jpt/Desktop#

3. Installez les paquets avec dpkg dans le bon ordre

Dpkg vérifie si les dépendances sont respectées, mais n'installe rien automatiquement ! Si vous vous trompez dans l'ordre, vous aurez un message d'erreur et il suffira de recommencer en installant d'abord la dépendance manquante.

A noter que chromium peut avoir besoin d'autres paquets plus "ordinaires" : pendant mon installation j'ai eu besoin du paquet "libspeechd2" que j'ai simplement installé avec synaptic (aptitude ou apt-get auraient fait aussi bien l'affaire).

Donc:

dpkg --install chromium-inspector_34.0.1847.116-1~deb7u1_all.deb
dpkg --install chromium_34.0.1847.116-1~deb7u1_i386.deb
dpkg --install chromium-browser_34.0.1847.116-1~deb7u1_all.deb
dpkg --install chromium-browser-l10n_34.0.1847.116-1~deb7u1_all.deb
dpkg --install chromium-l10n_34.0.1847.116-1~deb7u1_all.deb
dpkg --install chromium-browser-l10n_34.0.1847.116-1~deb7u1_all.deb

Normalement vous pouvez maintenant lancer chromium. Mais ce n'est pas fini.

4. Refaites le lien entre chromium et java Oracle

Les instructions d'installation de Java sont assez vagues sur le dossier d'installation. Moi, j'ai installé Java dans /usr/local/jre1.7.0_17.

root@jpt:/home/jpt/Desktop# cd /usr/lib/chromium/plugins
root@jpt:.../plugins# ln -s /usr/local/jre1.7.0_17/lib/i386/libnpjp2.so

Bien sûr, remplacez ce dernier chemin par celui où vous avez installé votre Java.

Voilà, Java fonctionne de nouveau (sauf que chez moi, chromium se plaint que la version de java est obsolète mais bon).

5. récupérez votre configuration chrome dans chromium

Il faut le faire pour chaque utilisateur. Pour fixer les idées on va faire un exemple avec l'utilisateur "jpt" (oui,oui, c'est moi). On utilise une ligne de commande sous l'identité de cet utilisateur.

jpt@jpt:~$ cd ~/.config/google-chrome
jpt@jpt:~/.config/google-chrome$ tar cf /tmp/config-jpt.tar .
jpt@jpt:~/.config/google-chrome$ cd ../chromium
jpt@jpt:~/.config/chromium$ tar xf /tmp/config-jpt.tar
jpt@jpt:~/.config/chromium$ rm /tmp/config-jpt.tar

Ne pas oublier les points un peu partout. Pour les plus doués au clavier, on peut faire cela en une seule ligne:

jpt@jpt:~$ (cd .config/google-chrome; tar cf - .) | (cd .config/chromium; tar xf -)

[UPDATE] Si vous avez ce message au démarrage de chromium :

Votre profil ne peut pas être utilisé, car il provient d'une version plus récente de Chromium.

supprimez ~/.config/chromium/Default/"Web Data" ; c'est un fichier sqlite qui contient vos réponses par défaut, votre carte de crédit etc.

[UPDATE] Si Evolution insiste pour ouvrir les liens Web avec google-chrome-stable, c'est parce qu'il utilise la configuration gnome au lieu de votre gestionnaire de fenêtres préféré (moi c'est xfce4). Allez dans /usr/local/share/applications et modifiez le chemin de l'exécutable dans google-chrome.desktop ; ou mieux, recopiez-le en chromium.desktop et changez les liens dans defaults.list.

6. Vérifiez et nettoyez

Lancez chromium qui est normalement apparu dans le menu d'applications de l'interface graphique. Quand vous vous êtes assuré que tout va bien vous pouvez faire quelques nettoyages:

  • désinstallez google-chrome-stable
  • supprimez le cache de chaque utilisateur dans ~/.cache/google-chrome (on y gagne facilement des centaines de mégaoctets)
  • supprimez la configuration de chrome dans ~/.config/google-chrome (c'est gros aussi)

Ou peut-être, avant le grand nettoyage, vous préfèrerez attendre de voir si Google revient sur sa décision, ou si Oracle se décide à fournir un Java avec le support de PPAPI...

Publicité

Commenter cet article

X
Salut,<br /> <br /> Sinon une autre solution est d'activer NPAPI sur la page chrome://flags/
Répondre
J
Merci X, voila une info qui peut être utile ! Mais attention ce n'est que temporaire car, selon https://www.chromium.org/developers/npapi-deprecation , je cite,<br /> <br /> "In September 2015 (Chrome 45) we will remove the override and NPAPI support will be permanently removed from Chrome. Installed extensions that require NPAPI plugins will no longer be able to load those plugins."<br /> <br /> Il semble bien que les utilisateurs de Java soient condamnés à passer sous Firefox ou Safari...