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ératif.
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...