Voici un snippet simple pour détecter automatiquement si l’utilisateur utilise le mode sombre sur son appareil ou son navigateur.


Pourquoi détecter le mode sombre


De plus en plus d’utilisateurs naviguent avec le mode sombre activé.


Détecter cette préférence permet de :

  • adapter automatiquement le thème du site
  • améliorer le confort de lecture
  • rendre l’interface plus moderne
  • respecter les préférences système de l’utilisateur


C’est le genre de détail qui donne à ton site un petit côté propre et intelligent, au lieu du site qui débarque en blanc nucléaire à 2h du matin.


Le code JavaScript


if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
  console.log("Mode sombre activé");
} else {
  console.log("Mode clair activé");
}

Version avec ajout d’une classe CSS


if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
  document.body.classList.add("dark-mode");
} else {
  document.body.classList.add("light-mode");
}

Le code CSS exemple


body.light-mode {
  background: <a href="/search.php?q=ffffff" class="hashtag">#ffffff</a>;
  color: <a href="/search.php?q=111111" class="hashtag">#111111</a>;
}

body.dark-mode {
  background: <a href="/search.php?q=111111" class="hashtag">#111111</a>;
  color: <a href="/search.php?q=ffffff" class="hashtag">#ffffff</a>;
}


Détecter aussi le changement en temps réel


Si l’utilisateur change de thème pendant qu’il est sur ton site, tu peux aussi écouter ce changement.


const darkMode = window.matchMedia("(prefers-color-scheme: dark)"); 

function updateTheme(e) {
  if (e.matches) {
    document.body.classList.add("dark-mode");
    document.body.classList.remove("light-mode");
  } else {
    document.body.classList.add("light-mode");
    document.body.classList.remove("dark-mode");
  }
}


updateTheme(darkMode);
darkMode.addEventListener("change", updateTheme);


Comment ça fonctionne


Le navigateur peut indiquer si l’utilisateur préfère un thème :

  • sombre
  • clair


Avec matchMedia(), JavaScript vérifie cette préférence grâce à :


(prefers-color-scheme: dark)

Si la condition est vraie, tu peux appliquer automatiquement un style sombre.


Où utiliser ce snippet


Ce snippet est utile pour :

  • un blog
  • une interface admin
  • une application web
  • une page d’accueil moderne
  • un dashboard


Bref, partout où tu veux éviter de cramer les rétines des visiteurs nocturnes.


Détecter le mode sombre en JavaScript est très simple grâce à matchMedia(). Ce petit snippet permet d’adapter automatiquement l’apparence du site selon les préférences de l’utilisateur et d’améliorer l’expérience globale.


#snippet #javascript #darkmode #css #webdesign #ui #webdev