Un tweet de STPo exprime bien un sentiment qui me dérange de plus en plus dans mon métier. Grosso modo, la phrase qu’il cite donne ceci (traduction approximative et incomplète).
La pire partie du développement web est la quantité de temps dépensée à investiguer chaque petit nouvel outil qui sort. Cela pourrait être utile ou non, comment le savoir tant qu’on ne l’a pas essayé soi-même ?
[…]
Enfin, qu’arrive-t-il quand vous quittez votre job et que quelqu’un arrive un an après ? Oh, ce pré-processeur Sass ne marche pas ? C’est quoi Angular, un outil pour faire des mesures ?
Effectivement, et ce n’est pas la première fois que j’en parle ici et ailleurs (notamment dans la veille technologique), il y a actuellement une espèce de course à l’armement point de vue outils sur le front-end (mais pas que).
Une blague qui revient d’ailleurs souvent étant qu’il ne se passe pas une journée sans qu’un nouveau framework JavaScript/CSS ne sorte. Sans compter tous les outils de workflow : pré-processeurs, post-processeurs, imparfait-du-subjonctif-processeurs, etc. Ils ont d’ailleurs des noms bizarres, Grunt (pour moi le cri d’un Orc), Gulp (quelqu’un qui avale sa salive, ça ne met pas en confiance), etc.
Comme tout curieux, il m’arrive d’en tester, d’en utiliser, d’en adopter, d’en créer, etc. Je me dis que tout ce qui est « cool » et qui apporte un vrai bénéfice ne peut pas tarder à être adopté.
Sauf que non, pas du tout, enfin, pas toujours. Laissez-moi vous raconter quelques mésaventures.
L’autre jour, on me demande de revenir sur un site que j’avais intégré. J’avais fait un boulot millimétré, hyper carré (variables, conventions, etc.) avec la version Sass de Röcssti. Sauf que le site en question a été modifié entre temps par un autre, bien malmené, le tout sur la CSS générée et non la version Sass. Oui, vous pourriez me répondre que celui qui a fait ça mérite des baffes (et je suis 100% d’accord), il n’empêche que ça arrive, et in fine, j’ai été emmerdé par mon propre choix.
Autre cas de figure : j’avais utilisé Sass pour un autre site, et dès qu’une modification doit être effectuée dessus point de vue CSS, je suis systématiquement appelé (configuration, etc.). Et pareil pour plein d’autres très bons outils.
Ce n’est pas mal en soi que je sois référent sur la CSS de certains sites ou sur certains outils, mais clairement et pour le dire vulgairement : moi ça m’emmerde d’être le maillon incontournable.
J’adore rendre service. J’adore expliquer des trucs, des techniques. En tutoriel, dans des billets, des articles, des conférences ou de vive voix, c’est un des plus grands plaisirs de mon métier. Mais comme tout développeur, j’ai aussi besoin qu’on me foute la paix quand je code. Et je déteste être dérangé en congé ou en vacances parce que j’ai mis en place un truc que je suis le seul à maitriser (et encore dans certains cas, repassez sur un développement vieux de deux ans, des fois, vous écarquillez les yeux, même sur votre propre code).
Et la seule loi qui prévaut, c’est celle de l’emmerdement maximum, autrement dit la loi de Murphy. Si je peux être emmerdé sur 5 projets, je vais être emmerdé sur 5 projets. Au final, quel est le plus important ?
- Que j’utilise un outil qui me fait gagner 2 heures mais où je peux être dérangé 10 fois à l’avenir ?
- Que je permette qu’on reprenne mon travail sans moi ?
- Que je sois future-ready pour des trucs instables ? (j’adore les gens qui prédisent le futur dans notre métier, ils devraient postuler chez les voyants)
- Que je me facilite la vie sans penser aux conséquences ?
- Ou que je réduise la dépendance à l’outil ?
Alors oui, pour certaines intégrations, je ne voudrais et ne pourrais pas me passer de Sass car le temps pour faire certaines choses à la main serait monstrueux. Mais depuis une année, je remarque… qu’on s’en passe très bien dans de (très) nombreux cas, surtout quand on a un peu de méthodologie. Et une CSS reste une CSS, même dans 3 ans. Qui me dit ce qui restera dans 3 ans des outils ?
Que ce soit clair, je ne suis pas anti-outils, j’adore l’outil de calcul de rythme vertical de Pascal pour n’en citer qu’un parmi beaucoup. Et il y a pas de risque à utiliser les valeurs qu’il génère, c’est de la CSS.
J’adore l’approche de Kaelig quand il explique comment faire le pont entre les développeurs et les designers. C’est brillant et le contexte est parfaitement adapté.
Clairement, je travaille à réduire la dépendance à ma personne (et donc à l’outil). Déjà, parce que j’ai décidé d’arrêter de sauver le monde. Et surtout pour penser aux autres, que j’emmerde tout autant que moi. Et curieusement, je n’ai jamais autant progressé que depuis que je réfléchis ainsi. Cela force par exemple à faire des scripts aussi simples et souples que possible. À être hyper carré dans mes CSS.
La fin est dans l’amélioration qualitative globale, pas dans les outils. Les outils ne sont qu’un moyen. Il devrait y avoir une mesure de l’empreinte que l’on fait sur ces choix. Une mesure de la quantité de doigts que l’on met dans un engrenage…
Malgré l'intérêt des ces outils je trouve qu'ils ne valent pas la possibilité de pouvoir modifier ses CSS "là tout de suite" sans avoir à s'installer derrière un tableau de bord digne d'une navette spatiale.
Restons agiles.