|
Le milieu de l'informatique semble être impatient
de voir revenir le "client riche", celui qui est doté d'une interface
utilisateur plus évoluée que le navigateur Web.
Laissons de côté le fait que très peu de développeurs
sont effectivement capables de "designer" correctement des interfaces
utilisateurs sophistiquées (ils ont déjà du mal avec l'interface
Web qui est pourtant toute simple et bien standard !) et intéressons-nous
à l'autre handicap majeur qui a plombé le client riche dans les
années pré-Internet et jusqu'à aujourd'hui...
Qui dit client riche dit aussi client lourd et
qui nécessite donc une installation fixe, obligatoire et préalable
à tout fonctionnement sur le système cible. À l'époque
du client-serveur, cette question du déploiement n'avait jamais été
traitée correctement et avait fini par étrangler l'expansion de
cette architecture prometteuse.
En effet, l'installation de nouvelles applications sous Windows (par exemple)
se heurtait très vite à ce qu'on appelle "l'enfer des DLL"
: ces librairies dynamiques dont les multiples versions entrent en conflit. Résultat
: bien souvent, l'installation d'une nouvelle application rendait les autres inopérantes.
Sans compter le coût de chaque opération (le syndrome des "derniers
kilomètres"), le fait de ne pouvoir automatiser le processus et ainsi
de suite.
C'est
bien, entre autres, parce que le Web permettait un fonctionnement sans déploiement
préalable qu'il s'est imposé comme successeur de l'architecture
client-serveur. Un succès mérité et qui, finalement, aura
été profitable à tous.
Depuis, il y a bien eu des tentatives pour proposer des applications "hybrides",
accessibles via le Web mais reposant sur des technologies comme Java (avec Java
WebStart) ou Microsoft (avec Windows Forms). Toutefois, le succès de ces
initiatives est resté pour le moins limité. Aujourd'hui, Microsoft
semble décidé à faire évoluer cette situation en s'appuyant
sur les possibilités du framework .Net...
En effet, la version 2 du framework .Net (aujourd'hui
encore en préparation et annoncée sous le nom de code "Whidbey")
proposera un mode de déploiement inédit : ClickOnce (comprendre
"ne cliquer qu'une fois"). ClickOnce se veut le compromis idéal
entre le zéro-déploiement du Web et l'installation lourde imposée
par MSI (Microsoft Installer).
Évidement, les applications qui seront déployées avec ClickOnce
ne pourront pas offrir toutes les possibilités des applications passant
par MSI mais leur potentiel sera tout de même bien plus grand que celui
des applications Web.
La volonté avouée de Microsoft est ici de minimiser les impacts
sur le système cible, de favoriser le confort de l'utilisateur tout en
facilitant le travail des administrateurs. Une démarche intéressante
donc !
ClickOnce repose sur des documents décrivant
l'application et le mode de déploiement retenu : les manifestes. Le manifeste
de l'application (application manifest) définit quels sont les composants
requis pour le fonctionnement. Le manifeste du déploiement (deployment
manifest) précise quelle est la version courante de l'application et
quelle est l'option retenue pour son fonctionnement : entre "installée
" (l'application peut ensuite être invoquée depuis le menu "démarrer"
du système) ou "lancée" depuis une simple URL (pas de
raccourci disponible au niveau du menu dans ce cas).
La question brûlante des mises à jour est également adressée
par le biais du manifeste de déploiement. Le développeur a le choix
entre plusieurs possibilités allant de l'update à la demande jusqu'à
la mise à jour "silencieus " (façon Windows Update, ce
dernier choix ne sera toutefois possible qu'avec la prochaine version de Windows
annoncée sous le nom de code "Longhorn").
Les aspects sécurités ne sont pas
oubliés par ClickOnce qui restreint le fonctionnement des applications
dans le cadre d'une sorte de "bac à sable" (la CLR de .Net) où
les accès fichiers et réseaux sont contrôlés.
Dans la pratique, comment cela fonctionne-t-il
?
Déjà, il faut que le framework .Net soit installé sur votre
machine (le support de ce framework descend jusqu'à Windows 98, il est
téléchargeable via Windows Update et il sera présent par
défaut dans Longhorn). La première fois, il suffit de cliquer sur
le lien web représentant un application "ClickOnce-enable" et,
selon les cas, l'application va s'exécuter directement sur votre poste
de travail (mode lancée) ou bien un dialogue (qui n'apparaîtra qu'une
seule fois, c'est promis !) va vous demander l'autorisation "d'installer"
l'application sur votre système.
Ensuite, à chaque lancement, c'est l'application elle-même qui va
vérifier quelle version il faut exécuter et va se comporter en fonction
de la situation (demande de mise à jour explicite ou non si nécessaire).
Certains éditeurs avaient commencé
à implémenter ce genre de comportement peu intrusif et intelligent,
ce qui change, c'est que le framework .Net offre un cadre standard pour le faire
proprement et complètement. C'est un grand progrès mais, objectivement,
on a envie de dire à Microsoft : "pourquoi ne l'avez vous pas proposé
plus tôt ?"...
|