Jamf Blog
Teacher focus on student education because Jamf App Installers keeps apps up-to-date automatically.

Les App Installers sont désormais disponibles dans Jamf School

Lors de la keynote de la JNUC 2023, l’annonce des App Installers pour Jamf School a été reçue par les applaudissements du public – en particulier ceux des administrateurs Jamf qui travaillent dans le secteur de l’éducation. Mais que sont les App Installers et pourquoi ont-ils suscité un tel engouement ?

Les App Installers facilitent la gestion du cycle de vie des applications. Ils permettent aux enseignants et aux administrateurs Mac de garder le contrôle sur déploiement et la mise à jour des applications tierces. Contrairement à ce qui se passe sous iOS, le Mac n’est pas limité aux applications du Mac App Store : bien d’autres applications doivent en effet être installées sur les ordinateurs d’une école, et elles doivent être obtenues directement auprès du fournisseur.

Les tâches de gestion des applications sont répétitives

Le processus est très laborieux. Il faut en effet :

  • Obtenir le paquet du fournisseur
  • Modifier son contenu, pour ajouter des scripts de post-installation, par exemple
  • Repackager le logiciel et toutes les configurations
  • Et l’importer dans Jamf School

où il pourra être déployé. Mais après le déploiement, le processus recommence à chaque mise à jour. Il ajoute une lourde charge administrative à chaque application, et nous connaissons tous cette fameuse application qui semble sortir une nouvelle version tous les deux jours !

Les App Installers aident les administrateurs à travailler mieux, pas plus.

Le temps d’un administrateur peut être rapidement englouti par la diffusion des mises à jour d’applications tierces.

Pour alléger leur charge, les App Installers fournissent un workflow qui peut offrir une expérience de déploiement et mise à jour similaire à celle de l’App Store.

En d’autres termes, l’équipe Jamf App Installers fait le travail à votre place : elle obtient les paquets en toute sécurité auprès des fournisseurs, les reconditionne (si nécessaire) et les met à disposition dans le catalogue d’applications pour que les administrateurs puissent les déployer en quelques clics. Mieux encore ? Les applications déployées par les App Installers sont automatiquement mises à jour, exactement comme celles du Mac App Store.

App Installers, la nouvelle application phare de Jamf School

... Mais App Installers n’est pas une nouveauté !

Si vous êtes en train de vous dire « Attendez une seconde. Cela fait un moment que j’entends Jamf parler des App Installers », vous avez raison. Jamf les a évoqués pour la première fois lors de la JNUC 2021 et cette technologie est sortie quelque temps après en version anticipée dans Jamf Pro. Depuis, elle est devenue accessible à tous, mais elle n’a jamais été disponible dans une autre solution MDM jusqu’à maintenant.

Élargir la prise en charge de la gestion des applications

App Installers a été conçu pour Jamf – et pas seulement pour Jamf Pro. Et c’est une excellente nouvelle pour les administrateurs chargés de gérer des Mac sur différentes plateformes Jamf.

App Installers est un service à part entière. Il ne fait pas partie de la base de code de Jamf Pro, ce qui signifie que Jamf School (et Jamf Now qui a aussi récemment reçu cette intégration) utilise le même service App Installers que Jamf Pro. Autrement dit, les administrateurs Jamf School reçoivent les mêmes paquets que les administrateurs Jamf Pro.

Un service, de nombreuses possibilités

App Installers est un service unique qui profite à toutes les solutions de gestion des appareils Jamf : Jamf Pro, Jamf School et Jamf Now.

Et maintenant, quelques exemples ! Imaginons que Google Chrome ait récemment été mis à jour. L’équipe Jamf App Installers surveille ces mises à jour, les teste et crée un seul paquet mis à jour. Ce paquet est ensuite mis à la disposition des trois plateformes : cette approche est bien plus cohérente et robuste que s’il fallait produire un paquet par solution.

Tout savoir sur App Installers dans Jamf School

Si vous êtes administrateur Jamf School, jetons ensemble un coup d’œil sous le capot – c’est toujours utile pour le dépannage. Si vous utilisez à la fois Jamf Pro et Jamf School, cette section vous rafraîchira la mémoire. Vous y trouverez également un aperçu de l’implémentation de ce service dans Jamf School, qui présente des différences par rapport à Jamf Pro.

Commençons par voir à quel point il est simple d’intégrer App Installers dans Jamf School.

Premiers pas avec App Installers

Pour commencer à utiliser App Installers, il faut d’abord intégrer le service. Si vous avez déjà installé le module de script ou connecté Jamf School à Jamf Safe Internet, vous ne serez pas perdu.

La connexion se fait en un clic.

Une fois que vous êtes connecté à votre instance Jamf School, naviguez vers OrganisationRéglagesModules. C’est là que vous trouverez le nouveau module App Installers. Cliquez sur le module, lisez et acceptez les conditions générales, puis cliquez sur le bouton « Activer App Installers ».

Screenshot of Jamf School App Installers Terms and Conditions

Une fois la connexion établie, une petite bannière verte apparaît dans le coin supérieur droit : c’est la confirmation que l’intégration a réussi. Une fois cette simple étape franchie, le service App Installers est connecté à votre environnement Jamf School et vous pouvez commencer à l’utiliser.

Cliquez sur le menu Applications dans la barre latérale pour accéder au nouveau menu App Installers.

Screenshot of Jamf School App Installers

Lorsque vous cliquez pour la première fois sur le menu App Installers, l’inventaire d’App Installers est vide. Vous allez ajouter les App Installers que vous souhaitez déployer dans votre environnement.

Screenshot of App Installers Inventory

Pour sélectionner et ajouter des App Installers, cliquez sur le bouton « + Ajouter une app » dans le coin supérieur droit de la fenêtre. Une nouvelle fenêtre s’ouvre avec la liste de tous les App Installers disponibles. Naviguez jusqu’à l’application qui vous intéresse, puis sélectionnez simplement le bouton « Ajouter » à côté de l’application. Vous pouvez sélectionner plusieurs applications en même temps. Lorsque vous avez sélectionné toutes les applications nécessaires à votre environnement, cliquez sur le bouton « Terminé » pour finaliser l’opération.

Screenshot of App Installers list of available apps

Une fois revenu sur la page principale de l’inventaire d’App Installers, vous voyez tous ceux que vous avez ajoutés, accompagnés d’informations utiles sur chaque application :

  • Nom
  • Fournisseur
  • Version

Ainsi que la date de la « dernière mise à jour » par App Installer. Lorsque vous ajoutez un App Installer pour la première fois, il est considéré comme « à jour » ; par la suite, vous trouverez dans cette colonne le temps écoulé depuis l’ajout d’une nouvelle version d’une app au service App Installers – toujours peu de temps après la mise à jour du fournisseur.

Remarque : Il peut y avoir un petit délai entre la sortie d’une nouvelle version par un fournisseur et la publication de cette version dans les App Installers. C’est normal : cette brève pause donne à l’équipe App Installers le temps nécessaire pour tester, valider et créer le paquet App Installers avant de le mettre à disposition des environnements de production.

Screenshot of App Installers inventory list of apps

Maintenant que vous avez des App Installers dans votre inventaire, l’étape suivante consiste à déployer les applications sur vos appareils. Cela peut se faire de différentes manières, en fonction de votre configuration et les besoins de votre organisation. Comme avec les applications du Mac App Store ou les paquets macOS internes, les administrateurs disposent des méthodes suivantes pour déployer des applications :

  • Directement à partir de l’App Installer, en cliquant sur le nom de l’application puis en sélectionnant le ou les groupes d’appareils cibles.
  • Via un groupe d’appareils ou un groupe intelligent, en sélectionnant l’onglet Apps dans le groupe puis en sélectionnant les App Installers requis.
  • Directement sur un appareil, en utilisant le menu Détails de l’appareil, en choisissant des applications puis en recherchant et en sélectionnant les App Installers requis.

Actuellement, lorsqu’un App Installer est attribué à un appareil via l’une des méthodes ci-dessus, l’installation se fera au prochain check-in de l’appareil. Vous pouvez en avoir la confirmation au moment du check-in en accédant à un appareil dans le menu AppareilsInventaire et en le sélectionnant pour afficher les détails de l’appareil.

Des données de journalisation spécifiques relatives au déploiement des applications via App Installers sont disponibles dans la section « Journal d’activité ». Parcourez les enregistrements en recherchant une action intitulée « Installer l’application (nom de l’application) » pour obtenir des détails pertinents, tels que l’état, la cible et l’horodatage.

Screenshot of Jamf School device activity log

Que se passe-t-il si une version de l’application existe déjà sur le Mac ?

Si l’application déployée par un App Installer est déjà présente sur l’appareil, aucun souci. Il n’est pas nécessaire que les applications aient été déployées par des App Installers pour que ces derniers puissent les mettre à jour par la suite.

Par exemple, si l’application de l’App Installer est une version plus récente que celle qui est installée sur l’appareil, l’App Installer la mettra à jour vers la version de votre inventaire.

Et si l’application est lancée au moment de la mise à jour par l’App Installer ?

Si l’app est ouverte au moment du déploiement ou de la mise à jour, la logique intégrée d’App Installer informera l’utilisateur que l’app doit être mise à jour et l’invitera à la fermer.

Screenshot of App Installers notification alerting the user that the app to be updated needs to be quit

Comment les App Installers gèrent-ils les applications dans macOS ?

En trois mots : profils de configuration.

Selon les App Installers choisis, il se peut que les appareils gérés par Jamf School aient un profil App Installer installé pour chaque application visée. Cela permet de renforcer la sécurité et la conformité des applications concernées et les empêche d’utiliser la fonctionnalité de mise à jour intégrée du fournisseur.

De cette manière, les réglages de l’application gérée sont conservés tels qu’ils ont été configurés par les administrateurs Mac, et la mise à jour est gérée par les App Installers, en adéquation avec les besoins et les normes de l’organisation. Ceux-ci peuvent être consultés sur l’appareil en accédant à Réglages systèmeProfils, ou dans la console Jamf School en sélectionnant un appareil puis en choisissant l’onglet « Autres profils ».

Screenshot of Profiles preference pane with App Installers profile installed.
Screenshot of App Installers device record with matching MDM installed profiles.

Comment fonctionne le service App Installers ?

Bien que le déploiement des App Installers fonctionne en apparence comme celui des applications du Mac App Store, prenons un moment pour en explorer les détails. Voyons les différents composants pour mieux comprendre ce qui se passe sur vos appareils et savoir où chercher en cas de problème.

Les App Installers sont composés de deux parties :

  1. La commande du cadre MDM qui délivre le paquet App Installers,
  2. et le paquet App Installers lui-même.

Commande du cadre MDM

Comme pour toutes les autres commandes MDM, Jamf School utilise APNS pour envoyer la commande InstallEnterpriseApplication à l’appareil. La commande elle-même indique simplement à l’appareil qu’il doit télécharger un paquet à partir d’un endroit donné. Dans notre cas, il s’agit du service App Installers.

C’est aussi simple que cela. Cette commande ne fait pas grand-chose de plus, mais comme toujours, si votre configuration réseau interfère avec le trafic APNS, vous risquez de rencontrer des problèmes – et d’en avoir aussi avec d’autres aspects de la gestion, comme les déploiements Mac App Store.

Paquet App Installers

Le paquet App Installers est la véritable star du spectacle. Comme indiqué plus haut, l’équipe App Installers a programmé des vérifications, des fonctionnalités et une logique supplémentaires qui s’exécuteront avant et après l’installation d’une application. Le but est de simplifier l’utilisation d’App Installers pour les personnes chargées d’administrer les appareils Mac scolaires.

En d’autres termes, il ne s’agit pas simplement de télécharger une application sur le site web du fournisseur et de la copier dans le dossier Applications de votre Mac.

Loin de là...

Une fois que le paquet App Installers est arrivé sur la machine :

  1. Il crée un dossier dans /Library/Application Support/JamfAppInstallers avec toutes les ressources dont il a besoin pour l’installation – scripts de pré-installation et de post-installation, application à installer.
  2. Il ajoute un démon de lancement qui initie le processus en exécutant les scripts. Comme il s’agit d’un LaunchDaemon, le processus démarre automatiquement, que l’utilisateur soit connecté ou non.
  3. La logique intégrée s’applique ensuite : elle vérifie par exemple si l’application est déjà ouverte et attend qu’elle soit fermée pour la mettre à jour.
  4. Les applications déployées sont ensuite déplacées dans le dossier Applications avant que les scripts post-installation ne soient exécutés (dans le cas d’installations plus complexes).
  5. Un nettoyage supprime le LaunchDaemon et le dossier d’application spécifique créé dans le dossier JamfAppInstallers à l’étape 1.

Éléments de dépannage

La commande MDM se contente d’indiquer à l’appareil de télécharger une application à partir d’un emplacement distant ; c’est le paquet App Installers qui installe réellement l’application. Cela dit, il peut arriver que vous ayez besoin de résoudre un problème.

Comme indiqué dans la documentation Apple Developer :

« Dans macOS, l’appareil renvoie une réponse Acknowledged après avoir validé les paramètres, mais avant de télécharger et d’installer l’application. Cependant, il n’informe pas le serveur MDM des erreurs qui peuvent se produire pendant le processus d’installation. »

Autrement dit, l’appareil indique à Jamf School qu’il a bien reçu la commande et qu’il accepte implicitement de télécharger l’application. Toutefois, cela ne signifie pas que le téléchargement ou l’installation a réussi, ce qui peut créer un paradoxe : Jamf School indique que l’application est installée dans la fenêtre Appareil → Applications gérées, mais l’application n’a pas été réellement installée sur l’appareil.

Il ne faut pas déduire de la réussite de la commande MDM que l’application a bien été déployée. Il est préférable de vérifier l’installation de l’application.

Screenshot confirming app installation status by device.

En cas de problème, il est préférable de savoir où chercher les erreurs sur l’appareil. Les meilleurs endroits à explorer en cas d’échec de l’installation :

Console.app

Ouvrez l’application Console sur l’appareil et sélectionnez Commencer à diffuser dans la fenêtre principale. Le système diffuse maintenant les journaux pour l’ensemble du système. Pour simplifier, nous ne nous intéressons qu’à l’activité des App Installers. Pour limiter les journaux à cette activité, saisissez com.Jamf.appinstallers dans la barre de recherche située dans le coin supérieur droit de la fenêtre.

De retour dans la console Jamf School, sélectionnez le bouton Réinstaller à côté de l’application problématique.

Surveillez l’application Console sur macOS pendant que le processus App Installer redémarre et génère de nouveaux journaux.

Screenshot of activity logging by device.

Examinez chaque entrée de journal pour détecter les erreurs qui se produisent pendant l’installation. Toutefois, si aucune entrée de journal ne s’affiche alors que vous avez cliqué sur Réinstaller, il est probable que le problème soit lié au téléchargement du paquet à distance.

Fichiers du système

Dans un sous-répertoire de macOS se trouve le fichier installinfo.plist qui fournit des informations sur toutes les applications installées par la MDM, qu’elles aient été déployées à partir de l’App Store, des App Installers ou de paquets macOS personnalisés.

Le chemin complet de ce répertoire est le suivant : /var/db/ConfigurationProfiles/Settings/Managed Applications/Device/_Completed/. Il peut contenir de nombreux fichiers PLIST, selon le nombre d’applications qui ont été déployées via la MDM. Ils sont tous identifiables par leur UUID, qui figure dans le nom de fichier.

Il est presque impossible de savoir lequel correspond à la dernière tentative d’installation en se basant uniquement sur le nom du fichier. Toutefois, chaque PLIST est horodaté afin d’aider les administrateurs à localiser celui dont l’horodatage est le plus proche de la commande de réinstallation la plus récente. Une fois que vous avez sélectionné le PLIST correct, appuyez sur la barre d’espace pour ouvrir un aperçu rapide du fichier.

Screenshot of UUID and QuickLook of the contents of the XML structure.

Localisez la clé intitulée InstallFailed. Elle sera accompagnée de la valeur true (échec de l’installation) ou false (réussite de l’installation). Si une erreur a été signalée, les détails seront inclus dans le PLIST.

Remarque : les détails de l’erreur peuvent être très clairs – « Download from failed. » (échec du téléchargement depuis ou nécessiter un peu plus de recherche pour comprendre le problème à l’origine de l’erreur.

App Installers nécessite-t-il une configuration supplémentaire ?

La réponse courte est non.

Il suffit d’intégrer le service, d’ajouter les App Installers de votre choix et de les attribuer à vos appareils. Aucune autre configuration n’est nécessaire pour le déploiement. Mais cela ne vous empêche pas d’ajouter des configurations supplémentaires pour améliorer l’expérience de l’utilisateur final, par exemple en uniformisant les processus d’installation ou de mise à jour.

Comme indiqué précédemment, App Installers utilise des LaunchDaemons et d’autres processus privilégiés qui l’exécutent en arrière-plan. Dans les versions récentes de macOS, l’installation via le processus d’arrière-plan et les éléments de connexion apporte davantage de transparence du point de vue de l’utilisateur final. Celui-ci voit en effet une bannière de notification lorsqu’un processus d’arrière-plan apporte une modification.

Screenshot of notification banner letting user know background processes are occurring.

Apple fait toujours de la sécurité et de la confidentialité des priorités. C’est pour cette raison que des notifications informent les utilisateurs quand une application agit en arrière-plan. De très nombreux processus d’arrière-plan sont tout à fait sûrs et nécessaires au fonctionnement du système. Et c’est d’autant plus vrai dans les environnements gérés. Les administrateurs ne tiennent pas à ce que les utilisateurs empêchent un processus d’arrière-plan ou une application de démarrage. Jamf Connect, par exemple, lance plusieurs éléments à la connexion.

Par défaut, chaque Mac inscrit dans Jamf School a reçu une configuration qui empêche les utilisateurs finaux de désactiver les processus d’arrière-plan des App Installers.

Conseil de pro : Les administrateurs peuvent affiner la configuration ci-dessus en se rendant dans Paramètres du système → Profils et en examinant le profil nommé Jamf Background Safelist. Il est également possible de gérer les paramètres d’affichage de ce message, et même de le supprimer complètement.

Masquer les notifications des App Installers

Pour ce faire, il faut créer une charge utile Notifications dans un profil, puis la déployer sur l’appareil géré.

  1. On recommande de télécharger un outil doté d’une interface graphique, comme iMazing Profile Editor ou ProfileCreator, plus faciles à utiliser, mais si vous aimez créer des profils à partir de rien, c’est également possible.
  2. Vous devez fournir au minimum l’identifiant du bundle com.apple.BTMNotificationAgent, ainsi que la charge utile NotificationsEnabled avec le paramètre défini sur false.

Conseil de pro : Il est intéressant de noter que le profil ci-dessus supprimera également les notifications pour les éléments d’ouverture de session d’autres applications installées via la MDM – pas seulement celles des App Installers. Si vous gérez déjà des éléments d’ouverture de session en lien avec d’autres applications, il y a de fortes chances que vous ayez déjà déployé cette configuration.

Remarque : L’extrait de code ci-dessous correspond au minimum requis pour empêcher l’apparition des bannières de notification quand les App Installers sont déployés sur un appareil géré.

Réglages de notification recommandés

Toutefois, si l’on choisit de préserver l’expérience utilisateur légendaire d’Apple, on activera les notifications qui informent les utilisateurs finaux lorsqu’une app doit être mise à jour.

Remarque : Ce réglage n’est pas nécessaire pour utiliser les App Installers. Mais sans lui, les utilisateurs pourraient – intentionnellement ou non – désactiver les notifications des App Installers. Ils seront ainsi privés de ces messages importants au moment de l’installation ou de la mise à jour d’une application.

Screenshot of managed Alert banner for App Installers.

Configuration des alertes pour les notifications critiques

Par défaut, les notifications sont configurées comme des bannières temporaires. Autrement dit, elles disparaissent après un court laps de temps, contrairement à une alerte, qui doit être explicitement validée par l’utilisateur. Pour configurer des alertes, procédez comme suit :

  1. Créez la charge utile d’une notification pour le domaine com.jamfsoftware.selfservice.Mac selon vos préférences de livraison des notifications.
  2. Vous devez également spécifier le réglage mcx_preference_settings pour le domaine com.jamf.appinstallers.notify avec, au minimum, la clé notify_identifier et la valeur com.jamfsoftware.selfservice.mac.

Remarque : Vous trouverez ci-dessous un extrait du code complet nécessaire à la création d’un profil d’alerte.

Il existe une liste complète de clés mcx_preference_settings qui peuvent être modifiées afin de répondre aux besoins uniques de votre organisation, mais l’extrait de code ci-dessus contient le minimum requis pour une approche universelle de la configuration des notifications.

Déployer des profils de notification personnalisés

Une fois les deux profils de configuration enregistrés, ils peuvent être importés dans Jamf School à l’aide de l’option Importer un profil personnalisé. Une fois disponibles dans Jamf School, ils peuvent être appliqués à tous les appareils avec lesquels vous utiliserez les App Installers.

Screenshot of upload screen for configuration profiles.

Aujourd’hui, ces deux options reposent la configuration supplémentaire mentionnée ci-dessus. Mais au fil de l’amélioration de Jamf School itère et de l’intégration des App Installers, il se peut que ces options soient intégrées à la console.

Encore une chose...

App Installers n’est pas le Mac App Store : ils sont parfaits pour installer des applications, mais n’offrent aucun moyen, via le cadre MDM, de supprimer des applications installées. Si vous retirez des appareils d’un groupe cible ou que vous supprimez un App Installer de votre inventaire, Jamf School supprimera les profils de configuration associés, mais l’application elle-même sera conservée. Et c’est le cas même si vous avez coché la case « Supprimer cette application en cas de suppression du profil de gestion ».

Screenshot of the App Installer settings screen.

À l’heure actuelle, le cadre ne permet tout simplement pas de désinstaller les applications déployées. Pour les administrateurs, la meilleure méthode pour ce faire consiste tout simplement à utiliser le programme de désinstallation fourni par le fournisseur ou le module de script pour programmer la suppression des applications inutiles.

Les enseignants sont là pour enseigner, pas pour installer et mettre à jour des applications à la main, vous ne croyez pas ?

Travaillez mieux, pas plus, en automatisant ces tâches fastidieuses grâce à App Installers, le nouveau service Jamf School qui pense au bien-être des administrateurs.

S'abonner au blog

Recevez directement dans votre boîte mail les tendances du marché informatique, les mises à jour Apple et les actualités Jamf.

Pour en savoir plus sur la manière dont nous collectons, utilisons, partageons, transférons et protégeant vos informations personnelles, veuillez consulter notre Politique de confidentialité.