9 mai 2014

Article

Technologies de l'information

ClickOnce : un mode alternatif de déploiement des applications Windows

Les applications Windows modernes requièrent souvent des mises à jour très fréquentes. Les mécanismes d’installation traditionnels, comme les fichiers .msi  activés à partir d’applications Installe ou Setup, sont malheureusement très mal adaptés à un cycle de déploiement rapide. Plusieurs entreprises se tournent vers les applications intranet pour pallier les difficultés rencontrées par la distribution et l’installation d’applications Windows. Mais, il y a un prix à payer pour faciliter les mises à jour de cette façon.

Les contraintes du développement d’une application Web

Développer une interface Web solide demande habituellement beaucoup plus de travail de la part des programmeurs. Le HTML limite énormément ce qu’on peut faire dans un écran. Alors que sur un bouton Windows standard, le programmeur peut réagir à 12 événements de souris différents, un bouton HTML n’offre qu’un seul événement Click. Une application intranet exige par ailleurs une connexion constante, ce qui peut être un handicap dans certains scénarios.

Fonctionnement de l’application ClickOnce, un mode alternatif de déploiement

ClickOnce, un nouveau mode de déploiement introduit dans Visual Studio 2005 (.NET 2.0), offre le meilleur des deux mondes : des applications Windows avec leur riche interface ainsi que la facilité de déploiement et de mise à jour d’un site intranet.

Les étapes de préparation d’un déploiement ClickOnce

Pour préparer un déploiement ClickOnce, le programmeur n’a qu’à ouvrir la fenêtre de propriétés de son projet d’application et passer à l’onglet Publier. Visual Studio a déjà déterminé les principaux paramètres d’installation, il n’y a qu’à personnaliser le tout selon les besoins particuliers de l’application.

Le déploiement se fait sur un simple clic de bouton. Visual Studio s’occupe de tout, même de créer une page Web à partir de laquelle les utilisateurs pourront installer l’application. Un programme Setup conventionnel est aussi créé comme alternative.

L’utilisateur choisit l’un de ces deux mécanismes pour lancer l’installation. À ses yeux, le programme s’installe comme une application standard : raccourci de démarrage dans le menu Programmes, désinstallation de l’application par le panneau de configuration, etc.

Quand le programmeur est prêt à distribuer une nouvelle version de l’application, il n’a qu’à retourner dans l’onglet Publier, incrémenter le numéro de version et activer le bouton de publication. Rien de plus.

Fonctionnement de ClickOnce pour un utilisateur

Chez l’utilisateur, chaque fois que l’application démarre, elle vérifie si une nouvelle version est disponible. Si oui, un message offre de lancer la mise à jour, qui est généralement très rapide.

Le tout peut être configuré de différentes façons. Par exemple, l’installation de la mise à jour pourrait être forcée sans demander de confirmation à l’utilisateur. L’application pourrait n’être disponible qu’en ligne. Un utilisateur qui quitte le bureau n’a alors pas accès au programme, soit pour des raisons de sécurité ou parce que l’application est inutile s'il n’est pas connecté.

Après la mise à jour, si on détecte un problème avec la nouvelle version, l’utilisateur peut facilement ramener la version précédente, qui a été conservée sur son ordinateur.

Les limites de ClickOnce

ClickOnce présente certaines limites. On ne peut par exemple spécifier le répertoire d’installation et les dll requis par l’application doivent absolument résider dans le répertoire de l’application s’ils n’ont pas déjà été installés sur la station de travail. Mais quand une application n’est pas handicapée par ces limites, ClickOnce devient pour la plupart le mode privilégié de distribution d’applications en entreprise.

Pour en savoir plus

Pour plus de détails, consultez la documentation officielle de Microsoft. Retrouvez-moi également lors de la formation Programmation Visual Basic .NET (MN204) ou j’aborde ClickOnce lors de la présentation des différents types d’applications disponibles sur le marché.

© Jacques Bourgeois, tous droits réservés. 

Jacques Bourgeois est un programmeur d'expérience qui s'est intéressé à la programmation objet dès le début des années 90. Il possède plus d'une douzaine d'années d'expérience dans le développement et la maintenance d'applications Visual Basic, Access et SQL Server. Il a notamment développé un système de gestion des entretiens préventifs pour la compagnie Basell. Depuis 1994, il a formé plus de quatre mille personnes au Québec provenant d'organisations diverses.