Déploiement d’une application

Déploiement d’une application

Après avoir développé une application, il est essentiel de pouvoir la mettre en place sur l’ordinateur de l’utilisateur final. Il existe plusieurs méthodes pour répondre à différents besoins. Avant de choisir la méthode qui vous convient, il est important de se poser quelques questions :

Qu’est-ce qui doit être déployé ?

Il peut s’agir de fichiers, de raccourcis sur le bureau, de clés de registre, d’associations d’extensions, etc.

Quelles sont les dépendances et comment les installer ?

Il est également crucial de prendre en compte les dépendances et de savoir comment les installer. Il est important de faire attention aux conflits de version dans le cas de composants partagés.

Qui effectue le déploiement ?

Le déploiement peut être réalisé par l’utilisateur lui-même, un administrateur ou à l’aide d’une gestion centralisée telle que Active Directory ou un système de gestion de parc.

Installation par utilisateur ou par machine ?

Il est important de déterminer si l’installation doit être effectuée par utilisateur ou par machine.

L’application nécessite-t-elle des paramètres pour son installation ?

Il peut s’agir de l’emplacement d’installation, de composants optionnels, de licence, etc.

À lire aussi  Comment remplacer une serrure de boîte aux lettres ?

Comment vérifier que l’application est installée ?

Il est important de trouver une méthode pour vérifier si l’application est installée correctement.

Comment mettre à jour l’application une fois déployée ?

Il est également essentiel de réfléchir à la fréquence de mise à jour de l’application et à la méthode pour effectuer ces mises à jour.

Comment désinstaller l’application ?

Une méthode de désinstallation doit également être envisagée.

Journalisation des opérations effectuées ?

Il peut être utile de journaliser les opérations effectuées lors du déploiement de l’application.

Installation et mise à jour transactionnelle (tout ou rien) ?

Il est important de décider si l’installation et la mise à jour de l’application doivent être effectuées de manière transactionnelle (tout ou rien).

Et probablement d’autres questions…

Voici plusieurs méthodes permettant de déployer une application :

Copie des fichiers de l’application (xcopy)

C’est probablement la solution la plus simple : il suffit de copier l’application (exécutable ou archive zip) dans un endroit accessible à l’utilisateur (web, ftp, répertoire partagé). L’utilisateur peut ensuite récupérer et copier l’application où il le souhaite.

Les applications déployées de cette manière doivent pouvoir être désinstallées facilement sans laisser le système dans un état instable, en supprimant simplement l’exécutable.

Windows Installer

Windows Installer (anciennement Microsoft Installer) est un composant de Windows qui permet d’installer, de mettre à jour et de désinstaller des programmes. Le développeur crée un package (fichier MSI pour l’installation) qui décrit le processus de déploiement : création de dossiers, copie de fichiers, création de clés de registre, création de raccourcis, exécution d’un programme, etc. Windows Installer propose également de nombreuses autres fonctionnalités, telles que :

  • Installation avec interface graphique ou installation silencieuse
  • Possibilité de découper l’application en plusieurs fonctionnalités. L’utilisateur peut choisir quelles fonctionnalités il souhaite installer. Par exemple, l’installeur d’Office permet de choisir quels produits de la suite Office sont installés (Word, Excel, PowerPoint, Access, …)
  • 2 contextes d’installation : par machine (tous les utilisateurs) ou par utilisateur
  • Installation à la demande : l’application (ou une fonctionnalité) n’est installée que lors de sa première utilisation
  • Journalisation de l’installation
  • Installation transactionnelle : une transaction par MSI ou une transaction pour plusieurs MSI
  • Possibilité de signer le fichier MSI avec Authenticode
À lire aussi  Comment déverrouiller une porte claquée ?

Cette solution offre de nombreuses fonctionnalités et est standard sous Windows. Cependant, tous les outils gratuits permettant de créer des packages MSI ne sont pas intuitifs. Parmi ceux-ci, on retrouve WiX ou Visual Studio Installer Project (natif sous VS2010 et disponible sous forme d’extension pour VS2013).

Utilisation de générateur d’installateurs (InnoSetup, NSIS)

Le principe est similaire à celui de Windows Installer, mais génère un fichier exécutable (.exe) et non un fichier MSI. Le package généré n’utilise donc pas Windows Installer et ne bénéficie pas de ses avantages. Cela rend également plus difficile leur intégration à différentes solutions de déploiement telles que les GPO. Ce type d’installateur est généralement plus simple à créer qu’un fichier MSI.

ClickOnce

ClickOnce est un mécanisme spécifique à .NET. Il permet de déployer une application en répondant à 3 problématiques :

  • Pas besoin de droits particuliers : tous les utilisateurs peuvent installer l’application
  • Système de mise à jour intégré
  • Chaque application est installée dans un dossier spécifique, ce qui évite les problèmes de conflit avec les composants partagés

Le déploiement est très simple : il suffit de copier les fichiers générés par ClickOnce sur un site web, un dossier partagé ou un simple dossier (dans ce dernier cas, il n’y a pas de mise à jour automatique). Tout comme les fichiers MSI, il est possible de signer l’installateur.

ClickOnce est très simple à mettre en œuvre et répond à des besoins spécifiques. Cependant, il n’y a aucun moyen de personnaliser l’installation (interface graphique, emplacement des fichiers installés, paramètres pendant l’installation, etc.).

Système de gestion de paquets (Chocolatey)

Pour gérer le déploiement de logiciels commerciaux (COTS), les systèmes Unix utilisent depuis longtemps des systèmes de gestion de paquets tels que Aptitude, Yum, etc. Chocolatey et d’autres tentent de fournir le même mécanisme pour Windows.

À lire aussi  Restons en contact

Chocolatey est basé sur PowerShell et le format Nuget. Chocolatey fournit des CmdLet permettant de faciliter l’installation des installations classiques (MSI ou EXE) et permet de faire ce que l’on souhaite grâce à la puissance de PowerShell.

Actuellement, ce type de solution n’est pas encore très utilisé, mais cela pourrait évoluer avec l’arrivée de Windows 10 et OneGet ! À surveiller…

Conclusion

Selon les besoins, différentes méthodes peuvent être utilisées pour le déploiement d’une application :

  • Pas besoin d’installation : copie de fichiers
  • Besoin simple et installation par l’utilisateur : ClickOnce
  • Besoin plus avancé : MSI

Il est également possible d’envelopper la méthode choisie dans un package Chocolatey, le cas échéant.