Dynamic Island : qu'est-ce que c'est, interaction avec Dynamic Island

Auteur : IT Sectr Publié le : 2026-02-28 Temps de lecture : 9 min

Dynamic Island est une zone interactive en haut de l'iPhone 14 Pro et de tous les iPhone 15/16 qui combine notifications, activités en arrière-plan et indicateurs système dans une seule zone dynamique. Contrairement à l'encoche traditionnelle (notch), Dynamic Island change de forme et de taille selon le contexte actuel. Selon Apple (WWDC 2024), les utilisateurs interagissent avec Dynamic Island en moyenne 12 fois par jour — via des tapots, des pressions longues et des Live Activities avec ActivityKit. En savoir plus sur les animations dans iOS dans l'article sur Corner Radius.

Points clés

  • Dynamic Island est une solution logicielle-matérielle d'Apple qui remplace l'encoche par une zone interactive à géométrie variable.
  • Live Activities sont des widgets sur Dynamic Island fonctionnant via le framework ActivityKit (iOS 16.1+).
  • Trois états : compact (icône), minimal (pilule), étendu (panneau avec contenu).
  • ActivityKit est un framework Swift pour publier des Live Activities sur Dynamic Island et l'écran de verrouillage.
  • Dynamic Island prend en charge les gestes : tap pour ouvrir l'application, pression longue pour développer le panneau.

Qu'est-ce que Dynamic Island ?

Dynamic Island est une zone interactive basée sur la solution logicielle-matérielle d'Apple, présentée en septembre 2022 avec l'iPhone 14 Pro. Physiquement, il s'agit d'une découpe en forme de pilule entourée de pixels OLED qui changent dynamiquement de couleur et de forme. Apple utilise une combinaison d'une découpe matérielle pour la caméra et Face ID avec un rendu logiciel des zones noires autour, créant l'illusion d'une île « vivante ».

L'objectif principal de Dynamic Island est de combler le fossé entre les notifications système et le contenu actif. Au lieu que les notifications apparaissent au centre de l'écran (comme sur Android) ou sous forme de bannières en haut (comme sur les anciennes versions d'iOS), Dynamic Island les intègre directement dans la zone matérielle. Cela réduit les distractions et crée une sensation d'espace unifié.

Selon les données d'Apple (Statistiques d'adoption d'iOS 17, 2024), Dynamic Island est disponible sur 38 % des iPhone actifs. À partir de l'iPhone 15 (2023), tous les modèles de la gamme ont reçu Dynamic Island, y compris les modèles de base. Dans iOS 18, Apple a étendu l'API Live Activities, ajoutant la prise en charge des minuteries de compte à rebours et des résultats sportifs directement sur Dynamic Island.

Quels modèles prennent en charge Dynamic Island

Dynamic Island est disponible sur iPhone 14 Pro, iPhone 14 Pro Max, iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max, iPhone 16, iPhone 16 Plus, iPhone 16 Pro, iPhone 16 Pro Max. Dynamic Island n'est pas disponible sur iPad. Le développement pour Dynamic Island nécessite Xcode 14.1+ et iOS 16.1+.

Comment fonctionne Dynamic Island : trois états

Dynamic Island prend en charge trois états d'affichage : compact, minimal et étendu. Les transitions entre les états sont animées à l'aide d'animations UIKit et Core Animation. Le système gère lui-même la priorité des activités : si plusieurs applications tentent d'afficher du contenu simultanément, iOS utilise une file d'attente basée sur l'heure de début de la dernière activité.

ÉtatTailleContenuExemple
Compact49×18 ptIcône d'application + icône systèmeMinuteur, musique, appel
MinimalJusqu'à 66×18 ptIcône + texte courtDirections de navigation, pas
ÉtenduJusqu'à 364×160 ptWidget complet avec contenuScore sportif, statut du taxi

État compact est la vue standard de Dynamic Island lorsqu'une tâche en arrière-plan est active. Il apparaît comme une pilule arrondie avec l'icône de l'application à gauche et une icône système à droite. Par défaut, toutes les Live Activities commencent en état compact.

État minimal se produit lorsque deux tâches ou plus sont actives simultanément. Dynamic Island se « divise » en deux éléments séparés à gauche et à droite de la caméra. L'état minimal permet d'afficher deux sources d'information indépendantes, comme le temps d'arrivée du taxi et le morceau en cours.

État étendu est activé par une pression longue sur Dynamic Island. Dans ce mode, un widget complet avec contenu personnalisable est affiché : titres, descriptions, barres de progression, boutons. L'état étendu prend en charge le défilement et les éléments interactifs.

ActivityKit et Live Activities : API Swift

ActivityKit est un framework Swift introduit dans iOS 16.1 qui permet aux applications de publier des Live Activities sur Dynamic Island et l'écran de verrouillage. ActivityKit utilise une architecture basée sur ActivityView et ActivityAttributes : le premier définit le type de contenu, le second définit les données modifiables. Le framework fonctionne conjointement avec WidgetKit, mais contrairement aux widgets, les Live Activities peuvent être mises à jour en temps réel sans ouvrir l'application.

swift
import ActivityKit
import SwiftUI

// Définir les attributs de l'activité
struct DeliveryAttributes: ActivityAttributes {
    public struct ContentState: Codable, Hashable {
        var driverName: String
        var distanceToArrival: Double
        var estimatedMinutes: Int
    }
    var orderNumber: String
}

// Démarrer Live Activity
func startDeliveryActivity() {
    let initialState = DeliveryAttributes.ContentState(
        driverName: "Alexeï",
        distanceToArrival: 3.5,
        estimatedMinutes: 12
    )
    let attributes = DeliveryAttributes(orderNumber: "ORD-2024-8912")
    let activity = try? Activity.request(
        attributes: attributes,
        contentState: initialState,
        pushType: .token
    )
}

Live Activities sont mises à jour via ActivityView, qui rend le contenu SwiftUI pour Dynamic Island. Le système détermine lui-même quel modèle utiliser (compact, minimal ou étendu) en fonction de la taille de Dynamic Island et du nombre d'activités. Pour mettre à jour le contenu, appelez activity.update(using: contentState). Pour terminer — activity.end(dismissalPolicy: .immediate).

Notifications dynamiques avec mises à jour push

ActivityKit prend en charge les mises à jour push via APNs (Apple Push Notification Service). Au démarrage d'une Live Activity, vous pouvez demander un pushToken et envoyer des mises à jour depuis le serveur sans avoir à lancer l'application sur l'appareil. Les mises à jour push fonctionnent via activity.pushToken et Activity.pushToStartToken pour le démarrage à distance de Live Activities.

swift
// Mettre à jour Live Activity via Push
func updateActivity(activity: Activity<DeliveryAttributes>) {
    let updatedState = DeliveryAttributes.ContentState(
        driverName: "Alexeï",
        distanceToArrival: 1.2,
        estimatedMinutes: 4
    )
    let alertConfiguration = AlertConfiguration(
        title: "Livreur à proximité",
        body: "Alexeï arrivera dans 4 minutes",
        sound: .default
    )
    await activity.update(
        using: updatedState,
        alertConfiguration: alertConfiguration
    )
}

AlertConfiguration est un paramètre optionnel qui affiche une notification au-dessus de Dynamic Island pour les mises à jour importantes (par exemple, « Le livreur est arrivé »). Sans AlertConfiguration, le contenu est mis à jour silencieusement, ce qui convient aux barres de progression et aux minuteries.

Dynamic Island vs Notch : comparaison

Notch (encoche) est la découpe matérielle de l'iPhone X–13 qui contient la caméra frontale, le capteur Face ID et le haut-parleur. L'encoche est statique : sa taille et sa forme ne changent pas, et les notifications s'affichent en dessous sous forme de bannières standard. Dynamic Island, en revanche, utilise les pixels autour de la découpe pour afficher du contenu, faisant de l'élément matériel une partie de l'interface.

CritèreDynamic IslandNotch
InteractivitéPrend en charge les tapots, pressions longues, balayagesNon interactif
Adaptation du contenuChange de forme selon le contexteStatique, contenu sous l'encoche
Live ActivitiesPrise en charge intégrée via ActivityKitNon — notifications standard uniquement
MultitâcheDeux activités simultanées (gauche et droite)Une seule activité
DisponibilitéiOS 16.1+, iPhone 14 Pro et plus récentsiOS 11+, iPhone X–13

Selon les Apple Human Interface Guidelines (2025), Dynamic Island ne doit pas être utilisé pour la publicité ou l'affichage permanent de contenu statique. Les Live Activities sont destinées uniquement aux tâches en arrière-plan avec un cycle de vie clair : minuteries, livraison, sport, musique, navigation. La violation de ces règles entraîne le rejet de l'application lors de la révision App Store.

Cycle de vie et gestes de Dynamic Island

Dynamic Island a un cycle de vie strict : une activité commence par une requête via Activity.request(), passe par les états active/pause/mise à jour et se termine par un appel à activity.end(). Le système peut forcer la fin d'une activité en cas de manque de mémoire (par exemple, lors du lancement de la caméra). Dans ce cas, l'application reçoit une notification via ActivityActivityState.finished.

Les gestes sur Dynamic Island sont gérés par le contenu SwiftUI dans ActivityView. Gestes standard : tap sur l'état compact ouvre l'application, pression longue développe l'état étendu, balayage vers le bas ferme l'état étendu. Les gestes personnalisés sont ajoutés via des modificateurs SwiftUI (onTapGesture, onLongPressGesture) dans la vue d'activité.

Gestion de l'état finished

Lorsque le système termine une Live Activity (ou que l'utilisateur la supprime par balayage), l'application doit gérer l'état finished pour libérer les ressources. Il est recommandé de s'abonner à Activity.activityStateUpdates et de supprimer les références locales à l'activité après la fin.

swift
import ActivityKit

func observeActivityState(activity: Activity<DeliveryAttributes>) {
    Task {
        for await state in activity.activityStateUpdates {
            switch state {
            case .active:
                print("Activité active sur Dynamic Island")
            case .dismissed:
                print("Activité masquée par l'utilisateur")
                await activity.end(dismissalPolicy: .immediate)
            case .finished:
                print("Activité terminée par le système")
                cleanupResources()
            @unknown default:
                break
            }
        }
    }
}

Recommandation d'Apple (WWDC 2024, Session 10146) : n'utilisez pas Dynamic Island pour afficher des statuts qui ne nécessitent pas l'attention de l'utilisateur. Chaque Live Activity doit avoir un déclencheur de début et de fin clair. Pour les mises à jour en arrière-plan sans interface utilisateur, utilisez Background Tasks plutôt que Live Activities.

Foire aux questions

Sur quels iPhone Dynamic Island fonctionne-t-il ?

Dynamic Island est disponible sur iPhone 14 Pro, 14 Pro Max et tous les modèles iPhone 15 et iPhone 16 (y compris les versions de base). Le développement nécessite iOS 16.1+ et Xcode 14.1. Sur les modèles plus anciens (iPhone X–13), une encoche statique est utilisée, qui ne prend pas en charge les Live Activities.

En quoi Dynamic Island diffère-t-il d'une notification ordinaire ?

Dynamic Island intègre la notification dans la zone matérielle de l'écran sans masquer le contenu. Une notification ordinaire apparaît sous forme de bannière en haut et disparaît après quelques secondes. Les Live Activities sur Dynamic Island peuvent rester actives pendant des heures et se mettre à jour en temps réel (statut de livraison, minuteur, musique).

Comment mettre à jour le contenu sur Dynamic Island sans ouvrir l'application ?

Utilisez les mises à jour push via APNs. Au démarrage d'une Live Activity, appelez activity.pushToken et envoyez le jeton à votre serveur. Le serveur envoie une demande de mise à jour via APNs avec le nouveau ContentState. Une alternative consiste à effectuer des mises à jour locales via activity.update(using:) depuis l'application elle-même.

Comment afficher deux activités simultanément sur Dynamic Island ?

iOS divise automatiquement Dynamic Island en deux segments lorsque deux Live Activities sont actives. Chaque activité s'affiche en état minimal à gauche et à droite de la caméra. Une pression longue sur l'un des segments ouvre l'état étendu uniquement pour cette application.

Pourquoi ma Live Activity n'apparaît-elle pas sur Dynamic Island ?

Vérifiez : (1) l'application a NSSupportsLiveActivities = YES dans Info.plist, (2) ActivityAttributes et ContentState implémentent Codable et Hashable, (3) la version iOS est 16.1+, (4) l'appareil prend en charge Dynamic Island. Pour le simulateur, utilisez iPhone 14 Pro ou plus récent dans Xcode.

Résumé

  • Dynamic Island est la zone interactive de l'iPhone 14 Pro+, remplaçant l'encoche statique.
  • Prend en charge trois états : compact, minimal et étendu avec des animations de transition fluides.
  • ActivityKit est un framework Swift pour publier des Live Activities sur Dynamic Island et l'écran de verrouillage.
  • Les Live Activities se mettent à jour via des appels locaux ou des notifications push via APNs.
  • Gestes : tap pour aller à l'application, pression longue pour développer le panneau, balayage pour fermer.
  • Dynamic Island prend en charge jusqu'à deux activités simultanées avec division en segments.
  • Apple limite l'utilisation des Live Activities aux seules tâches en arrière-plan avec des délais clairs.

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi