septembre
2009
Dans quelques jours Google devrait élargir la phase de test de son nouvel outil de communication à 100 000 nouveaux volontaires. Google Wave, dont l’ambition est de repenser et fusionner les outils de communications (emails, messagerie instantanée, réseaux sociaux, partage, etc.). Mais il pourrait également devenir le porte-drapeau des prochains standards HTML5 et CSS3, tout comme GMail l’a été pour les technologies AJAX…
Et ce n’est pas complètement par hasard si Google annonce dans le même temps Google Chrome Frame, un plugin permettant d’utiliser le moteur de rendu de son navigateur Chrome directement dans Internet Explorer, afin de bénéficier de tous les avantages de son moteur de rendu (Webkit), sans avoir à changer de navigateur…
Pourquoi un tel plugin ?
A première vue on pourrait se demander quel est l’intérêt pour Google de proposer un tel plugin, qui pourrait directement concurrencer son propre navigateur… Mais le fait est qu’en l’état actuel Internet Explorer ne permet pas de faire tourner Google Wave correctement. En effet celui-ci devrait utiliser entre-autres la balise <canvas>
de l’HTML5 et beaucoup de JavaScript, alors qu’Internet Explorer ne supporte toujours pas l’HTML5 ni les CSS3 (même si les choses semblent changer un peu), et que son moteur Javascript est toujours à la traine à l’heure où les autres navigateurs utilisent un moteur avec un compilateur JIT boostant les performances…
Or Internet Explorer (toutes versions confondus) représente toujours une part non-négligeable des utilisateurs qu’il est impossible d’ignorer. Et il n’est pas forcément évident de les forcer à changer de navigateur et d’habitude…
Google Chrome Frame opte donc pour la solution inverse : on laisse l’utilisateur avec son navigateur et ses habitudes, mais on lui propose un moteur de rendu plus évolué…
Comment utiliser Google Chrome Frame ?
Le changement d’un moteur de rendu peut avoir des conséquences importantes et non négligeables, en particulier avec dans des applications d’entreprises construites pour Internet Explorer. Google a donc opté pour une solution qui peut paraitre étrange à première vue : la page HTML doit contenir une balise meta indiquant que Google Chrome Frame doit être utilisé (s’il est installé bien sûr) :
<meta http-equiv="X-UA-Compatible" content="chrome=1">
Au chargement de la page, Internet Explorer utilisera alors le moteur de rendu de Google Chrome Frame…
Cette solution permet d’utiliser le navigateur de façon tout à fait normal sur les autres sites, malgré l’installation du plugin, afin d’éviter tout problème potentiel. De plus ce code sera bien entendu ignoré par tous les autres navigateurs sans que cela ne pose aucun soucis.
Pour l’anecdote, ce mécanisme est déjà utilisé dans IE7 et IE8 pour forcer l’utilisation d’un moteur de rendu spécifique…
Comment proposer l’installation de Google Chrome Frame ?
Afin d’utiliser ce moteur de rendu, il faut bien sûr que Google Chrome Frame soit installé, et Google propose donc un code javascript permettant de proposer son installation :
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
<script>
CFInstall.check();
</script>
Ce code proposera l’installation de Google Chrome Frame aux utilisateurs d’IE qui ne l’aurait pas encore. Il se contente d’afficher en iframe le site officiel de Google Chrome Frame qui permet l’installation du plugin en quelques clics…
Bref avec quelques lignes de code on peut préparer n’importe quelle page à utiliser les nouveautés du web sans pour autant complètement délaisser les utilisateurs d’Internet Explorer…
Le rapport avec Google Wave ?
Google Wave est la prochaine grosse application web de Google, et elle devrait abuser de l’HTML5 et des CSS. Son succès pourrait donc généraliser l’installation de ce plugin, et permettre l’utilisation massive de ces technologies sur le web en général.
Car pour rappel actuellement Internet Explorer est un frein important à l’évolution du web en raison de l’absence d’implémentation de ces technologies (même partielles puisqu’elles ne sont pas encore complètement standardisées).
Les autres navigateurs ont déjà commencées ces travaux depuis bien longtemps, mais ne sont pas réellement exploitable sans se couper d’une grande partie des internautes. Actuellement on peut limiter cela en trois grandes catégories :
- Les « petits » effets utilisés uniquement pour améliorer le rendu, et qui n’a aucune incidence sur la navigation (généralement en utilisant certaines des nouvelles propriétés des CSS3).
- Les applications de démonstration, qui se contentent principalement de démontrer certaines des possibilités de la technologie (comme par exemple Canvas Paint, une clone du logiciel MS Paint qui utilise la nouvelle balise
<canvas>
). - Les applications spécifiques, qui viennent doubler une application existante avec des anciennes technologies (comme le projet OpenVideo de DailyMotion qui utilise la balise
<video>
en remplacement des animations Flash pour afficher les vidéos dans le navigateur).
Mais jusqu’à présent il était impossible d’utiliser massivement ces technologies tout en ciblant un large public… C’est désormais possible !
En clair, Google Chrome Frame apporte l’HTML5 et les CSS3 à Internet Explorer, et Google Wave pourrait bien être l’application qui leurs apportera la renommée nécessaire à leurs utilisation massive…
Le plugin : une bonne solution ?
Je viens de tester l’installation du plugin sur une page perso contenant le code javascript indiqué ci-dessus. La page s’ouvre avec le site officiel en popup-iframe. Cette dernière présente donc succintement les avantages de l’installation, et propose un gros bouton pour l’installer. Un clic vous emmène sur la page de la licence, dont l’acceptation lance le téléchargement et l’installation du plugin sans étape supplémentaire.
Une fois l’installation terminée, la page devrait être rechargée en utilisant le nouveau moteur de rendu (note : ceci n’a pas totalement fonctionné pour moi : il a fallut que je recharge la page manuellement — mais il s’agit sans doute d’une petite erreur de jeunesse).
En clair : une installation on ne peut plus simple et rapide, qui ne devrait pas engendrer de problème aux utilisateurs. Et surtout (ce qui m’a le plus surpris en fait) : le nouveau moteur de rendu est utilisable directement sans redémarrer le navigateur !
En fait pour le moment je dirais que son seul défaut est de n’être disponible qu’en anglais, ce qui est peut adapté au grand public. Mais ceci devrait logiquement être résolu d’ici sa sortie officielle (il s’agit pour le moment d’une preview destinée aux développeurs).
Alors ? D’après vous Google va-t-il réussir à imposer HTML5 et les CSS3 ?
Tutoriels
Discussions
- L'apparition du mot-clé const est-il prévu dans une version à venir du JDK?
- Définition exacte de @Override
- jre 1.5, tomcat 6.0 et multi processeurs
- Classes, méthodes private
- [ fuite ] memoire
- [REFLEXION] Connaitre toutes les classes qui implémentent une interface
- Possibilité d'accéder au type générique en runtime
- Difference de performances Unix/Windows d'un programme?
- Recuperation du nom des parametres