Si vous vous baladez sur le site, vous comprendrez que nous avons créé un moyen de zoomer sur des photos dans des pages web. Et accessoirement, entre autres choses, nous proposons un espace d'hébergement de photos.

Les plus observateurs et techniciens d'entre vous, et surtout ceux qui prônent les standards comme moi et mes collègues chez Zoomorama, auront remarqué une "anomalie" (si on peut appeler ça une anomalie) sur le site : on utilise Flash. Pour se débarrasser au plus vite de ce problème "tendancieux", voici au moins deux bonnes raisons justifiant l'utilisation de Flash pour notre technologie de Zooming :

  1. ça permet d'utiliser notre techno sur 99% des ordinateurs des internautes
  2. pour nos besoins (et j'insiste là dessus), les standards tels qu'implémentés actuellement dans les navigateurs, ne sont pas encore assez robustes, matures, et surtout assez performants (et je répète: pour nos besoins). Et puis tant qu'il y aura cette bouse d'IE qui est majoritaire sur le web...

On utilise donc une techno qui n'est pas "web" (dans le sens noble du terme), mais... On se soigne !

En effet, déjà, d'une part, l'appli flash, c'est de l'ActionScript 3 à 99,9%. Pas de Flex ou autre truc d'Adobe. En fait, on utilise juste le compilateur AS3 d'Adobe. Et d'autre part, nous utilisons CSS, DOM, XML, Javascript etc. Mais attention, je ne parle pas dans notre site web. Je parle : dans notre application Flash.

Oui, vous avez bien compris : nous avons développé un... navigateur en Flash !

Un navigateur qui implémente donc les technologies suivantes :

  • XML, en particulier un sous ensemble de SVG, ainsi qu'une grammaire qui nous est propre, le ZML.
  • Bien sûr qui dit XML, dit DOM. Le document lu par notre browser est accessible à partir de la page web, et utilisable avec javascript comme n'importe quel autre document web. On peut donc le modifier dynamiquement, et ces modifications sont répercutées visuellement instantanément.
  • CSS. Nous implémentons globalement CSS 2.1, mais aussi des bouts de CSS3. Par exemple, nous sommes probablement la deuxième implémentation au monde après webkit, qui supporte les transitions CSS. D'ailleurs nous avons l'intention de faire des retours au W3C. Dés qu'on aura un peu de temps (Oui Daniel, on n'a pas oublié :-)).

Et c'est cela qui différencie Zoomorama des autres solutions de "zooming" que l'on peut trouver sur le web : on ne fait pas que zoomer simplement sur une photo, mais on zoom sur un document. Ce document n'est pas en HTML, mais en ZML, notre langage maison, très simple, et plus orienté contenu multimédia que contenu textuel comme HTML. Et nous nous basons donc sur des standards comme je l'ai indiqué.

Ce qui veut dire que notre technologie est à la portée de n'importe quel développeur web. Il y a finalement juste la surface de rendu qui change : ce n'est pas Gecko, Webkit, Trident, ou Prescot, mais Flash.

Cette utilisation des standards a aussi d'autres avantages :

  • on peut générer les documents dynamiquement coté serveur, tout comme n'importe quel page web. Entendre par là que le document est vraiment externe à notre appli Flash, et il n'y a pas besoin d'avoir des outils Adobe pour utiliser notre navigateur.
  • notre technologie est "browser-agnostic", c'est à dire que les documents produits par les utilisateurs seront réutilisables par n'importe quel autre navigateur qui implémenterait ZML et bien sûr, CSS et cie. Notre doux rêve serait par exemple d'avoir un browser basée sur Canvas. Mais les implémentations de Canvas dans les navigateurs d'aujourd'hui ne sont pas assez performantes (voir inexistante chez certains, hum, hum).

Si on avait du temps , et vu qu'on est au moins 3 dans l'équipe à connaître plus ou moins les méandres de Gecko, on essayerait bien une implémentation native dans Firefox, quitte à passer par XTF :-) Mais les journées de 48h, il parait que ça va pas se faire...

En tout cas, ce qui est sympa dans ce projet, c'est la volonté tenace de l'équipe d'utiliser et d'implémenter au plus juste les standards que l'on supporte. Sur ce point, je félicite David Marteau et Olivier Gambier pour le développement de ce browser. En ce qui me concerne, je développe (avec David), la nouvelle version de l'éditeur ZML wysiwyg, ZoomCreator, réécrite from scratch[1], basé sur XulRunner et qui sera en quelque sorte un Kompozer-like ou BlueGriffon-like, mais pour ZML.

Nous travaillons aussi sur une documentation à l'intention des développeurs web qui voudraient zoomer dans tout les sens :-) Je vous tiendrais au courant.

Notes

[1] La version actuellement en ligne est basé sur XulRunner et une ancienne techno de Zoomorama basée sur un activeX