Mode sombre — qu'est-ce que c'est, thème d'interface sombre dans les applications mobiles

Auteur : IT Sectr Publié le : 2026-02-26 Temps de lecture : 7 min

Mode sombre (thème sombre) est un jeu de couleurs dans lequel l'arrière-plan de l'écran devient sombre (gris foncé ou noir), tandis que le texte et les éléments deviennent clairs. Le Mode sombre réduit la fatigue oculaire en cas de faible luminosité, économise la batterie sur les écrans OLED (jusqu'à 60% selon Google, 2019) et répond aux exigences d'accessibilité pour les utilisateurs photophobes. Dans iOS 13 et Android 10, le Mode sombre est devenu une option système — l'utilisateur active le thème sombre globalement, et l'application l'adopte automatiquement. Pour en savoir plus, consultez la documentation officielle d'Android sur le thème sombre.

Points clés

  • Mode sombre — un jeu de couleurs avec un fond sombre et un texte clair pour réduire la fatigue oculaire
  • Économie OLED — sur les écrans OLED, les pixels sombres sont éteints, économisant jusqu'à 60% de batterie
  • Android forceDarkMode — option système forçant le thème sombre dans Android Q+
  • iOS traitCollection — API Swift pour détecter et basculer entre les thèmes clair et sombre
  • Dynamic Themes — Material You (Android 12+) génère une palette sombre à partir du fond d'écran de l'appareil

Qu'est-ce que le Mode sombre et pourquoi est-il nécessaire ?

Mode sombre est un jeu de couleurs dans lequel l'arrière-plan de l'écran est sombre (généralement #121212 dans Android, #1C1C1E dans iOS), tandis que le texte et les éléments d'interface sont clairs. Contrairement à une simple inversion des couleurs, un Mode sombre de qualité utilise une palette soigneusement sélectionnée : fond gris foncé au lieu de noir pur (réduit l'effet de halo), saturation réduite des couleurs d'accent et ombres douces. La prise en charge système du Mode sombre est apparue dans iOS 13 (septembre 2019) et Android 10 (septembre 2019).

La principale raison de son adoption est le confort de l'utilisateur. En cas de faible luminosité (le soir, dans l'obscurité), un écran blanc brillant provoque une fatigue oculaire et peut déclencher des maux de tête. Le Mode sombre réduit la luminosité de l'écran sans sacrifier la lisibilité. Pour les utilisateurs photophobes ou sensibles à la lumière, le thème sombre n'est pas une option mais la seule façon d'utiliser une application confortablement. Selon Android Developers, plus de 30% des utilisateurs d'Android gardent le thème sombre activé en permanence.

Le Mode sombre économise la batterie sur les écrans OLED. Contrairement au LCD, où le rétroéclairage est toujours allumé, les pixels OLED s'illuminent eux-mêmes. Une couleur sombre signifie que le pixel est éteint — la consommation d'énergie diminue. Selon Google (Android Developers Blog, 2019), sur un Pixel avec écran OLED, le Mode sombre à 100% de luminosité réduit la consommation d'énergie de 60% par rapport au thème clair. Sur les écrans LCD, l'économie est minime (environ 3–5%) car le rétroéclairage de la matrice fonctionne indépendamment de la couleur du pixel.

Histoire du Mode sombre dans les systèmes d'exploitation mobiles

La prise en charge système du Mode sombre a traversé plusieurs étapes. iOS 13 (2019) a introduit un thème sombre global via UIUserInterfaceStyle. Android 10 (2019) a ajouté Force Dark Mode pour les applications sans thème sombre propre. Android 12 (2021) avec Material You a commencé à générer automatiquement une palette sombre à partir des fonds d'écran. iOS 15 (2021) a étendu l'API pour Safari et le contenu web. Selon StatCounter (2026), 82% des 100 principales applications de l'App Store et de Google Play prennent en charge le Mode sombre.

PlateformeVersionAnnéeInnovation clé
iOS132019UIUserInterfaceStyle, traitCollection.userInterfaceStyle
Android10 (Q)2019Force Dark Mode, thème DayNight d'AppCompat
iOS152021Thème sombre pour le contenu web et Safari
Android122021Material You Dynamic Themes avec palette sombre générée automatiquement

Mode sombre dans iOS : API Swift et support UIKit

L'API Mode sombre iOS est basée sur le protocole UITraitEnvironment. Chaque UIViewController et UIView possède la propriété traitCollection.userInterfaceStyle, qui peut être .unspecified, .light ou .dark. Lorsque le thème système change, iOS appelle la méthode traitCollectionDidChange(_:). Le développeur doit mettre à jour les couleurs dans cette méthode, ou utiliser des couleurs dynamiques (UIColor(dynamicProvider:)) qui basculent automatiquement entre les palettes claire et sombre.

swift
class ViewController: UIViewController {

    @IBOutlet var titleLabel: UILabel!

    override func traitCollectionDidChange(_: UITraitCollection?) {
        super.traitCollectionDidChange(previousTraitCollection)
        if traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) {
            updateColors()
        }
    }

    func updateColors() {
        let isDark = traitCollection.userInterfaceStyle == .dark
        view.backgroundColor = isDark ? UIColor(named: "darkBackground") : .systemBackground
        titleLabel.textColor = isDark ? .white : .darkText
    }
}

// Forcer l'activation du Mode sombre
window.overrideUserInterfaceStyle = .dark

Les couleurs dynamiques — la meilleure façon d'implémenter le Mode sombre dans iOS. UIColor(named:) charge automatiquement différentes valeurs du catalogue d'actifs pour les apparences .light et .dark. Il suffit de définir une couleur dans Assets.xcassets avec deux variantes (Any Appearance + Dark Appearance), et UIKit sélectionnera automatiquement la bonne. Les couleurs système dynamiques (UIColor.systemBackground, .label, .secondaryLabel) prennent déjà en charge le Mode sombre et changent automatiquement.

SwiftUI et Mode sombre

SwiftUI prend en charge le Mode sombre nativement. Toutes les couleurs et modifications standard (Color.primary, .background, Color(UIColor.systemBackground)) s'adaptent automatiquement. Pour les couleurs personnalisées, utilisez Color(uiColor:) avec un UIColor dynamique ou la variable d'environnement @Environment(\.colorScheme) pour une vérification explicite du thème. La vue SwiftUI se redessine automatiquement lors du changement de thème, sans avoir à appeler traitCollectionDidChange.

swift
struct ThemeView: View {
    @Environment(\.colorScheme) var colorScheme

    var body: some View {
        Text("Mode sombre")
            .foregroundColor(colorScheme == .dark ? .white : .black)
            .background(colorScheme == .dark ? Color(.systemGray6) : .white)
    }
}

Mode sombre dans Android : API Kotlin et AppCompat

Le Mode sombre Android est implémenté via la bibliothèque AppCompat et le thème Theme.AppCompat.DayNight. Le jour, le thème clair est utilisé, la nuit — le sombre. L'activation forcée est définie via AppCompatDelegate.setDefaultNightMode() : MODE_NIGHT_YES (sombre), MODE_NIGHT_NO (clair), MODE_NIGHT_FOLLOW_SYSTEM (système). Les ressources sont divisées en claires (res/values/styles.xml) et sombres (res/values-night/styles.xml).

kotlin
// Forcer l'activation du thème sombre
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        // Définir avant super.onCreate
        AppCompatDelegate.setDefaultNightMode(
            AppCompatDelegate.MODE_NIGHT_YES
        )
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    // Déterminer le thème actuel
    private val isDarkMode: Boolean
        get() = (resources.configuration.uiMode and
            Configuration.UI_MODE_NIGHT_MASK) ==
            Configuration.UI_MODE_NIGHT_YES
}

// Enregistrer le mode nuit dans AndroidManifest.xml
// android:configChanges="uiMode"

Force Dark Mode est une fonctionnalité système d'Android 10+ qui inverse automatiquement les couleurs des applications sans support de thème sombre. Elle est activée via les options développeur ou via l'attribut android:forceDarkAllowed="true" dans le thème. Il s'agit d'une solution temporaire : pour la production, vous devez implémenter votre propre palette sombre via values-night, sinon la qualité visuelle sera médiocre (icônes inversées, couleurs difficiles à lire).

Material You Dynamic Themes

Material You (Android 12+) génère automatiquement 5 couleurs clés à partir du fond d'écran de l'appareil : primary, secondary, tertiary, neutral, neutralVariant. Pour chaque couleur, des palettes claire et sombre sont créées. Le développeur utilise des attributs : ?attr/colorPrimary, ?attr/colorOnPrimary, ?attr/colorSurface. Le système sélectionne lui-même la variante pour le thème actuel. Dynamic Color est pris en charge sur Android 12+ avec Material Design 3 (composant com.google.android.material:material).

kotlin
// values/themes.xml — thème clair
<style name="Theme.MyApp" parent="Theme.Material3.DayNight">
    <item name="colorPrimary">@color/primary_light</item>
    <item name="colorOnPrimary">@color/on_primary_light</item>
</style>

// values-night/themes.xml — thème sombre
<style name="Theme.MyApp" parent="Theme.Material3.DayNight">
    <item name="colorPrimary">@color/primary_dark</item>
    <item name="colorOnPrimary">@color/on_primary_dark</item>
</style>

Conception du thème sombre : règles de contraste et de couleur

La conception du Mode sombre n'est pas une simple inversion des couleurs. Google Material Design recommande d'utiliser du gris foncé (#121212) au lieu du noir pur. Le noir pur (#000000) crée un contraste trop élevé avec le texte blanc, provoquant un effet de halo (auréole autour des lettres). Le niveau d'élévation des éléments est exprimé par la couleur : plus l'élément est élevé, plus son fond est clair. Une carte sur le fond — #1E1E1E, dialogue — #2D2D2D, panneau de navigation — #383838.

Le contraste des couleurs dans le Mode sombre doit être inférieur à celui du Mode clair. Material Design recommande : texte primaire — blanc (#FFFFFF) avec une opacité de 87%, secondaire — 60%, désactivé — 38%. Les couleurs d'accent doivent être moins saturées : si dans le thème clair primary = #6200EE, alors dans le sombre — #BB86FC (violet clair et doux). Selon WCAG 2.1, un contraste minimum de 4.5:1 pour le texte normal doit être maintenu dans les deux thèmes.

ÉlémentMode clairMode sombreContraste
Arrière-plan de l'écran#FFFFFF#121212
Carte#F5F5F5#1E1E1EÉlévation 1dp
Texte primaire#000000 87%#FFFFFF 87%15.8:1
Texte secondaire#000000 60%#FFFFFF 60%9.0:1
Couleur primaire#6200EE#BB86FC7.2:1

Images et icônes nécessitent un traitement séparé dans le thème sombre. Les icônes avec transparence doivent être recolorées en couleurs claires. Les photos avec des fonds brillants peuvent éblouir — il est recommandé de réduire la luminosité de 20 à 30% ou d'ajouter une superposition semi-transparente. Pour les logos et les éléments de marque, utilisez la version pour fond sombre. Le catalogue d'actifs iOS et VectorDrawable Android prennent en charge des ressources séparées pour les thèmes clair et sombre.

Mode sombre vs Mode clair : avantages et inconvénients

Le choix entre les thèmes dépend des conditions d'utilisation, du type de contenu et des préférences de l'utilisateur. Une étude du Nielsen Norman Group (2020) a montré : sous un éclairage normal, le Mode clair offre une vitesse de lecture de 15 à 20% supérieure. Cependant, dans des conditions de faible luminosité, le Mode sombre réduit la fatigue oculaire et améliore la lisibilité. Pour les interfaces avec de grandes quantités de texte (articles, documents), le Mode clair est généralement préférable.

La consommation d'énergie est un argument clé pour le Mode sombre sur OLED. Selon Google (2019), YouTube en thème sombre sur un écran OLED consomme 43% moins d'énergie qu'en thème clair. Google Maps — 32%. Plus l'interface est lumineuse et plus le niveau de luminosité de l'écran est élevé, plus les économies sont importantes. Sur les écrans LCD, les économies ne dépassent pas 5%. Pour les utilisateurs qui travaillent beaucoup avec l'application en extérieur sous un soleil éclatant, le Mode clair reste la seule option lisible.

CritèreMode sombreMode clair
Lisibilité sous une lumière viveFaible (reflets sur fond sombre)Élevée (contraste maximal)
Fatigue oculaire dans l'obscuritéFaibleÉlevée (lumière vive)
Consommation OLEDFaible (jusqu'à -60%)Élevée
Consommation LCDSimilaire (±5%)Similaire (±5%)
Perception des couleursDistordue (saturation réduite)Naturelle
AccommodationNécessite un temps d'adaptationNaturelle pour l'œil

Recommandations d'IT Sectr — nous implémentons les deux thèmes avec des options de bascule : système (suivre le système), sombre, clair. La bascule automatique ne doit pas être la seule option — un utilisateur peut vouloir le thème sombre pendant la journée (pour les migraines) ou le thème clair la nuit (pour la lecture). Dans nos projets, nous ajoutons un sélecteur de thème dans les paramètres du profil et mémorisons le choix. Pour les applications avec du contenu premium (photos, vidéos), un aperçu du thème avant application est recommandé.

Questions fréquentes

Le Mode sombre économise-t-il la batterie ?

Oui, sur les écrans OLED, les économies peuvent atteindre 60% (Google, Pixel, 2019). Plus l'interface est lumineuse, plus les économies sont importantes. Sur les écrans LCD, la différence est minime — jusqu'à 5%, car le rétroéclairage de la matrice fonctionne indépendamment de la couleur du pixel. Si un utilisateur utilise activement une application avec des éléments principalement blancs, le Mode sombre offre un effet maximal.

En quoi le Mode sombre diffère-t-il du thème sombre Material You ?

Mode sombre est le concept général d'un schéma d'interface sombre. Material You Dynamic Themes (Android 12+) est une implémentation qui génère automatiquement une palette sombre à partir du fond d'écran de l'appareil. L'utilisateur peut forcer l'activation du thème sombre, et Material You ajustera les couleurs à une palette personnalisée au lieu d'utiliser des couleurs sombres fixes.

Comment activer le Mode sombre dans iOS ?

Allez dans Réglages → Affichage et luminosité → Apparence et sélectionnez « Sombre ». Par programmation : définissez window.overrideUserInterfaceStyle = .dark dans AppDelegate. La bascule automatique selon un horaire (coucher/lever du soleil ou heure personnalisée) est également disponible, permettant des transitions fluides entre les thèmes au cours de la journée.

Qu'est-ce que forceDarkMode dans Android ?

forceDarkMode (Android 10+) est une option système pour forcer le thème sombre dans les applications sans support natif. Android inverse automatiquement les couleurs de l'écran. Pour un thème sombre de qualité, le développeur doit implémenter sa propre palette via values-night et désactiver forceDarkAllowed.

Quand le Mode sombre est-il apparu dans les systèmes d'exploitation mobiles ?

Le Mode sombre système est apparu dans iOS 13 (septembre 2019) et Android 10 (septembre 2019). Avant cela, les développeurs implémentaient les thèmes sombres eux-mêmes. En 2026, plus de 80% des principales applications de l'App Store et de Google Play prennent en charge le Mode sombre, et Apple et Google le recommandent comme une option obligatoire.

Résumé

  • Mode sombre — un jeu de couleurs sombre qui réduit la fatigue oculaire dans des conditions de faible luminosité
  • Économie OLED — jusqu'à 60% de réduction de la consommation d'énergie sur les écrans OLED (Google, 2019)
  • API iOS — traitCollection.userInterfaceStyle, UIColor(dynamicProvider:), overrideUserInterfaceStyle
  • API Android — AppCompatDelegate.setDefaultNightMode(), values-night, Force Dark Mode
  • Material You — Dynamic Color génère une palette sombre à partir du fond d'écran (Android 12+)
  • Conception — gris foncé #121212 au lieu de noir, saturation des accents réduite, élévation par la couleur
  • Sélection du thème — nous recommandons l'option système + un sélecteur manuel dans les paramètres du profil

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi