12 décembre 2010

Article

Technologies de l'information

La bataille des clients riches RIA et RDA

Après vingt ans de disette, marqués par le langage HTML, les applications informatiques progressent vers de nouvelles interfaces clients, plus agréables graphiquement, proches de Windows, sans être pour autant contraintes par des liens trop forts avec le système d’exploitation des machines (via les clés de registres) ni par des procédures de déploiement lourdes et coûteuses. Le rêve ergonomique (apparent) à la fois pour les directions informatiques et les usagers. La fin en tout cas d’une période morne et morose où l’interface clients était limitée par les faiblesses d’HTML et par son incapacité à évoluer vers les images vectorielles et la vidéo.

Il y a deux manières d’afficher le client riche d’une application serveur, selon le « lieu » où s’exécute le code du poste de travail :

1.   soit directement dans le fureteur Internet; on parle alors de RIA (Rich Internet Application)

2.   soit sur un socle d’exécution implanté sur le bureau du PC; on parle alors de RDA (Rich Desktop Application)

On pourrait même évoquer les RMA (Rich Mobile Application) si le client est un téléphone intelligent. Au-delà de l’intérêt évident de cette technologie, les choses ne sont pourtant pas aussi simples qu’il le parait, demandant aux chefs de projets et aux architectes d’applications de procéder à des choix structurants.

Le choix concerne d’abord l’alternative RIA navigateur ou RDA bureau du poste de travail

Pour les RIA, normalement il y a tout ce qu’il faut dans le fureteur pour exécuter le code client. Les deux exemples les plus connus sont le client XUL (XML User Interface Language) de la communauté Mozilla, un simple affichage de fichier XML à l’aide d’un moteur de rendu local, le plus souvent le Gecko de la même communauté.

En fait, il s’agit d’une feuille de style XSLT qui affiche le fichier XML grâce à des balises XML de la bibliothèque XUL ou grâce à des balises développées spécifiquement. XUL est une bonne idée, mais peu utilisée concrètement, car sujette à trop de petits problèmes de terrain, l’impression locale en est un bon exemple.

Ajax est beaucoup plus connu. Ce style de construction d’applications Web  et de sites Web dynamiques consiste à envoyer un fichier au poste de travail, issu d’un traitement serveur (texte simple, texte avec séparateurs ou XML) et de le prendre en compte par un code JavaScript local. Les négociations entre le serveur et le poste de travail se font via les propriétés d’un objet JavaScript, le célèbre XMLHTTPRequest.

Grâce à Ajax on peut dynamiser le poste client et donner le sentiment que l’on est en local sous Windows, alors que ce n’est que l’affichage d’une application serveur.

Deux autres RIA sont actuellement en vedette. Silverlight de Microsoft, en version 4.0 aujourd’hui et Java FX de Sun, suggérée par Oracle pour devenir le client riche des applications de bureautique Open Office.

Les RDA constituent l’alternative aux RIA

Il s’agit d’un code d’affichage client qui s’appuie sur des quadriciels locaux et s’exécute directement sur le bureau. Tout est dans le choix de ces quadriciels. Ils peuvent être standards, comme .Net : WPF, introduit avec Vista et maintenant dans Windows 7 ou installés de manière explicite. Le plus sophistiqué est sans doute le client RDA Flex de Adobe, qui s’appuie sur trois quadriciels locaux : PDF, Flash et Ajax, qu’il faut donc installer pour assurer la compatibilité.

C’est cette installation qui pose souci, dans la mesure où elle induit une dépendance forte vis-à-vis d’un éditeur, ici Adobe, mais aussi avec d’autres quadriciels Java. Si l’on obtient une qualité d’affichage étonnante, il faut accepter de procéder à cette installation et ensuite administrer dans le temps les composants installés. Toutes les applications serveurs ne s’y prêtent pas et la plupart des Directeurs informatiques n’y recourent qu’avec parcimonie et prudence. Il faut aussi également installer une plate-forme de développement dédiée : Flex chez Adobe, ce qui entraîne des soucis supplémentaires; formations et compétences à faire vivre.

Une tendance enfin : la frontière entre RIA tend à s’estomper. Plusieurs plates-formes permettent de basculer par simple glisser-déposer d’un exécutable de RIA et RDA et réciproquement : AIR et Silverlight, en sont les meilleurs exemples.

Ces aspects sont traités plus en profondeur dans le séminaire : Les tendances en développement d’applications (TI104).

Claude Marson est associé et cofondateur, avec Jean-Marie Desaintquentin et Bernard Sauteur, de Synthèse informatique, cabinet français spécialisé dans les tendances et stratégies en matière de technologies de l’information. M. Marson possède plus de quarante ans d’expérience en informatique. De 1974 à 1994, il a assumé différentes responsabilités au sein du groupe Elf Aquitaine, d’abord à titre d’ingénieur puis de directeur du service des nouvelles technologies.