Le déploiement d’applications macOS

Classé dans : À la une, Logiciels et solutions | 0

Les – nombreux – systèmes modernes de gestion de parc Mac (JAMF Pro, Filewave, Munki, SimpleMDM, Parallels Mac Management, ou plus récemment Zuludesk ou Addigy) accompagnent quasi systématiquement leurs fonctionnalités MDM d’un outil de déploiement d’applications permettant notamment de sélectionner des logiciels spécifiques, d’en centraliser la distribution ou encore d’en permettre l’installation sans l’utilisation d’un AppleID. On y trouvera couramment les fonctionnalités suivantes :

  • déployer des applications simples (.app) ;
  • déployer des paquets d’installation .pkg ;
  • gérer le programme Apple VPP (Volume Purchase Plan) ;
  • mettre à jour la version de l’OS ;
  • exécuter des scripts avant, pendant, et après l’installation afin de réaliser des installations plus complexes ;
  • Proposer un Kiosque Self-Service.

Exemple : le kiosque « Self-Service » de JAMF Pro

Nous allons illustrer ces fonctionnalités en nous appuyant ici sur Filewave.

Installation d’une application simple .app (par exemple VLC)

Pour commencer, prenons le cas le plus simple qu’on puisse trouver sur Mac : un simple paquet .app à copier à l’endroit voulu, par exemple VLC. Au moyen d’un Desktop Fileset, Filewave, permet de sélectionner directement notre VLC.app depuis le poste d’administration et de choisir l’emplacement de déploiement souhaité sur les Mac cibles.

 

L’application VLC.app est alors copiée sur le serveur Filewave au sein du Fileset ainsi créé. Une fois celui-ci associé aux Mac cibles souhaités, notre application sera automatiquement poussée et installée à l’emplacement choisi. Il existe des options supplémentaires de déploiement, mais nous y reviendrons un peu plus loin.

 

Installation par un installeur .pkg (par exemple Office 2016)

Ce cas de figure est encore une fois très simple. Un paquet d’installation de type PKG permet de choisir et de déployer silencieusement un installeur .pkg, dans notre cas : Microsoft_Office_2016_15.35.1706100_Installer.pkg

 

De la même manière que dans le cas précédent, l’installeur .pkg est dans un premier temps uploadé sur le serveur puis déployé sur tous les Mac qui seront associés à ce Fileset. L’opération est silencieuse et non-interactive sur les postes ciblés.

 

Installations complexes et utilisation de scripts (exemple de LogMeIn)

Sur Mac, l’installation de certaines applications ne passe ni par la copie du paquet.app ni par un installeur .pkg et donc les deux méthodes précédentes ne sont pas adaptées.

 Prenons l’exemple de l’application LogMeIn, dont l’installeur est lui même sous format .app (avec un identifiant en fait mémorisé dans une mémoire cache).
 De fait, l’utilisation du Fileset pour installer automatiquement un .pkg n’est pas possible. Et déployer cet installeur comme une application classique .app se limitera à copier celle ci sur le client cible, sans lancer l’installation. Pour se sortir de cette situation, Filewave propose d’exécuter des scripts, à différents moments du déploiement.

  • Les Requirement Scripts et Preflight Scripts seront lancés avant le déploiement du Fileset : utile pour faire des vérifications de conditions avant d’installer une application ;
  • Un Activation Script sera exécuté lors du déploiement ;
  • Les Postflight Scripts et Verification Scripts seront quand a eux exécutés après le déploiement du Fileset.
Enfin, Filewave laisse également la possibilité d’exécuter des scripts lors de la désinstallation du Fileset, utile pour supprimer toutes les traces qui peuvent être laissées par une application par exemple.

Revenons à l’exemple de LogMeIn. Nous choisissons de déployer par la méthode 1 l’installeur LogMeIn.app dans le dossier /Users/Shared (de façon temporaire).
 Ensuite, nous exécutons un Activation Script permettant d’effectuer l’installation de façon silencieuse :

cd /Users/Shared
# Set the deploy ID
DEPLOYID=NotreIdentifiantDeploiement
# Get the versioned file name
FILE="$(ls | grep LogMeIn*.app)"
# Write the deploy ID as an extended attribute on the install package
xattr -w com.logmein.deployid $DEPLOYID "$FILE"
# Run the silent install
echo "Running the LogMeIn installer"
./"$FILE"/Contents/MacOS/Lili --silent
exit 0

Pour terminer, l’utilisation d’un très simple Postflight Script permet de supprimer l’installeur LogMeIn.app devenu inutile une fois l’installation effectuée.

 

Gestion du programme d’achats en volume Apple VPP (Volume Purchase Plan)

Le Programme d’Achat en Volume d’Apple, plus communément appelé VPP, est un mécanisme par lequel les entreprises peuvent acheter des applications macOS ou iOS en volume et les distribuer à leurs utilisateurs. Le VPP passe par la création d’un compte d’administration VPP, l’enrôlement des appareils dans un MDM et l’assignation des licences aux utilisateurs finaux. 

Il y a deux mécanismes pour attribuer les licences VPP :

  • 
le système par code : c’est la méthode d’origine où chaque licence est associée à un code. Les codes sont ensuite affectés à l’identifiant Apple de l’utilisateur final. Inconvénient : les codes sont à usage unique et une fois un code affecté à un identifiant Apple, la licence lui appartient pour toujours.
  • 
la gestion distribuée de licences : le système actuel, permettant d’affecter ou de révoquer les attributions de licence à l’envie. Autre avantage : l’entreprise conserve la pleine propriété de la licence.

Les deux méthodes sont pleinement supportées par Filewave.
 L’importation d’une liste de code est prévue :

De même, les comptes et tokens VPP sont pleinement supportés pour la gestion distribuée de licences :

Filewave permet également de choisir d’attribuer une licence VPP à un utilisateur (via un identifiant Apple) ou a un appareil, tout en gardant la possibilité de révoquer l’attribution.

 

Fileset Magic : pour les installations les plus complexes

Parfois, certaines installations très complexes ne peuvent pas être déployées par des moyens conventionnels. 
Filewave va fonctionner en comparant les changements survenus entre le snapshot initial et l’état du Mac après installation et configuration de l’application.
 L’idée est donc de partir d’un système totalement vierge et d’en faire un premier snapshot :

Ensuite on procède à l’installation et à la configuration de l’application que nous souhaitons déployer. Une fois cela fait, on crée notre paquet
agissant au niveau des fichiers, il va construire un Fileset à partir des changements survenus entre le snapshot initial et l’état du Mac après l’installation et configuration de l’application à déployer. 
Il est possible de réduire le périmètre d’observation de Fileset Magic si on connait exactement où le contenu de l’application est installé :

Options supplémentaires

Quelle que soit la méthode utilisée, Filewave propose plusieurs options applicables à ses Fileset. Pour le déploiement d’applications, en voici quelques-unes interessantes. La première concerne l’action qu’effectuera Filewave à chaque vérification :

Self Healing force la réinstallation des fichiers qui seraient modifiés ou absents par rapport à la dernière vérification. Très utile pour empêcher les suppressions accidentelles (ou non). Download If Missing porte bien son nom et remettra uniquement les fichiers manquants. Ignore At Verify est lui utilisé si on souhaite déployer quelque chose sur le client mais que son devenir nous importe peu…

Filewave laisse également la possibilité de contrôler les plateformes et les versions de système d’exploitation sur lesquelles l’installation sera autorisée. Cela permet facilement d’éviter des installations inappropriées sur des versions non compatibles.

Déployer des applications simultanément sur un ensemble de postes, c’est bien. Le faire au bon moment afin de ne pas pénaliser les utilisateurs ou saturer la bande passante du réseau, c’est mieux !
 Filewave permet de régler le timing de déploiement, à la fois pour le téléchargement des fichiers, mais aussi le déclenchement en lui même de l’installation.

Certaines applications nécessitant un redémarrage du poste pour finaliser l’installation, il est également possible de programmer le redémarrage du Mac après le déploiement :

Le Kiosque Self-Service

Dans beaucoup d’entreprises, on peut distinguer les applications nécessaires à tous les utilisateurs, des applications optionnelles spécifiques à certains usages. Le Kiosque vous permet de proposer un portail « Self Service » aux utilisateurs finaux :

  • ils peuvent télécharger et installer à la demande les ressources et applications spécifiques à leur besoin ;
  • l’installation des applications ne nécessite pas de mot de passe administrateur ni d’Apple ID ;
  • le Kiosque est spécifique au profil du poste et propose à l’utilisateur uniquement les applications que l’administrateur décide de rendre disponible pour chaque poste ;
  • le portail est personnalisable, l’administrateur détermine les catégories, sous-catégories, et ressources rendues disponibles sur le Kiosque.

La flexibilité et les personnalisations possibles d’un tel outil permettent aux utilisateurs finaux d’être autonome sur l’accès et la gestion de leurs ressources, sans faire appel aux équipes informatiques.

 

En conclusion

Les options proposées ainsi que les possibilités de scripting avant et après déploiement sont nombreuses, et permettent de s’adapter aux différents cas de figure et de répondre à la plupart des scénarios rencontrés.

N’hésitez pas à nous contacter pour étudier ensemble comment vous aider à administrer votre parc Mac.

B. Massey