Le navigateur se fait système d'exploitation

Les webOS virtualisent le poste de travail au sein du navigateur. Ils s'appuient sur des frameworks Flash ou DHTML et Ajax. Une vingtaine d'éditeurs ont investi le domaine.
envoyer
par mail
imprimer
l'article
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!

“ Windows va devenir un simple jeu de pilotes destiné à faire fonctionner le navigateur de Netscape ”, prédisait Marc Andressen. Treize ans plus tard, la prophétie du fondateur de Netscape ne semble plus farfelue. Les applications à la demande (Saas, pour Software as a Service) ont conquis les entreprises, et les développeurs se focalisent sur les clients riches internet (RIA). Une vingtaine d'éditeurs offrent déjà des webOS. Ceux-ci fournissent les mêmes services qu'un système d'exploitation (OS), excepté que les applications s'exécutent dans un navigateur, au-dessus d'un framework en Flash ou en DHTMLetAjax. Internet Explorer et Firefox vont-ils remplacer les bureaux de Windows et de Linux, et reléguer ces OS au rang de simple couche technique ? Tout porte à le croire. Nous assistons à l'émergence d'une nouvelle plate-forme d'exécution et de développement de logiciels.

Avec l'arrivée des services web et des liaisons haut débit, les applications remplacent les pages HTML, et les services et autres widgets (composants s'exécutant sur le bureau) les bibliothèques de fonctions locales (DLL de Windows). Bref, le navigateur peut ainsi être considéré comme une machine virtuelle, qui abstrait le système d'exploitation sous-jacent.

L'équivalent de Windows

Seulement, “ un navigateur ne fournit aucun socle de développement. C'est un peu comme si Windows ne proposait ni couche graphique ni interfaces de programmation ”, constate Jérémy Chatard, le directeur technique de la SSII Breek.

Les frameworks combinant DHTML et Ajax sont apparus, il y a trois ans, pour combler cette lacune et accélérer la création de RIA. Ils améliorent l'ergonomie des applications web en proposant des contrôles graphiques similaires à ceux des clients lourds : glisser-déposer, copier-coller, mise à jour partielle de l'écran, etc. “ Les webOS qui émergent assemblent les frameworks DHTML et Ajax existants dans une interface graphique complète avec une API homogène pour la manipuler. Ils offrent aussi un système de fichiers et un conteneur d'applications qui aide le développeur à se concentrer sur les seuls aspects métier ”, détaille Jérémy Chatard. Les éditeurs proposent donc l'équivalent des API graphiques Win32 ou de GTK (une des couches graphiques de Linux), directement dans le navigateur. Si l'on prend le plus petit dénominateur commun, un webOS comprend une interface graphique constituée d'un ensemble de contrôles graphiques et de librairies de fonctions.

Les données présentes sur le serveur

70 % des webOS sont écrits en Javascript, HTML et feuilles de style (CSS) et 30 % en Flash. Et, au cœur du système, le conteneur d'application prend en charge toute la dimension technique : gestion du profil de l'utilisateur, sécurité, système de fichiers, cache et synchronisation des données, etc. Le webOS est chargé et s'exécute dans le navigateur à chaque démarrage. Les applications s'exécutent, elles aussi, dans le navigateur dont certains traitements métier peuvent être déportés du côté du serveur. Le référentiel de données réside, quant à lui, sur le serveur pour être accessible à partir de n'importe quel poste client.

Les outils de développements qui accompagnent ces webOS sont déjà très avancés. Google Web Toolkit (GWT), par exemple, fournit un compilateur qui traduit un code Java et les contrôles graphiques associés en DHTML. Comme ses partenaires ont créé un environnement de développement rapide Wysiwyg pour GWT, “ il n'y a plus de différence entre développer un logiciel en Visual Basic ou en DHTML-Ajax ”, affirme Didier Girard, le directeur technique de la SSII Sfeir. En revanche, en production, l'application a une parfaite portabilité puisqu'elle ne nécessite qu'un seul navigateur pour pouvoir fonctionner.

Au-delà du potentiel technique, le contexte se prête aussi à l'éclosion du concept de webOS. D'une part, l'architecture web a réduit le coût total de possession (TCO) des postes utilisateur. D'autre part, l'arrivée de Vista pousse certaines entreprises à envisager une alternative à Windows. A périmètre fonctionnel constant, le passage à Vista leur coûterait, en effet, en moyenne 2 800 euros supplémentaires par PC, selon le cabinet d'études IDC.

Poussé par la popularité du modèle Saas

Plutôt que d'envisager une migration des postes utilisateurs vers Vista, Linux, ou Mac OS, pourquoi ne pas en finir définitivement avec la mise à niveau récurrente des PC et envisager de migrer vers le navigateur ? Une hypothèse que des entreprises prennent très au sérieux. Elles sont déjà convaincues par le modèle des applications hébergées (Saas) qui reposent le plus souvent sur une architecture web. Selon le cabinet d'études Markess International, 69 % des entreprises qui utilisent des applications hébergées vont, cette année, maintenir ou augmenter le nombre de logiciels qu'elles louent. Face à un tel consensus, 60 % des éditeurs estiment que le marché du logiciel basculera vers le mode locatif hébergé d'ici à quatre ans. Et les trois quarts d'entre eux pensent même que les progiciels de gestion intégrés (PGI) n'y couperont pas. Tous les éditeurs tentent donc de créer “ LA ” plate-forme applicative web qui chapeautera Windows, Linux et leurs acolytes.

Indépendamment des technologies, les architectures retenues divergent fortement. Précurseur, Salesforce.com propose une fusion intéressante entre un PGI et un système d'exploitation. Comme dans un système d'exploitation, les applications qui reposent sur AppEx (le socle technique d'AppExchange) partagent exactement la même interface, les mêmes comportements, le même modèle de sécurité, etc. Elles s'exécutent du côté du serveur et peuvent être utilisées depuis un navigateur ou via des services web. Comme dans un PGI, elles partagent le même modèle de données. AppEx ouvre donc la voie au développement d'un webOS métier et hébergé.

En parallèle, des éditeurs développent un concept de bureau virtuel grand public (webtop). Ces pages d'accueil personnalisables agrègent dans un même écran des applications provenant de différents éditeurs. Google et Netvibes proposent ainsi une API simple à utiliser pour créer une nouvelle application appelée widget. Contrairement au modèle de Salesforce.com, ce widget est un service distant fournit par un serveur tiers. Ces deux éditeurs proposent donc l'équivalent d'un portail hébergé sur lequel aucune intégration n'est encore possible entre les différents composants de l'écran.

D'autres éditeurs tels que Sapotek, YouOS, Orca, EyeOS, Goowy ont repris le principe de Netvibes, mais en proposant une interface graphique plus proche des bureaux Windows, Mac OS et Linux. Cette interface graphique (DHTML-Ajax ou Flash) s'exécute entièrement dans le navigateur, le serveur web ne servant qu'à déployer le webOS à chaque démarrage. Certains encore, Fenestella par exemple, se distinguent en proposant d'installer le serveur directement au sein de l'entreprise, là où Salesforce.com, Netvibes et Goowy imposent leurs serveurs.

Au final, c'est un éditeur français, eXo, qui semble avoir trouvé le meilleur compromis entre toutes ces approches. Pour cela, eXo a redessiné l'interface cliente de son portail en copiant l'ergonomie de Windows et de Mac OS. L'interface de son webOS s'exécute dans le navigateur tandis que les traitements métier restent du côté du serveur. “ Ainsi, nous ne remettons pas en cause les investissements de nos clients, déclare Benjamin Mestrallet, directeur technique d'eXo. Au contraire, nous tirons partie des atouts du portail en termes d'intégration applicative, de sécurité et de coût de maintenance. Nous faisons seulement évoluer l'interface utilisateur. ”

Un début de standardisation

Nul ne sait encore laquelle de ces approches rencontrera le succès. Mais les différents protagonistes de ce marché ont bien compris que c'est la richesse de leur écosystème, donc le nombre d'applications disponibles, qui fera que leur webOS s'imposera ou tombera aux oubliettes. En attendant, “ les initiatives pour garantir la portabilité des applications sur n'importe quel webOS se multiplient ”, observe Nipun Jain, directeur technique d'Orca. Cet éditeur a lancé le programme webOS API. De son côté, le consortium W3C travaille sur sa spécification Widget 1.0. Mais c'est l'initiative Universal Widget API (UWA) de Netvibes qui rencontre le plus de succès. Plus de 2 000 développeurs ont rallié ce programme dans les deux jours qui ont suivi l'annonce. “ Des éditeurs nous ont approchés pour utiliser UWA à la fois sur le web et les téléphones mobiles, lance Tariq Krim, fondateur de Netvibes. Grâce à UWA, un widget développé pour Netvibes fonctionne sans aucune modification sur le webOS de Google, le dashboard d'Apple, le système de widget d'Opera, le client Apollo d'Adobe, et sur les blogs. ”

Les grands de la communauté Java - Apache, Adobe, BEA, IBM, Novell, Oracle Red Hat, SAP, Sun, Tibco, Vignette - suivent le même chemin avec la JSR 286 qui standardise les échanges Ajax au sein d'un portlet. Même si la norme ne sera finalisée que cet été, IBM accepte déjà pour WebSphere Portal les applications développées pour Google Homepage. L'architecture du webOS se dessine et se standardise donc progressivement.

redaction@01informatique.presse.fr

Caractéristiques d'un webOS

Les données et les applications, stockées du côté du serveur, sont accessibles à partir de n'importe quel poste de travail.

Le navigateur constitue le socle d'exécution. La dernière génération incorpore un cache de données pour prendre en charge le mode déconnecté.

Les applications sont intégrées entre elles et s'appuient sur un environnement graphique commun (fenêtrage, etc.).

La gestion des groupes d'utilisateurs, à l'instar de Windows XP, facilite le partage de documents et la collaboration en temps réel.

Un kit de développement est disponible afin de créer ses propres applications.

Certains webOS s'appuient sur un conteneur, plus ou moins standardisé, qui assure la portabilité des applications.

Quatre grandes familles

Une plate-forme d'exécution et de développement qui propose les mêmes services qu'un système d'exploitation au sein du navigateur. Il gère, en outre, le mode déconnecté.
Exemples : YouOS, EyeOS, iCube, etc.

Un bureau virtuel fourni par des infrastructures de portail hébergées. Il ne propose ni système de fichiers, ni intégration entre les différentes applications. Il se contente d'agréger des applications distantes dans un même écran.
Exemples : Netvibes, Fenestela.

Une interface graphique refondue en copiant l'ergonomie de Windows et de Mac OS. Chaque application s'affiche dans un portlet qui dialogue en Ajax avec l'infrastructure de portail.
Exemple : eXo Platform webOS.

Les applications utilisent la même interface graphique et parfois la même base de données. Les traitements s'exécutent sur le serveur. Il n'y a pas de gestion du mode déconnecté.
Exemples : AppExchange, EtelOS.

Avis d'experts : Jérémy Chatard, directeur technique de Breek, SSII spécialisée dans le web 2.0

“ Une autre façon de concevoir le poste de travail individuel ”

“ Il n'y a aucune raison pour que les documents d'un utilisateur et les applications, dont il a besoin, soient stockés sur sa machine. Le contexte technologique a changé. L'arrivée d'Ajax, la généralisation du haut débit, la montée en puissance des PC, et la standardisation des navigateurs favorisent à nouveau un glissement des applications vers le réseau. ”

“ Il faut un cache de données local pour pallier l'absence de réseau ”

“ Les socles de clients riches, comme Apollo, d'Adobe, ou WPF/e, de Microsoft, et les navigateurs évoluent dans ce sens. Firefox 3.0, par exemple, incorpore une base de données. La synchronisation des données s'effectue le plus souvent via des contrôleurs écrits en Javascript qui renvoient les données manipulées en mode déconnecté vers les services web. ”

Avis d'experts : Benjamin Mestrallet, cofondateur et directeur technique d'eXo

L'éditeur français s'est taillé une belle réputation dans la communauté Java.

“ Les éditeurs grand public tentent chacun d'imposer leurs standards ”

“ A l'inverse, les éditeurs de portail d'entreprise du monde Java s'appuient sur des standards existants. Les applications affichent des portlets compatibles JSR 168, et le système de fichiers s'appuie sur JSR 170. Et dès cet été, JSR 286 apportera le support natif d'Ajax aux portlets de deuxième génération. Ce qui transformera de facto un widget, composant qui s'exécute sur le bureau, en portlet qui utilise le moteur du navigateur. ”

“ L'utilisateur pourra se créer un système métier sur mesure ”

“ Grâce à l'ergonomie du webOS et aux infrastructures de portail. Les éditeurs exposeront plus facilement les fonctions de leurs progiciels que l'utilisateur assemblera en fonction de ses besoins. Cela redéfinit complètement la granularité des interfaces d'un progiciel. ”

Des interfaces graphiques encore très différentes

Alors que Linux, Mac OS et Windows s'appuient sur les mêmes concepts ergonomiques, les interfaces graphiques des webOS restent encore très hétérogènes.

Le bureau virtuel

DesktopTwo, de Sapotek, s'appuie sur la technologie Flash du navigateur pour reproduire un bureau très proche de celui de Windows. On y retrouve l'ensemble des grands concepts d'interface graphique : menus déroulants, icônes, clic droit, et même une barre de tâches regroupant les icônes des programmes en cours d'exécution. Toutes les applications partagent le même “ look and feel ”.

L'application métier

La plate-forme technique de Salesforce.com (AppEx) se contente de créer des applications composites à partir de plusieurs services distants et locaux. La carte interactive est fournie par Google, tandis que les données (adresse, par exemple) des biens immobiliers sont stockées dans les bases de Salesforce.com. Toutes les applications développées avec AppEx partagent la même ergonomie. Qui est plus proche d'un progiciel que du bureau d'un OS.

publicité
à lire aussi
SUR LES MÊMES THÈMES
Visual Studio unifie le socle de développement de Microsoft
Microsoft balise le terrain autour de SOA
Parallélisme : des efforts en perspective
Web 2.0 : ne pas négliger la sécurité
Urbaniser, c’est prévoir
Le navigateur se fait système d'exploitation
Quand le système de fichiers devient planétaire
Software AG s'empare de webMethods
SoluCom acquiert Vistali
Bouygues bascule Windows sur mainframe
Le grand méli-mélo de la virtualisation d'applications
Les briques SOA se mettent en place
Ippon Technologies s'implante à Nantes
La fibre optique peu accessible aux PME
Comment lutter contre le paradoxe des TIC
Voyage au cœur d'un futur centre de données
Le secteur IT progresse, mais peut mieux faire
Crever enfin le plafond de verre
Les SSII, des handicapées de l'insertion