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 :
- CSS Panic, un mini-jeu fait tout en CSS3
- Un iPhone 4 entièrement en CSS3
- Des animaux trop mignons en CSS3
- Une calculatrice de chmod toute en CSS3
- Une calculatrice toute en CSS3
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.
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.«