UI Design

L’essentiel sur l’auto-layout Figma

Les points clés à retenir :

  • L’auto-layout permet de fixer un ensemble de règles qui vont définir comment les composants d’une maquette se comporteront entre eux et avec leurs éléments parents.
  • Penser en mode auto-layout c’est aussi s’aligner avec les modes de fonctionnement du développement web, notamment les modules Flexbox.
  • Grâce au spacing, padding et alignement, il est possible de prévoir simplement tous les comportements d’un groupe de composants et ainsi de garantir une cohérence optimale dans la hiérarchie de la maquette.
  • En utilisant les outils de redimensionnement et de position, il est possible de créer des comportements similaires au web responsive et d’ajuster rapidement la disposition générale d’une page.
  • L’auto-layout est un outil très puissant, mais il doit être utilisé avec parcimonie pour qu'il reste un gain de temps et non une contrainte inutile.

👉 Disclaimer : Cet article a été écrit sur la base de la version Q1 2023 de l’auto-layout Figma et ne couvre pas forcément toutes les nouvelles évolutions éventuelles.

Auto-quoi ?

Concevoir rapidement et efficacement des interfaces sans pour autant négliger le souci du détail et la précision d’exécution ; voici une des missions qui incombe aux Product Designers, et qui peut parfois se révéler délicate.

Designer une interface revient souvent à assembler un groupe de composants en tâchant de conserver une cohérence visuelle et fonctionnelle à l’ensemble. Il est donc primordial de créer un cadre stable mais flexible pour accueillir les briques de notre feature.

C’est dans ce contexte qu’arrive l’auto-layout : promesse de Figma pour plus de cohérence dans la conception, facilitant la composition et permettant plus de flexibilité grâce à son approche modulaire.

Oui mais voilà, malgré son formidable pouvoir, on peut se retrouver rapidement submerger par les options et les comportements de l’auto-layout, à tel point que certains designer l’abandonnent, ne voyant ici qu’une friction supplémentaire, là où ils pourraient directement placer leurs composants à la main.

Difficile de savoir par ou commencer et surtout comment matérialiser sa pensée avec si peu d’options

Attention, l’auto-layout n’est pas la solution miracle pour produire des maquettes deux fois plus vite, ou encore pour viser des écrans pixel perfect dès la première itération.

Lors des phases amont de vos projets où les cycles d’itération sont très courts et les contours de votre solution encore flous, vous pouvez vous passer d’auto-layout et placer “au mieux” les éléments de votre maquette. Vous voulez d’abord véhiculer une intention, l’exécution des détails viendra plus tard quand la direction à prendre sera validée.

Ainsi, vous évitez de trop brider votre créativité dans le placement de vos éléments, en essayant en premier lieu de drafter rapidement des idées et d’explorer des concepts.

💡 Voyez l’auto-layout comme un guide modulaire, qui permet de fixer des contraintes aux éléments de votre maquette. Chaque composant réagira vis à vis de ses voisins et de ses parents en suivant ces règles, assurant une cohérence optimale à votre maquette.

Penser comme un développeur web

Le concept même de l’auto-layout n’est pas nouveau, et on peut trouver sa genèse dans le développement web, plus particulièrement dans le modèle de Flexbox CSS.

Les flexible box - Flexbox - ont été conçues comme un modèle de disposition à une dimension (verticale ou horizontale), permettant de régler la distribution de l’espace entre les composants, tout en proposant des options avancées d’alignement.

Les mêmes concepts sont appliqués aux auto-layout, créant ainsi un pont entre design et développement web, favorisant ainsi la compréhension des intentions de conception au moment de l’implémentation.

Pour aller encore plus loin, lorsque vous utilisez des auto-layout dans vos maquettes, les développeurs en charge de l’implémentation peuvent directement avoir accès au code de la section en question grâce à la fonction d’inspection.

On retrouve la mention aux Flexbox, avec les détails d’alignement, de padding et d’espacement associés.

On comprend alors la puissance de l’auto-layout dans la conception d’interfaces, accélérant ainsi la passation avec l’équipe de développement et garantissant une meilleure cohérence générale dans l’implémentation de la fonctionnalité.

💡 Attention tout de même, abuser des auto-layout peut créer de la complexité dans le comportement de votre maquette. Pensez à toujours simplifier leur l’imbrication et n’en ajoutez que si c’est vraiment nécessaire pour atteindre le comportement souhaité. Comment souvent : less is more.

Spacing, padding, alignement

Commençons par décrypter ces trois fonctions, qui seront au cœur de l’usage de l’auto-layout et permettront quasiment à elles seules d’atteindre le résultat escompté pour ses maquettes.

Spacing (ou espacement)

Comme son nom le laisse supposer, on peut ici contrôler l’espace entre les éléments de la frame (nom donné au groupe logique de plusieurs éléments dans Figma).

On peut le contrôler directement via les poignées sur la maquette, ou en passant par le menu d’espacement.

Ici, on utilise le mode d’espacement packed qui permet de choisir à la main l’écart entre les éléments de la frame.

Exemple du mode d’espacement packed avec modification de la valeur par poignée ou par menu.

Il existe un autre mode, appelé space between qui ne laisse pas la possibilité de choisir l’écart entre les éléments, mais qui s’efforcera de remplir toute la place disponible dans la frame.

Il permet notamment de créer l’effet responsive ou l’espace entre les éléments sera modifié automatiquement au fur et à mesure que la taille de leur frame change.

Exemple du mode d’espacement spacebetween avec redimensionnement de la frame parente.

💡 Tips : Pour créer rapidement un auto layout, sélectionnez tous les éléments que vous voulez y ajouter et appuyer sur ⇧ Maj + A

Padding (ou marge intérieure)

De manière assez logique, ce paramètre va vous permettre de gérer la marge intérieure de votre frame et ainsi de créer des espacements entre les différents blocs de votre maquette.

Le padding est un outil très puissant pour ajouter de la lisibilité dans vos interfaces et faciliter la délimitation entre les sections.

À nouveau, il vous est possible de le régler directement avec les poignées ou en passant par le menu dédié.

En accédant aux options avancées, il vous est aussi possible de régler les valeurs de manière indépendante entre les 4 bords de votre frame.

Exemple de modification des marges intérieures bord après bord

Alignement

Vous pourrez ici contrôler la manière dont les éléments seront orientés (horizontal ou vertical) ainsi que leur alignement respectif.

En fonction de la position que vous choisirez dans le panneau d’alignement, les composants de votre auto-layout seront repositionnés et garderont ce comportement même après le redimensionnement de leur frame parente.

Exemple d’alignement du contenu en fixé en haut puis fixé en bas et enfin au centre

Redimensionnement et position

Maintenant que nous avons vu comment régler le comportement des éléments entre eux à l’intérieur d’une frame, nous allons voir quelles options existent pour fixer des contraintes sur la taille de cette dernière.

Ici 3 grands cas d’usage existent :

  • Avoir une taille fixe (fixed) : peu importe la place qu’occupent les éléments de la frame, cette dernière conservera sa taille. On peut avoir des comportements où les éléments sortent de la frame et/ou n’occupent pas toute la place.
Exemple de fixed content pour les éléments gris contenus dans la frame rose : leur largeur est fixe et n’évolue pas.

  • Avoir une taille adaptée au contenu (hug content) : ici, la frame aura sa taille indexée sur la place que prennent les éléments qui la compose, en ajoutant les éventuelles marges. Très pratique pour avoir un comportement ou le redimensionnement sera adaptatif, ce mode implique que l’on s’assure d’un contrôle fin de la taille des éléments internes.
Exemple de hug content pour la frame rose : sa largeur évolue en fonction de celle des élements gris contenus à l’intérieur.

  • Avoir une taille adaptée au contenant (fill content) : dans la mesure où plusieurs éléments peuvent être imbriqués, une frame peut être contenue dans une autre. Ainsi, on peut vouloir s’assurer que sa taille soit toujours adaptée à la taille de son parent. Cette option devient très utile lorsque l’on commence à avoir plusieurs framesimbriquées les unes dans les autres.
Exemple de fill content pour les éléments contenus dans la frame rose : leur largeur évolue en fonction de celle de la frame rose.

Imbrication et composition de page

Avec les outils que nous avons vus précédemment, il est alors possible de construire des pages plus complexes, en imbriquant des frame avec auto-layout et en définissant les règles de chacune d’entre elles.

Lorsque vous réfléchissez à votre interface sous le prisme de l’auto-layout, commencez par penser à la vue d’ensemble et ensuite descendez dans le détail de chaque section.

En procédant de la sorte, vous évitez de créer trop de règles inutiles et simplifiez le comportement général.

Une des forces de l’auto-layout réside dans sa modularité et dans le gain de temps associé lorsque vous devez appliquer des changements à votre maquette.

Imaginons que vous concevez un dashboard qui possède 3 rangées chacune ayant 4 modules. Si vous avez bien préparé les règles de redimensionnement comme nous l’avons vu, repenser l’architecture de la page suite à une nouvelle contrainte ne vous prendra pas plus de 3 clics.

Chaque élément avec l’attribut fill verra sa taille modifiée pour que toute la largeur de la frame soit utilisée

💡 Tips : l’option avancée canvas stacking peut se révéler très utile si jamais les éléments de votre auto-layoutsont amenés à être superposés. Vous pouvez alors choisir dans quel ordre ils le seront : premier élément au dessus ou dernier élément au dessus.

Un grand pouvoir implique de grandes responsabilités

Nous avons vu ensemble un bref aperçu des fonctionnalités offertes par l’auto-layout Figma. En composant intelligemment ces règles, vous parviendrez à gagner en efficacité et en cohérence dans vos maquettes.

Attention cependant, il ne faut pas se lancer aveuglément dans les auto-layout à toutes les phases de votre projet. Lorsque vous souhaitez rapidement proposer des wireframes pour présenter une idée (qui ne sera pas forcément sélectionnée), utiliser des auto-layout peut s’avérer trop complexe pour être un investissement de temps rentable. Vous aurez aussi tendance à porter un focus sur l’outil plutôt que sur la pertinence et creativité de votre solution.

L’idée n’est pas non plus de dogmatiser l’usage des auto-layout et de bannir une conception plus libre des interfaces. Chaque designer dispose aussi de sa propre sensibilité et manière de penser, et le mode de fonctionnement de l’auto-layout ne fonctionnera pas pour tout le monde.

Connaître les forces et les contraintes des différents moyens de conception permet à terme de faire des choix éclairés, mais aussi de savoir s’adapter dans les contextes des équipes, pour choisir la méthode la plus adéquate : celle qui permettra à tout le monde de s’accorder sur une fonctionnalité et de l’implémenter de la manière la plus précise possible.

Nous pouvons vous accompagner sur ce type de problématique.

Notre design studio propose expertise en product design & brand pour construire avec vous des produits mémorables à fort impact.

Voir nos projets

Envie d'évoluer vers un poste de design lead/manager ?

💪 Découvrez notre formation experte Design Leadership & Management

Voir la formation

Envie d'apprendre à construire et maximiser l'usage de votre design system ?

✨ Découvrez notre formation experte Design System Expertise

Voir la formation

Envie d'apprendre à cadrer votre Product Discovery et maîtriser les techniques de recherche utilisateur ?

🔍 Découvrez notre formation experte Advanced Product Discovery

Voir la formation