Rich Internet Application - Définition et Explications

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

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 (Internet est le réseau informatique mondial qui rend accessibles au public des services variés comme le courrier électronique, la messagerie...). La dimension (Dans le sens commun, la notion de dimension renvoie à la taille ; les dimensions d'une pièce sont sa longueur, sa largeur et sa...) interactive et la vitesse (On distingue :) d'exécution sont particulièrement 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 (L'environnement est tout ce qui nous entoure. C'est l'ensemble des éléments naturels et artificiels au sein duquel se déroule la vie humaine. Avec les enjeux écologiques actuels, le terme environnement tend actuellement à prendre une...) sécurisé appelé sandbox (bac à sable) ;.

Le terme Rich Internet Application a été introduit dans une publication de Macromedia (Macromedia (NASDAQ : MACR) était une entreprise d'informatique américaine produisant des logiciels et dont le siège social était situé à San...) en mars 2002.

Comparaison avec les applications web classiques

Les applications web traditionnelles s'articulent souvent sur une architecture (L’architecture peut se définir comme l’art de bâtir des édifices.) utilisant des clients légers : les traitements sont réalisés sur le serveur, le client (Le mot client a plusieurs acceptations :) ne faisant qu'en réaliser une présentation (exemple : HTML). Le client envoie ses données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.) au serveur, celui-ci répond, et une page de réponse est renvoyée au client. Le serveur est donc sollicité à chaque interaction (Une interaction est un échange d'information, d'affects ou d'énergie entre deux agents au sein d'un système. C'est une action réciproque qui suppose l'entrée en contact de sujets.), 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 (L'optique est la branche de la physique qui traite de la lumière, du rayonnement électromagnétique et de ses relations avec la vision.).

Il est utile de noter que les standards Internet ont évolué lentement et continuellement à travers le temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) 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 (Le processeur, ou CPU (de l'anglais Central Processing Unit, « Unité centrale de traitement »), est le composant de l'ordinateur qui exécute les...) 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.

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 (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois grandes catégories : les besoins...) d'être renvoyées au serveur.

Justifications

Bien que le développement d'applications qui s'exécutent dans un navigateur web (Un navigateur Web est un logiciel conçu pour consulter le World Wide Web. Techniquement, c'est au minimum un client HTTP.) en limite la portée, bien que ce soit une tâche difficile à mettre en œuvre, et bien que l'on ajoute un degré (Le mot degré a plusieurs significations, il est notamment employé dans les domaines suivants :) de complexité (La complexité est une notion utilisée en philosophie, épistémologie (par exemple par Anthony Wilden ou Edgar Morin), en physique, en biologie (par exemple par Henri...) 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 (Une mise à jour, souvent abrégé en MAJ ou MàJ, est l'action qui consiste à mettre « à jour », ou bien...) et la distribution de l'application est un processus instantané ;
  • les utilisateurs peuvent utiliser l'application depuis n'importe quel ordinateur (Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de...) é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 (Graphie) est généralement vrai même si cette alternative est lente (La Lente est une rivière de la Toscane.) ou qu'elle est dépouillée. Un bon exemple de ce phénomène est l'utilisation du webmail (Un webmail, anglicisme parfois traduit en courrielleur Web , est une interface Web rendant possible l'émission, la consultation et la manipulation de courriers électroniques directement sur le Web depuis un navigateur,...).

Méthodes

JavaScript (JavaScript est un langage de programmation de scripts principalement utilisé dans les pages web interactives mais aussi coté serveur. C'est un langage orienté objets à prototype, c'est-à-dire que les bases du langage et ses...)

Javascript fut le premier langage d'importance du côté client. Il était capable d'exécuter du code et il était installé sur la plupart des clients web. Bien que son usage (L’usage est l'action de se servir de quelque chose.) soit relativement restreint de prime abord, combiné avec plusieurs couches et d'autres développement en DHTML il est devenu possible de le faire cohabiter avec un système RIA sans utiliser une solution client monolithique (Un monolithe est un élément fait d'un seul bloc de pierre de grande dimension. Son nom vient du grec ancien λιθος -lire lithos-(la pierre).). AJAX est maintenant le terme utilisé pour se référer à cette combinaison (Une combinaison peut être :) de techniques et elle est récemment devenue la plus importante avec des projets Google (Google, Inc. est une société fondée le 7 septembre 1998 dans la Silicon Valley en Californie par Larry Page et Sergey Brin, auteurs du moteur de recherche Google. Depuis 2001, Eric Schmidt en est le PDG (CEO). La société compte...) tels que Gmail (Gmail est un service de messagerie gratuit proposé par Google. Les messages reçus sur un compte Gmail peuvent aussi bien être lus via un client de messagerie (grâce à sa compatibilité...) et les cartes google. Cependant créer de grande application avec cette plate-forme de développement est très difficile, étant donné que différentes technologies doivent interagir pour faire fonctionner l'ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection d’objets (les éléments de l'ensemble), « une multitude qui peut être comprise comme un tout », comme...), et que les travaux de compatibilité des navigateurs nécessitent beaucoup d'effort.

De nombreux éditeurs offrent des outils et frameworks permettant de simplifier l'écriture de ces applications. Le nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de framework (Un framework est un espace de travail modulaire. C'est un ensemble de bibliothèques et de conventions permettant le développement rapide d'applications. Il fournit...) javascript est supérieur à 500. Les plus connus sont :

  • Yahoo! (Yahoo!,Inc. est une société américaine de services sur Internet opérant notamment un portail Web. À l'origine, Yahoo! était uniquement un annuaire Web. En 2009,...) User Interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface désigne ainsi ce que chaque élément a besoin de connaître...) Library (YUI) (la plus documentée)
  • DOJO
  • Prototype
  • Rialto
  • Scriptaculous
  • Rico
  • Google propose un toolkit ayant pour nom gwt (Google Web Toolkit) qui permet d'écrire des RIA javascript/AJAX en utilisant java.
  • Morfik édite AppsBuilder qui permet de développer dans une syntaxe C/Java/Pascal/Basic et de générer du code javascript.

Java applications / Java Web Start (STart était un magazine américain traitant de l'informatique et du jeu vidéo, dédié plus particulièrement à l'Atari ST. C'est un...)

Java Web Start est un outil (Un outil est un objet finalisé utilisé par un être vivant dans le but d'augmenter son efficacité naturelle dans l'action. Cette augmentation se traduit par la simplification des actions entreprises, par une plus grande...) informatique (L´informatique - contraction d´information et automatique - est le domaine d'activité scientifique, technique et industriel en rapport avec le traitement automatique de l'information par des machines telles que les ordinateurs,...) permettant le déploiement de logiciels fondés sur la technologie (Le mot technologie possède deux acceptions de fait :) Java. Il agit comme un lien entre l'ordinateur et Internet permettant à l'utilisateur de lancer et de gérer des applications à partir du Web. Avec Java Web Start, il est possible d'activer des applications d'un simple clic de la souris (Le terme souris est un nom vernaculaire ambigu qui peut désigner, pour les francophones, avant tout l’espèce commune Mus musculus, connue aussi comme animal de compagnie ou de...). En outre, le logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil...) charge (La charge utile (payload en anglais ; la charge payante) représente ce qui est effectivement transporté par un moyen de transport donné, et qui donne lieu à un paiement ou un bénéfice non...) toujours les versions les plus récentes des applications et permet ainsi d'éviter les procédures complexes d'installation ou de mise à niveau. Cette approche permet de construire des applications riches sans les limitations du HTML et sans les contraintes spécifiques des différents navigateurs. Cette technique permet aussi de faire des développements à moindre coût par rapport à un développement Web.

Applets Java

Les applets Java sont des applications compilées en bytecode, téléchargées depuis un serveur, s'exécutant coté client sur une plateforme disposant d'une machine virtuelle (Le sens originel de machine virtuelle (ou Virtual Machine (VM) en anglais) est la création de plusieurs environnements d'exécution sur un seul ordinateur, dont chacun émule...) Java (Java Runtime Engine). Les applets, diminutifs d'applications, s'exécutant au sein d'un navigateur sans possibilité d'accès aux périphériques du système d'exploitation (imprimante , gps) et avec des droits d'exécutions restreints. Ces limitations disparaissent par utilisation de la technologie Java Web Start qui permet d'installer depuis le web une application qui s'exécutera sur une machine virtuelle Java en dehors d'un navigateur. Le slogan (Un slogan est une phrase facilement énoncée et retenue, qui exprime bien une idée qu'on veut diffuser (fonction de recrutement) ou autour de laquelle on veut rassembler (fonction de...) write once et run everywhere associé à Java a reporté le problème de portabilité (Selon le contexte, le mot portabilité peut avoir plusieurs significations :) sur les machines virtuelles et posé le problème de l'interoperabilité des protocoles. Historiquement ces applets sont a l'origine du développement d'un véritable framework s'exécutant sur différent OS Java et périphériques mobiles J2ME avec pour les téléphones la plateforme MIDP utilisé par les blackberry. Les applets ont laissé place à la technologie Flash dont le moteur (Un moteur (du latin mōtor : « celui qui remue ») est un dispositif qui déplace de la matière en apportant de la puissance. Il effectue ce travail à partir...) d'exécution est léger (2 Mo par rapport a 50 Mo), le temps de chargement (Le mot chargement peut désigner l'action de charger ou son résultat :) plus rapide, et où les graphiques sont plus facilement animés grâce à une programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire de matériel,...) plus temporelle qu'événementielle.

Adobe Flash (Adobe Flash (anciennement Macromedia Flash ; nom original FutureSplash Animator), ou simplement Flash, se réfère à Adobe Flash Player et à un...)

Adobe Systems (Adobe Systems ou Adobe (peut se prononcer « eudobi » ou « adobe »), est une entreprise informatique éditant des logiciels...) (qui a racheté Macromedia fin 2005) est un des fournisseurs dans ce domaine avec la technologie Adobe Flash qui intègre des serveurs de communication (La communication concerne aussi bien l'homme (communication intra-psychique, interpersonnelle, groupale...) que l'animal (communication intra- ou inter- espèces) ou la machine (télécommunications, nouvelles technologies...),...) reposant sur Flash, Central, Breeze et Flex (Flex peut désigner :).

Laszlo est une plate-forme opensource pour les applications internet riches, initialement développé par Laszlo Systems qui produit également des fichiers SWF qui s'exécutent au moment de l'exécution dans le lecteur Adobe Flash.

Chacune de ces technologies est exécutée dans les navigateurs des visiteurs du site via le lecteur Adobe Flash qui est installé sur 98 % des navigateurs Internet.

Techniques plus récentes

  • Dans la course (Course : Ce mot a plusieurs sens, ayant tous un rapport avec le mouvement.) aux clients riches, trois technologies apparaissent: le tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) client avec javascript/ajax type googlemail, l'application qui s'exécute dans le navigateur (Flash/Flex d'Adobe, JavaFX de Sun (Sun Microsystems (NASDAQ : SUNW) est un constructeur d'ordinateurs et un éditeur de logiciels américain.) ou Silverlight (Silverlight est un plugin pour navigateur Web multiplate-forme (Windows et Apple, Linux via le projet Moonlight), qui permet de développer des applications Web riches dans un moteur de rendu vectoriel. Il fonctionne de façon...) de Microsoft), et le client qui utilise le navigateur pour en sortir (Java Webstart chez Sun, ActiveX de Microsoft (Microsoft Corporation (NASDAQ : MSFT) est une multinationale américaine de solutions informatiques, fondée par Bill Gates et Paul Allen, dont le revenu annuel a atteint 44,28...), Adobe AIR)et s'exécuter sur la même machine virtuelle (JRE pour Sun, CLR pour Microsoft et plateforme Flash pour Adobe). L'adoption d'une technologie est fortement liée à la productivité et donc à l'environnement de développement.
  • La technologie s'éxecutant dans un navigateur a partir d'un même serveur ; la bande passante (La bande passante (angl. bandwidth) est un intervalle de fréquences pour lesquelles la réponse d'un appareil est supérieure à un...) doit être optimisée en multipliant les serveurs ( centre de traitement des données ), en optimisant des codec (Un codec est un procédé capable de compresser et/ou de décompresser un signal numérique. Ce procédé peut être un circuit imprimé ou un logiciel.) optimisés, en utilisant un rendu (Le rendu est un processus informatique calculant l'image 2D (équivalent d'une photographie) d'une scène créée dans un logiciel de modélisation 3D comportant à la fois des objets et des...) vectoriel tel que SVG, wpf, flash et un flux (Le mot flux (du latin fluxus, écoulement) désigne en général un ensemble d'éléments (informations / données, énergie, matière, ...)...) multicast (En informatique, le terme multicast définit une connexion réseau multi-points.).
  • Utiliser du XUL manipulable avec du Javascript permet de concevoir des interfaces RIA fonctionant à l'intérieur du navigateur en utilisant le moteur de rendu (Un moteur de rendu (rendering engine) est un composant logiciel permettant de générer des images à partir de données diverses. C'est un terme générique utilisé dans plusieurs domaines du traitement de l'information.) gecko, ou à l'extérieur par machine virtuelle XULRunner. XULRunner peut utiliser des bibliothèques externes grâce a xpcom pour avoir accès aux protocoles Web Services, XML-RPC, LDAP, SQL, IMAP et POP3. Beaucoup de projets autour (Autour est le nom que la nomenclature aviaire en langue française (mise à jour) donne à 31 espèces d'oiseaux qui, soit appartiennent au genre Accipiter, soit constituent les 5...) de la réalisation d'un éditeur pour xul ne sont pas productifs et beaucoup d'entre eux ont disparu (lien) .
  • Utiliser du XML et du XSLT avec du XHTML, CSS et du Javascript peut aussi permettre de concevoir des interfaces complètes pour l'utilisateur, avec des composants tels que des tableaux qui pourront être triés localement chez le client avant d'être renvoyés au serveur. Les navigateurs Mozilla (Mozilla est un nom utilisé en informatique avec beaucoup de significations différentes. Cependant toutes ces significations sont liées à l'ancienne entreprise américaine Netscape...) et Internet Explorer (Internet Explorer (officiellement Windows Internet Explorer depuis la version 7), parfois abrégé IE, MSIE ou MS IE, est le navigateur Web de Microsoft, installé par défaut avec Windows. Depuis qu'il a détrôné...) permettent ce genre de choses. Bien que complexe, il existe des éditeurs javascript (lien).
  • Utiliser du XAML (Extensible Application Markup Language, prononcé, 'ZAML'), manipulable avec du C#, permet de concevoir des interfaces WPF/E fonctionnant à l'intérieur du navigateur Silverlight ou à l'extérieur par machine virtuelle .net/mono fnac. Silverlight est une technologie cliente indépendant de la technologie coté serveur qui utilise exclusivement l'environnement de développement Visual Studio (Microsoft Visual Studio est une suite de logiciels de développement pour Windows conçu par Microsoft. La dernière version s'appelle Visual...) Orcas.

Environnements open source réutilisant les technologies pré-citées :

  • OpenLaszlo fonctionne sur un serveur java pour générer sur le client du flash. Il etait considéré comme un FLEX open source et gratuit depuis qu'Adobe a rendu libre et gratuit la technologie Flex pour populariser sa technologie Apollo. OpenLAslo utilise l'éditeur de nom Lazlo IDE d'IBM (International Business Machines Corporation (IBM) est une société multinationale américaine présente dans les domaines du matériel informatique, du logiciel et des services...).
  • Wazaabi, un facilitant à RCP Eclipse qui permet de réaliser " facilement " des applications client riche en J2EE en se basant sur la technologie RCP et sur les fichiers XUL.

FLEX de Macromedia (co-réalisé avec IBM) est à la fois un serveur et un framework accessible par une interface flash ou apollo XUL puis FLEX plus mûr est la technologie qui pose les premières bases de ce concept. FLEX offre la capacité d'industrialisation de développement logiciel :

    • Description des interfaces en MXML (Macromedia XML),
    • Echange des données avec les serveurs de données via les Webservices SOAP (SOAP (ancien acronyme de Simple Object Access Protocol) est un protocole de RPC orienté objet bâti sur XML.), REST par exemple,
    • Intégration d'un langage de programmation (Un langage de programmation est un langage informatique, permettant à un être humain d'écrire un code source qui sera analysé par une machine,...) orienté objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans un espace à trois dimensions, qui a une fonction précise, et qui peut être désigné par une étiquette...),
    • Dimension multimédia (Le mot multimédia est apparu vers la fin des années 1980, lorsque les CD-ROM se sont développés. Il désignait alors les applications qui, grâce à la mémoire du CD et aux capacités de l'ordinateur,...) forte,
    • intégration d'objets FLASH,

Approche Ultra Light Client

L'approche Ultra Light Client met à disposition du développeur (En informatique, un développeur (ou programmeur) est un informaticien qui réalise des logiciels en créant des algorithmes et en les mettant en œuvre dans un langage de programmation.) une bibliothèque Java qui permet de développer des Rich Internet Applications entièrement basées sur Java.

L'architecture proposée, entièrement ouverte, est basée sur le le protocole Half Object Protocol (HOP) qui permet, au travers d'un set d'interfaces de programmation (APIs), de déplacer au niveau du serveur Web les données et de ne transférer sur le poste client que les données visuellement disponibles pour l'utilisateur.

Seul le moteur de présentation s'exécute du côté Client, ce qui allège d'autant la taille des modules devant être téléchargés depuis le serveur. Cela permet à l'utilisateur d'accéder aux données de son entreprise depuis différents terminaux comme son ordinateur de bureau (Un ordinateur de bureau (de l'anglais desktop computer ; aussi appelé ordinateur fixe) est un ordinateur personnel (Personal Computer ou PC)...), son ordinateur portable (Un ordinateur portable, laptop (en Suisse) ou encore PC portable est un ordinateur personnel qui, grâce à un poids et un encombrement limités,...), son PDA ou son smartphone.

Elle permet donc de tirer profit à la fois des avantages de la plateforme Client de Java et des avantages de la plateforme Serveur de java.

Quelques Rich Internet Applications

  • Zimbra Solution Open Source de bureau mobile  ;
  • Flickr (Flickr est un site Web de partage de photos et de vidéos gratuit, avec certaines fonctionnalités payantes. En plus d'être un site Web populaire auprès des utilisateurs pour partager leurs photos personnelles, il est aussi souvent...) de Ludicorp, la gestion de photo ;
  • Gmail par Google, e-mail ;
  • Google Maps (Google Maps est un service gratuit de carte géographique et de plan en ligne. Le service a été créé par Google. Lancé en 2004 aux États-Unis et...) par Google, des cartes interactives ;
  • Deezer (Deezer prononcé [di:zœʁ] est un service d'écoute de musique en ligne disponible en cinq langues : français, anglais, allemand,...), site d'écoute (Sur un voilier, une écoute est un cordage servant à régler l'angle de la voile par rapport à l'axe longitudinal du voilier et en conséquence l'angle d'incidence du vent sur la voile. Il y a une écoute dédiée à...) musicale gratuite
Cet article vous a plu ? Partagez-le sur les réseaux sociaux avec vos amis !
Page générée en 0.164 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique