HealthKit : ce que c’est, comment ça fonctionne et intégration

Auteur : IT Sectr Publié le : 2026-03-25 Temps de lecture : 8 min

Le framework HealthKit est un composant central de l’écosystème santé d’Apple qui agrège les données de l’iPhone, de l’Apple Watch et des appareils tiers dans un stockage local sécurisé. Selon Apple Developer Documentation, 2025, la plateforme prend en charge plus de 100 types de données — de l’activité physique et du sommeil aux analyses de laboratoire et aux indicateurs cardiovasculaires. Un référentiel unique d’informations médicales assure une synchronisation transparente entre les applications avec un contrôle d’accès granulaire pour chaque type de données.

Points clés

  • HealthKit est le framework d’Apple pour collecter, stocker et partager des données de santé entre les applications iOS.
  • HKHealthStore est l’objet central par lequel les applications interagissent avec les données de santé.
  • Les types de données sont divisés en quantitatifs HKQuantityType et catégoriels HKCategoryType.
  • Confidentialité — chaque application demande une autorisation de lecture et d’écriture pour chaque type de données séparément.
  • Apple Watch transmet automatiquement les données d’activité, de fréquence cardiaque et d’entraînement à HealthKit.

Qu’est-ce que HealthKit ?

HealthKit est un framework d’Apple, présenté en 2014 avec iOS 8, conçu pour la gestion centralisée des données de santé et d’activité physique de l’utilisateur. La plateforme agit comme un référentiel unifié où les applications et les appareils peuvent écrire et lire des informations médicales.

Contrairement aux solutions tierces, HealthKit est intégré directement dans le système d’exploitation iOS, garantissant des performances et une sécurité élevées au niveau matériel. Les applications n’ont pas d’accès direct les unes aux autres — toutes les opérations passent par le HKHealthStore central.

Selon l’Apple WWDC 2024, plus de 87 % des utilisateurs d’iPhone aux États-Unis ont utilisé au moins une fois l’application Santé intégrée, qui repose sur HealthKit. L’écosystème comprend des milliers d’applications tierces — des trackers de fitness aux services de télémédecine.

Architecture de HealthKit

L’architecture de HealthKit est construite sur le principe d’un stockage à plusieurs niveaux avec des conteneurs isolés pour chaque source de données. Au niveau inférieur se trouve une base de données SQLite chiffrée avec AES-256 matériel. Au niveau supérieur se trouve HKHealthStore — l’interface d’interaction unifiée.

Chaque enregistrement contient des métadonnées : la source HKSource, l’appareil HKDevice, la date, l’heure et un indicateur de synchronisation iCloud. Le système déduplique automatiquement les enregistrements en double provenant de la même source, évitant ainsi la distorsion des données.

Les données sont regroupées par types — HKQuantityType pour les indicateurs numériques (fréquence cardiaque, pas, calories) et HKCategoryType pour les événements catégoriels (sommeil, symptômes, cycle menstruel). Cette structure permet d’interroger de manière flexible toute combinaison de paramètres via HKSampleQuery ou HKStatisticsQuery.

Types de données dans HealthKit

HealthKit prend en charge plus de 100 types standardisés de données, répartis en catégories : activité physique, nutrition, sommeil, système cardiovasculaire, santé reproductive, résultats de laboratoire et signes vitaux. Chaque type a une unité de mesure HKUnit et un niveau d’accès.

Les développeurs peuvent également créer des corrélations personnalisées via HKCorrelation — un groupe de mesures connexes. Par exemple, un enregistrement de repas peut inclure les calories, les protéines, les lipides et les glucides comme un seul objet. Pour les mesures séquentielles telles que les niveaux de glucose, HKSeriesSample est utilisé.

Travailler avec HealthKit commence par définir HKHealthStore — un singleton qui est créé automatiquement lors de l’importation du framework. Via le store, l’application vérifie si la plateforme est disponible sur l’appareil, car la prise en charge peut être absente sur iPad et iPod touch. Il est également important de noter que HealthKit n’est pas disponible sur Mac Catalyst — macOS nécessite une implémentation séparée.

swift
import HealthKit

let healthStore = HKHealthStore()

let stepType = HKQuantityType
    .quantityType(forIdentifier: .stepCount)

let heartRateType = HKQuantityType
    .quantityType(forIdentifier: .heartRate)

let typesToRead: Set = [stepType, heartRateType]

Comment fonctionne HealthKit

HealthKit agit comme un médiateur entre les sources de données et les applications, en utilisant un modèle asynchrone de publication-abonnement. L’application source écrit des données via HKHealthStore, et les applications abonnées reçoivent des notifications de nouveaux enregistrements via HKObserverQuery, qui s’exécute en arrière-plan.

Le framework prend en charge la synchronisation en arrière-plan via iCloud : si l’utilisateur est connecté, HealthKit distribue automatiquement les données à tous les appareils Apple en temps réel. En l’absence de réseau, les modifications sont mises en mémoire tampon localement et synchronisées lors du rétablissement de la connexion sans perte de données.

Selon Apple, le délai de synchronisation entre l’iPhone et l’Apple Watch est inférieur à 30 secondes pour les données d’activité. Pour les autres types — sommeil, nutrition, résultats de laboratoire — la synchronisation s’effectue selon un calendrier avec un intervalle allant jusqu’à 15 minutes pour économiser la batterie.

HKHealthStore et opérations sur les données

HKHealthStore est le singleton central par lequel toutes les opérations sont effectuées : enregistrement via saveObject, lecture via execute et suppression via deleteObject. Chaque opération est asynchrone et renvoie un résultat via une fermeture, ce qui nécessite une gestion appropriée des erreurs.

Les requêtes sont divisées en plusieurs types : HKSampleQuery pour récupérer des enregistrements par critères, HKStatisticsQuery pour les données agrégées — somme, moyenne, minimum, maximum — et HKObserverQuery pour suivre les changements en temps réel. Pour les mises à jour périodiques en arrière-plan, HKHeartbeatSeriesQuery est utilisé.

swift
let type = HKQuantityType
    .quantityType(forIdentifier: .stepCount)
let now = Date()
let start = Calendar.current
    .date(
        byAdding: .day,
        value: -7,
        to: now
    )
let predicate = HKQuery
    .predicateForSamples(
        withStart: start,
        end: now,
        options: .strictStartDate
    )
let query = HKSampleQuery(
    sampleType: type,
    predicate: predicate,
    limit: 100
) { _, samples, _ in
    for sample in samples as [HKQuantitySample] {
        print(sample.quantity)
    }
}
healthStore.execute(query)

Intégrer HealthKit dans une application

L’intégration de HealthKit commence par l’activation de la capacité HealthKit dans Xcode et l’ajout de l’entitlement au projet. Ensuite, l’application demande l’autorisation d’accéder à des types de données spécifiques via l’appel requestAuthorization. Important : HealthKit n’est pas disponible sur le simulateur et nécessite un appareil physique avec iOS.

Le processus d’intégration comprend trois étapes : définir les types de données, demander l’autorisation et effectuer des opérations de lecture et d’écriture. Chaque étape est asynchrone et doit gérer les erreurs — l’utilisateur peut refuser l’accès à tout type de données dans la boîte de dialogue système avec des interrupteurs.

Selon les recherches d’Apple, les applications avec intégration HealthKit montrent un niveau d’engagement des utilisateurs 40 % plus élevé. Le facteur clé de succès est d’expliquer pourquoi l’application a besoin de données de santé spécifiques dans la description de la demande d’autorisation.

Demande d’autorisation

La demande d’autorisation est effectuée une fois au premier lancement. L’application spécifie deux ensembles de types — pour la lecture et pour l’écriture. L’utilisateur voit une boîte de dialogue système avec des interrupteurs pour chaque type de données et peut accorder l’accès de manière sélective, en refusant les catégories inutiles.

swift
let typesToWrite: Set = [
    HKQuantityType
        .quantityType(
            forIdentifier: .dietaryEnergyConsumed
        )
]
let typesToRead: Set = [
    HKQuantityType
        .quantityType(
            forIdentifier: .stepCount
        )
]

healthStore.requestAuthorization(
    toShare: typesToWrite,
    read: typesToRead
) { success, error in
    if success {
        print("Autorisation obtenue")
    }
}

Sécurité de HealthKit

HealthKit implémente un modèle de sécurité multicouche comprenant le chiffrement matériel, le sandboxing des applications et des autorisations granulaires. Toutes les données de santé sont stockées chiffrées sur l’appareil et ne sont pas transmises à iCloud sans le consentement séparé de l’utilisateur, qui est demandé une seule fois.

Une caractéristique clé est le mécanisme Intent : l’application n’a pas d’accès constant en arrière-plan aux données. Chaque demande de lecture ou d’écriture est vérifiée par le système d’exploitation, et l’utilisateur peut révoquer l’autorisation à tout moment via Réglages — Confidentialité — Santé sans avoir à réinstaller l’application.

Apple réglemente strictement l’utilisation de HealthKit dans les Directives d’examen de l’App Store. L’application ne peut pas transférer les données HealthKit à des tiers sans consentement explicite, ne peut pas les utiliser pour la publicité ou le ciblage, et ne peut pas les stocker plus longtemps que nécessaire pour la fonctionnalité déclarée.

Limites et contraintes

HealthKit a plusieurs limites : la taille maximale de la base de données sur l’appareil est de 1 Go, la limite du nombre d’enregistrements dans une seule requête est de 1000, et l’intervalle minimum entre des types de données identiques est de 1 seconde. Le framework limite également les mises à jour en arrière-plan — pas plus de 60 déclenchements HKObserverQuery par jour.

Ces limitations sont compensées par les performances : la lecture de 1000 enregistrements prend en moyenne 50 à 100 millisecondes, et l’écriture d’un seul enregistrement prend moins de 10 millisecondes. Pour de gros volumes de données, il est recommandé d’utiliser HKStatisticsCollectionQuery avec pré-agrégation plutôt que de récupérer des enregistrements individuels. HealthKit traite les requêtes de manière asynchrone — l’application n’est pas bloquée en attendant les données de HKHealthStore.

Questions fréquentes

Quels appareils prennent en charge HealthKit ?

HealthKit est pris en charge sur tous les appareils avec iOS 8 et versions ultérieures, y compris iPhone, iPad et iPod touch. L’Apple Watch transmet automatiquement les données via l’iPhone appairé. Les appareils tiers — bracelets de fitness, balances, tensiomètres — peuvent écrire des données via l’API HealthKit si une application correspondante est disponible.

Peut-on exporter les données de HealthKit ?

Oui, l’application Santé permet d’exporter toutes les données au format XML via la fonction « Exporter les données de santé ». Les développeurs peuvent lire par programme tout type autorisé via HKSampleQuery et l’exporter dans leur propre format. Les données de santé ne peuvent pas être transférées vers des serveurs tiers sans le consentement explicite de l’utilisateur.

Comment HealthKit gère-t-il la suppression des données ?

L’utilisateur peut supprimer des données via l’application Santé ou via l’application source qui les a enregistrées. Après la suppression, les données ne peuvent pas être restaurées — HealthKit n’a pas de corbeille. L’opération de suppression est irréversible, il est donc recommandé aux applications de demander une confirmation avant d’exécuter deleteObject.

Quelle est la différence entre HealthKit et ResearchKit ?

HealthKit est conçu pour stocker et partager les données de santé de l’utilisateur, tandis que ResearchKit est un framework pour mener des recherches médicales. ResearchKit utilise HealthKit comme l’une de ses sources de données, mais ajoute des modules de consentement éclairé, de questionnaires et de tâches actives pour la collecte de données de recherche.

Une autorisation spéciale est-elle requise pour HealthKit dans l’App Store ?

Oui, les applications utilisant HealthKit doivent se conformer aux Directives d’examen de l’App Store, section 5.1.1 — Données médicales et de santé. Une description explicite de l’utilisation des données dans l’application, une politique de confidentialité, l’interdiction d’utilisation publicitaire des données et le chiffrement lors de la transmission réseau sont requis.

Résumé

  • HealthKit est le framework standard d’Apple pour gérer les données de santé dans iOS, introduit en 2014.
  • HKHealthStore est l’interface centrale pour toutes les opérations : enregistrer, lire et supprimer des données de santé.
  • La plateforme prend en charge plus de 100 types de données — de l’activité physique aux analyses de laboratoire.
  • La confidentialité des données est assurée par le chiffrement matériel AES-256 et des autorisations granulaires.
  • La synchronisation entre les appareils Apple s’effectue via iCloud avec un délai inférieur à 30 secondes.
  • L’intégration nécessite la configuration des entitlements dans Xcode et une demande d’autorisation obligatoire de l’utilisateur.
  • La sécurité de HealthKit est contrôlée via les paramètres de confidentialité du système et les politiques de l’App Store.

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