Webcast sur le client riche

lundi 9 juillet 2007
Trouvé sur Internet, un très bon webcast autour du client riche dirigé par Frédéric Simonttel de 01 Informatique. Deux invités venant d'Adobe présentent la plateforme RIA/RDA offerte ainsi que l'offre LiveCycle pour gérer les documents. Mais je pense que le plus intéressant est le témoignage de Didier Fleury (DSI de Cegedim (la société où j'ai effectué mon stage de fin d'études)).

Webcast client riche

La dicussion autour du client riche, la valeur ajoutée qu'il peut apporter à l'entreprise (mais également à toute application web) et la justification pour une société comme Cegedim de parier sur ces technologies d'interfaces riches est très instructive. Je vous invite donc à regarder ce webcast avec la plus grande attention !

Les mots utilisés pour définir les applications client-serveur sont très nombreux et sont sujets à confusion. Je découvre souvent de nouveau termes dérivés, comme RWA (Rich Web Applications), RMA (Rich Mobile Applications), etc. Bien que l’emploi de ces termes soit parfois justifié, il convient tout de même de revenir sur ces définitions et de bien les comprendre.

Il y a maintenant deux ans, Luke Wroblewski et Frank Ramirez ont publié un guide nommé Web application solutions, dans lequel ils s’efforcent entre autres de donner des définitions. Voici donc ce qu’il est dit :

  • Le client léger est une application Web qui s’exécute dans le navigateur pour des raisons de commodité. Les traitements s’effectuent surtout coté serveur et sont essentiellement basé sur le protocole http. On y retrouve les technologies suivantes : HTML, XHTML, CSS, Javascript, Ajax.
  • Les RIA (Application Internet Riche) : ce sont des applications Web qui apportent une richesse de part les interactions offertes à l’utilisateur et des moyens de communications avancés (Web services ou protocoles binaires par exemple). Les technologies citées ici sont notamment Flash et Flex, OpenLaszlo, les applets Java ou les contrôles ActiveX. Dans une moindre mesure, on rangerait également l’Ajax dans cette catégorie.
  • Le client riche est une application connectée au web qui ne s’exécute pas dans un navigateur mais sur le bureau. Il profite donc des avantages (environnement natif) et peut également être exécuté hors ligne la plupart du temps. La communication avec l’extérieur se fait également par des méthodes avancées comme les Web Services. Ici est cité par exemple Windows Smart Clients ou Java Web Start.

D’autres technologies mises en avant dans ce guide semblaient pour la plupart être intéressantes à cette époque. On y parle déjà de XUL, XAML ou Macromedia Central (un peu l’ancêtre d’Apollo).

Bien que ce papier commence déjà à dater, Il est intéressant de voir les divisions choisies, que l’on pourrait résumer ainsi :

  • Client léger = dans un navigateur, sans communication avancée
  • RIA = interactions et communication avancée avec le serveur
  • Client riche = hors du navigateur mais relié à Internet

Ainsi, on en arriverait à définir maintenant d’autres termes :

  • RDA = RIA + client riche
  • RMA = RIA sur mobile

Au final, le point commun de toutes ces définitions est qu’elles sont toutes reliées à Internet. Alors maintenant, comment définir un Internet riche ? :)

Je travaille actuellement sur un module d'une application Internet riche d'entreprise. L'application est destinée à des professionnels de la santé, et mon module s'occupe de gérer des traitements de type asynchrones (par exemple l'exportation de données en fichier excel, l'automatisation de calculs complexes et longs, etc.). J'ai donc (et je suis toujours) en pleine réflexion sur des problématiques réellement intéressantes ; comment créer une interface répondant aux critères suivants :
  • Le module doit s'intégrer à l'existant
  • Il ne doit pas être intrusif, c'est à dire ne pas empêcher l'utilisateur de travailler avec des alertes incessantes
  • Apporter une valeur ajoutée, c'est à dire ne pas bloquer l'utilisateur dans son travail (comme c'était le cas auparavant pour ce types de traitements)
  • Garder une modularité pour réintégrer ce système dans d'autres projets
Ce projet est réalisé grâce à la technologie Flex et m'a donc mené à une réflexion sur la manière d'informer l'utilisateur d'événements sans le forcer à y apporter son attention. Ainsi, nous avons mis en place quelques éléments supplémentaires dans l'interface :
  • La mise en place d'un code couleur très simplifié (vert pour un traitement fini, rouge pour une erreur, gris pour ne rien signaler) avec des icônes significatives pour informer l'utilisateur sans avoir à lui proposer du texte à lire.
  • La présence d'une petite bulle d'information au passage de la souris sur l'icône pour un minimum de détails supplémentaires : l'accès à une information plus détaillée (le nom du traitement, la durée, etc.) se fait sans un seul clic.
  • L'accès par un clic sur l'icône à une fenêtre basée sur les mêmes éléments graphiques que l'application pour ne pas perturber l'utilisateur. La fenêtre s'ouvre "au dessus" (mais pas dans une autre fenêtre de votre navigateur, attention nous sommes en Flex !) et montre bien qu'elle concerne un élément différent du métier concerné par l'application elle-même.
Le but étant de fournir une solution non intrusive mais apportant une vraie valeur dans un environnement déjà existant, le travail était (et est toujours) très intéressant. J'ai lu il y a peu sur le blog d'Alex Faaborg que les mêmes problématiques se posent dans les notifications d'un navigateur comme Firefox !

Notification Firefox
Une notification de fin de téléchargement dans Firefox 3

En effet, qu'il s'agisse d'arriver sur un site jugé "dangereux" ou "sécurisé", il faut en informer l'utilisateur sans pour autant le gêner dans sa navigation. Et c'est sur cette problématique que se recoupe mon travail et celui des User experience Designer de Mozilla. Je vous invite donc à lire cet article très intéressant sur les notifications dans Firefox 3.0.

Ces nouvelles problématiques n'étaient à mon avis pas assez soulignées il y a peu. On s'aperçoit qu'avant l'apparition d'Ajax, la navigation était souvent entrecoupée de rechargement de pages et gênait l'utilisateur dans sa navigation, ce qui le poussait à préférer des applications de bureau. Maintenant, cela s'inverse et les réflexions évoluent avec l'arrivée des nouvelles technologies d'interface.

Le client riche, pour faire quoi ?

Avant tout, il faut bien comprendre le terme de client riche. Le client fait partie d'une architecture client-serveur où le serveur stocke les données et où le client lui demande des informations et les reçoit. C'est donc l'interface, la passerelle entre l'utilisateur et l'information à l'état brut.

Le terme riche peut sembler plus vague et il convient  de prendre un peu de recul pour cerner son intérêt dans le monde informatique. On assimile le terme riche à la richesse : dans un contexte plus classique, on pourrait parler de l'abondance de biens de valeur. Néanmoins je n'attribuerais pas cette définition à la richesse que l'on trouve en informatique, mais plutôt celle se rapprochant du sens que l'on peut donner à un vin : impression d'ensemble désignant un vin d’un bel équilibre et généreux en sensations de plaisir. Appliqué à ce que l'on souhaite, cela donnerait donc l'impression d'un(e) client/interface/application au contenu équilibré et pertinent, généreux en moyens graphiques ou techniques de diffuser de l'information. Il faut bien souligner que la richesse du client n'est pas sur la quantité mais plutôt sur la qualité.

On conçoit donc que le client riche doit ajouter de la valeur à un système existant, en proposant des moyens d'accès aux données plus adéquats, plus pertinents du point de vue de l'utilisateur.

Qu'apporte le client riche ?

Le client riche apporte de nombreux avantages dans de différents domaines, et ils concernent tout le monde : l'utilisateur, mais également le designer et le développeur. On peut essayer de classer ces avantages en quatre catégories : navigation, contenu, portabilité et maturité.

Navigation

La mise en page sur Internet s'est vite retrouvée limitée par le HTML. On y a ajouté les CSS, le DHTML, le Javascript mais pas forcément les bons outils nécessaires à améliorer la navigation : pour reprendre une expression de Microsoft, on peut dire que l'on se sert maintenant de l'expérience utilisateur pour proposer deux types d'améliorations :
  • De nouveaux composants et comportements comme les accordéons de Flex ou le glisser-déposer, brique majeure d'Ajax qui justement prouve la prise de conscience qu'il faut changer la façon de naviguer, soit en utilisation l'existant à bon escient (AJAX), soit en créant de nouvelles briques technologiques (WPF, Flex, OpenLaszlo, etc.).
  • Une personnification plus importante des interfaces. Dorénavant le moindre composant peut être facilement modifié, que ce soit au niveau de la forme ou de la couleur. Au delà, on modifie même les applications entièrement en les sortant du navigateur tout en restant connecté.
On obtient donc une navigation facilitée par des moyens techniques plus adaptés offrant à l'utilisateur un plus grand confort dans l'utilisation des services informatiques.

Contenu

Il y a sept ans, nous étions pour la plupart équipés de modems bas-débit, rendant par exemple le téléchargement d'une vidéo long et innaproprié. L'avénement de l'ADSL et du haut-débit nous amène maintenant à reconsidérer la question : la vidéo s'intègre très bien tout comme le son (en comptant la téléphonie sur IP) mais également une richesse graphique inégalée, offerte par des technologies comme Flash (destinée initialement aux graphistes) ou Direct X. Cette évolution permet d'offrir un panel plus large aux utilisateurs, créant une interaction plus forte.

Portabilité

Les moyens de se connecter à Internet se multiplient, grâce aux téléphones portables ou même maintenant la Wii (équipée du navigateur Opera). Dorénavant, il faut compter avec cette portabilité qui un jour permettra à tous de se connecter de n'importe où. Et déjà la plupart des technologies riches tentent de s'adapter à ces plate-formes. C'est par exemple le cas de Flash sur tous les OS et les portables, ou de WPF qui s'ouvrirait sur Mac OS.

Maturité

Peut-être la catégorie la plus difficile à définir car la moins visible. Les technologies riches apparues dernièrement profitent de l'expérience acquise pour proposer des outils puissants uniquement destinés à décrire des interfaces, que l'on pourrait appeler le tiers de présentation. Mais cela ne s'arrête pas là : les outils de développement sont adaptés et les langages de programmation sont spécifiques : en fait, tout est arrivé à maturité pour proposer aux développeurs les moyens de réaliser des interfaces conformes aux désirs des designers, en s'aidant de toutes les briques pour relier ces interfaces aux restes de l'architecture. L'ensemble fait donc gagner du temps à tous et permet d'améliorer la relation entre l'interface et les possibilités des applications.

Quel futur pour le client riche ?

Le futur proche des clients riches peut se diriger dans deux direcions :
  • Une délocalisation des services proposés sur Internet vers le bureau tout en restant connecté : plus besoin de navigateur ou de se soucier de compatibilité entre navigateur.
  • Une démocratisation des clients riches au sein des nouveaux services web, mais également en entreprise (par des intranet notamment).
A plus long terme, les évolutions sont plus délicates à définir. On peut néanmoins lancer quelques pistes :
  • Le client riche s'intègrerait à toutes les plate-formes et s'inter-opèrerait auprès d'un "central personnel" : votre ordinateur sur lequel se regrouperaient les informations fournies de vos autres périphériques (téléphones, laptop, etc.) dotés de clients riches.
  • Une évolution des services proposés poussant les interfaces à s'adapter à un besoin quotidien même pour les non-initiés.
  • Une nouvelle organisation de l'information, notamment sur Internet, poussant à redéfinir l'accès le plus intuitif aux données via une interface riche.
On pourrait ainsi dire : client riche + besoin utilisateur + organisation de l'information = Internet Riche.

C'est donc ainsi que je conçois ma pensée autour des clients riches, et je suis impatient de comparer ma vision à la votre.

Rechercher