# daisyUI : 35 thèmes pour mettre fin aux doutes de couleur daisyUI ne se limite pas à une simple prise en charge du mode sombre. Il propose **35 palettes (thèmes) préconçues** qui combinent les couleurs à un niveau produit, et permet d’appliquer ces palettes de façon cohérente à l’ensemble de l’application. ![Boutique de styles colorés](/media/editor_temp/6/80ae2ebd-04c4-4f84-b0d2-15666a888080.png) > Cet article suppose que l’installation est terminée. Si vous devez commencer par l’installation, consultez le guide officiel : --- ## Comprendre le cœur du thème : « ne pas spécifier de couleur directement » {#sec-648a5757ecf6} Le point le plus déroutant pour les débutants est exactement celui-ci. | Méthode incorrecte | Résultat | |---------------------|----------| | Utiliser Tailwind avec `bg-white`, `text-slate-900`, `bg-blue-600` | L’élément conserve la couleur fixe même si le thème change | En d’autres termes, pour utiliser un thème, **ne pas coder les couleurs en dur** ; utilisez les **tokens (noms de couleurs basés sur le sens)** fournis par daisyUI. ### ❌ Exemple incorrect : hardcoding qui ignore le thème {#sec-0b5438bac864} ```html
``` ### ✅ Exemple correct : utilisation des tokens daisyUI pour s’adapter au thème {#sec-e1146fcf48a6} ```html
``` L’essentiel n’est pas la couleur elle‑même, mais son **rôle**. - `bg-base-100` : fond de base de l’écran ou de la carte - `text-base-content` : couleur de texte de base - `btn-primary` : action principale (CTA) du produit Le thème remplace les couleurs en fonction de ces rôles. --- ## Alors, qu’est‑ce qu’il faut absolument utiliser ? {#sec-7cfab9901bed} Pour bien exploiter daisyUI, il suffit d’adopter l’une (ou les deux) des pratiques suivantes. | Pratique | Exemple | |----------|---------| | **Classes de composants daisyUI** | `btn`, `btn-primary`, `alert`, `badge`, `card`, `navbar`, `input`, … | | **Classes de tokens de couleur daisyUI (basées sur le sens)** | Fond/texte de base : `bg-base-100`, `bg-base-200`, `bg-base-300`, `text-base-content`
Couleur de pointage : `bg-primary`, `text-primary`, `bg-secondary`, `bg-accent`, `bg-neutral`
Couleur d’état : `bg-info`, `bg-success`, `bg-warning`, `bg-error` (+ leurs `*-content` correspondants) | Par exemple, pour une bannière d’avertissement, on ne fixe pas la couleur mais on exprime le rôle. ```html
Les informations de paiement sont manquantes.
``` --- ## Appliquer un thème : changer l’ambiance en un seul `data-theme` {#sec-4d6308cbf561} L’application d’un thème est étonnamment simple. ```html
``` Cette seule ligne (`data-theme`) modifie l’ensemble des variables de couleur de l’application. --- ## Le thème ne change pas seulement l’ensemble : il fonctionne aussi par section {#sec-e0f142807b1a} Dans le développement de produits, on rencontre souvent ces besoins. - « La page principale est propre, mais la bannière d’événement doit être plus accrocheuse » - « La page d’administration est sombre, la page utilisateur est claire » daisyUI permet d’attacher `data-theme` à un DOM spécifique, ce qui change le thème uniquement dans cette zone. Les imbriquations sont possibles. ```html

Tout est sombre

Cette section est toujours claire Ce span est rétro
``` Cette fonctionnalité est souvent plus utilisée que le simple « toggle de thème ». --- ## Gestion des thèmes : n’activer que ce qui est nécessaire {#sec-ab5d0648dae0} Une fois l’installation terminée, l’activation des thèmes se fait dans le bloc `@plugin "daisyui" { ... }` du CSS. ```css @import "tailwindcss"; @plugin "daisyui" { themes: light --default, dark --prefersdark, cupcake; } ``` - `themes` est une liste séparée par des virgules. - `--default` désigne le thème par défaut. - `--prefersdark` active le thème par défaut lorsque le système est en mode sombre (`prefers-color-scheme: dark`). Si vous voulez tout activer, vous pouvez faire : ```css @plugin "daisyui" { themes: all; } ``` En pratique, il est plus simple de n’activer que les thèmes réellement utilisés. --- ## Un point différenciateur : considérer le « choix du thème » comme une stratégie produit, pas seulement un design {#sec-612655295e82} Il est dommage de voir les 35 thèmes comme de simples skins. Voici comment je les utilise. | Étape | Utilisation | |-------|-------------| | **Phase MVP** | Lancer plusieurs thèmes comme « candidats de marque » pour tester rapidement l’harmonie avec le UI/ contenu | | **Phase opérationnelle** | Étant donné qu’il n’y a pas de hardcoding, un renouvellement de marque ou un événement saisonnier se résume à changer de thème | | **Collaboration d’équipe** | Même sans designer, le respect des tokens basés sur le rôle garantit la cohérence | En fin de compte, l’idée est simple. > **En abandonnant l’habitude de coder les couleurs, le thème devient un outil qui met à jour l’ensemble de l’application en un instant.** --- ## Quand faut‑on créer un thème personnalisé ? {#sec-67726d664b47} En bref, **la plupart du temps, les 35 thèmes de base suffisent**. Ils sont déjà très soignés, et on peut les utiliser avec quelques ajustements mineurs. Cependant, on envisage un thème personnalisé dans les cas suivants. - **Couleur de marque clairement définie** : si l’entreprise ou le service a déjà une couleur principale, on peut choisir un thème de base puis **surcharger légèrement** `primary`, `secondary`, etc. Cela permet de garder l’équilibre global du thème tout en alignant les interactions clés (boutons, liens, CTA) sur la couleur de marque. La façon exacte de personnaliser `primary` et `secondary` (en surchargeant le thème de base) sera détaillée dans le prochain article, avec du code. --- ## Teaser du prochain article {#sec-b349bf2c99ab} Le prochain article couvrira : - Le pattern « maintenir le thème et modifier légèrement les composants » - La méthode de personnalisation du thème - Une cheat‑sheet des variables de couleur et des classes prises en charge par daisyUI À bientôt !