Le retour haptique consiste à produire des stimuli mécaniques (vibrations, forces, mouvements) pour communiquer des informations tactiles à l’utilisateur d’un appareil électronique.
Le retour haptique en JavaScript peut être implémenté à l’aide de l’API Vibration, qui permet de contrôler le matériel de vibration d’un appareil.
L’API Vibration est accessible via l’objet navigator.vibrate() en JavaScript.
Exemple sur un bouton :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exemple de Retour Haptique</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
font-family: Arial, sans-serif;
}
#hapticButton {
padding: 15px 30px;
font-size: 18px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s;
}
#hapticButton:hover {
background-color: #45a049;
}
#message {
margin-top: 20px;
font-style: italic;
}
</style>
</head>
<body>
<div>
<button id="hapticButton">Cliquez-moi</button>
<p id="message"></p>
</div>
<script>
const button = document.getElementById('hapticButton');
const message = document.getElementById('message');
button.addEventListener('click', function() {
if ("vibrate" in navigator) {
// Séquence de vibration : 100ms on, 50ms off, 200ms on
navigator.vibrate([100, 50, 200]);
// Changement visuel du bouton
this.style.backgroundColor = '#FFA500';
setTimeout(() => this.style.backgroundColor = '', 350);
message.textContent = "Vibration activée !";
} else {
message.textContent = "Le retour haptique n'est pas supporté sur cet appareil.";
}
});
</script>
</body>
</html>