Un tout cohérent
Assurément, pour reprendre la métaphore de la formule 1 donnée dans le premier article, si l’on souhaite que le moteur soit hyper-performant, aucune partie ne peut souffrir de faiblesse.
Cette obligation d’excellence est renforcée par le fait que bon nombre de points de cette série d’articles… sont communicants :
- la maintenabilité et la souplesse vont de pair avec la performance ;
- la documentation sert les approches DRY et évite d’y revenir ;
- les conventions permettent d’exécuter et donc de tirer parti des approches et méthodes modernes ;
- etc.
Il est donc capital de comprendre que l’écriture de CSS ne peut plus se juger à la quantité mais bien à la qualité et à la cohérence. Les experts vous le confirmeront d’ailleurs : plus l’on progresse en CSS, plus l’on en produit… avec parcimonie.
Si l’approche il y a 10 ans était comparable à un bazooka (« il faut que cela marche »), actuellement elle serait plus comparable à de la chirurgie :
- un grand besoin de connaissances et de pratique est nécessaire pour construire un existant robuste ;
- et en cas de maintenance : intervenir avec une exposition minimale, tout en finesse et avec l’efficacité nécessaire est tout aussi important.
La méthode… et la réalité de la production
Bien entendu, n’ont été abordés dans cette série « que » des méthodologies et des points de qualité. La réalité de la production peut également venir mettre des grains de sable dans cette belle mécanique bien huilée, liste non exhaustive :
Les moteurs de rendu : même si globalement ces derniers ont fait d’immenses progrès, gérer tous leurs caprices ou leurs spécificités en même temps est parfois un sport de haut vol.
La robustesse de l’intégration : l’amélioration progressive n’est pas un luxe mais une obligation pour répondre à une pléthore de contraintes et à un parc toujours plus hétérogène.
L’accessibilité : si ARIA peut être vu comme un descripteur d’interfaces riches en plus de son rôle d’aide à l’accessibilité, cela a évidemment des conséquences sur la conception des CSS. Les classes d’états de SMACSS et les attributs data-*
d’HTML5 sont des réponses à ces nouveaux besoins (entre autres). Ajoutons à cela que les spécificités des aides techniques peuvent parfois venir jouer les troubles-fêtes sur l’intégration également.
Les spécificités des périphériques : même si le vœu pieux du responsive (et du Web d’ailleurs) est d’offrir un site pour tous les cas de figure, un périphérique tactile aura des spécificités bien particulières à prendre en compte dans la conception de CSS. Et ces derniers ont aussi leur lot de curiosités de rendu.
Si l’on pourrait croire que ces contraintes peuvent semer le désordre dans la conception de CSS, c’est tout le contraire : la rigueur dans la prise de conventions et dans l’organisation permettra de simplifier la gestion de ces problèmes toujours plus nombreux.
Un métier d’experts
Si vous en doutiez encore, il est désormais très risqué d’envisager de confier une partie aussi critique et complexe à un bricoleur du dimanche. Le spectre des compétences nécessaires est devenu bien trop étendu pour laisser le hasard s’en mêler.
Ajoutons à cela que les CSS permettent toujours plus de choses : bon nombre de choses qui ne pouvaient se faire qu’en JavaScript il y a quelques années se font dorénavant en pur CSS, et cette tendance continue (et continuera) à s’accentuer fortement. Là aussi, le travail de veille amené par le développeur front-end pourra souvent simplifier les décisions.
Autant le dire clairement : le front-end n’est pas le seul poste critique et ces articles ne sont pas là pour minimiser l’importance des autres postes. Toutefois, les projets deviennent vite difficiles à gérer et à maintenir quand le front-end n’est pas solide, tenez-le vous pour dit.
En conclusion
Il est capital de comprendre que les approches données dans le précédent article ne sont pas des fins en soi mais sont là pour que vous vous les appropriez : prenez dans chacune ce qui est bon à prendre, et ne vous gênez pas pour créer celle dont vous avez besoin.
Sans aucun doute, nous reviendrons sur d’autres sujets connexes en intégration, car même si nous avons fait un bon tour d’ensemble sur les méthodes modernes de conception des CSS, il en reste un bon nombre à aborder !
Note
Cet article fait partie de la série « Grands principes de construction moderne de CSS ».
Vos commentaires
# Abdel-Malik Le 3 avril 2015 à 10:40
Bonjour,
Merci pour cette excellente série d’articles qui m’ont permis de progresser dans la conception de mes CSS.
J’ai commencé en Janvier 2014 et aujourd’hui quand je revois le code de je faisais il y a plusieurs mois et le comparer à aujourd’hui, j’avoue avoir bien progressé et cette série n’y est pas pour rien :D
J’attends avec impatience les prochains articles :)
Merci,
Abdel-Malik.
# Nicolas Hoffmann Le 29 mai 2015 à 14:22
Vous m’en voyez ravi :)
# claude kevin Le 15 juillet 2015 à 10:01
Cet article a été très édifiant pour je vous en remercie
Vos commentaires
Suivre les commentaires : |