WebGL : la 3D au sein du navigateur Web dès 2010

le 05/08/2009 à 18:52
WebGL : la 3D au sein du navigateur Web dès 2010
Le Khronos Group, consortium en charge des spécifications de langages comme OpenGL et OpenCL, espère parvenir à mettre rapidement au point un nouveau standard, baptisé Web GL, qui permettrait d'exploiter nativement de la 3D au sein d'un navigateur Web. Dévoilé lundi, à l'occasion du salon Siggraph, WebGL bénéficie du soutien de NVIDIA et AMD, principaux fabricants de cartes graphiques dédiées, ainsi que d'organismes tels que Mozilla, Google, Ericsson ou Opera Software.

WebGL, tel que présenté par le Khronos Group, serait donc un standard permettant d'exploiter par l'intermédiaire du JavaScript, des commandes OpenGL ES 2.0 au sein du navigateur. Il tirerait parti des avancées proposées par HMTL 5, à commencer par l'élément Canvas qui permet d'effectuer des rendus dynamiques d'images bitmap via des scripts. Le rendu 3D serait directement effectué par la carte graphique.

Google et Mozilla ont déjà, chacun de leur côté, entrepris de plancher sur la question. Le premier a déjà développé un plugin expérimental allant dans ce sens, O3D, tandis que le second propose Canvas 3D JS Libary (C3DL), une bibliothèque offrant des fonctionnalités similaires. Pour l'instant, ces solutions ne sont pas interopérables. D'où l'intérêt, selon le Khronos Group, de rapidement mettre en place un standard. Les spécifications finales de WebGL pourraient voir le jour dans le courant du premier semestre 2010. Elles seront ensuite accessibles à tous, sans contrepartie financière.

A lire également

Du 23 au 27 octobre 2010 se déroulera Adobe Max 2010, un sommet annuel au sein duquel la société rassemble les développeurs afin de les informer des prochaines fonctionnalités de ses produits. Thibault Imbert, consultant avant-vente Créa Pro Web chez Adobe France, a récemment publié un billet sur son blog annonçant l'arrivée de nouvelles interfaces de programmation.

"Si vous aimez le développement en 3D pour les jeux, la réalité augmentée ou les choses interactives comme des sites web, alors ne manquez pas la session intitulée "Flash Player 3D future" prévue pour Max 2010 le 27 octobre à 11 du matin en salle 503", est-il ainsi expliqué. L'ingénieur Sebastian Marketsmueller devrait présenter ces nouveautés qui seront implémentées au sein de la prochaine version d'Adobe Flash Player. M.Imbert n'a cependant donné aucune explication supplémentaire sur ces nouvelles API.

En novembre 2009, Adobe avait levé le voile sur une première bêta de Flash 10.1 qui introduisait l'accélération matérielle pour Windows. Initialement implémentée pour le décodage en haute définition des vidéos encodées en H.264, la technologie devrait donc trouver d'autres intérêts.

Sur Internet, le web en 3D n'est pas une idée nouvelle. Google, Mozilla et Opera Software travaillent avec le groupe Khronos chargé de définir les spécifications de langages comme OpenGL et OpenCL. En août 2009, Khronos se penchait sur le standard WebGL permettant d'exploiter par l'intermédiaire du JavaScript, des commandes OpenGL ES 2.0 au sein du navigateur tout en tirant parti d'éléments du HTML5 comme Canvas.
En matière de technologies web, le déploiement progressif du HTML 5 a donné naissance à d'innombrables débats et notamment en ce qui concerne la pertinence des technologies existantes telles que Flash d'Adobe ou Silverlight de Microsoft. C'est ainsi qu'en parlant du prochain Internet Explorer 9, qui prendra en charge les spécificités du HTML5, Tristan Nitot, président de Mozilla Europe, expliquait au mois de mars : "Microsoft a tout intérêt à miser sur cette technologie et à abandonner complètement Silverlight ; je croise les doigts".

Il faut dire que le HTML 5, lorsqu'il sera véritablement implémenté par l'ensemble des navigateurs, présentera plusieurs nouvelles possibilités qui redonneront véritablement un coup de jeune au HTML. De leur côté les technologies d'Adobe et de Microsoft présentent plusieurs inconvénients. D'une part qu'il s'agisse de Flash Player, d'Adobe AIR ou de Silverlight, dans tous les cas, l'utilisateur devra installer un composant tiers. Certes, le plugin Flash player est très répandu à l'heure actuelle (près de 98% des machines) seulement les choses en vont autrement pour Adobe AIR et Silverlight (environ 500 millions d'installations).

Faut-il pour autant sacraliser le HTML 5 et dénigrer les plateformes Flash et Silverlight ? Les produits d'Adobe ou de Microsoft seront-ils vite obsolètes ? Clubic s'est penché sur la question et s'est entretenu avec Thibault Imbert et Frédéric Massy, respectivement consultant avant-vente Créa Pro Web et directeur marketing chez Adobe ainsi que Bernard Ourghanlian, directeur technique et sécurité chez Microsoft France.

L'état du marché

Pour l'heure, la part de marché des navigateurs compatibles avec le HTML5 reste relativement faible. Selon les dernières statistiques de StatsCounter, Firefox atteindrait 30% de part de marché, Chrome frôle les 8%, Safari dépasse les 4% et Opera stagne aux alentours de 1,8%. Il est bon d'ajouter que si le lecteur Flash est bien implémenté sur l'ensemble du marché, pour l'instant l'implémentation du HTML5 reste hétérogène au sein des différents moteurs de rendu de chacun des logiciels ; la chose étant d'autant plus vrai pour le CSS3. Lors d'une conférence organisée par le W3C le mercredi 7 avril 2010, Philippe Le Hégaret, chargé du groupe W3C Architecture Domain expliquait qu'il faudrait entre 5 et 7 ans pour que le HTML5 soit véritablement répandu et que les parts de marché d'Internet Explorer 6, 7 et 8 deviennent minimes.

Alors finalement, étant donné l'état actuel des choses, le débat a-t-il véritablement lieu d'être ?

Frédéric Massy : On voit fleurir régulièrement des débats comme ça où on veut opposer Flash à un killer. Il y a 2 ans c'était Ajax. Aujourd'hui la question que l'on doit se poser c'est quel est le niveau de maturité de HTML5 ? Nous pensons qu'il y a énormément de possibilités d'évolution à venir sur le web. D'ailleurs nous prenons part aux groupes de réflexion du W3C. Pour le HTML5, le gros défi qui reste c'est la fragmentation. On le voit déjà avec les codecs vidéo. De notre côté nous offrons une technologie cross platform qui a de beaux jours devant elle.

Thibault Imbert : On ne peut pas comparer ce qui n'est pas comparable ; Flash et HTML5 sont complémentaires. Il faut savoir que les standards évoluent très lentement. La réalité du marché c'est que l'on nous demande encore aujourd'hui des sites Internet pour IE6. Les gens qui pensent au HTML5 se rendent vite compte qu'il va falloir complètement changer leur manière de travailler tout en faisant face à des problèmes que nous avons déjà résolus il y a longtemps. Aujoud'hui la solution du plugin reste la meilleure.

Bernard Ourghanlian : HTML5 n'est pas fini. On peut considérer qu'il y encore beaucoup de travail. Il va falloir du temps avant la finalisation de la normalisation.

Quelques aspects techniques

Parmi les nouveautés du HTML5 les balises et permettront par exemple de s'affranchir du lecteur Flash d'Adobe ou du plugin Silverlight pour les clips vidéos compatibles. Par ailleurs, les technologies Web Storage et Indexed Database autoriseront la mise en cache de certaines données. A l'heure actuelle, l'application la plus populaire tirant parti de cette technologie reste véritablement le site mobile de Gmail. De leurs côtés les interfaces de programmation pour le protocole Web Sockets seront utilisées par les développeurs afin de délivrer un système de notification. L'on imagine par exemple, une application de messagerie instantanée qui enverra des alertes via HTTP au navigateur afin de prévenir l'utilisateur de la réception d'un nouveau message.

Toujours au sein du HTML5, la balise permet de représenter sur une page web des éléments en 3D à partir d'images vectorielles (SVG) et de JavaScript et ce, toujours sans intégrer des applets Flash. Les nouveautés offerts par le CSS3 sont également très nombreuses. En dehors des fameux border-radius chers aux web designers qui se voient obligés de jongler entre des images de fond pour Internet Explorer et des préfixes -moz et -webkit chez Firefox, Safari et Chrome, certaines propriétés devraient faciliter la mise en page pour obtenir un agencement dynamique de cette dernière en fonction de la taille de l'écran de l'internaute. Certaines animations et transitions qui jusqu'alors nécessitaient un plugin ou du JavaScript seront également possibles simplement grâce à quelques lignes au sein de la feuille de style. Enfin entre le format Web Open Font (WOFF) qui regroupe des polices de caractères spécialement optimisées pour un usage sur le web et la propriété CSS @font-face, le développeur devrait bénéficier de nouvelles possibilités en matière de typographie. Même si certaines fonctions du CSS3 devraient pouvoir supplanter l'utilisation du JavaScript, ce dernier continuera donc d'occuper une place essentielle dans les possibilités du HTML5.

Bernard Ourghanlian : Si on compare le HTML5 à Silverlight dans le domaine de l'audio et de la vidéo, la balise vidéo du HTML5 est limitée. Alors que sur Silverlight on peut avoir du streaming an HD, on a une fonction magnétoscope, un déplacement par image, Smooth streaming... Par ailleurs, en ce qui concerne les DRM, je ne sais pas si tout le monde sera ravi de publier son contenu en HTML5 sans sécurité.

Thibault Imbert : Pour en revenir au codec vidéo. Aujourd'hui Chrome et Safari ont choisi le H264, mais qu'en est-il des autres ? Firefox et IE9 ? Il y a déjà une fragmentation alors que nous offrons une solution unifée depuis Flash 6.

Bernard Ourghanlian : La sémantique et la syntaxe du JavaScript ne permet pas de faire du vrai parallélisme et de tirer parti des ordinateurs multicoeurs. De son côté Silverlight se base sur le .Net framwork. Concernant l'accélération graphique et le support de la 3D, Firefox 3.7 utilise WebGL. Seulement WebGL nécessite JavaScript. Pour un rendu dynamique en Canvas 3D la tâche est donc compliquée puisque le calcul vectoriel est opéré par le JavaScript, cela nous montre donc les limites de WebGL. Enfin en JavaScript si on veut écrire du code compliqué, c'est difficile à faire, par exemple pour une application telle que Google Wave. En réalité elles sont écrites en Java ou en Go puis compilées en JavaScript par la suite. Nous avons donc une faible productivité.

Technologies libres ou propriétaires

Récemment Steve Jobs s'est exprimé au sujet de l'absence du Flash au sein des iPhone, des iPod Touch et des iPad. Le PDG d'Apple expliquait ainsi que tous les standards relatifs au Web devaient être ouverts et non propriétaires comme Flash ou Silverlight, d'où l'adoption de HTML5, CSS et JavaScript. L'usage de plugins venant se greffer au navigateur reste également problématique en matière de sécurité. A plusieurs reprises, Adobe Flash Player fut le vecteur d'attaques rendues possibles par certaines failles, et notamment le cross-scripting.

Frédéric Massy : Il ne faut pas systématiquement opposer propriétaire et standard. Quand une société essaie d'innover, la technologie n'est pas forcément fermée. Si vous prenez PDF, la technologie est restée propriétaire pendant longtemps. Ensuite, lorsque nous l'avons jugé arrivée à maturité nous en avons fait un standard. Aujourd'hui la technologie évolue moins vite. Ici nous sommes dans la même logique.

Thibault Imbert : Vous savez n'importe quel navigateur peut avoir des failles. Nous on prend ça très au sérieux. C'est vrai qu'avec JavaScript il y a moins de risques mais qu'en est il de la sécurité de Chrome ou Firefox ? En 13 ou 14 ans d'existence nous n'avons pas eu énormément de failles.

Frédéric Massy : A partir du moment ou l'on exécute du code on est plus facilement la cible d'attaques. Aujourd'hui on lit plus d'attaques opérées sur PDF que via le lecteur Flash. Et comme je le rappelais plus haut PDF est désormais un standard et évolue moins vite.

Bref nous l'aurons compris, pour Adobe et Microsoft le HTML5 ne se montre pas encore assez convaincant du moins pas pour supplanter leurs technologies respectives. Par ailleurs, le décalage du niveau maturité et du déploiement des fonctionnalités risque également de perdurer à mesure que Microsoft et Adobe renforcent leurs efforts. Le débat serait-il alors sans fin ? Finalement peut-être faudrait-il percevoir ces technologies complémentaires les unes avec les autres et s'interroger sur le devenir du JavaScript notamment au regard des progrès du CSS.

Commentaires

Ecrire

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours