Dossiers L’œil du spécialiste La révolution du client riche
La révolution du client riche
Une évolution continue
L’informatique a connu, ces dernières années quelques changements de cap significatifs concernant les interfaces utilisateurs des applications informatiques.
Si, pendant plus de 20 ans, le terminal passif, que nous retrouvons sur les environnements « mainframe », a été le seul moyen d’interagir avec l’ordinateur, la montée en puissance des ordinateurs personnels dans les années 90 a permis l’avènement des architectures de type client-serveur. Dans ce type d’architecture, outre l’apparition de la souris, le client devient « lourd » dans le sens où une partie des traitements et de la logique applicative se trouve déportée sur le poste client. Apportant des « plus » indéniables en termes d’ergonomie et de richesse graphique, les architectures client-serveur vont rapidement montrer leurs limites avec la multiplication des postes clients et la problématique de déploiement et de montée de version qui en découle.
Désormais, place au client riche !
Ce client riche, au travers de la spécification Web 2.0, nous promet le meilleur des deux mondes entre le client lourd (client-serveur) et le client léger (Web). L’objectif est de préserver la facilité voire l’absence de déploiement des applications, tout en offrant une interface graphique riche et une interactivité plus grande.
Deux types de solutions
Deux types de solutions existent aujourd’hui sur le marché :
- le premier type de solution s’appuie sur les principes de développement des clients lourds (Java Swing ou Windows Forms) tout en automatisant et en masquant les procédures de mise à jour des applicatifs sur les postes clients. Du point de vue utilisateur, le client riche ressemble exactement à un client lourd. L’administrateur, quant à lui, se retrouve déchargé des tâches de déploiement et mise à jour. Les principaux acteurs de ce type de solution sont :
- Sun avec Java Web Start : la technologie client riche de Sun permet d’exécuter les applications riches sur tous les systèmes, PC comme mobiles. De plus, son système de déploiement automatique « Java Web Start » est le plus perfectionné. Cependant, Java a une mauvaise réputation quant à l’ergonomie et la vélocité de ses interfaces ;
- Microsoft avec Windows Forms du framework .NET : Microsoft utilise le même concept que Sun. Le développement des applications est effectué avec la solution de déploiement automatique « No touch Deployment » avec toutefois une restriction importante : cela ne fonctionne que sur les plates-formes Windows ;
- le second type de solution continue de s’appuyer sur les navigateurs internet existants et sur le langage HTML. La nouveauté provient du fait que le dialogue avec le serveur ne se fait plus entre la page Web et le serveur mais entre un ou plusieurs programmes contenus dans la page web et le serveur. Cette solution offre également la possibilité de mettre à jour le contenu d’une portion de page Web. Là aussi, plusieurs technologies sont disponibles :
- XUL : c’est un langage de description d’interface graphique élaborée basé sur XML et développé par Mozilla. XUL réutilise de nombreux standards et technologies actuelles, incluant CSS, JavaScript, DTD, RDF et XPCom. L’intérêt principal est qu’il fournit une définition simple d’éléments graphiques. L’inconvénient majeur de cette technologie est une portabilité restreinte puisqu’elle s’adresse aux navigateurs Mozilla et Firefox.
- XAML : c’est l’équivalent de XUL sous .NET avec le même inconvénient de portabilité car il ne fonctionne que sur IE. Tout comme XUL, XAML tarde à s’imposer comme une solution majeure Web 2.0 ;
- Flash : ce langage de script développé par Macromedia était utilisé à l’origine pour créer des animations. Aujourd’hui, Flash offre des possibilités de mise à jour de données à partir du serveur et étend ainsi les possibilités de Flash ;
- Ajax : c’est l’architecture à la mode du moment. Ajax est un modèle d’architecture qui utilise des technologies existantes comme HTML, CSS, DOM, XML et JavaScript. Il permet de proposer des mises à jour asynchrones dans une page Web ou des mises à jour locales à une partie d’une page. L’architecture Ajax est compatible avec les applications Web développées en Java J2EE et PHP.
Comme dans toute mutation technologique, dans un premier temps, le client riche a connu un essor fulgurant et erratique avec la généralisation des connexions internet haut débit (permettant des flux de données importants) et la nécessité pour les sites internet à vocation commerciale de capter une audience importante dans un contexte concurrentiel fort. Aujourd’hui, le client riche apparaît dans le monde de l’entreprise et les outils Web 2.0 du marché sont de plus en plus structurés et performants. L’opposition entre solutions commerciales / solutions open source est présente mais il est fort probable que l’open-source s’imposera tant la communauté Web 2.0 est dynamique, notamment, avec une multitude de « frameworks » Ajax de plus en plus performant et facile d’utilisation. De plus des sociétés telles que Google ou Yahoo proposent d’ores et déjà des solutions Ajax gratuites.
Au delà d’une mode
Le client riche n’est pas une mode. C’est bien une nouvelle philosophie d’interaction à l’information qui, peu à peu, s’impose comme une évidence. Fort de cette constatation, Infotel a choisi de porter ses efforts de veille technologique et de formation de ses collaborateurs sur l’architecture Ajax qui, de par sa compatibilité avec les applications PHP / Java J2EE, nous permettra de renforcer la pertinence de nos offres sur ces technologies. Vous pouvez retrouver quelques exemples d’implémentation de l’architecture Ajax sur le site demonstration.infotel.com (onglet connecteur PHP-Mainframe et Composants Ajax).
Google Maps est un exemple de site utilisant la technologie Ajax (ici, notre site de Bagnolet)
Un exemple d’utilisation d’Ajax sur notre site demonstration.infotel.com
