Formation « Créer un site WordPress avec le Full Site Editing »

Theme.json : configurer les couleurs globales de la charte graphique

Lecture : 6 minutes • 0

Dans les cours qui vont suivre, on va intégrer notre design system dans notre thème WordPress, au travers du theme.json. Dans ce cours, on va se concentrer sur l’implémentation de la palette et autres couleurs globales de notre charte graphique.

On va maintenant commencer à intégrer la charte graphique dans notre site WordPress. Et pour cela, on va définir nos couleurs à l’aide du fameux fichier theme.json dans la section settings > color.

Voici un aperçu des propriétés disponibles :

JSON
theme.json

La palette de couleurs

On va commencer par la palette, qui est la plus importante au final. Il existe 3 types de couleurs que l’on va pouvoir définir :

  • Les couleurs classiques, les plus importantes ;
  • Les dégradés, si besoin ;
  • Et les duotones, qui permettent d’appliquer un filtre bicolore sur les images.

Voici ce que ça donne dans le JSON :

JSON
theme.json

On va se concentrer pour l’instant uniquement sur les couleurs. Voici comment déclarer chaque couleur de notre palette :

JSON
theme.json

Vous devez indiquer 3 informations pour chaque couleur:

  • name : le nom qui sera affiché dans l’interface ;
  • slug : le slug unique qui représente la couleur ;
  • color : la valeur de la couleur, généralement en hexadécimal.

Vous pouvez d’ailleurs déclarer une couche d’opacité hexadécimale en ajoutant la valeur d’opacité à la fin de votre couleur : #2f1847 deviendrait par exemple #2f1847cc.

Astuce

Vous pourriez également déclarer des couleurs dans d’autres unités, comme le HSL, RGB, HSLA, RGBA

Voici à quoi va ressembler votre palette de couleurs. On peut observer nos couleurs dans la rubrique « Thème » :

La palette de couleurs de Gutenberg, proposant plusieurs options de couleurs.
Les couleurs de notre palette

Dans la suite du cours, on va voir comment retirer les couleurs par défaut de WordPress, ainsi que la possibilité de choisir une couleur personnalisée.

À vous de définir votre charte de nommage. L’essentiel est de vous y tenir.

  • Le thème 2024 de WordPress utilise : base / base-2 / contrast / accent ;
  • Le thème Ollie utilise : primary / primary-accent / secondary / tertiary.

Ainsi, vous vous assurez que vos compositions adopteront automatiquement les couleurs de la charte sur chacun de vos sites.

Conseil

Il est très important que vous conserviez les mêmes slug de couleurs pour tous vos sites. Cela permettra aux compositions de fonctionner d’un site à un autre.

Les dégradés

Tout comme pour les couleurs, on va pouvoir déclarer des dégradés dans notre thème. Ils pourront avoir 2 couleurs ou plus. On va cette fois jouer avec la propriété gradients, toujours dans la rubrique settings :

JSON
theme.json

Il faudra là aussi définir un nom qui sera affiché dans l’éditeur, et un slug qui sera l’identifiant unique de votre dégradé.

Dans la propriété gradient, indiquez le CSS du dégradé que vous souhaitez appliquer.

Vous pouvez utiliser un générateur de dégradés CSS pour vous simplifier la tâche car la syntaxe n’est pas toujours évidente.

Vous devriez voir vos dégradés apparaître dans la rubrique « Thème » :

La palette des dégradés de Gutenberg. On y voit les dégradés que l'on vient de déclarer dans le theme.json.
Nos dégradés apparaissent dans la palette

Vous pouvez appliquer tout type de dégradé compatible CSS ici : les linéaires, circulaires ou coniques.

Si besoin, consultez les documentations CSS de MDN pour en savoir plus sur la syntaxe des dégradés linéaires ou circulaires.

Attention

Les dégradés mal maîtrisés peuvent diminuer la lisibilité d’un site. Sachez donc les utiliser avec parcimonie.

Les filtres d’images duotone

Le duotone est un filtre appliqué sur une image en CSS qui permet de lui donner un rendu en deux tons :

L'éditeur Gutenberg avec une image dont un filtre duotone jaune / violet est appliqué.
Un filtre duotone appliqué sur une image

Ce n’est pas la fonctionnalité la plus utile du siècle, mais ça pourrait par exemple servir pour passer des images en noir et blanc sans les convertir en amont.

Après tout iOS, le système d’exploitation des smartphones Apple, dispose d’une fonctionnalité équivalente pour les fonds d’écran :

2 fonds d'écrans avec un filtre deux tons appliqué sur les images.
Le duotone est également à la mode chez Apple

Pour déclarer vos propres duotones bicolores, utilisez cette fois la propriété duotone :

JSON
theme.json

Indiquez un nom, un slug et 2 couleurs dans un tableau sous la propriété colors.

Pour l’instant, vos duotones seront mélangés avec ceux par défaut, mais on va justement voir d’ici la fin de ce cours comment les retirer.

Activer ou désactiver les couleurs globales

Comme on a pu le voir dans le cours sur les fonctionnalités de Gutenberg, l’éditeur de thème nous permet de configurer les couleurs globales de divers éléments primitifs du site dans Apparence > Éditeur > Styles.

Réglage des couleurs des éléments primitifs du site comme les textes, liens, titres et légendes.
Les réglages de couleurs globales

Les couleurs des textes, des liens, des légendes, des boutons, du fond du site et des titres peuvent être configurées globalement, en amont même des blocs.

Pour reprendre l’approche de l’atomic design : si nos blocs sont des molécules, ces éléments primitifs sont des atomes.

Si vous souhaitez désactiver la possibilité de modifier certains de ces éléments, vous pouvez les désactiver à partir du theme.json :

JSON
theme.json

En tant que développeur, on va bientôt voir comment configurer ces valeurs globales directement à partir du theme.json. Donc peu importe si on laisse ou non ces réglages dans l’éditeur.

Personnaliser les options de la palette de couleurs

On va maintenant voir quelques réglages supplémentaires pour personnaliser les options de la palette, et donc affiner l’expérience utilisateur.

JSON
theme.json

Voici le rôle de chaque propriété :

  • custom : Désactiver le choix d’une couleur personnalisée ;
  • customDuotone : Désactiver le choix d’un duotone personnalisé ;
  • customGradient : Désactiver le choix d’un dégradé personnalisé ;
  • defaultDuotone : Désactiver les duotones par défaut ;
  • defaultGradients : Désactiver les dégradés par défaut ;
  • defaultPalette : Désactiver les couleurs par défaut ;

Du côté de la palette de couleurs, on a ceci par défaut :

La palette de couleurs par défaut de WordPress avec des couleurs de base et un sélecteur de couleurs.
La palette de couleurs par défaut

Si on passe custom et defaultPalette à false, on aura une version bien plus minimaliste de la palette :

La palette de couleur avec uniquement les couleurs que l'on a défini dans le theme.json.
La palette avec uniquement les couleurs de la charte

C’est mieux non ? Désormais, votre utilisateur pourra appliquer uniquement les couleurs de la charte graphique.

Ce sera la même chose côté dégradés :

La palette des dégradés proposées par Gutenberg.
La palette des dégradés de couleur

Passez customGradient et defaultGradients à false pour ne conserver que les dégradés définis dans votre charte graphique.

Enfin, du côté des images et des duotones, même combat :

Les couleurs proposées par la palette duotone dans Gutenberg
La palette des duotones

Désactivez defaultDuotone et customDuotone si vous souhaitez conserver uniquement ceux définis par votre charte.

Désactiver les dégradés et les duotones

Enfin, si vous souhaitez complètement désactiver les dégradés et les duotones de votre site, vous allez devoir utiliser ces réglages :

JSON
theme.json

Il faudra :

  • Retirer la personnalisation des duotones / dégradés ;
  • Retirer les dégradés / duotones par défaut ;
  • Ne pas déclarer de dégradé / duotone ou ne pas mettre la ligne correspondante.

Votre palette va s’en retrouver bien épurée :

La palette de gutenberg avec à gauche toutes les options de couleurs, et à droite, seulement celles de la charte graphique.
La palette avec toutes les options à gauche, et avec seulement les couleurs de la charte à droite

Avec ça, vous vous assurez de proposer uniquement les couleurs pleines, issues de votre palette.

Conseil

En règle générale, je vous recommande de désactiver les duotones, et ne conserver les dégradés que s’ils font sens dans votre design.

Modifier les couleurs dans l’éditeur de styles

Vous allez pouvoir retrouver toutes les couleurs, dégradés et duotones définis précédemment dans l’éditeur de styles du FSE.

Pour cela rendez-vous dans Apparence > Éditeur > Styles. Vous pourrez voir les couleurs de votre palette à droite :

L'éditeur de styles du Full Site Editing, avec le guide de styles activé, permettant de montrer le rendu de tous les blocs.
Le guide de style et l’éditeur de styles globaux de WordPress

En cliquant sur l’icône en forme d’oeil en haut à droite, vous afficherez le guide de style qui vous permettra d’observer le rendu de chacun des blocs de l’éditeur.

Si vous cliquez sur la palette, vous verrez toutes vos couleurs précédemment déclarées :

Les interfaces de gestion des styles globaux du thème dans le Full Site Editing. On retrouve toutes les couleurs que l'on a déclaré précédemment.
Nos palettes dans l’éditeur de styles du thème

Le souci c’est que vous aurez la possibilité d’ajouter de nouvelles couleurs à partir de cette interface. Bien entendu, ce n’est pas une bonne idée, car elles ne seront pas ajoutées au theme.json, mais dans la base de données de WordPress.

Il faudra donc bien se poser la question à terme : est-ce qu’on doit laisser l’accès à notre client au Full Site Editing, ou doit-on leur laisser l’accès uniquement aux contenus (pages, articles).

Pour limiter les droits de votre client, sélectionnez le rôle « éditeur » plutôt que « administrateur ».

Vous pouvez également créer un nouveau rôle sur mesure, et passer la capacité edit_theme_options à false.

Conseil

2 conseils ici : déclarez uniquement vos couleurs dans le theme.json, et décidez s’il faut laisser l’accès au Full Site Editing ou non à votre client final.


Et voilà, la section couleurs du theme.json n’a désormais plus de secrets pour vous.

Ces réglages vous permettront d’offrir la meilleur expérience utilisateur possible à vos clients.

À vous de définir le bon dosage entre possibilités et contraintes, en fonction du design sur lequel vous vous basez.

Dans le prochain cours, on va se concentrer sur les réglages d’espacements.

0

Questions, réponses et commentaires

Laisser un commentaire