article de presse - Cap Data Consulting
article de presse - Cap Data Consulting
article de presse - Cap Data Consulting
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
D ossier<br />
Web 2.0, Ajax : la nouvelle génération<br />
Depuis maintenant plus un an, on met du Web 2 partout et à toutes les sauces. Entre<br />
l’actualité riche autour d’Ajax et <strong>de</strong>s tentatives <strong>de</strong> définition <strong>de</strong> Web 2, il est grand temps<br />
<strong>de</strong> faire le point sur l’évolution <strong>de</strong>s applications Web et <strong>de</strong>s sites. Les technologies se<br />
bousculent au portillon.<br />
Si pour Ajax, les spécialistes le cernent<br />
dans son utilité, son modèle <strong>de</strong> développement,<br />
il n’en va pas <strong>de</strong> même pour<br />
Web 2, notion vague et indéfinie. Web 2 n’est<br />
pas une technologie, une spécification. Il s’agit<br />
d’un concept aux frontières floues. La finalité<br />
<strong>de</strong> Web 2 est <strong>de</strong> fournir <strong>de</strong>s applications web<br />
dynamiques, interactives, plus riches, plus<br />
proches <strong>de</strong> l’utilisateur. Cela signifie donner<br />
une expérience utilisateur (interface, ergonomie)<br />
plus souple, plus interactive. Il s’agit<br />
aussi <strong>de</strong> pouvoir fournir un site plus communicant,<br />
plus ouvert sur les autres, bref, d’aller<br />
au-<strong>de</strong>là <strong>de</strong>s contenus et d’être plus collaboratif.<br />
On assiste à un retour en force du navigateur<br />
face aux clients lourds, aux applications<br />
riches.<br />
Web 2 regroupe tout un ensemble <strong>de</strong> technologies<br />
plus ou moins anciennes qui doivent<br />
permettre d’offrir <strong>de</strong>s sites interactifs, ergonomiques<br />
et fonctionnellement riches. On peut y<br />
trouver pêle-mêle : JSF <strong>de</strong> Sun, les platesformes<br />
<strong>de</strong> type Flash / Flex, les frameworks<br />
Ajax, les flux RSS.<br />
La page <strong>de</strong>vient un simple conteneur<br />
La page web n’est plus une page se contentant<br />
d’afficher <strong>de</strong>s données. Elle <strong>de</strong>vient en réalité<br />
un conteneur dans lequel il est possible <strong>de</strong><br />
mettre à jour et <strong>de</strong> différencier le contenu, les<br />
fonctions, selon la zone <strong>de</strong> la page. Pour faire<br />
simple, un page Ajax peut être un ensemble <strong>de</strong><br />
zones Ajax ou non. Et chaque zone peut fonctionner<br />
<strong>de</strong> manière indépendante. Cela permet<br />
d’avoir une mise à jour ciblée <strong>de</strong>s contenus.<br />
Pour minimiser la ban<strong>de</strong> passante, Ajax (et<br />
consorts) permet <strong>de</strong> séparer les couches présentation<br />
et métier / fonctionnelles. Ainsi,<br />
toute la présentation se déroule localement et<br />
la logique métier et les données sont stockées<br />
sur le serveur.<br />
Client riche, application riche, etc.<br />
Quand on souhaite faire <strong>de</strong>s applications dites<br />
riches (interface, fonctionnalités, ergonomie,<br />
etc.), les possibilités techniques foisonnent et<br />
le développeur, et encore plus l’entreprise,<br />
aura du mal à choisir, car selon le type <strong>de</strong><br />
cibles, les contraintes techniques et les fonctions<br />
souhaitées, le ou les choix diffèrent.<br />
Aujourd’hui, le site web se résume bien souvent<br />
à du HTML, ou xHTML, avec <strong>de</strong>s pages<br />
dynamiques, quelques animations. Ceci constitue<br />
la majorité <strong>de</strong>s sites. HTML représente une<br />
limite technique. Certains sites font le choix du<br />
client lourd, c’est-à-dire que l’on utilisera un<br />
player, un runtime installé sur le poste client<br />
pour exécuter une application web.<br />
Typiquement, il s’agira <strong>de</strong> Flash / Flex ou d’un<br />
Flash like comme OpenLaszlo, mais reposant<br />
sur le lecteur Flash. Encore plus lourd dans le<br />
client riche, s’appuyer sur une plate-forme <strong>de</strong><br />
type Eclipse RCP ou Netbeans.<br />
Certains vont faire la différence entre le client<br />
riche dit « <strong>de</strong>sktop » <strong>de</strong> type Eclipse RCP utilisant<br />
Java Web Start pour fonctionner, et le client<br />
riche internet <strong>de</strong> type Flex / Flash, etc. On trouvera<br />
souvent dans la classification client riche<br />
internet (ou RIA en Anglais pour Rich Internet<br />
Application), Ajax aux côtés <strong>de</strong> Flash / Flex. Or, si<br />
les <strong>de</strong>ux font effectivement du RIA, il faut faire<br />
Programmez n°85 19 avril 2006<br />
la différence entre le RIA s’appuyant sur un runtime,<br />
et celui s’appuyant sur le navigateur seul.<br />
Dans le cas du client riche « <strong>de</strong>sktop », on<br />
arrive à une solution parfois très lour<strong>de</strong>, car il<br />
faut disposer <strong>de</strong> la plate-forme client riche et<br />
<strong>de</strong> Java Web Start. Ce <strong>de</strong>rnier permet <strong>de</strong> réaliser<br />
<strong>de</strong>s applications Java Swing sans problème,<br />
mais impose un socle technique. Si on<br />
osait le présenter ainsi, Ajax sera plutôt un<br />
« RIA Internet client léger ».<br />
Pour aller encore plus loin, dans les RIA, on trouve<br />
les langages <strong>de</strong>scriptifs <strong>de</strong> type XAML – XUL.<br />
Ils fournissent un autre concept d’interface riche<br />
et interactive. Si théoriquement, aucun runtime<br />
n’est nécessaire, en réalité un sérieux problème<br />
<strong>de</strong> compatibilité existe. Car, XUL ne fonctionne<br />
qu’avec Firefox et les navigateurs Gecko et XAML<br />
se limitent à Internet Explorer, même si Microsoft<br />
a annoncé un support plus large.<br />
Bref, il faut se méfier <strong>de</strong>s termes et <strong>de</strong>s logos<br />
ainsi que <strong>de</strong>s promesses <strong>de</strong>s éditeurs. Seul le<br />
pragmatisme doit être votre gui<strong>de</strong>. Il faut choisir<br />
la technologie, la plate-forme, l’outil qui<br />
correspon<strong>de</strong>nt le mieux à votre besoin et à vos<br />
attentes, sans pour autant hypothéquer l’évolution<br />
<strong>de</strong>s applications.