Google chrome abandonne Java ?
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...
/image%2F0847390%2F201312%2Fob_245c2023cb1b2fc63f63dbd7298c6e86_blog-carre.jpg)
Commenter cet article