Deux standards très intéressants sont en train d'émerger : WebGL du Khronos Group et FileAPI du W3C.
- WebGL, c'est OpenGL ES 2.0 qui est exposé dans le navigateur via l'élément
canvas
d'HTML 5. Pour faire simple, c'est l'arrivée de la 3D (avec accélération matérielle) dans le navigateur. A savoir :- La spécification est à l'état de draft, avec pour objectif d'être finalisée au premier trimestre 2010.
- Il est possible de tester WebGL dans les compilation nocturnes de Firefox (en l'occurrence une version pré-Alpha de Firefox 3.7)
- Il existe déjà une version de Fennec (aka Firefox Mobile) qui intègre WebGL
- FileAPI, c'est la possibilité pour le navigateur d'uploader plusieurs fichiers à la fois (c'est déjà un grand progrès) et de lire ces fichiers à la volée, par exemple pour accéder aux données EXIF d'un fichier JPEG ou des étiquettes ID3 des fichiers MP3.
- Paul Rouget a publié une démonstration de l'API File (nécessite la version 3.6 de Firefox)
- Pour ceux qui n'auraient pas encore installé Firefox 3.6, une vidéo de la démonstration est disponible
Pour la beauté de la chose, même si ça n'a aucun rapport avec ni WebGL ni FileAPI, voici une petite vidéo publiée par ma collègue Caitlin, qui démontre l'utilisation de SVG et de Canvas d'HTML 5 sur Firefox for Mobile. Cette vidéo est présentée par Arun Ranganathan, qui se trouve être l'éditeur de la spécification le chairman du groupe de travail WebGL. Comme quoi, finalement, il y a bien un semblant de cohérence dans ce billet !
13 réactions
1 De Baptiste - 14/12/2009, 11:25
Je n'ai fait que survolé la présentation de FileAPI, donc peut-être que la réponse à ma question y est déjà exposée (si c'est le cas, pardon par avance), mais est-ce que cette techno fait abstraction du type de server web utilisé? Je m'explique : SWFUpload ne fonctionne pas avec n'importe quel serveur web, par exemple il est incompatible avec Lighttpd. Alors même si je me doute que FileAPI n'a rien à voir avec SWFupload, serait-il possible d'avoir un même genre d'incompatibilité, ou est-ce totalement indépendant?
Merci.
Baptiste.
2 De Rik - 14/12/2009, 13:36
Parce que je suis un chieur et que "something is wrong on the internet", Arun n'est pas l'éditeur de la spec, mais le chairman du working group. L'éditeur est Chris Marrin d'Apple. Par contre, Arun est bien l'éditeur de FileAPI
Et pour ne pas partir sur une note négative, je suis particulièrement intéressé par FileAPI (et les autres améliorations liées à la gestion de fichiers), permettant de se passer de Flash pour faire des uploads pratiques.
3 De Michaël - 14/12/2009, 13:43
Petite correction : Arun Ranganathan est éditeur de la File API, non de la spécification WebGL. Ce qui ne l'empêche pas d'être sur plusieurs fronts à la fois et de faire un boulot impressionnant
Et, en parlant d'impressionnant, Paul Rouget m'étonnera toujours... Non seulement par la qualité de ses démos en elle-même mais aussi pour leur créativité. Partir de la File API pour faire une démo de lecture de données EXIF, faire de l'incrustation d'effets spéciaux dans une vidéo à l'aide de
<canvas>
pour faire une présentation de<video>
, utiliser<canvas>
pour faire de l'incrustation vidéo et retirer un fond jaune, etc.Il ne se limite pas à utiliser les technologies mais les intègrent dans des cadres plus vastes, tout en suggérant des exemples d'application "real world", et je trouve que c'est une démarche très positive, bien plus encore que de classiques démos se limitant strictement à la technologie présentée.
4 De Harry - 14/12/2009, 15:37
Petite question de néophyte:
J'ai entendu dire que microsoft voulait faire pression pour retirer canvas du standart HTML5 pour intégrer leur propre technologie sous silverlight.
Ont-ils une chance d'y arriver ?
5 De Michaël - 14/12/2009, 16:28
@Baptiste :
En fait, File API permet surtout de lire via JavaScript des fichiers sélectionnés par l'utilisateur. L'upload de fichiers multiples est quasiment indépendant de File API. Pour répondre à ta question, ces mécanismes sont totalement indépendants des serveurs. La seule différence avec un upload de fichier classique, c'est que l'on peut en envoyer plusieurs, c'est tout. J'ignore ce qui fait en sorte que SWFUpload ne fonctionne pas avec tous. Peut-être qu'il envoie des en-têtes HTTP spécifiques à Apache ?
@Harry :
Aucune chance qu'ils y parviennent. D'une part, la totalité du travail concernant HTM5 s'est faite sans Microsoft jusqu'ici et, d'autre part,
<canvas>
est une des parties de HTML5 les mieux implémentées à l'heure actuelle. Personne n'imagine faire demi-tour sur cette question, et surtout pas pour intégrer un truc bancal du genre silverlight natif...Rassure-toi, Microsoft n'a aucun moyen de pression sur les éditeurs de HTML5. C'est même plutôt l'inverse, en fait
Si ces rumeurs s'avèrent vraies, ce ne serait qu'une tentative désespérée de plus de la part de Microsoft pour ralentir sa chute parmi les éditeurs de navigateurs...
6 De Tristan - 14/12/2009, 17:15
@Michael : merci pour la réponse
@Rik : merci pour la précision. J'ai interverti les deux responsabilités d'Arun. C'est corrigé dans le billet.
@Michael, à propos de l'excellent Paul Rouget : oui, c'est un plaisir de bosser avec Paul. On se marre bien à discuter de ses démos et lui trouver des idées.
7 De Jean-Marc Mercier - 14/12/2009, 19:16
Une solution cloud conforme à la Déclaration Universelle des droits numériques de l'homme ?
Je sais, ca n'a rien à voir avec le sujet de ce post (plutôt avec le précédent), mais je cherche à contacter Mozilla et la fondation dans une démarche d'information et de recherche de partenaire pour le projet de l'association MNEMOSINE. A qui dois je m'adresser pour envoyer de la documentation et amorcer un dialogue dans ce cas ? Merci par avance !!
8 De Yoko - 14/12/2009, 21:41
Bonjour,
J'ai un peu du mal à voir l'utilité de WebGL. Quels en seraient les application si ce n'est les jeux vidéo (pourquoi faire du jeux vidéo à travers un navigateur d'ailleurs ?) ?
9 De Manu - 15/12/2009, 08:24
Bonjour,
FileAPI m'intéresse beaucoup mais au risque de dire des idioties, qq1 pourrait-il m'expliquer en quoi cette nouvelle API diffère de ce que Google a intégré dans son GMail? Et à propos de GMail, pourquoi le multi-upload fonctionne sous Windows mais pas sous Linux? Est-ce que la plate-forme impose ses limitations à l'API? C'est peut-être 'off-topic' mais à mon sens, différentes techniques existent déjà et se recoupent... Me tromperais-je en tout ou partie?
Merci d'avance
10 De kanor - 15/12/2009, 12:44
yoko une des première idée c'est la visite virtuel (musée maison ..) par exemple je pense que c'est une technologie qui va étre apprécié par les architectes
11 De Ner0lph - 15/12/2009, 14:54
@Manu : Le multi-téléversement de fichiers dans Gmail est réalisé grâce à Flash.
12 De -Stéphane- - 15/12/2009, 15:28
@Yoko
WebGL c'est un pas de plus vers l'émancipation du web vis à vis de téchnologies comme flash.
Les possibilités de rendu et d'animation qu'offrent WebGL sont presque illimitées. Ce n'est pas simplement utile pour les jeux vidéos.
On pourrait imaginer avoir un site web avec une interface graphique dotée d'effets de composition tels qu'on peut les voir sur les environnements de bureau actuels.
13 De Laurentj - 15/12/2009, 16:33
@yoko : déjà, pourquoi pas des jeux à travers un navigateur ? (dingue ces réticences que je lis un peu partout sur ce sujet)
Ensuite, Webgl peut être utile à tout ceux qui veulent faire de la 3D interactive dans une page web. Ex:
Bref, y a des centaines d'applications possibles. Suffit juste de l'imagination
Et de plus, sans avoir à installer un plugin...
@manu
>qq1 pourrait-il m'expliquer en quoi cette nouvelle API diffère de ce que Google a intégré dans son GMail?
ça diffère dans le sens, déjà, où ce n'est pas de la bidouille faite avec des bouts de scotch, mais une vraie API, standardisée, efficace, et qui pourra être disponible dans tout les navigateurs sans que le développeur ait à faire trop d'effort pour proposer l'upload de multiple fichier en même temps.
>Et à propos de GMail, pourquoi le multi-upload fonctionne sous Windows mais pas sous Linux?
peut être justement parce qu'ils utilisent des bidouilles à la con (même si ils n'ont pas trop le choix), genre très certainement un objet flash caché ou un truc dans le genre, flash que tu n'as pas installé sur ton linux.