L'article de Saint-Elie commence après cette ligne.

J’ai écrit hier soir une petite note rapide sur la sortie de Dreamveawer 8, soft sur lequel je reviendrais lorsque j’aurais le temps. Pour ceux qui ne connaissent pas Dreamveawer c’est un éditeur HTLML graphique, sans doute l’un des mieux fichu qui ait jamais été pondu et ce depuis sa toute première version. La dernière en date m’a donné la sensation de toujours être sur la même ligne (ça n’a rien à voir mais incidement, son éditeur, Macromedia, vient de se faire racheter par Adobe).

A ce sujet, quelques petites réflexions sur le truc hype du moment dans les milieux du design Web : les « standards du web »

Il faut avoir une assez sacré dose d'ignorance d'une part de ce que sont vraiment les standards du web et d'autre part des économies financières réalisées par les gros serveurs Web  pour être capable de ne retenir des standards que le qualificatif "hype du moment"... Rien que cette ligne suffirait facilement à tout technicien un peu au fait de son domaine pour arrêter là sa lecture et jeter définitivement l'article.

J’ai eu à participer à un projet intéressant, voire passionnant mais intrinsèquement désorganisé puisque concernant une manifestation nationale qui se déroule sur deux jours.

La partie à laquelle j’ai participé consiste en un site de présentation et de consultation de données écrit en XHTML/CSS / PHP/ Javascript lequel fait appel à des parties de génération de cartographie dynamique accédé en JSP (avec des requêtes qui ont de quoi laisser rêveur. Dans les soutes de nos administrations il y a des gens pas mauvais du tout).

PHP et JSP ne sont pas des standards du Web au sens commun. Il faut faire la différence entre les standards de jure, issus de la normalisation internationale, et les standards de facto, issus uniquement de la réussite d'un produit ou d'une technologie.

Le premier constat à chaud sur ces fameux « standards du web » c’est qu’il ne s’agit (hélas) ni d’une technologie ni d’une méthodologie mais d’un ensemble de principes génériques (et d’un petit peu de techno associée soyons honnête) drapé dans un mantra incantatoire qui fini par devenir une vérité première à force d’être scandé

Ah. Faut vraiment être gonflé pour dire cela. Des spécifications telles que HTTP 1.1, XHTML 1.0, CSS 2 ou ECMAScript sont le résultat d'un travail intense se chiffrant en dizaines d'hommes-années entrepris à l'IETF, au W3C, à l'ECMA, à l'ISO. Ces spécifications sont publiées après vérification de critères de conformité, comme par exemple l'existence de deux implémentations interopérables garantissant l'implémentabilité compatible, si on me pardonne ce néologisme. Il s'agit donc non pas de pure théorie demandant encore à être appliquée, mais directement de technologies distribuées, shippées pour prendre un terme industriel. Quant à la méthodologie, encore une fois Luc Saint-Elie n'a rien compris. Si, il y a clairement une méthodologie, mais elle demande d'avoir lu les spécifications, ce que visiblement il n'a pas fait.

Avec les « standards du web » on voit apparaître des choses impensables dans le contexte du HTML bordélique à l’ancienne : un code de mise en page instable qui fluctue au gré des ajouts et modifs. Le puriste rétorquera qu’on a pas à faire des ajouts et modifs… sauf que dans la vraie vie c’est comme ça que ça se passe.

Uhhh ? XHTML et CSS créeraient du "code de mise en page instable qui fluctue au gré des ajouts et modifs" ? Quel scoop... Au contraire, les standards du Web permettent non seulement de clarifier le "code" des documents Web, mais également de séparer les différents process les composant au point d'augmenter phénoménalement la maintenabilité des documents en question. La méthodologie dont Saint-Elie parlait plus haut - et qu'il n'a visiblement pas vu même de loin - consiste justement en une décomposition fine des éléments orthogonaux constituant une "page web". Cette décomposition garantit la qualité. Il se trouve qu'il y a juste des milliers de témoignages à ce sujet. J'engage Saint-Elie à aller demander à des gros sites genre Eyrolles ou Amazon si le respect des standards a rendu le code instable et fluctuant...

Ces « standards du web » sont sans doute bien adaptés aux projets calmes, bien conçus et surtout conçus longtemps à l’avance, basés sur quelques modèles de pages utilisés de façon répétitive (cas classique du désign de type weblog généralement donné en exemple, audioblog.fr est peu ou prou construit en respectant ces principes là, ou des design de type portail), pas du tout adapté aux designs “à l’ancienne” ou peu ou prou chaque page à son design propre.

Si par "à l'ancienne", on doit entendre "sans méthodologie, codé comme un goret dans Notepad, et du moment que ça marche bien, on se fout de la maintenabilité, de l'accessibilité, de la localisation, de l'extensibilité et de l'adaptation aux technologies futures", alors nous sommes d'accord. Il y a effectivement une différence entre un projet mené correctement et le "quick and dirty".

Aucun outil réellement graphique permettant de contrôler les grandes lignes. même Dreamveawer, un des plus aboutis, dans sa dernière version ne reconnaît pas le positionnement des div en css (et pour cause c’est un enfer). Le seul outil issu de la mouvance Open Source/Standard du Web, NVU, est un freeware gentillet sur lequel je m’abstiendrais de m’étendre pour m’éviter de devenir méchant. En version courte, NVU ne peut servir qu’à une seule chose dans un contexte de production : convertir du texte accentué en texte stylé (ce qu’il fait très bien, mais hélas il ne fait sérieusement que ça).

En version courte également, plus d'un million d'usagers écrivent leurs pages web avec Nvu. Des écoles, unversités, entreprises entières ont abandonné Dreamweaver et FrontPage pour passer à Nvu. Il y a désormais des milliers de serveurs Web portant l'icône "Made with Nvu". Mais c'est vrai qu'il y a beaucoup d'anglo-saxons parmi les usagers, et ils n'ont pas usage des caractères accentués. Alors il font des pages Web...

Ce point est d’ailleurs un des aspects les plus marquants de la mouvance « standards du web ». Dans la techno, des groupes d’intégristes il y en a, il y en a des palanquées, mais dans chaque domaine, ces groupes d’intégristes se sont attachés à produire un ensemble cohérent et complet. Dans les « standards du web » il y a les mantras (le HTML c’est pas bien, le XHTML , c’est bien) mais rien autour, ni outil, ni doc.

Là, on n'est plus dans le registre de l'incompétence qui caractérise les propos précédents de Saint-Elie, on touche carrément à la bêtise... On ne peut tenir ces propos qu'en n'ayant refusé de faire la moindre recherche sur le sujet. Pardonnable quand on est un pékin lambda, inexcusable quand on affiche en gros "Luc Saint-Elie, journaliste" sur son site. Apache est le premier serveur Web au monde et de loin; il s'est bâti sur un respect scrupuleux de HTTP et des autres protocoles sous-jacents au Web. La libxml de Daniel Veillard est omniprésente dans l'industrie; son credo est bien entendu une conformité parfaite aux standards du W3C et de l'ISO. Mozilla a bâti Firefox sur les deux principes de la simplicité d'usage et de la conformité irréprochable aux standards. Je pourrais en citer comme cela des dizaines...

Ah oui.. la doc.. la doc sur les « standards du web » se signale par sa pédanterie (prenez n’importe quel texte sur les « standard du web » c’est à se taper les cuisses de rire on dirait un sermon de prédicateur américain), une doc pédante donc, sentencieuse à souhaits et vide de contenu .. lorsqu’elle existe.

Saint-Elie se rend tellement ridicule ici qu'il est, je crois, inutile de tirer plus sur l'ambulance.

Les zélateurs des “standards du web” seraient bien inspirés d’aller repomper ce qui se passe pour le php : pas de philosophie à deux balles, mais du concret, de l’efficace et du pratique. On doit pouvoir construire un site très sophistiqué rien qu’en lisant www.php.net (la démarche des gens du monde php , très axée « pas de blabla, du résultat » est aux antipodes de celle des prosélytes des « standard du web » ).

Elle est tellement à leur antipode que PHP souffre intensément d'erreurs de jeunesse. Je vais en citer deux :

  1. initialement, le code PHP était inséré dans un document en utilisant la séquence <? ... ?> où les points de suspension représentait le code PHP. Cela était tellement invalide d'un point de vue XHTML que personne n'était capable de valider un document contenant du PHP. Il a fallu rendre obsolète cette forme pour passer à <?php ... ?>. Cela s'est fait en tenant compte des standards du Web, ce qui n'était pas le cas auparavant.
  2. une instance PHP, c'est-à-dire un document contenant du code PHP, est un object bizarre. Il est impossible de dire a priori s'il s'agit de PHP contenant du HTML ou du HTML contenant du PHP. La nuance est énorme. Dans le second cas, un projet industriel sera capable de valider sa démarche en utilisant un parser XML. De même, il sera capable d'éditer ses documents dans un éditeur XHTML propre et conforme. Dans le premier cas, c'est tout le contraire... Les documents ne sont plus validables, et les programmeurs devront se contenter d'environnement de développement de type "code source".

"Pas de blabla, du résultat" est la francisation de "quick and dirty". C'est très bien si le projet n'a pas besoin d'être maintenu, ni besoin d'être scalable. Bonne chance dans le cas contraire... Parlez-en à LDLC, qui vient de voir sa valeur boursière chûter de plus de dix pourcents pour avoit bâti leur logiciel de logistique en "quick and dirty" (trois mois en visual basic!) sur des solutions non-standards... Mais cela doit être trop dur pour un journaliste, j'imagine.

A l’inverse, après m’être goinfré des dizaines de sites sur les « standards du web » j’ai surtout appris que « les standards du web c’est bien, le HTML classique c’est mal ».. pour le reste, démerde-toi .

Commentaire stupide au plus haut point, démontrant décidément que Saint-Elie n'a vraiment rien pigé. HTML est un standard du Web, une "recommandation" du W3C. Si on écrit son HTML en conformité avec son modèle, c'est parfait. On peut aussi faire comme mon père quand il achète un nouvel appareil électronique, c'est-à-dire le brancher d'abord et essayer de l'utiliser avant de lire le manuel. On aboutit alors, dans le cas de HTML, à la fameuse "soupe de tags", un truc indémerdable et non-maintenable;

Si vous pensez que j’exagère et que vous avez 32 euros qui vous brûlent les poches, payez vous une bonne tranche de rire avec le livre d’un des papes des « standards du web », Jeffrey Zeldmann (publié en français chez Eyrolles, pour donc 32 euros, qu’il vaut bien mieux aller dépenser dans le troquet en bas de chez vous, ce sera de l’argent infiniment mieux employé). Dans ce magnifique ouvrage de référence donc, page 135 on en est toujours à apprendre que “le XHTML c’est bien” (la page 135 clôt le chapitre “le balisage moderne” explique “les dix meilleures raisons de passer à XHTML” ).

La grande différence entre Zeldman et Saint-Elie, c'est d'une part bien entendu que le premier n'a aucune raison de jamais connaître le second, et d'autre part Zeldman, lui, a apporté son expertise à des grands sites Web qui n'ont qu'à s'en féliciter.

Dans n’importe quel autre domaine, si page 135 d’un bouquin technique, l’auteur en était toujours à paraphraser le titre, l’éditeur renverrait le manuscrit en colis poste petite vitesse, là on est dans le domaine de l’incantatoire, et à priori le lecteur s’est résigné à acheter de l’incantatoire, donc roulez petits bolides.

D’un point de vue pratique, cette petite expérience dans les « standards du web » m’a inspiré les choses suivantes qui peuvent peut-être vous épargner les nerfs :

  • Il faut une méthodologie (à vous de l’inventer elle n’existe pas), une vraie. le HTML ça peut s’improviser, pas le XHTML/CSS.
  • les « standards du web » sont un concept à l’intention certes intelligente voire séduisante mais a qui a comme contrepartie d’enlever le web des mains du quidam de base pour en faire un truc de spécialistes. Dans une large mesure les « standards du web » c’est la grande revanche des informaticiens sur ces cochons de littéraires et autres designers qui avaient naïvement cru pouvoir s’intéresser au web

C'est en partie vraie, mais Saint-Elie oublie qu'il peut parfaitement utiliser des outils logiciels, comme celui qu'il a cité plus haut Dreamweaver ou Adobe GoLive, pour écrire des pages Web en conformité avec les standards du Web sans même s'en rendre compte. Je n'appelle pas cela vraiment une revanche des informaticiens. Il me semble au contraire que les informaticiens ont utilisé les technologies sous-jacentes, les standards du Web, pour offrir à l'usager des solutions plus propres et plus maintenables.

  • l’idée de XHTML/CSS c’est de faire du réutilisable puisque le design dépend du CSS qui est modifiable.. Ce que le manuel (je plaisante, y a pas d’manuel) oublie de dire c’est que ça marche à condition que le balisage des classes et div css (donc du XHTML) ait été fait de façon sereine avec en tête justement la pérennité du truc. Dans le cas contraire (la vraie vie.. cette saleté de vraie vie… ) c’est exactement comme du html en moins souple. Les « standards du web » décrivent un système intelligent et cohérent, mais qu’il est destiné à des sites, conçus calmement, planifiés etc… le HTML ça peut se faire au fur et à mesure.

Mais XHTML aussi, bien entendu. Il n'y a pas besoin d'être un grand génie pour être un peu organisé ou logique dans son écriture. Même quand Saint-Elie pond un article, il suit une trame qui s'est initialement formée dans son cerveau, non ? Il fait des relectures, des modifications. Il utilise un logiciel de composition lui permettant des modifications. Il n'utiliserait plus un système genre machine à écrirer rendant toute modification fastidieuse et hasardeuse, n'est-ce pas ? Le Web, c'est pareil. On peut bien entendu faire vite et crade. On peut aussi faire un peu plus lentement et intelligemment.

  • Mon expérience du CSS c’est que c’est pas du tout adapté à une conception qui se fait au fur et à mesure ou à minima à un projet susceptible de modifs à tout moment (c’est à dire dans la vraie vie à la quasi totalité des projets).. sauf à avoir un budget conséquent.

Des centaines de milliers de développeurs Web pensent exactement le contraire. Et ce ne sont pas tous, loin s'en faut, des fanas des standards.

  • une des conséquences de cet état de fait (notamment du dernier point) est que plusieurs des promesses des « standards du web » frisent le mensonge (euphémisme).
    • La promesse d ‘un code propre et réutilisable. En pratique, la structure est distincte de la présentation. En théorie, il suffit donc de modifier la présentation( le CSS) pour changer le site. Dans vraie vie, cet axiome a toutes les chances de s’avérer faux. Pour qu’il s’avère vrai il est insdispensable d’ajouter une étape supplémentaire au projet. Cette étape vise à définir une structure liée non pas à la version actuelle du projet, mais au concept du projet en général de façon à être applicable à ses versions ultérieures (cling.. vous entendez le bruit de la caise enregistreuse ?)

En fait, toute notre expérience sur dix ans montre que cela n'augmente pas les coûts mais les diminue. Mais Saint-Elie n'a visiblement pas pris la peine de se documenter.

    • La promesse d ‘un coût moindre est encore plus fausse. Le temps passé est aisément le double. On gagne (et encore ça se discute) du temps lors de la structuration initiale des pages mais toute modification (en clair tout ce qui prenait trois secondes pour décaler légèrement un tableau) peut prendre des jours.

N'importe quoi. Le temps passé est effectivement plus important en début de projet. Mais dès que la structure est en place, tout va BEAUCOUP plus vite. In fine, le projet coûte moins cher.

    • La vraie difficulté c’est l’absence d’outil de design CSS vraiment graphique qui oblige a tout se taper à la mimine (sur Mac BBEdit est en pratique la seule planche de salut, sur PC j’aime bien HomeSite) le tout sur fond de compatibilité à géométrie variable côté navigateurs qui nous ramène aux premières heures du HTML balbutiant.

Pour la première fois, je peux être d'accord.

    • Je suis arrivé à la conclusion que même l’alibi de l’accessibilité en terme de productivité doit pouvoir se débattre (très à la mode ça, l’accessibilité. Concept qui me fait sourire, on vit dans des villes ou on ne peut pas traverser un carrefour avec une poussette, mais où il est vital que tout le monde puisse accéder à un site web). Je ne peux pas l’affirmer à 100%, ni le prouver, mais je retire de cette expérience la sensation qu’il serait plus économique (en temps et en énergie) de développer plusieurs versions d’un site, adaptées aux différents types de public, qu’une seule utilisant les « standards du web » et supposément auto-adaptable à toutes les situations

Encore une fois, on touche à la grande ignorance et/ou à la grande bêtise, et Luc Saint-Elie fait preuve d'une méconnaissance de ce qui se passe hors de sa chapelle absolument étonnante. S'il est vrai que le souci de l'accessibilité n'est pas franchement dans tous les esprits en France, je lui rappelle que tous les feux rouges de Suède, même dans le plus petit village, bippent pour les aveugles, qu'un bâtiment public sans rampe d'accès pour handicapés est pratiquement impensable aux Etats-Unis. L'accessibilité n'est pas un concept, Monsieur Saint-Elie, elle est un DROIT pour des citoyens payant leurs impôts comme les autres et à qui on doit permettre d'accèder aux services comme les autres. Quant aux multiples versions de site que vous suggérez, tout le monde en est revenu. Il est en fait totalement impossible de maintenir correctement plusieurs services sur une même base documentaire. De plus, comment croyez-vous que vos "versions de site" seront construites à partir d'une source d'information unique ? Bien entendu, les principes navigationnels seront différents, on ne fait pas naviguer sur le Web une personne sans bras comme quelqu'un pouvant utiliser une souris. Mais à part cela, ce sont des outils implémentant les standards du Web comme XSLT qui feront le travail de manipulation et transformation de l'information brute pour la rendre navigable.

Ma conclusion (contrairement à ce que pourrait laisser penser cette note) n’est pas que les « standards du web » c’est mal, au contraire, ce sera très bien, ce sera même formidable… le jour ou :

  • Il y aura une doc digne de ce nom à la place des traités philosophiques à deux balles
  • il y aura une méthodologie validée et applicable digne de ce nom
  • il y aura des outils dignes de ce nom. Au chapitre des outils, ce qui manque cruellement c’est une base de données des classes et autres id, une vraie base de données qui permette d’une part de stocker et gérer les styles (sur un gros projet les feuilles de style peuvent devenir très longues et très nombreuses) soit capable de générer à la demande le fichier .css, soit capable de faire des « comit/rollback » comme dans les SGDB. Actuellement on en est au « find » de l’éditeur et aux prières « Oh mon Dieu, faites que ça marche sans rien casser », ce qui en pratique est un peu juste, et modérément productif.
  • on arretera de pipeauter tout le monde sur de prétendus pouvoir quasi magiques (c’est moins cher, c’est plus standard…) qu’il faut 15 secondes pour démonter

Bon, vous avez visiblement pêté un plomb parce que plonger dans les spécifications des standards du Web est au-delà de vos compétences. Vous êtes un expert certain des systèmes de eCommerce, et votre signature n'est pas inconnue. Face à un gap dans l'étendue de votre savoir, vous auriez pu en profiter pour apprendre puis écrire un article intelligent et équilibré genre le bon et le mauvais dans les standards du Web; au lieu de cela, vous êtes tombé dans un dénigrement minable - ce qui en fin de compte n'affectera que vous - constellé de fausses affirmations sur les standards du Web - et là votre opinion peut faire des dégats considérables. Vous avez écrit avec vos tripes, sans vérification. Tout le monde peut faire cela. Sauf quand on écrit fièrement "journaliste" à côté de son nom.

L'auteur du logiciel gentillet pour caractères accentués, et qui a personnellement et directement participé ou participe à la rédaction des standards du Web que sont HTML 4, CSS 2 et CSS 3, vous salue bien.

Update: Saint-Elie a augmenté son article de ce qui suit

Lorsque je parle d’incantation à propos des vertus supposées de XHTML/CSS… je viens de tomber (en regardant les refers du site) sur un texte haineux qui peut intéresser.

L’auteur à choisi de répondre par l’insulte personnelle.. soit, c’est pas mon truc, en outre il n’y a au fond qu’une phrase d’intelligible dans sa diatribe c’est la presque dernière « Vous avez écrit avec vos tripes » (c’est juste et c’est exactement l’objet de ce site, c’est noté clairement ici avec l’explication de plein d‘autres éléments comme le fait que je sois journaliste, ce qui semble défriser énormément ce monsieur).

Au fond en tout cas ce texte est une excellente illustration de ce que j’ai écrit en le déplorant sur le côté à la fois pédant et sentencieux de la doc.. là on est en plein dedans, avec des arguments à la Microsoft « tout le monde s’en sert c’est bien la preuve que c’est parfait etc.. »

Ceci étant je suis flatté, c’est bien la première fois , avocats mis à part, qu’on consacre autant d’énergie à expliquer que je suis un sale type.. je ne suis pas sur que ça me déplaise.

Haîneux. Ah. Non seulement je ne suis pas haîneux, mais je n'en ai rien à faire de Monsieur Saint-Elie personnellement lui-même. Par contre, ses opinions totalement dénuées de fondement réel, en contradiction franche avec les résultats de l'usage des standards dans l'industrie, me semblent très dangereuses si elles se retrouvent dans un article du Monde Informatique, lues par des centaines de décideurs techniques (et c'est pour cela que son métier importe). Saint-Elie n'est pas mon ennemi du jour ; ses opinions le sont. Je ne crois pas avoir dit ci-dessus que Saint-Elie est un sale type. Je ne crois pas non plus que l'accusation de "bêtise" ou "incompétence" soit "haîneuse". Je n'y peux rien si ses propos sont contredits par les faits, des faits sur lesquels il est raisonnablement facile de lire. Libre à lui de croire le contraire. Je ne crois pas être pédant ou même sentencieux parce que je démonte un par un ses non-arguments, je suis juste factuel. Quant à ses tripes, je comprends parfaitement, puisque j'écris ici avec les miennes. Pour ceux à qui cela ne plait pas : tout gestionnaire de bookmarks et agrégateur RSS peut sélectionner une entrée et offre un bouton ou un menu "Supprimer". Utilisez-le si vous le souhaitez et arrêtez de m'emmerder.

Dire que mes arguments sont "à la Microsoft" :-) A moi ! BWAHAHAHA !

Quant à mon intelligibilité...S'il le dit... Mieux vaut juste et mal dit que faux et bien tourné, non ?