Neutralité d'internet et JavaScript
28 Janvier 2014
Quel peut être le rapport entre la neutralité du net et le JavaScript me direz-vous. C’est très simple, le filtrage du net risque de devenir une pratique malheureusement fréquente et comme ces filtrages sont automatisés avec des règles écrites par des humains, des faux positifs peuvent survenir et causer de gros problèmes aux utilisateurs de votre site…
Le cas du filtrage anglais
Hier, une partie des internautes anglais ont découvert un internet totalement différent de d’habitude puisqu’un ISP a malencontreusement bloqué le CDN de jQuery.
Avec cette règle de blocage, l’ISP a considérablement impacté les sites du monde entier qui utilisent le CDN de jQuery puisque sans cette librairie, il est fort probable que l’expérience de l’utilisateur sur les différents sites qu’il consultaient soit fortement dégradé ou encore pire soit tout simplement impossible.
Pour le fun hier soir, j’ai ajouté cette ligne dans mon fichier host pour naviguer sur le net comme les anglais qui ont Sky comme ISP :
127.0.0.1 code.jquery.com
Pour cadrer un peu l’expérience, j’ai utilisé ma machine dans une utilisation normale comme si je ne savais pas que le CDN de jQuery ne fonctionnait pas. Et je dois dire que je n’ai pas été très gêné dans ma navigation, je n’ai eu aucun site qui ne fonctionnait pas, c’est peut être parce que je ne suis pas tombé sur un site qui utilisait ce CDN, mais j’ai peut être été chanceux (je ne tente pas le diable, j’arrête l’expérience dès ce matin). Après il est également possible que les sites que j’ai visités fonctionnaient si l’utilisateur a le JS désactivé (c’est le cas d’Amazon par exemple) ou que je ne m’en suis pas rendu compte ce qui est également fort probable.
Mais je me dis que si cela n’avait pas été le CDN de jQuery mais le CDN de Google qui avait été banni, je suis presque sûr que beaucoup plus de sites qui auraient rencontrés des problèmes.
Comment se prémunir de ces problèmes ?
Il y a plusieurs moyens pour que son site ne rencontre pas ce genre de problème :
- Ne pas se reposer sur un CDN «Third party» grand public. Je ne dis pas qu’il faut bannir les CDN, mais il vaut mieux privilégier un CDN plus pro ou alors pas de CDN du tout. On est jamais mieux hébergé que par soi-même.
- Ne pas faire d’appel bloquant en JS. Toujours mettre les appels en bas de page pour que le site s’affiche même en cas de problème JS.
Et enfin, la meilleur proposition je trouve qui permet de rendre internet meilleur, ce serai de coder votre site et de considérer le JavaScript comme une amélioration. C’est à dire que votre site est totalement fonctionnel sans JavaScript et que l’apport du JavaScript améliore l’expérience de l’utilisateur au lieu de la dégrader si le JavaScript n’est pas activé de son côté.
En conclusion, quand vous faites un site, s’il vous plaît vérifier qu’il fonctionne sans JavaScript.