cours1 min de lecture

IHM et objets connectés

Comment l'utilisateur dialogue avec un objet embarqué, et comment plusieurs objets dialoguent entre eux à travers un réseau.
programme

Introduction

Un système embarqué qui se contenterait de prendre des décisions tout seul, sans jamais informer ni recevoir d'ordre d'un humain, serait souvent frustrant. C'est pourquoi presque tous les objets embarqués proposent une interface homme-machine (IHM — en anglais HMI). C'est la fenêtre de dialogue entre l'utilisateur et l'objet : l'utilisateur lui donne des ordres, l'objet lui retourne des informations. Avec les objets connectés, cette fenêtre s'élargit au réseau, à d'autres machines et au monde entier.

Qu'est-ce qu'une IHM ?

Une IHM rassemble tous les éléments physiques et logiciels par lesquels un utilisateur interagit avec un objet. Côté utilisateur :

  • des entrées : boutons, écran tactile, molette, télécommande, reconnaissance vocale, gestes…
  • des sorties : écran, voyants LED, haut-parleurs, vibration, retour de force…
ObjetEntrées de l'IHMSorties de l'IHM
Micro-ondesclavier, molette de minuteurafficheur 7 segments, bip, voyant
Thermostatmolette, écran tactile, appli smartphoneécran, voyant
Distributeur de boissonsboutons, lecteur de piècesécran, voyant, son
Montre connectéeécran tactile, couronne, voixécran couleur, vibration
Voiturevolant, pédales, boutons, écran centraltableau de bord, alertes sonores
entréessortiessignauxaffichage

Utilisateur

Objet : écran et boutons

Microcontrôleur

Schéma d'une IHM
Une bonne IHM est claire, rapide et prévisible. L'utilisateur doit comprendre en quelques secondes ce que l'objet attend de lui, et ce que l'objet vient de faire en retour. C'est tout un métier — le design d'interaction.

La boucle élargie

Le chapitre précédent décrivait la boucle perception-décision-action. Avec une IHM, cette boucle s'élargit : l'utilisateur intervient à plusieurs endroits.

                  ┌─────────────┐
                  │ Utilisateur │
                  └──┬───────▲──┘
                     │       │
              entrée │       │ sortie (écran, son)
                     ▼       │
   ┌─────────┐    ┌──────────┴────┐    ┌────────────┐
   │ capteur │───▶│  programme    │───▶│ actionneur │
   └─────────┘    │ (décision)    │    └────────────┘
                  └───────────────┘

L'utilisateur peut :

  • régler des paramètres : la température cible du thermostat, le seuil de luminosité d'une lampe, le programme du lave-linge.
  • déclencher une action : appuyer sur un bouton, choisir un mode, mettre en pause.
  • lire l'état : la température mesurée, le temps restant, le niveau de batterie.

Sur un four à micro-ondes, l'écran affichant le temps restant fait partie de :

Un exemple : thermostat avec IHM

Reprenons le ventilateur thermostaté du chapitre précédent. Avec une IHM minimale, vous permettez à l'utilisateur de régler la température cible via un bouton « + », un bouton « − » et un écran :

# Thermostat avec IHM
temperature_cible = 20   # valeur par défaut au démarrage

while True:
    # Entrée IHM : l'utilisateur peut régler la cible
    if bouton_plus_appuye():
        temperature_cible = temperature_cible + 1
    if bouton_moins_appuye():
        temperature_cible = temperature_cible - 1

    # Mesure et décision
    temperature = lire_capteur_temperature()
    if temperature > temperature_cible:
        activer_ventilateur()
    else:
        arreter_ventilateur()

    # Sortie IHM : afficher l'état pour l'utilisateur
    afficher_ecran(f"{temperature}°C / cible {temperature_cible}°C")
La dernière ligne utilise une f-string (chaîne formatée) : un f placé devant les guillemets autorise à insérer la valeur d'une variable directement entre accolades. Ainsi f"Température : {t}°C" affichera la valeur de t au bon endroit. C'est l'équivalent moderne de print("Température :", t, "°C") que vous reverrez en NSI Première.

Lecture pas à pas :

  • Au démarrage, la température cible est fixée à 20 °C.
  • À chaque tour de boucle, le programme regarde si l'utilisateur appuie sur l'un des boutons : il ajuste alors la cible. C'est l'entrée de l'IHM.
  • Le programme lit ensuite la température et active ou non le ventilateur : c'est la boucle perception-décision-action habituelle.
  • Enfin, la température et la cible s'affichent sur l'écran : c'est la sortie de l'IHM.
Remarquez que l'IHM ne remplace pas la boucle capteur-actionneur — elle vient s'y ajouter, comme un canal supplémentaire d'entrée et de sortie. Le programme jongle entre les trois sources d'information : capteurs, boutons (IHM), et la sortie vers actionneurs + écran.

Dans le programme du thermostat, quelle ligne représente la décision du système ?

L'objet connecté : élargir au réseau

Un objet connecté est un système embarqué relié à un réseau (Wi-Fi, Bluetooth, 4G, ou un réseau dit « bas-débit » dédié à l'IoT). Cette connexion lui permet :

  • d'envoyer ses mesures vers un serveur distant — votre montre transmet vos pas du jour à votre compte santé.
  • de recevoir des commandes — votre thermostat reçoit la consigne que vous tapez sur votre smartphone.
  • de communiquer avec d'autres objets connectés — votre serrure intelligente s'ouvre quand votre téléphone est à proximité.
Sans connexionAvec connexion
Montre qui affiche l'heureMontre qui envoie vos pas dans le cloud
Thermostat manuelThermostat pilotable depuis le smartphone
Caméra qui enregistre sur carte SDCaméra qui vous prévient sur le téléphone
Frigo classiqueFrigo qui vous envoie un message si la porte est restée ouverte

Thermostat

Routeur Wi-Fi

Montre

Lampe

Internet

Smartphone

Schéma d'objets connectés en réseau

Les enjeux : sécurité et vie privée

Connecter un objet à Internet ouvre de nouvelles possibilités… et de nouveaux risques.

  • Sécurité : une serrure connectée mal protégée peut être piratée à distance. En 2016, le botnet Mirai a infecté des centaines de milliers de caméras et de routeurs domestiques mal sécurisés pour lancer des attaques massives.
  • Vie privée : un assistant vocal écoute en permanence pour détecter le mot d'activation. Une montre connectée connaît votre position, votre fréquence cardiaque, votre sommeil. Ces données partent ensuite chez le fabricant.
  • Dépendance : si le serveur du fabricant ferme, l'objet peut devenir inutilisable. Des ampoules connectées ont déjà cessé de fonctionner suite à l'arrêt d'un service en ligne.

Pièges courants

  • Connecté ≠ intelligent. Un objet connecté reste un système embarqué qui exécute le programme prévu par son fabricant. Il n'invente rien.
  • Tout n'a pas besoin d'être connecté. Une brosse à dents connectée n'apporte pas grand-chose. Le mot « connecté » est aussi un argument marketing.
  • L'IHM existe même sans écran. Un voyant LED qui clignote, un bip, une vibration : tout cela est une IHM (très minimaliste, mais une IHM).

Pour aller plus loin

Le design d'interaction est devenu une discipline à part entière : il ne suffit pas d'avoir des capteurs et des actionneurs performants pour faire un bon objet, encore faut-il que l'utilisateur le comprenne. C'est pour cela que vous retrouverez le sujet de l'IHM dans le programme de NSI Première sous l'angle du Web, où vous étudierez les formulaires, les événements et les interactions utilisateur d'une page web.