Design

Systèmes d'espacement CSS : construire une échelle cohérente avec notre générateur

Apprenez à créer des systèmes d'espacement cohérents avec des échelles linéaires, géométriques et Fibonacci. Générez des CSS variables et une config Tailwind en quelques clics grâce à notre outil gratuit.

10 min de lectureEguth

Vous venez de terminer une maquette. Les éléments sont à peu près alignés, les marges "ont l'air bien" au feeling. Puis vous passez au composant suivant et tout dérape : un padding de 18px ici, un gap de 13px là, une marge de 22px ailleurs. Le résultat ? Une interface qui semble légèrement bancale sans qu'on sache exactement pourquoi. Le problème n'est pas votre design — c'est l'absence d'un système d'espacement. Notre Générateur de système d'espacement résout exactement ce problème.

Pourquoi l'espacement est le fondement invisible du design

L'espacement est le paramètre de design le plus sous-estimé. La couleur attire l'oeil, la typographie porte le message, mais c'est l'espacement qui structure la perception. Un espacement cohérent crée un rythme visuel — cette sensation harmonieuse que les utilisateurs ressentent sans pouvoir la nommer.

L'impact concret d'un bon espacement

  • Hiérarchie visuelle — L'espacement entre les éléments communique leur relation. Des éléments proches sont perçus comme liés (loi de proximité de Gestalt).
  • Lisibilité — Un bon espacement vertical entre les paragraphes et les sections réduit la charge cognitive.
  • Cohérence — Quand chaque composant utilise les mêmes valeurs d'espacement, l'interface respire l'unité.
  • Maintenabilité — Un système réduit les décisions arbitraires et accélère le développement.

La grille à 8 points : le standard de l'industrie

Si vous n'avez qu'un concept à retenir, c'est celui-ci : la grille à 8 points. Le principe est simple — toutes les dimensions et tous les espacements de votre interface sont des multiples de 8px.

Pourquoi 8 ?

Le nombre 8 n'est pas arbitraire. Il est divisible par 2 et par 4, ce qui offre une flexibilité maximale pour les subdivisions. Sur les écrans modernes, 8px s'aligne naturellement avec les grilles de pixels des densités 1x, 1.5x, 2x et 3x. Résultat : des bords nets sur tous les appareils.

La grille à 4 points comme alternative

Certaines équipes préfèrent une unité de base de 4px pour plus de granularité, surtout dans les interfaces denses comme les dashboards. C'est l'approche utilisée par Material Design de Google. L'avantage : vous pouvez atteindre des espacements plus fins (4px, 8px, 12px, 16px) tout en gardant un système structuré.

Notre Générateur de système d'espacement vous permet de basculer entre ces deux bases — et bien d'autres — en un clic.

Les types d'échelles d'espacement

Un système d'espacement ne se résume pas à multiplier un nombre. Le type de progression entre les valeurs a un impact direct sur le rythme visuel de votre interface.

Échelle linéaire

C'est la plus intuitive : chaque palier ajoute la même valeur. Avec une base de 4px :

4, 8, 12, 16, 20, 24, 28, 32...

Avantages : prévisible, facile à mémoriser. Inconvénient : les grands espacements restent proches les uns des autres (la différence entre 24 et 28 est visuellement négligeable), tandis que les petits sont très distincts. Convient parfaitement aux interfaces compactes où la plupart des espacements sont petits.

Échelle géométrique

Chaque palier est multiplié par un ratio constant (notre outil utilise 1.5x). Avec une base de 4px :

4, 6, 9, 14, 20, 30, 46, 68...

Avantages : les petits espacements sont granulaires et les grands s'écartent naturellement, créant une hiérarchie visuelle plus prononcée. C'est le choix idéal pour des designs avec beaucoup de niveaux de profondeur. Inconvénient : les valeurs ne tombent pas sur des chiffres ronds, ce qui peut être déroutant.

Échelle Fibonacci

Chaque valeur est la somme des deux précédentes, multipliée par la base :

4, 4, 8, 12, 20, 32, 52, 84...

Avantages : les proportions suivent le nombre d'or, créant un rythme que l'oeil humain perçoit comme naturellement agréable. Utilisée dans les interfaces qui visent une esthétique organique. Inconvénient : la progression est rapide — les grands espacements deviennent très grands.

Échelle Tailwind

C'est l'échelle native de Tailwind CSS, avec ses noms de tokens familiers (0.5, 1, 1.5, 2, etc.) et des valeurs qui mélangent progression linéaire (par pas de 4px jusqu'à 48px) et sauts plus grands au-delà. Notre outil la reproduit fidèlement pour vous permettre de visualiser et d'adapter le système Tailwind à vos besoins.

Utiliser le générateur de système d'espacement

Notre outil a été conçu pour transformer un concept abstrait en quelque chose de tangible et exportable.

Choisir un preset

Cinq presets sont disponibles : Tailwind Default pour l'échelle Tailwind standard, 4px Linear et 8px Linear pour des échelles linéaires classiques, 4px Geometric pour une progression géométrique et Fibonacci pour l'échelle basée sur le nombre d'or. Chaque preset configure automatiquement le type d'échelle, l'unité de base et le nombre de paliers.

Personnaliser l'échelle

Au-delà des presets, vous contrôlez trois paramètres :

  • Scale Type — Linéaire, géométrique, Fibonacci ou Tailwind.
  • Base — L'unité de base en pixels (de 2 à 12px).
  • Steps — Le nombre de paliers dans votre échelle.

Chaque modification met à jour instantanément la visualisation, le tableau des tokens et le code généré.

Visualiser en barres ou en boîtes

Deux modes de prévisualisation sont disponibles. Le mode Bars affiche chaque valeur sous forme de barre horizontale proportionnelle — idéal pour comparer les ratios entre les paliers. Le mode Boxes montre des carrés dimensionnés à chaque valeur — parfait pour ressentir la taille réelle de chaque espacement.

Double export : CSS et Tailwind

L'outil génère automatiquement :

  1. Des CSS custom properties — Prêtes à coller dans votre fichier de variables :
:root {
  --space-0: 0rem;
  --space-1: 0.250rem; /* 4px */
  --space-2: 0.500rem; /* 8px */
  --space-3: 0.750rem; /* 12px */
  --space-4: 1.000rem; /* 16px */
}
  1. Une configuration Tailwind — Directement injectable dans votre tailwind.config :
spacing: {
  '1': '0.250rem', /* 4px */
  '2': '0.500rem', /* 8px */
  '3': '0.750rem', /* 12px */
  '4': '1.000rem', /* 16px */
}

Cliquez sur "Copy" et le code est dans votre presse-papier.

Design tokens et systèmes d'espacement

Un système d'espacement prend toute sa puissance quand il est formalisé en design tokens — des valeurs nommées, versionnées et partagées entre le design et le code.

Qu'est-ce qu'un design token d'espacement ?

C'est une variable qui nomme une intention plutôt qu'une valeur brute. Au lieu d'écrire padding: 16px, vous écrivez padding: var(--space-4). Le jour où vous décidez de passer votre base de 4px à 5px, un seul fichier change et toute l'interface s'adapte.

Tokens sémantiques vs primitifs

Les tokens primitifs sont les valeurs brutes de votre échelle (--space-1, --space-2, etc.). Les tokens sémantiques ajoutent une couche d'intention :

  • --spacing-inline-sm — Petit espacement horizontal entre éléments inline.
  • --spacing-stack-md — Espacement vertical moyen entre sections empilées.
  • --spacing-inset-lg — Grand padding intérieur d'un conteneur.

Cette distinction est essentielle pour les systèmes de design à grande échelle. Elle permet de changer la valeur d'un token sémantique sans toucher aux composants qui l'utilisent.

L'espacement dans un écosystème produit

Quand vous maintenez plusieurs produits, un système d'espacement partagé devient un facteur d'unité critique. Chez Eguth, les mêmes tokens d'espacement alimentent chaque application de l'écosystème :

  • Guthly utilise l'échelle partagée pour espacer les cartes d'habitudes, les graphiques de progression et les éléments de gamification de manière cohérente.
  • WePlanify applique les mêmes valeurs aux vues de planification collaborative, garantissant que les listes, les timelines et les panneaux latéraux respirent au même rythme.
  • GuthSearch structure ses résultats de recherche et ses panneaux contextuels avec des espacements identiques.
  • Dropee espace ses modules d'apprentissage et ses parcours gamifiés avec la même échelle.
  • GutHub organise ses espaces de collaboration avec des marges et des paddings issus du système partagé.

Le résultat : un utilisateur qui passe d'un produit à l'autre ressent une familiarité immédiate, même si les interfaces sont fonctionnellement différentes. C'est le rythme visuel commun qui crée cette cohérence.

Intégration avec Tailwind CSS

Tailwind est devenu le framework CSS dominant pour une bonne raison : il systématise les valeurs de design. Son système d'espacement natif est un excellent point de départ, mais il n'est pas toujours adapté à votre projet.

Personnaliser l'échelle Tailwind

Notre générateur vous permet de créer une échelle personnalisée et de l'exporter directement en configuration Tailwind. C'est particulièrement utile quand :

  • Votre équipe design utilise une base de 6px au lieu de 4px.
  • Vous avez besoin d'une progression géométrique pour un design éditorial.
  • Vous voulez limiter le nombre de tokens pour forcer la cohérence.

L'approche extend vs override

Dans Tailwind, vous pouvez étendre l'échelle par défaut (theme.extend.spacing) ou la remplacer entièrement (theme.spacing). Pour un système d'espacement strict, le remplacement est préférable — il empêche l'utilisation de valeurs hors système.

Erreurs courantes à éviter

Valeurs magiques

Écrire margin-top: 13px dans votre CSS est l'équivalent d'un nombre magique en programmation. Si cette valeur n'appartient pas à votre échelle, elle brise le système. Chaque espacement doit être un token.

Trop de paliers

Une échelle avec 30 valeurs distinctes n'est pas un système — c'est une absence de contrainte déguisée. Visez 8 à 16 paliers pour la majorité des projets. Plus votre échelle est contrainte, plus vos interfaces seront cohérentes.

Confondre espacement intérieur et extérieur

Le padding (espacement intérieur) et le margin (espacement extérieur) servent des objectifs différents. Utiliser les mêmes tokens pour les deux est correct, mais assurez-vous que vos tokens sémantiques distinguent les deux cas (--spacing-inset vs --spacing-stack).

Ignorer l'espacement vertical

Beaucoup de développeurs soignent l'espacement horizontal mais négligent le rythme vertical. Le vertical rhythm — l'espacement régulier entre les lignes de texte et les sections — est tout aussi important pour la lisibilité et l'harmonie visuelle.

Bonnes pratiques pour un système d'espacement robuste

  1. Choisissez une base et tenez-vous-y — 4px ou 8px sont les choix les plus courants. Ne mélangez pas.
  2. Limitez votre échelle — Moins de choix = plus de cohérence. 10 à 12 tokens couvrent la plupart des besoins.
  3. Utilisez des variables CSS — Jamais de valeurs en dur dans vos composants.
  4. Documentez vos tokens — Chaque valeur devrait avoir un nom clair et un cas d'usage documenté.
  5. Testez visuellement — Utilisez notre générateur pour voir votre échelle avant de l'implémenter.
  6. Partagez entre les équipes — Design et développement doivent utiliser les mêmes tokens.

Passez à la pratique

L'espacement est un sujet que l'on comprend vraiment en le pratiquant. Ouvrez notre Générateur de système d'espacement et expérimentez. Commencez par le preset Tailwind Default pour voir l'échelle standard, puis basculez sur une échelle géométrique ou Fibonacci pour sentir la différence.

Ajustez l'unité de base, augmentez ou réduisez le nombre de paliers, comparez les modes de visualisation — puis copiez le code généré directement dans votre projet. En quelques minutes, vous aurez un système d'espacement cohérent, documenté et prêt à l'emploi.

Que vous travailliez sur un produit unique ou sur un écosystème complet comme celui d'Eguth, un système d'espacement bien pensé est l'investissement le plus rentable que vous puissiez faire pour la qualité visuelle de vos interfaces.

#espacement#design tokens#tailwind css#système de design#grille 8 points