
Connaître les phases d’application des mises à jour logicielles d’Apple
L’application des mises à jour logicielles via la gestion des appareils comprend cinq principaux composants :
le service de gestion des appareils
l’appareil ;
l’utilisateur ;
le service ALS (Apple Lookup Service) ;
le catalogue Apple Software Update.
Phase 1
Le service de gestion des appareils surveille régulièrement le service ALS (Apple Software Lookup Service) pour connaître les nouvelles versions. Si elle détecte une version, elle utilise la clé SupportedDevices
du catalogue et la compare à sa liste d’appareils gérés pour déterminer à quels appareils la version est applicable.
Le service de gestion des appareils doit également s’abonner aux rapports d’état softwareupdate.
et device.operating-system.
afin de recevoir automatiquement des mises à jour si l’une de ces valeurs change.

Phase 2
Le service de gestion des appareils crée une déclaration com.apple.configuration.softwareupdate.enforcement.specific
avec la version détectée, et définit TargetLocalDateTime
et, en option, DetailsURL
en fonction des exigences de l’établissement. Le service de gestion des appareils envoie ensuite une notification push à l’appareil pour déclencher la synchronisation des déclarations. Pour en savoir plus, consultez la page Integrating Declarative Management (en anglais) sur le site web Apple Developer.

Phase 3
Lorsque la déclaration devient active sur un appareil, le système d’exploitation communique avec le catalogue Apple Software Update pour récupérer l’URL de téléchargement et commence à télécharger la mise à jour si les exigences sont satisfaites. L’appareil présente alors une notification à l’utilisateur et renvoie les informations suivantes au service de gestion des appareils :
1. Une valeur softwareupdate.install-state
« en attente », qui indique que le processus de demande de mise à jour a commencé.
2. Une valeur softwareupdate.install-state
« téléchargement », qui indique que la mise à jour est en cours de téléchargement par l’appareil.
Si un service de mise en cache de contenu est à la disposition de l’appareil, il tente de télécharger la mise à jour logicielle à partir du cache de contenu.
Une fois le téléchargement de la mise à jour terminé, l’appareil la prépare à l’installation. Une fois ce processus terminé, le système d’exploitation envoie une valeur softwareupdate.install-state
prepared
au service de gestion des appareils.

Phase 4
L’appareil passe alors en période de notification. En fonction du moment auquel l’installation doit avoir lieu, cette notification peut afficher un texte différent et différentes options.

Phase 5
Si l’utilisateur n’a pas installé la mise à jour avant la date limite de mise en application, l’appareil commence l’installation et envoie une valeur softwareupdate.install-state
installing
au service de gestion des appareils. Avant de commencer l’installation, un Mac doté d’une puce Apple contacte le service de gestion des appareils pour récupérer le jeton d’amorçage (si un jeton est disponible).
Si la mise à jour réussit, l’appareil redémarre. Si la mise à jour échoue, une valeur softwareupdate.install-state
« failed
» est envoyée. Dans les deux cas, l’appareil envoie un rapport d’état softwareupdate.failure-reason
. Si la mise à jour a réussi, la clé « count » indique la valeur 0
.

Phase 6
L’appareil envoie ensuite les informations suivantes au service de gestion des appareils. En fonction de la mise à jour, certains objets peuvent ne pas présenter de valeurs renvoyées.
StatusDeviceOperatingSystemVersion : Un rapport d’état de la version du système d’exploitation de l’appareil.
StatusDeviceOperatingSystemBuildVersion : Un rapport d’état de l’identifiant d’assemblage du logiciel de l’appareil.
StatusDeviceOperatingSystemSupplementalBuildVersion : Un rapport d’état de la version du système d’exploitation et de l’identifiant d’assemblage de mise à jour de sécurité urgente de l’appareil.
StatusDeviceOperatingSystemSupplementalExtraVersion : Un rapport d’état de l’identifiant de mise à jour de sécurité urgente du système d’exploitation de l’appareil.

Phase 7
Le service de gestion des appareils supprime l’attribution de la déclaration de lʼappareil et lui envoie une notification push pour lancer la synchronisation. Après la synchronisation, l’appareil supprime la déclaration.
