Les 5 paradoxes du web
Le web est une plateforme formidable pour fournir des services et de l'information, mais il fait bien son âge. Les choix fondamentaux de conception qui étaient exacts au début du web commencent maintenant à exploser. Ici, nous ferons une tentative d'identification des problèmes impossibles à résoudre avec le web tel qu'il est actuellement.
Les problèmes du web sont bien connus et malheureusement considérés comme "aquis". Le mois dernier, en tant qu'utilisateur de la toile, j'ai du faire face au SPAM (dans mes BAL et sur mon blog), au denial-of-service et à un vol d'identité; sans parler des bugs divers. En tant que développeur web, j'ai du résoudre des incompatibilités de navigateurs et fournir des efforts disproportionnés par rapport aux travaux que j'essayais de finir. Et c'est de pire en pire.
Beaucoup de ressources sont mises en oeuvre pour combattre les problèmes qu'engendrent l'utilisation du web; mais cela ne résout pas les principaux paradoxes de la plateforme. Bien des industries prospèrent de nos jours uniquement grâce aux imperfections du web. C'est un bon indicateur du fait que la communauté des utilisateurs informatiques devrait investir dans une nouvelle infrastructure globale et s'attaquer aux problèmes fondamentaux avec les solutions fondamentales.
- Tout est gratuit, mais rien n'est gratuit (Paradoxe de compensation)
Beaucoup de services web sont gratuits pour les utilisateurs, parcequ'on ne peut pas facturer ces services - mais fournir ces services coute de l'argent. Ceci rend les business models insoutenables et exige de doser les ressources utilisées. Même sans limites explicites, les limitations matérielles et de bande passante du fournisseur conduisent souvent à des denial-of-service pendant les heures de pointes - ou pendant les attaques.
- Nous ne savons pas qui vous êtes, pourtant il n'y a aucune intimité. (Paradoxe d'identité)
Il n'existe pas de système d'identité globale: un site web ne peut pas vous accueillir par votre nom, sauf si vous avez renseigné un champ spécifique auparavant. Les mécanismes de gestion d'identité sont maladroits et conduisent parfois au vol d'identité. En même temps, il existe des moyens détournées d'envahir l'intimité d'un utilisateur: l'adresse IP, les cookies, les en-têtes de provenance, les 1-pixels GIFs" dans les emails.
- Mêmes ligne de code, pourtant un rendu différent (Paradoxe de compatibilité)
Développer des applications web exige de sacrifier un de ces trois ingrédients importants : capacité, compatibilité, ou vitesse de développement. Conduire des tests de compatibilité sur toutes les versions de navigateurs est un luxe que peu peuvent s'offrir. Peu importe si un navigateur est plus "compatible" que les autres; dans les faits, vous devez être compatible ou perdre des utilisateurs.
- Le code parcourt le réseau, mais il n'est pas mobile (Paradoxe de frontière)
Le web est asymétrique : il y a un client et il y a un serveur. Le client parle une langue (Javascript), le serveur en parle une autre (généralement pas Javascript). Pour traverser la frontière entre le client et le serveur, le code doit être traduit dans une autre langue. Peu importe la vitesse du réseau, la mobilité du code est donc limitée la vitesse de conversion du programmeur entre client et serveur.
- Le web n'est pas assez décentralisé, pourtant il n'est pas assez centralisé (Paradoxe de responsabilité)
La gestion DNS est centralisée; les autorités de certification sont aussi pour la plupart centralisées. Cette centralisation donne des monopoles aux organisations de contrôle, et les rend globalement vulnérables dans le même temps. Mais il n'y a personne à qui en réferrer quand une entité agit mal (ex: le spam), tant que les autorités du web n'acceptent pas d'engager la responsabilité des "citoyens" de la plateforme web.