S’il y a une chose qui me surprend toujours dans le domaine du web, c’est le constant manque de recul de bon nombre de personnes y travaillant. Pour éviter de me disperser, je m’en tiendrai aux développeurs et autres intégrateurs.
J’ignore si cela est dû à la jeunesse du support ou à un syndrome amnésique, mais je suis parfois stupéfait de cette capacité à réécrire l’histoire ou à l’oublier, que ce soit dans les approches, les pratiques et même les fondements.
Les approches
À mon sens, le propre du développeur est de rapidement voir les conditions limites d’une approche. Plus son savoir et son expérience sont étendus, plus il doit pouvoir jauger rapidement les limites d’un cadre donné : une méthodologie, un framework, une approche, un outil, etc.
Je suis effaré de voir déjà l’incapacité de voir les limites d’un cadre, et souvent assommées à grand renfort de certitudes. J’aime bien les super-slogans genre : « avec Wordpress, on fait un blog, avec Drupal on fait Wordpress ». Super, cela tombe bien, j’avais besoin de re-développer Wordpress. Et si je n’ai déjà pas besoin d’un Wordpress ?
Ou le classique « les vrais développeurs utilisent <mettez ici ce que vous voulez> ». Sous-entendu : vous êtes une sous-merde si vous n’utilisez pas ça.
Pire, voir ou mentionner ces limites ne doit pas servir à démolir une approche, mais juste à mieux apprécier le cadre posé, libre à vous de faire le choix ou non d’apprécier ce cadre. Mais nier que ce cadre existe… non !
Les pratiques
Un point m’amuse, ce sont les effets de modes : « tiens y a tel outil qui est révolutionnaire », les premiers affamés se jettent dessus, des articles sont pondus pour vanter les mérites, ça buzze à fond sur Twitter… et deux semaines après, y a un article qui vient dire « oui, mais attention, dans tel cas… » ou alors « des problèmes d’accessibilité sont apparus », « on devient dangereusement dépendant de cet outil » etc.
Je parle d’outil, mais les approches ont les mêmes problèmes quand elles sont lues un peu vite, combien de fois ai-je entendu : « mais on ne met plus d’id
dans la source, vu qu’on utilise que les classes pour styler ».
Je me permets de citer Mehdi Kabab dans un commentaire sur 24 jours de Web :
Intégrateurs, votre cœur de métier ne se limite pas à pisser du CSS au kilomètre. Vos compétences et le savoir que vous avez acquis à la sueur de vos erreurs (vive l’apprentissage par l’échec, la meilleure école de l’intégrateur/développeur Web) ont de la valeur. Alors, s’il vous plaît, ne les rejetez pas sous prétexte qu’un personnage influent clame tout haut une opinion personnelle, mais qui se répand comme une traînée de poudre de part son statut de « gourou ».
Qu’on s’entende bien : c’est bien de tester des nouveaux trucs, de voir de nouvelles techniques, etc. je ne vais pas dire le contraire, c’est même indispensable.
Seulement, il y a les belles nouveautés et ce qui peut passer en production ou en standard dans un développement. Comme l’a très bien dit Mehdi Kabab ci-dessus, qu’une pratique soit intéressante n’empêche pas pour autant de l’utiliser sans jeter le bébé avec l’eau du bain.
Les fondements
Partons d’un bon exemple : j’adore cette animosité de nombreux développeurs front-end envers les préfixes CSS. Ok, je leur accorde que c’est parfois un peu pénible à gérer. De « je m’en fous » à « je ne mets que -webkit
», « je m’en moque j’ai un pré-processeur », jusqu’à dernièrement le « on va le post-processer ». D’élément ignoré, ensuite central, après pré-processé pour finir post-processé. Genre on s’en fout, on s’en occupe, on pré-délaie et on post-délaie.
Mais hé oh ! Je vais vous rafraîchir la mémoire : à la base, c’est un système expérimental pour tester des implémentations. Si un certain Daniel Glazman a secoué le cocotier pour nous faire tomber des noix sur le crâne, c’est que nous avons été trop fainéants pour respecter la base du Web : son universalité (et accessoirement sa pérennité). Si les médecins qui ont prescrit trop d’antibiotiques doivent assumer les bactéries multi-résistantes, hé bien les préfixes, ce sont nos enfants, c’est à nous de les assumer.
D’aucuns vont me traiter de chiant, je leur répondrai qu’il faut assumer la part du contrat : le Web est un système pensé pour être universel et pérenne, alors on doit accepter de gérer cette universalité. Point barre. Je ne dis pas de le faire parfaitement, moi-même, j’en suis bien loin, je dois faire des choix.
Moi qui pensais que les avantages des standards avaient suffisamment été compris, je vois que ce travail n’est pas terminé…
Évidemment, les préfixes ne sont qu’un symptôme. Quand je vois qu’on trouve révolutionnaire de penser d’abord HTML, ensuite CSS par dessus et enfin JavaScript, il y a de quoi faire un bond, ce sont les fondements du Web !
C'est terrible d'avoir à la fois un manque de recul et surtout l'oubli de la mission première du web.
J'ai l'impression que bon nombre de gens que j'ai croisé ne songent qu'à mettre plein de brillants dans les yeux de leur prospects, sans même se soucier que cela va poser énormément de problèmes avant la livraison.