[Reprint] Définition et quelques réflexions sur les applications RIA

Le blog RIActu.fr ayant fermé définitivement il y a quelques jours, j’ai tenu à sauvegarder un article que j’ai trouvé d’une grande qualité, très bien écrit, et très instructif… Normal, il était de moi :)

Blague à part, je republie ici cet article d’intro au concept de “Rich Internet Applications” qui pourra peut être – enfin je l’espère – vous être utile, voire pourra au moins servir à démarrer des discussions intéressantes.

Voici donc ci-dessous le reprint intégral d’un billet initialement publié le 6 Mai 2008 sur le disparu blog collectif RIActu.fr.

Bonne lecture !

Définition et quelques réflexions sur les applications RIA

Alors que le terme RIA (Rich Internet Applications) est de plus en plus répandu, que nous avons ouvert RIActu.fr depuis près d’un mois maintenant, et que l’on commence à voir fleurir ici ou des conférences dédiées à ce sujet, nous n’avions pas encore proposé de définition de RIA à nos lecteurs, ni encore réellement lancé les débats sur les challenges et les opportunités associés.

Nous allons donc tenter dans ce billet de vous proposer une définition du terme RIA, de ce qu’est et de ce que n’est pas une application RIA, des opportunités que cela ouvre ainsi que de présenter les cas les plus classiques d’utilisation des applications RIA, tant pour des applications à destination du grand public que pour des applications en entreprise.

Le terme RIA est apparu en 2002 dans un White Paper édité par Macromedia, la société à l"origine du format "Flash" et qui depuis été acquise par Adobe. Ce White paper est d’ailleurs toujours disponible en ligne ici (Format PDF, environ 500 Ko).

RIA signifie donc "Rich Internet Application". Il s’agit d’applications Web, s’exécutant donc dans un navigateur Web, et qui proposent une expérience plus riche, par comparaison aux sites et applications Web classiques.

En quoi une RIA est-elle plus riche ?

Le qualificatif de riche pour une RIA peut porter sur plusieurs choses.

Tout d’abord, il peut faire référence à des interactions riches, c’est-à-dire, une façon qu’aura l’utilisateur de manipuler l’interface de l’application et non plus seulement de naviguer dans l’interface d’un site web, en cliquant d’un lien à l’autre.

En cela, on comprend qu’un des objectifs - et aussi une des promesses - des applications RIA, c’est de réduire la distance entre les applications "clientes" (ie les applications conçues spécialement pour fonctionner sur Windows ou sur MacOS X et qu’on installe sur son ordinateur) et les applications Web classiques auxquelles on accède via un navigateur, mais qui proposent en général une ergonomie et des possibilités d’interaction limitées.

Les types d’interactions riches rendues possibles par les RIA et qu’on ne pouvait pas réaliser en Web classique sont par exemple le redimensionnement d’éléments, le glisser-déposer, ou encore les actions et traitements qui s’effectuent en tâche de fond (les développeurs parlent alors de traitement asynchrone) et permettent de ne pas recharger intégralement le contenu d’une page Web. Michaël Chaize nous a d’ailleurs parlé dernièrement du cas du Drag & Drop dans un billet qui démonte une contre vérité généralement répandue.

Ce n’est pas que ces interactions riches ne sont pas possibles en dehors des technologies RIA, mais les techniques telles que Ajax sont lourdes à mettre en œuvre en rien ne garantit leur fonctionnement correct et à l’identique d’un navigateur à l’autre. Sans compter que du point de vue de la productivité des développeurs, ces techniques sont loin d’être la panacée.

Le qualificatif "Riche" s’applique aussi aux types de contenus que l’on peut exploiter dans une application RIA. Classiquement, une application Web est faite de texte et d’images.

Au-delà de ça, les applications RIA permettent de facilement intégrer des contenus de type médias riches dans les applications. Actuellement, les médias riches donnent assez largement la tendance. Qu’il s’agisse de vidéos produites par les utilisateurs, donc de vidéos de type UGC (User Generated Content) ou non, l’usage de la vidéo est de plus en plus répandu sur le Web et les succès des sites tels que Youtube ou DailyMotion, ou bien le récent site de "catch-up TV" M6Replay ne viendront pas me démentir.

Qu’est-ce qu’il y a d’Internet dans une RIA ?

Tout d’abord, tout comme pour les sites web que vous connaissez et que vous utilisez quotidiennement, les RIA sont des applications auxquelles vous accédez via votre navigateur Web, et qui s’exécutent ensuite dans votre navigateur web. Elles nécessitent donc une connexion à Internet, ou à défaut une connexion au réseau local dans le cas des RIA d’entreprise.

D’un point de vue technique, le code de l’application étant téléchargé sur votre machine, celui ci s’exécutera pour des raisons évidentes de sécurité dans un environnement isolé et confiné qui est celui de la Sandbox du navigateur. Dès lors, il n’est pas possible pour une application RIA de faire certaines opérations telles que lire ou écrire un fichier directement sur votre disque dur.

Puisque l’application n’est pas installée sur votre machine, mais téléchargée pratiquement à chaque utilisation, il est important que sa taille reste acceptable. Il n’est pas envisageable qu’une application RIA pèse plusieurs dizaines ou centaines de méga-octets à télécharger, contrairement à certaines applications de type client riche qu’on installe sur son ordinateur, comme une suite bureautique ou un outil de montage vidéo, par exemple.

De ce fait, l’application RIA peut ouvrir des opportunités intéressantes : il devient pratiquement gratuit pour l’utilisateur de "tester" une application RIA avant de décider de l’acheter ou de s’y abonner.

Pour un éditeur de logiciels, comme le souligne ce billet, il peut être intéressant de proposer également une version RIA - réduite en fonctionnalités ou pas - à côté de l’offre classique, de façon à adresser de nouveaux types de clients : ceux qui ont de l’outil une utilisation occasionnelle et qui ne seraient donc pas prêts à dépenser plusieurs centaines d’euros pour acquérir une licence complète ni à installer plusieurs centaines de Mo de logiciel sur leur disque dur déjà bien encombré.

C’est - je pense - les objectifs visés par Abode avec Photoshop Express, qui au delà de ça, participe aussi à renforcer la présence de la marque dans l’esprit des utilisateurs.

En outre, vos données ne sont plus nécessairement stockées sur votre disque dur en local. De ce fait, ces applications sont utilisables depuis n’importe quelle machine possédant une connexion à Internet, depuis un PC chez un client, ou encore depuis un Cybercafé.

Pour les applications grand public, cela va complètement dans le sens de la logique actuelle vers des applications "Software as a Service" ou "Software + Services". Dans le cadre d’une entreprise, ces technologies RIA font une couche de présentation parfaite pour réaliser les interfaces utilisateurs devant les services que les entreprises ont mis en œuvre au travers de leurs démarches SOA (Services Oriented Architecture).

On le voit, les applications RIA sont pleinement des applications "Internet" dans le sens où elles résident sur Internet et exploitent des services d’internet et enfin stockent leurs données "in the Cloud" sur internet.

Parlons maintenant d’Applications. Quels sont les champs d’application pour les RIA ?

Arbitrairement, je distinguerai en premier lieu les applications à destination du Grand Public des applications d’Entreprise. Pour moi, une application d’entreprise est une application que seuls les employés d’une entreprise peuvent utiliser, pour fixer les idées. Ces applications ne sont généralement pas utilisables en dehors du réseau privé de l’entreprise, ou via un accès en VPN.

Les applications RIA Grand Public peuvent être des applications de tous types, en fait, mais c’est dans le domaine des applications de commerce qu’on les retrouve le plus souvent. Si ce domaine spécifique vous intéresse, je vous invite à visiter d’ailleurs le site RichCommerce.fr sur lequel Fred Cavazza est un des deux auteurs, avec François Ziserman.

Certains sites marchands intègrent des fonctionnalités de type RIA depuis de longues années, à l’image du site de Darty qui a recours à des petits curseurs pour limiter les choix sur des critères tels que le prix, par exemple, ou bien des applications plus avancées comme par exemple des Simulateurs, que l’on retrouve souvent sur les sites d’organismes financiers, ou bien encore les Configurateurs, que l’on retrouve assez souvent sur les sites des constructeurs automobiles.

Dans ce dernier cas, avec la mode de la "customisation de masse", le mini site dédié à la Fiat 500 annonce pouvoir produire plus de 500,000 modèles uniques. Je ne sais pas cependant si chacun de ces 500,000 modèles seraient fabriquables et commandables.

Parmi les applications RIA Grand Public, on retrouve aussi certaines applications qui font la part belle à l’utilisation des médias riches, comme par exemple historiquement le site "I’m In Like With You", ou plus proche de chez nous et plus récemment la "Board" de Melty.fr ou encore le site Katoa, l’un étant réalisé en Silverlight, l’autre en Flex.

Dans le domaine de l’Entreprise, les applications RIA peuvent couvrir des domaines "classiques" de l’informatique de gestion, avec des applications couvrant des besoins horizontaux tels que la Saisie et les Rapports d’Activité, la saisie des Notes de Frais, les Demandes de Congés, etc… L’éditeur Français "People In Action" s’est d’ailleurs historiquement fait une spécialité de ce type d’utilisation pour les RIA, avant de progressivement développer une expertise et une spécialisation sur un des domaines de la finance.

Un autre domaine d’excellence des applications RIA en Entreprise, c’est celui des applications de elearning qui tirent parti de la facilité et des capacités avancées liés à l’utilisation de médias audio ou vidéo (chapitrage, sous-titrage, etc…).

Enfin, un des domaines clé de l’utilisation des RIA en entreprise, c’est tout ce qui traite de la visualisation de données, des Dashboards de reporting synthétique et autres outils d’aide à la décision pour certains métiers comme par exemple les Traders dans les salles de marchés. On a d’ailleurs vu dernièrement l’éditeur Français ILOG annoncer la disponibilité d’un ensemble de composants de visualisation de données. Il s’agit de la suite de composants Elixir.

Les objectifs pour les RIA en Entreprise et les RIA Grand Public sont à mon sens assez différents : les premières vont viser à rendre l’employé plus efficace dans son travail ou dans sa prise de décision, et visent à augmenter la productivité et la rentabilité des employés - il s’agit donc bien d’outils professionnels - alors que les secondes vont jouer sur l’aspect ludique et visuellement attractif et très ergonomique de leur interface utilisateur pour attirer et fidéliser des utilisateurs, qui seront éventuellement autant de nouveaux clients demain.

L’attrait du grand public pour des interfaces utilisateurs attractives vient de l’engouement pour les sites dits "Web 2.0", et aujourd’hui, les utilisateurs recherchent ce fameux effet "Whaou". Prenez garde à ne pas en abuser !

Voilà. Je pense que nous avons déjà pour l’essentiel couvert la définition de ce que sont les RIA, et évoqué quelques opportunités ou quelques différenciateurs par rapport aux applications Desktop ou aux applications purement Web.

Attardons nous maintenant sur quelques réflexions autour des applications RIA.

Une des dimensions clé des applications RIA, c’est leur ergonomie. En effet, si ces applications permettent des interactions riches, elles nécessitent d’avoir des niveaux élevés d’ergonomie et d’usabilité, tout en étant très réactives. Ceci représente un changement de culture important parmi les équipes techniques en charge de la réalisation des applications.

En effet, par le passé, les développeurs étaient généralement les seuls responsables de l’ergonomie des interfaces utilisateur des applications. Il leur suffisait pour cela de respecter les recommandations des éditeurs et des constructeurs synthétisées dans les "Guides de Style", et les applications avaient alors un "look and feel" Windows, Mac ou encore X-Window assez naturel.

Comme avec les sites Web, les applications RIA ont volontairement cassé tous ces codes. Il est nécessaire aujourd’hui pour le succès d’un projet RIA de ne pas faire l’impasse et l’économie des services de professionnels et de spécialistes tels que les ergonomes, et également les designers.

Au-delà de ça, les applications RIA remettent aussi en cause tout un tas d’automatismes tant pour les utilisateurs que pour les développeurs. Citons rapidement parmi les questions qui reviennent le plus fréquemment au sujet des RIA : la gestion du bouton « Back » du navigateur, les bookmarks, l’indexation du contenu et les problématiques de SEO, l’accessibilité, etc…

Les applications RIA, si elles ouvrent de nouvelles possibilités, donnent aussi des nouveaux challenges à relever.

Quelles sont les forces en présence ?

Aujourd’hui, l’offre en termes de plateformes et d’outils pour les réaliser et exécuter des applications  RIA est triple, à mon sens, si on met de côté les innombrables frameworks et bibliothèques Ajax. On retrouve ainsi :

  • Le leader : Adobe avec Flash et Flex
  • Le challenger : Microsoft avec Silverlight
  • Les solutions alternatives : Curl, JavaFX, OpenLaszlo et autres

Comme le soulignait le cabinet Forrester dans une étude encore récente, à ce jour, aucune n’est réellement complète à ce jour, et chacune présente des forces différentes :

Il est reconnu que le plug-in Flash est présent sur une part très importante des ordinateurs connectés à Internet, la quasi-totalité en fait, avec des taux d’équipement qui varient selon les sources entre 90 et 97%. A part le leader Adobe, toutes les technologies RIA font face à un challenge important qui est celui du déploiement du nécessaire plug-in sur les postes des utilisateurs.

Les technologies Flash et Flex de Adobe sont bien connectées au monde du design, et ces technologies qui sont disponibles depuis de nombreuses années sont généralement maitrisées par les designers et les graphistes, et les agences intéractives.

D’un autre côté, avec Silverlight, Microsoft s’est attaché à concevoir une plate-forme qui reprenne les caractéristiques de base de .NET, et qui permette ainsi aux quelques millions de développeurs .NET à travers la planète de pouvoir devenir virtuellement des développeurs RIA sans avoir à réapprendre quelque chose de complètement nouveau.

En outre, pour le développeur habitué aux technologies et outils Microsoft, l’aspect multi-plateformes de Silverlight est assez inhabituel et ouvre de nouvelles opportunités.

Qu’en est-il des applications RIA en dehors du navigateur ?

Considérer que le navigateur serait le seul point d’entrée et la seule interface pour accéder à ses applications et à ses services et données « in the Cloud », c’est une idée très 90’s.

Avec l’avènement des widgets et gadgets dans MacOS X et Windows Vista, avec la montée en puissance des périphériques mobiles (cf Goojet) ou encore des initiatives telles que celle de Adobe avec le conteneur AIR qui vise à apporter la facilité de développement des applications RIA sur le desktop, on voit bien que considérer que les applications RIA ne peuvent et ne doivent s’exécuter que dans un navigateur est une vision déjà dépassée, et donc qu’elle correspond à une phase de changement.

Mais c’est un autre sujet, que nous traiterons dans un prochain billet, à savoir de comparer les avantages respectifs de choisir une solution purement client riche de type RDA, ou bien une solution RIA, ou bien encore une solution hybride de « RIA on the Desktop » avec Adobe AIR, ou dans une moindre mesure, avec Firefox Prism. A suivre…

 

Noté 4.25/5 par 12 personnes [?]