Partager via


Tutoriel : utiliser Eclipse ThreadX pour connecter un kit de découverte STMicroelectronics B-L475E-IOT01A à IoT Hub

Parcourir le code

Dans ce tutoriel, vous allez utiliser Eclipse ThreadX pour connecter le kit de découverte B-L475E-IOT01A STMicroelectronics (ci-après, le DevKit STM) à Azure IoT.

Effectuez les tâches suivantes :

  • Installer un ensemble d’outils de développement intégrés pour la programmation du DevKit STM en C
  • Créer une image et la flasher sur le DevKit STM
  • Utiliser Azure CLI pour créer et gérer un hub Azure IoT auquel le DevKit STM se connecte de manière sécurisée
  • Utiliser Azure IoT Explorer pour inscrire un appareil auprès de votre IoT Hub, afficher les propriétés de l’appareil, afficher la télémétrie de l’appareil, et appeler des commandes directes sur l’appareil

Prérequis

  • un PC exécutant Windows 10 ou Windows 11

  • Un abonnement Azure actif. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

  • Git pour cloner le référentiel

  • Azure CLI. Vous avez le choix entre deux options pour exécuter les commandes Azure CLI dans cet tutoriel :

    • Utilisez Azure Cloud Shell, un interpréteur de commandes interactif qui exécute des commandes CLI dans votre navigateur. Cette option est recommandée, car vous n’avez pas besoin d’installer quoi que ce soit. Si vous utilisez Cloud Shell pour la première fois, connectez-vous au portail Azure. Suivez les étapes décrites dans Démarrage rapide de Cloud Shell pour démarrer Cloud Shell et sélectionner l’environnement Bash.
    • Si vous le souhaitez, exécutez Azure CLI sur votre ordinateur local. Si l’interface de ligne de commande Azure est déjà installée, exécutez az upgrade pour la mettre à niveau, ainsi que les extensions, vers la version actuelle. Pour installer l’interface de ligne de commande Azure, consultez Installer l’interface de ligne de commande Azure.
  • Matériel

    • B-L475E-IOT01A (STM DevKit)
    • Wi-Fi 2,4 GHz
    • USB 2.0, câble mâle-mâle micro USB

Préparer l’environnement de développement

Avant de configurer votre environnement de développement, vous devez cloner un référentiel GitHub qui contient toutes les ressources dont vous avez besoin pour le didacticiel. Ensuite, vous installez un ensemble d’outils de programmation.

Cloner le référentiel

Clonez le référentiel suivant pour télécharger tous les exemples de code d’appareil, les scripts d’installation et les versions hors connexion de la documentation. Si vous avez précédemment cloné ce référentiel dans un autre didacticiel, il n’est pas nécessaire de recommencer.

Pour cloner le référentiel, exécutez la commande suivante :

git clone --recursive https://github.com/eclipse-threadx/getting-started.git

Installer les outils

Le référentiel cloné contient un script d’installation qui installe et configure les outils requis. Si vous avez installé ces outils dans le cadre d’un autre tutoriel d’appareil intégré, il n’est pas nécessaire de recommencer.

Remarque

Le script d’installation installe les outils suivants :

  • CMake : générer
  • ARM GCC : compiler
  • Termite : surveiller la sortie du port série pour les appareils connectés

Pour installer les outils :

  1. Accédez au chemin suivant dans le référentiel et exécutez le script d’installation nommé get-toolchain.bat :

    getting-started\tools\get-toolchain.bat

  2. Ouvrez une nouvelle fenêtre de console pour reconnaître les changements de configuration effectués par le script d’installation. Utilisez cette console pour effectuer les tâches de programmation restantes dans le didacticiel. Vous pouvez utiliser Windows CMD, PowerShell ou Git Bash pour Windows.

  3. Exécutez le code suivant pour vérifier que CMake version 3.14 ou ultérieure est installé.

    cmake --version
    

Créer les composants cloud

Créer un hub IoT

Vous pouvez utiliser Azure CLI pour créer un hub IoT qui gère les événements et la messagerie pour votre appareil.

Pour créer un hub IoT :

  1. Lancez votre application CLI. Pour exécuter les commandes CLI dans le reste de ce guide de démarrage rapide, copiez la syntaxe de la commande, collez-la dans votre application CLI, modifiez les valeurs des variables et appuyez sur Entrée.

    • Si vous utilisez Cloud Shell, cliquez avec le bouton droit sur le lien Cloud Shell, puis sélectionnez l’option pour ouvrir sous un nouvel onglet.
    • Si vous utilisez Azure CLI localement, démarrez votre application console CLI et connectez-vous à Azure CLI.
  2. Exécutez la commande az extension add pour installer ou mettre à niveau l’extension azure-iot vers la version actuelle.

    az extension add --upgrade --name azure-iot
    
  3. Exécutez la commande az group create pour créer un groupe de ressources. La commande suivante crée un groupe de ressources nommé MyResourceGroup dans la région centralus.

    Notes

    Vous pouvez éventuellement définir un autre location. Pour afficher les emplacements disponibles, exécutez la commande az account list-locations.

    az group create --name MyResourceGroup --location centralus
    
  4. Exécutez la commande az iot hub create pour créer un hub IoT. La création de votre hub IoT peut prendre plusieurs minutes.

    YourIotHubName. Remplacez l’espace réservé dans le code par le nom que vous avez choisi pour votre hub IoT. Le nom du hub IoT doit être globalement unique dans Azure. Cet espace réservé est utilisé dans le reste de ce démarrage rapide pour représenter votre nom de hub IoT unique.

    Le paramètre --sku F1 crée le hub IoT de niveau gratuit. Les hubs de niveau gratuit disposent d’un ensemble limité de fonctionnalités, et sont utilisés pour des applications de preuve de concept. Pour plus d’informations sur les niveaux les fonctionnalités et la tarification d’IoT Hub, consultez Tarification d’Azure IoT Hub.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName} --sku F1 --partition-count 2
    
  5. Une fois le hub IoT créé, affichez la sortie JSON dans la console, puis copiez la valeur hostName que vous allez utiliser dans une étape ultérieure. La valeur hostName ressemble à l’exemple suivant :

    {Your IoT hub name}.azure-devices.net

Configurer IoT Explorer

Dans le reste de ce guide de démarrage rapide, vous allez utiliser l’explorateur IoT pour inscrire un appareil auprès de votre hub IoT, afficher les propriétés et la télémétrie de l’appareil, et envoyer des commandes à celui-ci. Dans cette section, vous allez configurer IoT Explorer pour qu’il se connecte au hub IoT que vous avez créé et lise les modèles Plug-and-Play à partir du référentiel de modèle public.

Pour ajouter une connexion à votre hub IoT :

  1. Installez l’Explorateur Azure IoT. Cet outil est un utilitaire multiplateforme destiné à superviser et gérer les ressources Azure IoT.

  2. Dans votre application CLI, exécutez la commande az iot hub connection-string show pour obtenir la chaîne de connexion à votre hub IoT.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  3. Copiez la chaîne de connexion sans les guillemets qui l’entourent.

  4. Dans Azure IoT Explorer, sélectionnez Hubs IoT dans le menu de gauche.

  5. Cliquez sur + Ajouter une connexion.

  6. Collez la chaîne de connexion dans la zone Chaîne de connexion.

  7. Sélectionnez Enregistrer.

    Capture d’écran de l’ajout d’une connexion dans IoT Explorer.

Si la connexion aboutit, IoT Explorer bascule vers l’affichage Appareils.

Pour ajouter le référentiel de modèle public :

  1. Dans IoT Explorer, sélectionnez Accueil pour revenir à la vue d’accueil.

  2. Dans le menu de gauche, sélectionnez Paramètres IoT Plug-and-Play.

  3. Vérifiez qu’il existe une entrée de référentiel public existante grâce à un point de terminaison https://devicemodels.azure.com.

    Remarque

    S’il n’existe pas d’entrée dans le référentiel public, sélectionnez +Ajouter, sélectionnez Référentiel public dans le menu déroulant, spécifiez la https://devicemodels.azure.comvaleur du point de terminaison, puis sélectionnez Enregistrer.

    L’entrée complète du référentiel public ressemble à la capture d’écran suivante :

    Capture d’écran de l’ajout du référentiel de modèle public dans IoT Explorer.

Inscrire un appareil

Dans cette section, vous allez créer une instance d’appareil et l’inscrire auprès du hub IoT que vous avez créé. Vous allez utiliser les informations de connexion de l’appareil que vous venez d’inscrire pour connecter votre appareil physique de manière sécurisée dans une section ultérieure.

Pour inscrire un appareil :

  1. À partir de la vue d’accueil dans IoT Explorer, sélectionnez Hubs IoT.

  2. La connexion que vous avez ajoutée précédemment devrait apparaître. Sous les propriétés de connexion, sélectionnez Afficher les appareils dans ce hub.

  3. Sélectionnez + Nouveau, puis entrez un ID d’appareil pour votre appareil, par exemple, mydevice. Conservez toutes les autres propriétés en l’état.

  4. Sélectionnez Create (Créer).

    Capture d’écran d’identité d’appareil Azure IoT Explorer.

  5. Utilisez les boutons de copie pour copier les champs ID de l’appareil et Clé primaire.

Avant de passer à la section suivante, enregistrez dans un emplacement sécurisé chacune des valeurs suivantes récupérées lors des étapes précédentes. Vous utiliserez ces valeurs dans la section suivante pour configurer votre appareil.

  • hostName
  • deviceId
  • primaryKey

Préparer l’appareil

Pour connecter le DevKit STM à Azure, vous modifiez un fichier de configuration pour les paramètres Wi-Fi et Azure IoT, vous régénérez l’image et vous la flashez sur l’appareil.

Ajouter une configuration

  1. Ouvrez le fichier suivant dans un éditeur de texte :

    getting-started\STMicroelectronics\B-L475E-IOT01A\app\azure_config.h

  2. Commentez la ligne suivante en haut du fichier, comme illustré :

    // #define ENABLE_DPS
    
  3. Affectez aux constantes Wi-Fi les valeurs suivantes à partir de votre environnement local.

    Nom de la constante Valeur
    WIFI_SSID {Votre SSID Wi-Fi}
    WIFI_PASSWORD {Votre mot de passe Wi-Fi}
    WIFI_MODE {Une des valeurs de mode de Wi-Fi énumérées dans le fichier}
  4. Définissez les constantes d’informations de l’appareil Azure IoT sur les valeurs que vous avez enregistrées après avoir créé les ressources Azure.

    Nom de la constante Valeur
    IOT_HUB_HOSTNAME {Valeur du nom d’hôte de votre hub IoT}
    IOT_HUB_DEVICE_ID {Valeur d’ID de votre appareil}
    IOT_DEVICE_SAS_KEY {Valeur de votre clé primaire}
  5. Enregistrez et fermez le fichier.

Créer l’image

  1. Dans votre console ou dans l’Explorateur de fichiers, exécutez le fichier de commandes rebuild.bat à l’emplacement suivant pour générer l’image :

    getting-started\STMicroelectronics\B-L475E-IOT01A\tools\rebuild.bat

  2. Une fois la génération terminée, vérifiez que le fichier binaire a été créé dans le chemin d’accès suivant :

    getting-started\STMicroelectronics\B-L475E-IOT01A\build\app\stm32l475_azure_iot.bin

Flasher l’image

  1. Sur le MCU du DevKit STM, localisez le bouton Réinitialiser (1), le port USB Micro (2) libellé USB STLink et le numéro de référence de la carte (3). Vous allez faire référence à ces éléments lors des étapes suivantes. Tous sont mis en évidence dans l’image suivante :

    Photo montrant les principaux composants figurant sur la carte du DevKit STM.

  2. Connectez le câble USB du micro au port USB STLINK sur le DevKit STM, puis connectez celui-ci à votre ordinateur.

    Notes

    Pour obtenir des informations d’installation détaillées sur le DevKit STM, consultez les instructions figurant sur l’emballage, ou lisez Ressources B-L475E-IOT01A

  3. Dans l’Explorateur de fichiers, recherchez les fichier binaires que vous avez créés dans la section précédente.

  4. Copiez le fichier binaire nommé stm32l475_azure_iot.bin.

  5. Dans l’explorateur de fichiers, trouvez le Devkit STM connecté à votre ordinateur. L’appareil apparaît en tant que lecteur sur votre système avec le nom de lecteur DIS_L4IOT.

  6. Collez le fichier binaire dans le dossier racine du DevKit STM. Le processus de flash démarre automatiquement et se termine en quelques secondes.

    Notes

    Au cours du processus de flashage, un témoin LED alterne entre le rouge et le vert sur le DevKit STM.

Vérifier les détails de connexion de l’appareil

Vous pouvez utiliser l’application Termite pour surveiller la communication et vérifier que votre appareil est correctement configuré.

  1. Démarrez Termite.

    Conseil

    Si vous ne parvenez pas à connecter Termite à votre devkit, installez le pilote ST-LINK, puis réessayez. Vous pouvez consulter des étapes supplémentaires dans Résolution des problèmes.

  2. Sélectionnez Paramètres.

  3. Dans la boîte de dialogue Paramètres du port série, vérifiez les paramètres suivants et mettez à jour si nécessaire :

    • Vitesse (en bauds) : 115 200
    • Port : port auquel votre DevKit STM est connecté. Si plusieurs options de port sont disponibles dans la liste déroulante, vous pouvez trouver le port approprié à utiliser. Ouvrez le Gestionnaire d'appareils Windows et affichez les Ports pour identifier le port à utiliser.

    Capture d’écran des paramètres de port série dans l’application Termite.

  4. Sélectionnez OK.

  5. Appuyez sur le bouton Réinitialiser de l’appareil. Le bouton est noir et libellé sur l’appareil.

  6. Dans l’application Termite, vérifiez les valeurs de point de contrôle suivantes pour confirmer que l’appareil est initialisé et connecté à Azure IoT.

    Starting Azure thread
    
    
    Initializing WiFi
        Module: ISM43362-M3G-L44-SPI
        MAC address: ****************
        Firmware revision: C3.5.2.5.STM
    SUCCESS: WiFi initialized
    
    Connecting WiFi
        Connecting to SSID 'iot'
        Attempt 1...
    SUCCESS: WiFi connected
    
    Initializing DHCP
        IP address: 192.168.0.35
        Mask: 255.255.255.0
        Gateway: 192.168.0.1
    SUCCESS: DHCP initialized
    
    Initializing DNS client
        DNS address 1: ************
        DNS address 2: ************
    SUCCESS: DNS client initialized
    
    Initializing SNTP time sync
        SNTP server 0.pool.ntp.org
        SNTP time update: Nov 18, 2022 0:56:56.127 UTC
    SUCCESS: SNTP initialized
    
    Initializing Azure IoT Hub client
        Hub hostname: *******.azure-devices.net
        Device id: mydevice
        Model id: dtmi:eclipsethreadx:devkit:gsgstml4s5;2
    SUCCESS: Connected to IoT Hub
    

    Important

    Si l’initialisation du client DNS échoue et vous avertit que le microprogramme Wi-Fi est obsolète, vous devez mettre à jour le microprogramme du module Wi-Fi. Téléchargez et installez la mise à jour du microprogramme du module Wi-Fi ISM 43362 Inventek. Appuyez ensuite sur le bouton Réinitialiser de l’appareil pour revérifier votre connexion, puis poursuivez avec ce tutoriel.

Laissez Termite ouvert pour surveiller la sortie de l’appareil dans les étapes suivantes.

Voir les propriétés de l’appareil

Vous pouvez utiliser Azure IoT Explorer pour afficher et gérer les propriétés de vos appareils. Dans les sections suivantes, vous utilisez les fonctionnalités Plug-and-Play qui sont affichées dans l’Explorateur IoT pour gérer le DevKit STM et interagir avec lui. Ces fonctionnalités s’appuient sur le modèle d’appareil publié pour le DevKit STM dans le référentiel de modèle public. Plus tôt dans ce didacticiel, vous avez configuré IoT Explorer pour rechercher des modèles d’appareil dans ce référentiel. Dans de nombreux cas, vous pouvez effectuer la même action sans utiliser le les fonctionnalités Plug and Play en sélectionnant les options du menu d'IoT Explorer. Toutefois, l’utilisation de la technologie Plug-and-Play offre souvent une expérience améliorée. IoT Explorer peut lire le modèle d’appareil spécifié par un appareil Plug-and-Play et présenter des informations spécifiques de celui-ci.

Pour accéder aux composants IoT Plug-and-Play pour l’appareil dans IoT Explorer :

  1. À partir de la vue d’accueil dans IoT Explorer, sélectionnez Hubs IoT, puis Afficher les appareils dans ce hub.

  2. Sélectionnez votre appareil.

  3. Sélectionnez Composants IoT Plug-and-Play.

  4. Sélectionnez le composant par défaut. IoT Explorer affiche les composants IoT Plug-and-Play implémentés sur votre appareil.

    Capture d’écran du composant DevKit STM par défaut dans IoT Explorer.

  5. Sous l’onglet interface, affichez le contenu JSON dans la Description du modèle d’appareil. Le JSON contient les détails de configuration de chaque composant IoT Plug-and-Play dans le modèle d’appareil.

    Notes

    Le nom et la description du composant par défaut font référence à la carte STM L4S5. Le modèle d'appareil plug and play STM L4S5 est également utilisé pour la carte STM L475E dans ce tutoriel.

    Chaque onglet dans IoT Explorer correspond à l’un des composants IoT Plug-and-Play dans le modèle d’appareil.

    Onglet Type Nom Description
    Interface Interface STM Getting Started Guide Exemple de modèle pour le DevKit STM
    Propriétés (lecture seule) Propriété ledState Indique si le témoin LED est allumé ou éteint
    Propriétés (accessibles en écriture) Propriété telemetryInterval Intervalle pendant lequel l’appareil envoie de la télémétrie
    Commandes Commande setLedState Activer ou désactiver la LED

Pour afficher les propriétés d’un appareil à l’aide d’Azure IoT Explorer :

  1. Sélectionnez l'onglet Propriétés (lecture seule). Il y a une seule propriété en lecture seule pour indiquer si le témoin LED est allumé ou éteint.

  2. Sélectionnez l’onglet Propriétés (accessibles en écriture) . Celui-ci affiche l’intervalle d’envoi de la télémétrie.

  3. Remplacez la valeur de telemetryInterval par 5, puis sélectionnez Mettre à jour la valeur souhaitée. Votre appareil utilise désormais cet intervalle pour envoyer la télémétrie.

    Capture d’écran de la définition de l’intervalle de télémétrie sur le DevKit STM dans IoT Explorer.

  4. IoT Explorer répond avec une notification. Vous pouvez également observer la mise à jour dans Termite.

  5. Réaffectez la valeur 10 à l’intervalle de télémétrie.

Pour utiliser Azure CLI pour afficher les propriétés de l’appareil :

  1. Exécutez la commande az iot hub device-twin show.

    az iot hub device-twin show --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Examinez les propriétés de votre appareil dans la sortie de la console.

Afficher les données de télémétrie

Avec IoT Central, vous pouvez afficher le flux de télémétrie de votre appareil vers le cloud. Si vous le souhaitez, vous pouvez effectuer la même tâche à l’aide d’Azure CLI.

Pour afficher la télémétrie dans Azure IoT Explorer :

  1. Dans le volet Composants IoT Plug-and-Play (composant par défaut) de votre appareil dans IoT Explorer, sélectionnez l’onglet Télémétrie. Vérifiez que l’option Utiliser l’Event Hub intégré est définie sur Oui.

  2. Sélectionnez Démarrer.

  3. Affichez la télémétrie à mesure que l’appareil envoie des messages au cloud.

    Capture d’écran de télémétrie d’appareil dans IoT Explorer.

    Notes

    Vous pouvez également surveiller la télémétrie à partir de l’appareil à l’aide de l’application Termite.

  4. Activez la case à cocher Afficher les événements modélisés pour voir les événements dans le format de données spécifié par le modèle d’appareil.

    Capture d’écran d’événements de télémétrie modélisés dans IoT Explorer.

  5. Sélectionnez Arrêter pour cesser de recevoir des événements.

Pour utiliser Azure CLI pour afficher la télémétrie d’un appareil :

  1. Exécutez la commande az iot hub monitor-events. Utilisez les noms que vous avez créés précédemment dans Azure IoT pour votre appareil et le hub IoT.

    az iot hub monitor-events --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Affichez la sortie JSON dans la console

    {
        "event": {
            "origin": "mydevice",
            "module": "",
            "interface": "dtmi:eclipsethreadx:devkit:gsgmxchip;1",
            "component": "",
            "payload": "{\"humidity\":41.21,\"temperature\":31.37,\"pressure\":1005.18}"
        }
    }
    
  3. Sélectionnez CTRL+C pour cesser la surveillance.

Appeler une méthode directe sur l’appareil

Vous pouvez également utiliser Azure IoT Explorer pour appeler une méthode directe que vous avez mise en œuvre sur votre appareil. Les méthodes directes portent un nom et peuvent éventuellement avoir une charge utile JSON, une connexion configurable et un délai d’expiration de méthode. Dans cette section, vous appelez une méthode qui allume ou éteint une LED. Si vous le souhaitez, vous pouvez effectuer la même tâche à l’aide d’Azure CLI.

Pour appeler une méthode dans Azure IoT Explorer :

  1. Dans le volet Composants IoT Plug-and-Play (composant par défaut) de votre appareil dans IoT Explorer, sélectionnez l’onglet Commandes.

  2. Pour la commande setLedState, définissez state sur true.

  3. Sélectionnez Envoyer la commande. Une notification devrait s’afficher dans IoT Explorer et le témoin LED vert devrait s’allumer sur l’appareil.

    Capture d’écran d’appel de la méthode setLedState dans IoT Explorer.

  4. Définissez l’état sur false, puis sélectionnez Envoyer la commande. Le témoin LED devrait s’éteindre.

  5. Si vous le souhaitez, vous pouvez afficher la sortie dans Termite pour surveiller l’état des méthodes.

Pour utiliser Azure CLI pour appeler une méthode :

  1. Exécutez la commande az iot hub invoke-device-method et spécifiez le nom et la charge utile de la méthode. Pour cette méthode, la définition de method-payload sur true a pour effet d’allumer la LED, et sa définition sur false de l’éteindre.

    az iot hub invoke-device-method --device-id mydevice --method-name setLedState --method-payload true --hub-name {YourIoTHubName}
    

    La console CLI affiche l’état de votre appel de méthode sur l’appareil, où 204 indique la réussite.

    {
        "payload": {},
        "status": 200
    }
    
  2. Examiner votre appareil pour vérifier l’état de la LED.

  3. Affichez le terminal Termite pour vérifier les messages de sortie :

    Received command: setLedState
        Payload: true
        LED is turned ON
    Sending property: $iothub/twin/PATCH/properties/reported/?$rid=15{"ledState":true}
    

Résoudre les problèmes et déboguer

Si vous rencontrez des problèmes pour générer le code d’appareil, flasher l’appareil ou le connecter, consultez Résolution des problèmes.

Pour déboguer l’application, consultez Débogage avec Visual Studio Code.

Nettoyer les ressources

Si vous n’avez plus besoin des ressources Azure créées dans ce démarrage rapide, vous pouvez utiliser Azure CLI pour supprimer le groupe de ressources.

Important

La suppression d’un groupe de ressources est irréversible. Le groupe de ressources et toutes les ressources qu’il contient sont supprimés définitivement. Veillez à ne pas supprimer accidentellement des ressources ou un groupe de ressources incorrects.

Pour supprimer un groupe de ressources par nom :

  1. Exécutez la commande az group delete. Cette commande supprime le groupe de ressources, le hub IoT et l’inscription de l’appareil que vous avez créés.

    az group delete --name MyResourceGroup
    
  2. Exécutez la commande az group list pour confirmer la suppression du groupe de ressources.

    az group list
    

Étape suivante

Dans ce didacticiel, vous avez créé une image personnalisée qui contient un exemple de code Eclipse ThreadX, puis vous avez flashé l’image sur l’appareil DevKit STM. Vous avez connecté le DevKit STM à Azure et effectué des tâches telles que l’affichage des données de télémétrie et l’appel d’une méthode sur l’appareil.

La prochaine étape est d’explorer l’article qui suit pour en savoir plus sur les options de développement incorporées.

Important

Eclipse ThreadX fournit aux fabricants OEM les composants permettant de sécuriser la communication et de créer du code et l’isolation des données à l’aide des mécanismes sous-jacents de protection matérielle MCU/MPU. Toutefois, chaque fabricant OEM est tenu de garantir que son appareil répond aux exigences de sécurité en constante évolution.