si, c'est vrai !

standards, interopérabilité et modularité

standard de fait et standard ouvert

Il ne faut pas confondre un standard de fait et un véritable standard ouvert.

La différence entre un standard de fait et un standard ouvert permet de mettre en évidence la différence entre la compatibilité et l’interopérabilité. Le standard de fait résulte de la position dominante d’un acteur (du fait de l’absence de concurrence, de la qualité d’un produit…) tandis que le standard ouvert résulte d’une concertation entre les différents acteurs qui s’accordent pour définir et adopter un même standard. La gestion d’un standard ouvert est souvent assurée par une structure plutôt indépendante (association, consortium, fondation…) qui conduit souvent à la publication des spécifications et permet donc l’interopérabilité, y compris avec les acteurs externes à la structure en charge de la gestion du standard.

On peut critiquer la technologie Flash sur de nombreux points, elle est cependant très répandue sur le web et en avance sur certains points par rapport aux standards du web. L’expansion rapide de cette technologie propriété d’une seule société s’explique en partie du fait de capacités plus étendues que celles des standards du web. D’autre part, la disponibilité de la technologie Flash comme plugin a permis son déploiement rapide.

La technologie Flash fait partie des standards de fait : c’est une technologie détenue et pilotée par une seule société. En conséquence, les évolutions du standard Flash peuvent être très rapides car la société éditrice peut faire évoluer à sa guise tous les éléments constitutifs de la technologie Flash : le format Flash proprement dit, le lecteur Flash (le plugin évoqué ci-dessus) et les outils pour créer des documents Flash.

En revanche, HTML 5 est un standard ouvert géré par le W3C. Le W3C coordonne les contributions de nombreux acteurs tels que des universités, des instituts et des sociétés impliquées dans l’évolution du web. Etablir un standard ouvert nécessite du temps afin de mettre en accord toutes les parties en vue d’un consensus.

Il est donc naturel et compréhensible de voir la technologie Flash prendre de l’avance sur le web standard. Seulement, l’utilisateur à tout intérêt à ne pas devenir dépendant d’un acteur dominant et cette indépendance de l’utilisateur est garantie par l’utilisation de standards ouverts.

Seulement, là où la technologie Flash a réussi à se répandre jusqu’à sembler devenir indispensable pour certains, les standards du web (dont le HTML 5 fera partie lorqu’il sera publié) progressent lentement. HTML, XHTML, CSS sont autant de standards mal supportés par certains navigateurs très répandus à travers le monde bien que technologiquement à la traine.

Pourquoi une technologie propriétaire et pilotée par une seule société s’est diffusée à travers le web alors qu’un standard ouvert et interopérable n’y arrive pas ?

la modularité de Flash est un avantage

Cela peut s’expliquer par l’aspect modulaire du plugin Flash. Si la technologie Flash présente en effet l’avantage de proposer des fonctionnalités plus avancées, elle a également l’atout de pouvoir s’installer facilement de part son architecture modulaire à travers le plugin Flash.

  • Si je veux afficher du Flash, il me suffit d’installer le plugin Flash. Mon navigateur me propose d’ailleurs de l’installer d’un clic si toutefois il n’est pas déjà installé.
  • Si je veux afficher du HTML 5, je ne peux pas le faire à travers un plugin. Il me faudra alors installer une nouvelle version de mon navigateur, voir un autre navigateur, avec toutes les problématiques que cela peut soulever : gestion en double de mes favoris et de mes bookmarks, rétro-compatibilité délicate des anciens sites avec mon nouveau navigateur…

Autant d’arguments qui plaident en faveur d’une plus grand modularité du navigateur. C’est la démarche adoptée par Google qui, voyant avec désespoir Internet Explorer 6 et 7 disposer encore d’une part de marché non négligeable, propose depuis quelques temps un module pour Internet Explorer appelé Google Chrome Frame permettant d’utiliser les fonctionnalités des interfaces riches (RIA) de Google.

Evidemment, Microsoft s’est empressé de contre-attaquer et affirme que cela accroit la vulnérabilité potentielle d’Internet Explorer. Si cela n’est pas infondé, on peut cependant remarquer que c’est déjà le cas de tous les plugins comme Flash ou ActiveX. La contre-attaque de Microsoft est donc plus une lapalissade qu’un argument réellement percutant.

Reste que la solution Google Chrome Frame revient à intégrer le navigateur Chrome de Google dans le navigateur Internet Explorer de Microsoft, avec les difficultés et les inconvénients techniques et ergonomiques que cela peut occasionner. La fondation Mozilla (éditrice du navigateur de Firefox) émet également quelques réserves sur la solution proposée par Google. Mozilla avait pourtant travaillé une solution similaire, depuis abandonnée.

Les arguments invoqués pour dénigrer cette solution sont plutôt d’ordre technique, mais pas d’ordre conceptuel. En d’autres termes, ce sont les navigateurs qui sont trop fermés pour pouvoir utiliser d’autres moteurs de rendu html que celui par défaut. Tout comme Internet Explorer est trop lié à Windows pour pouvoir être désinstallé de ce dernier, le moteur de rendu par défaut de Internet Explorer est trop lié à Internet Explorer pour pouvoir être remplacé par un autre moteur de rendu (comme Google Chrome) dans des conditions satisfaisantes. C’est pourtant le même problème avec le plugin Flash dont l’intégration avec le html est difficile et peu ergonomique.

modularité du navigateur

La voie à suivre serait donc de spécifier une interface ouverte et interopérable entre le navigateur web et le moteur de rendu html. Cela ne signifie pas réduire l’adhérence entre le navigateur et le moteur de rendu : cette adhérence doit être suffisamment forte pour permettre des fonctions avancées, une gestion solide de la sécurité et une bonne ergonomie. On pourrait alors imaginer installer le navigateur de son choix, puis des moteurs de rendu html additionnels et choisir lequel ou lesquels utiliser.

Pour aller encore plus loin, Flash deviendrait un moteur de rendu (non html, mais moteur de rendu quand même) parmi d’autres, les plugins vidéo en seraient d’autres. On arriverait donc à une page composite, dont le rendu final serait calculé par une conjonction de moteurs de rendu coopératifs.

Cette architecture modulaire prend tout son sens aujourd’hui alors que le web tend à intégrer de plus en plus de technologies hétérogènes et de plus en plus d’usages différents. Il serait bon de jeter un oeil en arrière et de voir ce qui a fait la puissance et le succès d’unix : des outils simples et coopératifs où le tout vaut plus que la somme des parties.

Ceci dit, il est peu probable que Microsoft ne s’engage dans cette voie d’ouverture et d’interopérabilité, à moins d’y être contraint. En attendant, proposer Google Chrome Frame pour amener Internet Explorer et Microsoft sur le chemin de l’interopérabilité est probablement un moindre mal…