Stop pushing the web forward : mon avis

Stop pushing the web forward : mon avis (le 2 août 2015)

Je suis tombé sur un article de PPK intitulé Stop pushing the web forward. Article qui bien entendu déchaine les passions.

Très honnêtement, même si je trouve l’idée radicale (comme tout bon article générateur de trolls), j’avoue que cette idée qui semble saugrenue trouve un certain écho chez moi. Et curieusement, elle trouve d’autres échos sur des profils assez différents du mien, notamment chez Matthias Dugué, que je vous invite à lire (je vais régulièrement le mentionner dans ce billet).

Cet article de PPK génère donc quantité de réactions, j’en mets donc la plupart de côté (même si certaines, comme celle de Christian Heilmann sont assez éclairées), car disons-le clairement, les 140 caractères de Twitter ne sont pas assez pour sortir de la caricature.

Heu attends, tu parles de stopper tout pendant un an ?

Oui oui, c’est bien moi, qui fustigeait la lente évolution du web il y a quelques années. Si si.

Si vous n’avez pas connu cette époque, nous sortions de la guerre des navigateurs, le web – du moins son évolution – se mit doucement… à dormir pendant quelques années. Comme le dit très justement Matthias, c’est une sorte de Moyen-Âge obscurantiste. Et j’ai été très content d’en sortir il y a quelques années, enfin on peut se marrer et faire des trucs incroyables avec CSS et tout le reste.

Car si nous avons désormais le matériau le plus flexible qui soit (on peut le tordre à souhait en responsive), il y a quelques années, ce n’était pas du tout aussi agréable. Si vous pouviez montrer à quelqu’un en 2002 les trucs hallucinants qu’on peut faire ne serait-ce qu’avec les media-queries aujourd’hui, il aurait probablement pleuré de bonheur à l’époque.

Un moratoire ?

Grosso modo, l’article de PPK invite à tirer le frein à main dans cette course aux nouvelles fonctionnalités, car selon lui, « la machine à innovation tourne à pleine vitesse dans la mauvaise direction ». Il propose donc de stopper l’ajout de nouvelles fonctionnalités pendant un an.

L’argumentaire est très percutant et à la limite de la condescendance pour les fabricants de navigateurs. Clairement, j’élude cette partie de l’implémentation dans les navigateurs : comme je ne connais pas assez ce monde, je dirais sûrement des âneries (donc je vais m’en abstenir). Je m’intéresse plutôt à cette idée du point de vue des développeurs, et du point de vue de l’artisan du web que je suis.

À première vue, pas de moratoire

Personnellement, ce foisonnement permanent de nouveautés côté navigateurs et langages ne me gêne pas, il aurait même tendance à me ravir. Je me dis que c’est chouette, on a de belles choses qui vont arriver dans les navigateurs.

Car oui, je fais beaucoup de veille, mais je raisonne en « temps industriel ». En quelque sorte, je vois ce qui est raisonnablement utilisable ou non dans l’état actuel des navigateurs et des cahiers des charges de mes projets. Typiquement, plein d’articles parlent par exemple du Grid Layout, et je suis cela avec attention. Par contre, actuellement, je me vois pas utiliser cela en production, le support en étant très limité (seulement sur Internet Explorer 10+ au moment où j’écris ce billet).

J’appelle cela aussi le principe de réalité. On peut grogner contre le non-support de telle propriété sur tel navigateur, toujours est-il qu’on doit faire avec. Cela fait partie des règles du jeu (à mon humble avis), et il est de ma responsabilité de dire quand on sort de ces règles (demandes non-sensiques d’un client ou d’un graphiste).

Certes cela peut me limiter ou me faire m’arracher les cheveux parfois, mais comme on dit, de la contrainte nait la créativité. :)

Une vision biaisée

J’ai été élevé au grain OpenWeb et aux standards du web depuis plus de 10 ans. Pour moi, les concepts d’accessibilité et d’universalité du web sont tellement évidents que je n’arrive même pas à imaginer qu’on ne pense pas ainsi.

Faire du webkit-only ne fait pas partie de mon code génétique pour donner un exemple, je n’arrive pas à le comprendre.

On a déjà fait cette erreur avec Internet Explorer il y a des années à trop vouloir faire du IE-only et certains s’en sont mordus les doigts, ce n’est pas pour refaire les mêmes bourdes 7 ans après.

Sauf que…

Des signes inquiétants

J’ai l’impression que tout le monde ne fonctionne pas ainsi. On a déjà eu une salve violente il y a quelque temps avec un appel de Daniel Glazman pour une sombre histoire de préfixes. Avant, on pouvait charger les navigateurs de ne pas respecter les règles du jeu, mais là, c’est bien l’usage qui a contraint les navigateurs à sortir des clous. Autrement dit, ce sont les développeurs qui n’ont pas respecté les règles du jeu.

Un billet de Karl Dubost intitulé Vendor Prefixes And Market Reality m’a choqué récemment. Je vous le résume.

Karl est impliqué dans la compatibilité des sites, il a testé les 100 plus gros sites au Japon. Si les premières versions (-webkit) de flexbox étaient supprimées (ce qui devrait être le cas, elles sont basées sur d’anciennes spécifications), 20% des sites seraient cassés.

C’est profondément choquant. Objectivement, le billet de Karl m’interpelle violemment, même si j’avais bien des doutes.

Cela veut dire qu’on est sur du bancal. Ironie du sort, le Web a été voulu comme quelque chose de solide, et là nous sommes sur des béquilles bien tremblantes. À mon avis, un premier problème est qu’on a un seul Karl Dubost qui se soucie de la compatibilité pour 10 (100, 1000 ?) enragés qui vont sauter sur le premier truc instable comme des gosses.

J’imagine que les ordres de grandeurs sont les mêmes dans le monde entier. Et ce qui me fait encore plus peur, c’est qu’il n’y a pas de raison que cela se calme, Webkit étant ultra-dominant sur le mobile. Et Google Chrome devient aussi dominant sur le desktop, même si c’est un peu moins marqué.

Ironie du sort : à trop vouloir se jeter sur les nouveautés, ces comportements vont freiner… l’arrivée de nouveautés. Ou du moins fragiliser l’évolution.

Et les polyfills ?

Matthias mentionne aussi le sujet des polyfills. Là, j’ai moins d’expérience que lui sur ce sujet, je ne m’en sers quasiment plus. J’y ai surtout été confronté quand Internet Explorer 6 et 7 étaient la norme, et clairement, cela me débectait d’utiliser des tonnes de JavaScript un peu bancals pour émuler une propriété. Depuis, j’ai banni ces rustines mal dégrossies, le concept de la dégradation gracieuse a fait son chemin.

Notons que le problème est autrement plus violent avec les API, là on ne parle pas d’émuler une petite propriété CSS, mais bien quelque chose de plus compliqué.

Selon Matthias, bon nombre de développeurs vont se ruer dessus et faire de la merde. J’aimerais qu’il ait tort, mais je crains que ses observations ne soient malheureusement assez justes…

Et les futurs débutants ?

Comme l’indique Matthias, les débutants sont aussi une préoccupation.

Je vais peut-être être *salaud*, mais je préfère clairement avoir été un débutant en intégration il y a quelques années que maintenant, même si ce n’est pas toujours comparable.

Notez que même avec plus de dix ans d’expérience… je m’inclus dedans, je suis débutant dans plein d’aspects vu que pleins de nouveautés sortent sans arrêt. Et on ne peut pas tout savoir. Bref, on va tous être débutants à un moment ou à un autre (et c’est normal, on ne peut pas tout savoir).

Sauf que les débutants commencent à devenir angoissés sur la veille technologique. Et je pense qu’il y a une obligation morale de le transmettre et d’en faire comprendre les enjeux, sans quoi on ne peut pas reprocher aux débutants de faire des bêtises. Surtout celles qu’on a déjà faites. N’oublions pas que ce sont nos futurs collègues dont on parle, donc in fine de notre propre santé mentale.

Arrêter tout pendant un an ?

Soyons clairs : je pense que cela n’arrivera probablement jamais, et c’est très bien. Je ne veux pas revivre ce Moyen-Âge, et je pense que personne ne veut le revivre. Après… qui peut prédire l’avenir ?

Si je mets en perspective, c’est assez logique même. On est passé d’une période de lente évolution propice à beaucoup de réflexion (des thinkers) à… l’exact opposé, une période de très forte évolution propice à l’action (des makers).

Si vous empêchez un organisme vivant d’évoluer ou de se mouvoir, quand vous le libérez, il va se déchainer et partir dans tous les sens. C’est exactement ce qu’il se passe sur le front-end actuellement : nouveautés, outils, frameworks, etc. ça foisonne de tous les côtés, il ne se passe pas un jour sans qu’il y en ait un nouveau – révolutionnaire  qui va laver plus blanc que les précédents. À mon humble avis, le bonheur est dans l’équilibre entre ces deux tendances.

Néanmoins, si Matthias utilise une élégante métaphore d’élastique, je le cite :

Accélérer encore, c’est faire avancer cette mutation à marche forcée, là ou les processus naturels ont besoin de temps. À trop tirer sur la corde, on risque de se prendre l’élastique dans la gueule.

Perso, j’en aurais une beaucoup moins élégante :

Un organisme qui bouffe trop a parfois besoin de roter. Et parfois, il va tout simplement vomir le surplus. Et s’il bouffe n’importe comment, il va avoir des carences.

Les préfixes étaient un sacré rot, on en sent encore l’odeur fétide. J’ai peur que le renvoi ne soit pas loin d’ailleurs.

Qui ne me dit pas que de nombreux rots ou renvois ne sont pas en train de se préparer ? Au hasard :

  • des pages super-lourdes qui ne réduisent pas leur poids
  • l’accessibilité qui peine toujours
  • des problèmes de compatibilité
  • la jungle des e-mails au format HTML
  • etc.

À ma petite échelle, je développe des plug-ins accessibles, et c’est parfois la misère pour assurer une compatibilité correcte (oui, VoiceOver, c’est toi que je hais).

Quand aux débutants, je peux bien leur conseiller de prendre le temps d’absorber, ils risquent de poser de sacrés rots aussi. J’ai encore vu un splendide tutoriel en JavaScript récemment. Superbe, sauf que l’auteur aurait pu faire tout ce qu’il expliquait avec le positionnement tabulaire en CSS, avec deux lignes de code. Ce n’est pas de sa faute, peut-être n’a-t-il jamais appris cela.

Mettez ce genre de petites erreurs à la puissance 10. Cela ne va pas réduire notre empreinte.

En conclusion

Bref, je ne suis pas pour dire d’arrêter, c’est impossible, et même pas souhaitable.

Mais je reconnais que ce rythme complètement dingue pose aussi des problèmes. De prime abord, je me dis qu’une utilisation raisonnée et éclairée suffirait à régler de nombreux problèmes, mais ce n’est pas le chemin qui semble se profiler.

Effectivement, ce billet m’interpelle.

J’aimerais bien lire des billets chez les fabricants de navigateurs à ce sujet, et de la part d’autres développeurs/profils. À vos claviers !

Permalien :

Flux RSS des commentaires de ce billet : https://www.nicolas-hoffmann.net/rss/commentaires.php?id_news=1670

1 commentaire

Posté par Gaël Poupard le 10/08/2015 à 12:57:12
Une phrase pour synthétiser ma pensée : il ne faut pas arrêter de faire avancer le web, il faut que chacun ait le recul nécessaire pour se servir des nouvelles techniques à bon escient et au bon moment.

Arrêtons simplement de glorifier les savants fous qui nous fabriquent des démonstrations tellement expérimentales qu’ils font fumer notre PC avec un bout de JS. Un soupçon de sens critique saupoudré de pragmatisme devraient suffire à sauver l’humanité sur le web.

Ajouter un commentaire









L'option « Se souvenir de mes informations » utilise un cookie, elle ne sera pas effective si vous les avez désactivés.

Les balises HTML ne seront pas interprétées, il est donc inutile d'en mettre. Par contre, les sauts de lignes de votre commentaire seront pris en compte, ne mettez donc pas de <br />, le site s'en chargera. Bien sûr, un commentaire vide ne sera pas ajouté !

L'auteur (autrement dit moi) n'est pas responsable des éventuelles fautes d'orthographe dans les commentaires.
Tout propos raciste et/ou insultant sera supprimé sans préavis. Les commentaires hors de propos destinés à faire de la pub pour des sites seront également supprimés sans ménagement.

Je vous prie de me pardonner, j'ai énormément de mal à lire le "langage" SMS, il n'est donc pas du tout interdit de s'abstenir de l'utiliser. Qui plus est, vous avez sûrement un clavier digne de ce nom et pas celui d'un téléphone portable. Ne vous gênez pas pour utiliser l'option "Prévisualiser" si vous voulez vous relire avant de poster, je vous en remercie d'avance !

Cet article a été écrit par Nicolas Hoffmann.

Ce site est la propriété de Nicolas Hoffmann.
Tous droits réservés, les textes du blog sont publiés sous licence CC BY-NC-SA.