Tous les articles
·Design·7 min

Design pixel-perfect : mythe ou méthode ?

Comment on garantit qu'un design Figma arrive au pixel près dans le navigateur, sans dette technique.

« Pixel-perfect » est un terme galvaudé. Chez nous, c'est une méthode, pas un slogan.

Gros plan sur une grille de design et des composants Figma
Un système de design cohérent est la base de tout projet pixel-perfect.

Un système, pas des pages

Un design qui s'intègre bien en code est un design pensé en tokens. Couleurs, espacements, rayons, typographies : tout est défini une fois, utilisé partout.

L'échelle d'espacement

Notre échelle par défaut suit une progression géométrique en base 4 :

TokenPixelsUsage
space-14pxEspacement minimal, entre icône et texte
space-28pxPadding compact (boutons small)
space-312pxGaps entre items d'une liste
space-416pxPadding standard
space-624pxSections internes
space-832pxMarges entre blocs
space-1248pxSéparation sections majeures

Cette progression suit la relation sn=4ns_n = 4 \cdot n, ce qui garantit une cohérence mathématique et facilite les calculs au vol :

gap total=i=1nsi=4i=1ni=2n(n+1)\text{gap total} = \sum_{i=1}^{n} s_i = 4 \sum_{i=1}^{n} i = 2n(n+1)

Les outils qui aident

  • Figma Variables pour les tokens partagés entre design et code
  • Tailwind v4 avec @theme inline pour refléter les variables CSS
  • Code Connect pour lier les composants Figma aux composants React

Un exemple de mapping

/* globals.css */
@theme inline {
  --spacing-1: 4px;
  --spacing-2: 8px;
  --spacing-3: 12px;
  --spacing-4: 16px;
}
// Button.tsx
<button className="px-4 py-2 gap-2">
  <Icon />
  Démarrer
</button>

Côté Figma, la même variable space/2 contrôle le gap dans le composant bouton. Si un designer change la valeur, le code suit automatiquement.

Le vrai test

Superposez le design Figma et le site livré. Si l'écart est supérieur à 2px sur un élément clé, il y a un problème.

Écran partagé entre maquette Figma et navigateur
La superposition design / code est le seul test qui ne ment pas.

Proportions : la suite de Fibonacci en design

Pour les grilles et ratios, on revient souvent au nombre d'or :

φ=1+521,618\varphi = \frac{1 + \sqrt{5}}{2} \approx 1{,}618

Une colonne de contenu principale de 720px avec une sidebar à 720/φ445720 / \varphi \approx 445px crée une tension visuelle naturelle. Ce n'est pas magique, c'est géométrique.

Le résultat

Quand le système est posé, la vélocité explose. Un nouveau composant prend 30 minutes au lieu de 3 heures. Et surtout : personne ne discute des pixels, parce qu'ils sont définis au bon endroit, une seule fois.