Juste parce que vous pouvez le faire ne signifie pas que vous devez le faire

« Chaque nouvelle technologie voit arriver son lot de bonnes et mauvaises utilisations, et c’est particulièrement vrai sur le web. » J’écrivais ça il y a 8 mois à propos des media queries. Ces derniers temps, j’ai l’impression que les mauvaises pratiques des nouvelles technologies du web se sont multipliées de manière phénoménale. La plupart du temps, il s’agit de démontrer les nouvelles possibilités de CSS3. Voici quelques exemples apparus ces derniers mois :

Si ces démos sont toutes effectivement très impressionantes, elles sont toutes aussi particulièrement stupides et dangereuses. Comme le disait le docteur Ian Malcolm* :

Vos savants étaient si pressés par ce qu’ils pourraient faire ou non qu’ils ne se sont pas demandé s’ils devaient le faire.

Your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should.

Dans la vraie vie, sur un vrai projet web, aucune personne saine d’esprit n’irait s’amuser à coder entièrement une calculatrice ou un mini-jeu en CSS3. Parce que dans la vraie vie, on doit aussi tenir compte de pleins de contraintes implicites à n’importe quel projet (le temps qu’on peut passer dessus, la facilité qu’on aura à le maintenir dans le futur). Du coup, on n’a aucune raison pour ne pas utiliser des technologies prévues pour ça à la base. Vous voulez dessinez des animaux trop mignons avec du code ? Utilisez SVG. Vous voulez créer un mini-jeu ? Utilisez JavaScript.

Il y a quelques mois, Ubelly écrivait le compte-rendu d’une de leurs conférences intitulée « Améliorations excessives : est-ce que nous prenons bien soin du web ? » :

Les développeurs web sont séduits par les techniques modernes du web au point où ils en oublient parfois les leçons fondamentales qui ont été apprises ces 20 dernières années. Il est de la responsabilité de chaque développeur web, en tant que professionnel, d’utiliser les techniques avant-gardistes de manière responsable et prendre un peu de temps en plus pour s’assurer que nos applications respectent le web.

J’encourage les développeurs web et intégrateurs à découvrir les nouvelles technologies et à faire leur petit bac à sable pour s’amuser. Mais avant de publier le résultat de vos découvertes, réfléchissez bien à leur pertinence.

Juste parce que vous pouvez le faire ne signifie pas que vous devez le faire.


* Les puristes auront reconnu une légère adaptation de ma part de la traduction française du film. La citation d’origine, en anglais, dit : « Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should. » La traduction originale française était un peu plus orientée : « Vos savants étaient si pressés par ce qu’ils pourraient faire ou non qu’ils ne se sont pas demandé s’ils en avaient le droit.« 

  1. Thomas, le

    En contrepartie ce genre de démos (notamment CSS Panic) permet de réaliser « stress test » ou une sorte d' »acid test » des navigateurs, de leur implémentation et des standards.

    Je pense particulièrement à JS1k et http://140byt.es. On est typiquement dans le cas « juste parce que vous pouvez le faire ne signifie pas que vous devez le faire » mais grâce à ces challenges on a pu améliorer la fiabilité des moteurs JavaScript et trouver des astuces pour les améliorer les compresseurs JavaScript (type YUI Compressor ou UglifyJS).

    Au final, rien n’est tout noir ni tout blanc, il y a juste des variations de gris :)

  2. Daniel, le

    Je ne peux qu’être d’accord avec cet article. Les nouvelles technologies peuvent permettre de faire des applications variées, mais ce n’est pas pour autant que c’est utile.

    Cependant, c’est en testant ainsi ce genre d’application que l’on peut pousser au maximum une technologie pour en connaître l’impact réel, ses contraintes, ses avantages et ses inconvénients.

  3. GoOz, le

    Oui c’est stupide mais dangeureux, je sais pas…
    C’est dangereux si ceux qui voient ces exploits pensent que c’est comme ça que ça doit être fait, mais t’es jamais vraiment à l’abris d’une mauvaise interprétation.

    Et puis tu sais comment sont les geeks aussi.
    « Here’s the question: Why? »
    « Because we can »
    –> http://www.youtube.com/watch?v=PqFSRwgqgYk \o/

  4. Geoffray, le

    Il faut voir ce genre de démos comme de l’exhibition artistique pure et simple : c’est une manière d’assouvir sa soif de créativité et par la même occasion d’afficher ses compétences techniques.
    Certains bâtissent des oeuvres d’art incroyables avec des allumettes, d’autres triturent les nouvelles technologies sous des formes improbables… Dans les deux cas, il est vrai que la parfaite intégrité mentale des auteurs peut parfois être remise en question, mais le travail accompli est en général aussi inutile que titanesque qu’on ne peut pas rester indifférent et se poser la question : C’est grave docteur Malcolm ?

  5. Marco, le

    Bof, c’est souvent des exercices de style. C’est plutôt celui qui n’a pas compris ça et essayerai de faire la même chose en production qui se mettrait le doigt dans l’oeil.

    Le type d’exemples que tu donnes, je vois ça comme une sorte d’art : créer qqch en se donnant des contraintes spécifiques. Du coup, en dénonçant ça, c’est un peu comme si tu dénonçais celui qui fait des maquettes en allumettes, en disant qu’il ne devrait pas, que les allumettes ça sert à faire du feu, et qu’il ferait mieux d’utiliser des pierres s’il veut construire une maison. ;)

  6. Marco, le

    Pourquoi j’ai un avatar de femme, moi !??

  7. Remi Grumeau, le

    Amen.