En tant que dev fullstack, j’ai vraiment passé pas mal de temps à monter en compétence sur le design. Voici ce que j’en ai retenu :
L’idée générale si tu dois mettre les mains dans le design, c’est de ne pas réinventer la roue. Tout comme on dirait à un dev débutant de partir avec Rails plutôt que de tout refaire à la main, il faut partir de l’existant en design autant que possible. La partie créa doit être limitée à un strict minimum (choix de couleurs, de polices et encore).
Donc tu prends un site que tu aimes bien, dont l’information se structure plus ou moins de la même manière que celle du site que tu cherches à designer (ex: blog => wordpress templates, maketplace => airbnb, app tablette => menu volet à gauche etc.). Tu utilises aussi sans faute un frameworks, tel que Bootstrap, Foundation, ou le tout récent Titon pour éviter tout un tas d’erreur grossières.
Ensuite, il reste un peu de chemin pour refaire aussi bien que l’original. En effet, il y a une multitude de détails à prendre en compte qui ne sont visibles à l’oeil nu qu’à celui qui sait ce qu’il faut voir, mais comptent pour l’impression d’ensemble.
Ex:
- les text et box shadows (notamment pour ajouter en lisibilité sur un bouton qui manque de contraste, un texte sur une photo)
- ces mêmes shadows qui doivent être cohérentes (le “soleil” ne doit pas venir de 3 points différents sur la page) en prenant en compte le relief (a ne peut pas recouvrir b si b recouvre c et c recouvre b)
- respecter des alignements cohérents : si si c’est grave si le logo n’est pas aligné avec la limite gauche du contenu de la page)
- combiner une police serif avec une police sans-serif, sachant que chaque police à une ou plusieurs complémentaires dans l’autre famille
- avoir une couleur dite primaire, et une secondaire. Placer les actions principales sur la couleur primaire, puis la secondaire. Il n’y a, dans un premier temps, pas besoin d’autre couleur. Peut-être un apparenté blanc si ni la couleur primaire ni la secondaire ne l’utilisent.
- définir un border radius pour ses boutons, être cohérent avec son usage tout le long du site, au moins pour une taille de bouton donnée (pour un bouton plus gros, le border radius pourra augmenter proportionnellement).
- toujours prendre du recul et se laisser guider par l’impression : s’il faut mettre un padding de 3px 5px 5px 7px à un bouton avec une icône pour que son contenu semble centré, équilibré, il faut le faire plutôt que de vouloir à tout prix avoir un padding à 5px, sous prétexte que c’est symétrique. En effet, les aberrations visuelles sont partout, il faut jouer avec.
Par ailleurs, il me semble important de se familiariser quelque peu avec les outils du designer. Aussi, avoir Photoshop sous la main est certainement indispensable. En ce qui me concerne j’utilise Gimp sous Linux, et je me force à n’utiliser que lui, même quand un paint ferait largement l’affaire. Je fais un peu tout ce que je veux avec aujourd’hui, même si je trouve plus simple encore aujourd’hui de prototyper un design avec du CSS directement (on est dev ou on ne l’est pas ! :-) )
Enfin, comme tout sujet vaste, il est digne d’apprentissage. Aussi lire un maximum de choses sur la question est toujours une bonne idée. C’est un processus de maturation lente. Les sujets sur lesquels il peut être intéressant de se pencher sont à mon sens :
- la hiérarchie de l’information.
- la typographie
- les couleurs
Je n’aurai qu’une lecture à suggérer ici : A guide for visual design for everyone.
Le reste viendra par différentes newsletters comme HackerNewsletter rubrique design, http://52weeksofux.com ou http://goodui.org.
Enfin, la meilleure des écoles, c’est encore la pratique. Aussi, la bonne idée pour progresser, c’est de se forcer à ne laisser aucune imperfections à chacune des pages que l’on développe, notamment concernant tous les critères objectifs énoncés plus haut. Attention, cela prend un peu de temps et demande un certain perfectionnisme.
Mais c’est passionnant et très satisfaisant !