Dark mode en CSS natif : thème sombre automatique, mode manuel, aucun composant à réécrire
Problème de lecture
Cette vidéo ne semble pas disponible
00:00
00:00
Sous-titres non disponibles
50m21
de formation
9
leçons vidéo
1
chapitre
Intermédiaire
niveau requis
Carl Brison
Carl Brison
Formateur certifié

Dark mode en CSS natif : thème sombre automatique, mode manuel, aucun composant à réécrire

Vente flash ! -31%
4.8/5 Trustpilot (1390 avis) Satisfait ou remboursé
50m21
de formation
9
leçons vidéo
1
chapitre

Votre visiteur a réglé son système en thème sombre, et votre site continue de lui servir un fond blanc, parce que rien dans la feuille de style ne lit cette préférence. Ce cours ajoute le dark mode au fichier modele-style.css construit dans les épisodes précédents : détection automatique avec le media query prefers-color-scheme, choix manuel par un attribut data-theme qui prend le dessus sur le réglage système, images adoucies, ombres adaptées et transitions fluides entre les deux thèmes. Tout passe par les tokens sémantiques, si bien qu'aucun composant n'a besoin d'être réécrit.

Dark mode CSS : ce que vous saurez faire

Chaque étape est montrée dans le navigateur, en basculant le réglage système de Chrome entre clair et sombre.

  • Lire la préférence de thème du système sans une ligne de JavaScript
  • Trier les tokens qui changent en mode sombre de ceux qui restent fixes
  • Forcer un thème clair ou sombre quel que soit le réglage système
  • Piloter la luminosité des images par un token dédié
  • Adoucir le passage d'un thème à l'autre avec vos tokens d'animation
  • Documenter chaque niveau de tokens pour relire le fichier des mois plus tard

Ce qui change en mode sombre, et ce qui ne doit surtout pas bouger

L'erreur classique consiste à dupliquer toute la feuille de style pour le thème sombre. Le cours fait l'inverse : seules les couleurs d'interaction, d'état, de surface, de texte et de bordure sont redéfinies, avec les ombres et la luminosité des images. Typographie, espacements et rayons ne sont pas touchés. Les nouvelles valeurs ne sont pas des codes hexadécimaux saisis à la main mais d'autres primitives de la palette déjà en place, celle posée dans l'épisode sur les variables CSS et les design tokens. Le :root est redéfini une première fois dans le media query, puis une seconde fois derrière les sélecteurs [data-theme="dark"] et [data-theme="light"], posés sur la balise html pour qu'un futur bouton puisse imposer un thème.

Images trop lumineuses et bascule trop sèche : deux détails qui font la différence

Sur fond sombre, une photo gardée à pleine luminosité agresse l'œil. Un filtre brightness piloté par un token img-brightness, à 1 en thème clair et abaissé en thème sombre, règle le problème sans retoucher les fichiers. Le changement de thème reçoit ensuite une transition sur la couleur, le fond, la bordure et l'ombre, en réutilisant les durées et les courbes d'accélération déjà déclarées dans les primitives. Le cours se termine en remplissant la couche utilities avec les classes sr-only et skip link, puis annonce la suite : le bouton de bascule et sa mémorisation seront l'objet de l'épisode suivant.

Pour qui

Le badge Intermédiaire est justifié : vous écrivez déjà du CSS sans aide et vous savez ce qu'est une variable. C'est le cinquième épisode d'une série sur le CSS moderne, et il repart du fichier modele-style.css avec ses couches @layer, son nommage BEM et ses deux niveaux de tokens. Si ce fichier ne vous dit rien, commencez par l'épisode sur les variables CSS, qui le construit. Uniquement du CSS natif, sans préprocesseur, écrit dans Visual Studio Code et testé dans un navigateur à jour. Les fichiers HTML et le modele-style.css enrichi sont fournis.

Pour aller plus loin

Si vous visez un cadre certifiant avec un mentor, Carl Brison encadre la formation Développeur Web Front-End éligible au CPF, dont le programme comprend la mise en place d'un mode sombre.

Qu’allez-vous apprendre dans ce cours ?

Plan de cours
Leçon 1
Détecter le thème système avec prefers-color-scheme
Leçon 2
Quels tokens changent en mode sombre, lesquels restent
Leçon 3
Atténuer la luminosité des images avec filter
Leçon 4
Ajouter le token img-brightness au fichier modèle
Leçon 5
Redéfinir les tokens sémantiques pour le thème sombre
Leçon 6
Forcer un thème avec l'attribut data-theme
Leçon 7
Adoucir le changement de thème avec des transitions

Table des matières

Leçon 1

Détecter le thème système avec prefers-color-scheme

07m14
Leçon 2

Quels tokens changent en mode sombre, lesquels restent

04m04
Leçon 3

Atténuer la luminosité des images avec filter

02m59
Leçon 4

Ajouter le token img-brightness au fichier modèle

03m46
Leçon 5

Redéfinir les tokens sémantiques pour le thème sombre

07m13
Leçon 6

Forcer un thème avec l'attribut data-theme

12m06
Leçon 7

Adoucir le changement de thème avec des transitions

06m33
Leçon 8

Ajouter sr-only et skip link dans la couche utilities

02m19
Leçon 9

Conclusion : vers le switch de thème

04m07

Aperçus

Vos questions sur le cours

Que contient le fichier source ?

Toutes les sources du cours

Faut-il du JavaScript pour mettre en place ce dark mode ?

Non. La détection du thème système repose sur le media query prefers-color-scheme, et le choix manuel sur un attribut data-theme ciblé en CSS. Le JavaScript n'intervient que le jour où vous branchez un bouton qui modifie cet attribut, ce qui n'est pas traité dans ce cours.

Le cours construit-il le bouton de bascule jour / nuit ?

Non. Le cours prépare toute la mécanique CSS, y compris les sélecteurs data-theme que le bouton pilotera, mais le composant switch lui-même et sa mémorisation sont annoncés pour l'épisode suivant de la série. Si vous avez besoin d'un switch tout de suite, le même formateur en code un dans le cours Objectif Frontend sur le switch jour / nuit.

Quelle différence avec le cours « JavaScript moderne : ajouter une version dark mode d'un site » ?

Ce cours JavaScript est de niveau débutant et construit un dark mode complet avec son bouton et la sauvegarde du choix en localStorage. Celui-ci est de niveau intermédiaire et se concentre sur l'architecture CSS : tokens sémantiques, media query, attribut data-theme, images et transitions, dans un fichier modèle réutilisable. Les deux se complètent, mais ils ne répondent pas au même besoin.

Comment le navigateur sait-il que l'utilisateur préfère un thème sombre ?

Grâce au media query prefers-color-scheme, qui lit le réglage d'apparence du système d'exploitation ou du navigateur. La valeur dark correspond à un utilisateur qui a choisi le mode sombre, la valeur light au mode clair. Le cours montre comment tester ce réglage directement dans les paramètres d'apparence de Chrome.

Le dark mode fonctionne-t-il sur mobile et sur tous les navigateurs ?

Oui pour les navigateurs à jour, sur ordinateur comme sur smartphone, quel que soit le système : prefers-color-scheme est un standard CSS pris en charge nativement, sans préprocesseur ni bibliothèque. Le cours est écrit en CSS natif dans Visual Studio Code et testé dans Chrome.

Les fichiers du cours sont-ils fournis ?

Oui. Vous récupérez le dossier de l'exercice avec la page HTML et le fichier modele-style.css enrichi du thème sombre, des sélecteurs data-theme, des transitions et des utilitaires. Le cours est accessible à vie après achat à l'unité, et inclus dans l'abonnement tant que vous êtes abonné.

Peut-on valider ses acquis à la fin du cours ?

Oui, un QCM est proposé en fin de formation pour vérifier les notions vues : media queries de préférence utilisateur, tokens à redéfinir, attribut data-theme et transitions. Le salon d'entraide reste disponible pour poser vos questions au formateur.

Deux façons de suivre cette formation

À l'unité
Pour vous former sur ce sujet précis
12,95€ 8,95€
Vente flash ! -31%
Paiement unique, sans abonnement
Accès à vie à cette formation
50m21 de vidéo • 1 chapitre
Satisfait ou remboursé voir conditions
Accès immédiat après paiement
Avec l'abonnement
Pour progresser en continu
34,90€ /mois
Sans engagement
Cette formation + 6 768 autres en illimité
Plus de 20 nouvelles formations par mois
Résiliable en 1 clic, à tout moment
Commencer avec l’abonnement
Accès immédiat, pendant votre abonnement

Inclus dans les deux formules

  • Hors connexion via l'app Tuto.com
  • Salon d'entraide pour vos questions
  • Certificat de complétion
Paiement sécurisé 1,4 million d'apprenants 4.8/5 Trustpilot
Logo carte-bancaire-monoLogo visa-monoLogo mastercardLogo paypal-monoLogo klarna-monoLogo apple-pay-monoLogo google-pay-mono
Une question avant de choisir ? Écrivez-nous ou appelez le 01 84 80 80 29 (du lundi au vendredi, 10h-12h et 14h-16h)

Formations complémentaires

Les apprenants qui suivent cette formation s'intéressent aussi à :

Abonnement 34,90€/mois

Attendez ! 🤗

Accédez à plus de 1424 tutos gratuits

Notre politique de protection des données