Les préprocesseurs et moi

Les “outils magiques” que sont les préprocesseurs CSS (tels que LESS et Sass) font couler beaucoup de pixels ces derniers temps au travers d’articles souvent très partagés sur le sujet.

L‘un d’entre-eux m’ayant fait réagir aujourd’hui, je vous livre mon point de vue de “passionné de CSS” sur la question…

En ce qui me concerne, je m’essaye aux préprocesseurs depuis quelques temps (comme en témoignent les versions LESS et Sass de KNACSS), mais j’avoue qu’au-delà de la période de découverte où tout semblait excitant, j’en suis arrivé à constater qu’au final beaucoup de fonctionnalités ne me servent jamais dans la vraie vie.

De tout ce que j’ai pu tester d’un préprocesseur, seules les variables me sont vraiment encore utiles en début de projet, pour pouvoir me faciliter des calculs tels que ce genre de choses.

Tout ce qui est mixins, gestion des couleurs, préfixes, fonctions et autres   règles imbriquées ne me sont guère utiles en développement.

Et je dois confesser que je déteste la syntaxe des règles imbriquées, je ne m’y fait pas, je trouve cela bien plus complexe à lire et comprendre :

Pour tout le reste, soit je n’en trouve pas l’utilité en production, soit mon éditeur HTML suffit à remplir ces tâches d’automatisation à merveille.

Il est vrai que je suis un utilisateur “averti” de mon IDE (Sublime Text) qui me fait presque tout ce que je veux de manière automatique, ce qui change un peu la donne.

Par contre, ce qui me fait réagir, c’est ce genre d’arguments : _ »Je ne connais aucun développeur frontend utilisant un préprocesseur CSS, qui ne connaisse pas bien CSS. »_

Je donne régulièrement des formations à des personnes de tous horizons, autant développeurs qu’intégrateurs ou graphistes, et je suis toujours aussi surpris par des personnes déclarant “bien connaître CSS” et qui continuent :

  • de ne pas savoir exactement comment fonctionne les flottants
  • de ne pas être vraiment sûr de l’emploi de _clear_
  • de mettre des width: 100%, ce qui est généralement problématique 
  • de s’en remettre à des !important “parce que sinon ça ne marche pas” 
  • de ne pas être très sûr de l’utilité de ce position: relative dans cette règle mais de ne pas oser y toucher “parce que sinon on ne sait pas si ça va continuer à marcher”
  • etc.

Bref, plein de méconnaissances que corrigent certains préprocesseurs par “magie”, mais qui ne nécessiterait pas de préprocesseurs (ou de bidouilles correctives) si on connaissait mieux CSS au départ…

PS : oui, je suis toujours allergique à la ligne de commande 🙂

_PS2 : quand je lis des inepties trompeuses telles que “__Sass is an extension of CSS3”, alors qu’il n’y a strictement aucune trace de Standard dans Sass, ça me fait un peu bondir aussi._