D - Interfaces Humain-Machine (IHM)
Une Interface Humain-Machine (IHM) est un dispositif qui permet la communication entre un utilisateur et une machine. Elle fait office de traducteur entre la personne et le système embarqué : sans elle, l'utilisateur ne pourrait pas donner d'instructions à la machine, et la machine ne pourrait pas informer l'utilisateur de son état.
L'IHM assure donc le lien entre la personne et le système embarqué. C'est grâce à elle que nous pouvons interagir avec les objets intelligents qui nous entourent, souvent sans même y penser.
Pour remplir ce rôle, l'IHM assume deux grandes fonctions complémentaires :
Les entrées correspondent à ce que l'utilisateur envoie vers la machine. Ce sont les commandes et les instructions données par la personne : appuyer sur un bouton, taper sur un clavier, toucher un écran tactile, parler pour une commande vocale, déplacer une souris ou un joystick.
Les sorties correspondent à ce que la machine renvoie vers l'utilisateur. Ce sont les informations que le système embarqué fournit pour indiquer son état ou répondre aux demandes : affichage sur un écran, allumage de voyants lumineux, émission de sons par un haut-parleur, vibrations d'une manette.
Remarque :
Tous les systèmes embarqués n'ont pas d'Interface Humain-Machine. Certains sont conçus pour fonctionner de manière totalement autonome, sans aucune interaction avec les personnes.
C'est le cas par exemple des escalators et des feux de signalisation. Dans ces exemples, le système embarqué se contente de remplir sa fonction sans avoir besoin de communiquer avec un utilisateur. Il est conçu pour être invisible et ne requiert aucune intervention humaine dans son fonctionnement quotidien.
Exemple : Exemples d’Interfaces Humain-Machine
Pour illustrer concrètement ce qu'est une Interface Humain-Machine, voici quelques exemples tirés de notre quotidien :
Écran tactile d'un smartphone : il assure à la fois les entrées (l'utilisateur touche l'écran pour donner des instructions) et les sorties (l'écran affiche des informations, des images, des notifications).
Boutons et afficheur d'un four à micro-ondes : les boutons permettent de programmer la durée et la puissance (entrées), tandis que l'afficheur indique le temps restant et les réglages choisis (sortie).
Commande vocale d'un assistant et sa réponse audio : l'utilisateur parle pour donner un ordre (entrée), l'assistant répond par la voix ou effectue l'action demandée (sortie audio).
Manette de jeu : les boutons, gâchettes et joysticks envoient les actions du joueur à la console (entrées), tandis que les vibrations renvoient des sensations tactiles (sorties) pour immerger le joueur dans l'action.

Les échanges entre l'humain et la machine sont beaucoup plus lents que les communications internes au système. Alors que la machine peut effectuer des millions de vérifications par seconde, l'utilisateur ne produit que quelques clics ou commandes par seconde.
Pour compenser cette différence, l'interface doit être à la fois intuitive (l'utilisateur comprend immédiatement comment l'utiliser) et réactive (la machine répond instantanément à chaque action).