• Le flux RSS de Jam's Brain
Blog Jam's Brain / Benoit / 1.06.2007 / 2,317 Views /

Cette année des dizaines de RIA se sont installées sur le web. Les principales sont bien évidemment : Apollo de Adobe, Silverlight de Microsoft, Mozilla a l’intention de mettre en place un mode off-line sur Firefox, et hier Google annonçait la naissance de Google Gears.

Alors que la technologie Wifi et les téléphones mobiles continuent à se développer, pour est-ce qu’on continue à parler de logiciels offline ? En effet, aujourd’hui certains spécialistes parlent d’Internux, en somme Internet deviendait une sorte d’Operating System à lui seul. Cet article s’attachera à expliquer ce nouveau phénomène des RIA.

C’est quoi les RIA ?

Les Rich Internet Applications (RIA) sont des applications web qui partagent les caractéristiques des applications autonomes sur l’ordinateur. A long terme, les RIA favorisent la fusion des logiciels traditionnels et les logiciels client-serveur de type internet. La dimension interactive et la vitesse d’exécution sont particulierement soignées dans ces applications web.

Une RIA peut être :

  • exécutée sur un navigateur internet, aucune installation n’est requise ;
  • exécutée localement dans un environnement sécurisé appelé une sandbox (bac à sable) ;
  • Peut être “éventuellement consulté” depuis l’intérieur ou l’extérieur ou bien d’un bureau à un autre.

Le terme “Rich Internet Application” a été introduit dans une publication de Macromedia en mars 2002.

Comparaison avec les applications web classiques
Les applications web traditionnelles s’articulent souvent sur une architecture client-serveur : les traitements sont réalisés sur le serveur, le client ne faisant qu’en réaliser une présentation (exemple : HTML). Le client envoie ses données au serveur, celui-ci répond, et une page de réponse est renvoyée au client. Le serveur est donc sollicité à chaque interaction, hormis quelques cas spécifiques comme la saisie dans un formulaire

Les RIA s’efforcent de rapatrier en local une partie de cette boucle. Le langage Java en particulier a été conçu dans cette optique.

Il est utile de noter que les standards Internet ont évolué lentement et continuellement à travers le temps pour s’accommoder avec ces techniques, aussi il est difficile de définir clairement ce qui constitue une RIA et ce qui n’en constitue pas une. Généralement, ce qui peut être effectué au moyen d’une RIA est limité par les capacités du système client.

Parce que les RIA utilisent les ressources du processeur du client, elles offrent aux applications web des possibilités d’interfaces utilisateur en temps réels qui seraient impossibles avec des balises HTML standards. Par exemple, une fenêtre de saisie destinée à accueillir des commentaires courts peut indiquer en permanence, à chaque caractère frappé, le nombre de caractères restant autorisés.

On peut déporter sur le client des fonctionnalités plus nombreuses, comprenant du copier-déplacer, l’utilisation d’une barre d’outils pour modifier les données, des calculs effectués par le client (par ex. taux d’intérêt pour un prêt), données n’ayant pas nécessairement besoin d’être renvoyées au serveur.

Justifications
Bien que le développement d’applications qui s’exécutent dans un navigateur web en limite la portée, bien que ce soit une tâche difficile à mettre en Å“uvre, et bien que l’on ajoute un degré de complexité supplémentaire pour développer des applications bureautiques classiques, ces efforts sont souvent récompensés parce que :

  • aucune installation n’est nécessaire — la mise à jour et la distribution de l’application est un processus instantané ;
  • les utilisateurs peuvent utiliser l’application depuis n’importe quel ordinateur équipé d’une connexion Internet ;
  • étant donné que l’utilisation du web s’accroît, les utilisateurs d’ordinateur sont devenus plus frileux pour installer de nouveaux logiciels lorsqu’une alternative est disponible en se basant sur le navigateur.

Ce dernier point est généralement vrai même si cette alternative est lente ou qu’elle est dépouillée. Un bon exemple de ce phénomène est l’utilisation du webmail

C’est quoi Apollo ?

Apollo est l’enfant du mariage entre Adobe et Macromedia. Il s’agit d’un logiciel capable de lire de l’HTML, du PDF, du Flash et toute sorte de choses. Toute sorte de chose ? Oui tout à fait. Car la richesse d’Apollo repose sur sa capacité à faire tourner des RDA. En d’autres termes, Apollo est une sorte de machine virtuelle, au même titre que la fameuse machine virtuelle de Java.

C’est quoi Silverlight ?

Silverlight permet de réaliser aussi bien des interfaces simples que des applications plus complètes. En visant ce créneau particulier et en se posant entre autres comme une alternative à Flash, Microsoft devait obligatoirement sortir des limites de la seule plateforme Windows, puisque Flash est clairement disséminé sur un grand nombre de plateformes, dont bien entendu Windows, Mac OS X et Linux (même si toutes ne sont égales dans les avancées de la technologie).

Silverlight est pour le moment disponible (CTP février 2007) pour Windows sous Internet Explorer 6, Internet Explorer 7, Firefox 1.5 et 2.0. Sous Mac OS X, les navigateurs Safari (version intégrée à Tiger), Firefox 1.5 et Firefox 2.0 sont également compatibles. Concernant Linux, aucune version n’est pour le moment disponible, mais le but de Silverlight est clairement de partir dans un maximum de directions. Du moins si l’on en croit Microsoft.

C’est quoi Google Gears

Google Gears est une extension open-source pour Firefox et Internet Explorer, encore en cours de développement, permettant de faire fonctionner des applications Internet sans être connecté via des API Javascript. Ce module se charge de récupérer les fichiers statiques sur votre disque dur et de copier l’ensemble des données dans une base SQLite. Concrètement, il sera possible dans un avenir proche d’utiliser Gmail ou encore Google Calendar sans être forcément connecté à Internet. Dans sa nouvelle aventure, Google a obtenu le soutien d’Opera, Mozilla et Adobe. Une pré-version de Google Gears est disponible au téléchargement pour Windows, Linux et Mac OS X. Google publie également les API à l’intention des développeurs pour qu’ils puissent tirer profit de cette nouvelle technologie.

Finalement dans quels cas les utiliser ?

Ces applications sont sans nulles doutes impressionantes. Mais pourquoi ont-elles été créées ? Est-ce seulement parce qu’il y avait l’adjectif “Rich” dans l’acronyme ? Non, d’abord si ces applications existent c’est qu’elles permettent de travailler en mode offline. Par exemple on peut accèder à partir de maintenant à ses emails pendant qu’on voyage. Il est sûr qu’accèder à certaines applications en mode offline est parfaitement utile. Mais est-ce vraiment intéressant de développer des applications offline qui ressemblent à leurs homologues online ? Si quelqu’un a la réponse, qu’il n’hésite pas à laisser un commentaire. En effet nous ne sommes pas des utilisateurs offline habituels, le seul moment où nous nous trouvons sans accès à Internet c’est lorsque nous voyageons.

Conclusion

Le développement de telles applications est assez étrange voire paradoxal. Il me rappelle les premières années d’Internet en 56k quand l’abonnement coûtait une telle fortune que l’on aspirait les sites et qu’on les visitait en offline. Ces RIA sont une sorte de retour dans le passé : serait-ce la marque de la nostalgie de Adobe, Microsoft et Google ?

Pas de commentaires
RSS des commentaires