Ayé! bon, alors j'ai relevé pas moins de 28 anneries distinctes dans ce topic, je vous épargne les doublons. Je vais regrouper la plupart et les traiter en bloc homogène, pour les autres, qui sont "mineures" et tellement ridicules, je vais les laisser de côté et les considérées comme non traitées.
On a vu de beaux spécimens ici, des gars qui - forts d'arguments comme le nom de la boite pour laquelle ils travaillent, d'expérience de UN jour dans le monde des recommendations ou encore du pathétique, mais néanmoins toujours utilisé, "ailleurs c'est mal fait, pourquoi je devrais faire bien, moi" - s'amène pour nous apprendre comment il faut faire, en mélangeant allègrement les concepts les plus élémentaires d'internet / intranet, de recommendation / standards et d'accessibilité / d'aspect visuel.
Pour y voir clair dans toutes leurs erreurs, il faut commencer par se recentrer sur le concept de base, les recommendations. Pour moins fatiguer mes doigts, j'utiliserai le terme "norme" pour désigner celles-ci car, plus que des recommendations, les formats d'échanges sur le net sont devenus des normes.
Mais qu'est-ce donc que la norme (X)HTML?
A première vue, et c'est à cette première vue que se sont naïvement arrètés les antagonistes des normes actuelles, il s'agit simplement d'un ensemble de règles qui décrivent un langage, comme on pourrait dire qu'une phrase, en français, se compose de (sujet, verbe, compléments*).
La première erreur se situe ici. Si on en reste là, "toi comprendre quoi moi vouloir dire" est une phrase écrite en français correct, et elle passera sans problème au VALIDATEUR car la syntaxe est correcte. Si on en reste là, on est arrivé au niveau des singes bonobos, capable de créer de tels phrase sur un synthétiseur, mais continuons notre évolution...
La norme définit également des règles sémantiques... non, ne partez pas, ça ne mort pas!
Ces règles indiques par exemple, qu'un document commence par un titre, tout comme en français une phrase commence par une majuscule! Elles indique aussi à quoi sont destinés les différents éléments. Prenons la table, grand sujet de discorde. Et bien JAMAIS, depuis sa création, elle n'a été destinée à faire de la mise en page.
Reprenons l'analogie avec le français. Une table, dans sa représenation la plus simple, ce sont des point-vigules et des fins de phrases (format CSV), mais à utiliser à bon escient. Si l'on demande à notre bonobo de faire la liste des aliments qu'il veut, il va nous répondre "banane eau figue" *BLAF* notre pauvre ami vient de recevoir une décharge électrique (de faible intensité, je vous rassure) parce qu'il n'a pas suivit la nouvelle règle que le dresseur veut lui enseigner. Il veut que notre primate rajoute des mots bizares, qui n'ont aucun sens pour notre ami, des "point-virgule" et autres "fin de phrase" répétés par-ci par-là.
Mais, comme notre bonobo est docile et qu'il commence à avoir faim, il tape sur son clavier "banane point-virgule eau point-virgule figue fin de phrase". Horreur! maintenant la banane l'eau et la figue sont là, posés juste DERRIERE le grillage de la cage. Le bonobo salive, s'impatiente, tourne en rond et réfléchit. Soudain c'est l'illumination, il a oublié le sujet et le verbe! Mais le souvenir de la décharge est toujours bien présent. Pour maximiser ces chances, il produit donc "moi point-virgule vouloir point-virgule fin de phrase point-virgule banane point-virgule eau point-virgule figue fin de phrase".
On a atteind la limite de réflexion possible de notre singe à ce niveau. Le dresseur qui ne veut pas le laisser mourrir de faim, lui donne quand même les aliments, renforçant dans la tête du bonobo la conviction qu'il a bien agit. Dorénavant il produira toujours des phrases aussi ridicules, et le dresseur abandonnera l'idée de lui apprendre la conjuguaison.
Ce stade de "compétence", c'est à quoi sont restés certains en s'imaginant produire un code respectant une norme (que ce soit HTML 4, 3.2 ou autre) alors qu'il n'ont aperçu que la partie visible de l'iceberg...
Et pourquoi y a-t-il plusieurs versions de la norme (X)HTML?
La première réponse qui vient à l'esprit pourrait être "mais banane, parce que la technologie évolue et qu'on a besoin de pouvoir faire plus!" Faux. Remarquez la présence du fruit favoris de notre petit compagnon qui rappelle un mode de pensée primaire.
Remontons dans le temps. Au tout début était un homme qui voulait vraiment faire partager ses résultats avec l'ensembles de ses collaborateurs. Cet homme (Tim Berners-Lee pour les incultes) décida donc d'utiliser un outil pré-existant, le SGML. Mais comme c'était utiliser une pelleteuse pour planter une fleur, il se restreind à une version limitée, le HTML 1.0. D'un coup, on trouva sa formidable et certains (mosaïc) se mirent en tête de l'utiliser pour transporter du contenu sur internet, pour tous!
Tout allait pour le mieux, on avait même créé une version 2 du HTML pour rajouter quelques fonctionnalités, et puis la colère des dieux s'abatit sur nous! Quel était donc ce langage universel qui permettait à tous de se comprendre et de s'échanger de l'information, comme au temps de Babylone! Il envoyèrent alors Netscape s'occuper de la chose. Et pour être sur de ne pas louper leur coup, ils ajoutèrent Microsoft dans la partie (plus on est de fous...). S'ensuivit alors une bataille entre ces deux géants pour savoir lequel détruirait le plus ce langage merveilleux. Pour cela, tout était bon, ajout de balises propriétaires, création de scripts (javascripts et vbscript), support du code le plus crasseux qu'il soit, etc... Et les dieux étaient contents.
Pendant ce temps, les "grammériens" tentaient veinement de comprendre et d'analyser les nouveaux symboles que ces démons leurs envoyaient, en catastrophe, ils écrirent de nouveaux dictionnaires, un 3.0 vite remplacé par un 3.2 car, sacrilège divin, on avait osé essayer de retirer les frames dans cette version 3! Mais la masse était perdu dans tout ce charabia (c'était un peu le but), profitant de sa faiblesse, les dieux voulurent lui assainer le coup de gràce et lui envoya le "WYSIWYG" (tada!). Et la masse se réjouit. Elle qui commençait à attraper un sérieux mal de crâne pouvait placer des jolis dessins qui clignottent et des textes qui défilent, comme un bonobo place des cubes dans les trous correspondants.
Le résultat fut catastrophique, les messages ne ressemblaient plus a rien, mais la masse s'en foutait, elle n'avait plus mal à la tête. Par contre, pour rester crédible, ce furent Netscape et Microsoft qui commencèrent à souffir de migraine. En effet, ils s'étaient pris au jeu, et maintenant l'anarchie était tellement grande que c'était un véritable casse-tête pour eux d'avoir un rendu correct. Ils se ralièrent donc, en douce, aux grammériens pour essayer de remettre un peu d'ordre dans tout cela, tout en rajoutant un peu de balises propriétaires de temps en temps, histoire de tromper les dieux.
De cette demi-paix et d'une longue réflexion nacquit le HTML 4, ainsi qu'un petit frère le CSS (et un cousin appelé XML dont nous parlerons plus tard)! Cette norme fut bénie des dieux car ils ne virent en elle qu'un ama de balises toutes plus complexes les unes que les autres, les cons! Pourtant c'était tout le contraire, le HTML 4 n'introduisait presqu'aucune nouvelle balise majeur, respectait toujours la même sémantique que ces prédécesseurs, mais en plus, grande nouveauté, il permettait de combiner ses forces avec son petit frère pour devenir encore plus efficace, sans être incompatible avec les anciennes normes (ô joie!).
Problème! La masse refusa le changement. Ben oui quoi, quand on a gouté aux plaisirs simples de la banane et de l'épouillage, comment pourrait-on avoir envie d'un magrêt de canard à l'orange où d'un saumon à l'étuvé. Il fut très difficile de lui faire comprendre que "oui le cube rentre bien dans le trou, mais c'est un trou rond..."
Les grammériens se dirent alors que le HTML 4 était peut-être trop compliqué, à cause des dieux qu'il fallait tromper, et que le peuple refuserait d'apprendre une langue aussi fournie. Ils se remirent donc au travail, pesant le pour et le contre de chaque balise, essayant de systématiser la syntaxe au maximum ("les temps modernes", c'est simple mais ça marche).
De ces travaux, le XHTML vu le jour. Pour comparer au français, le XHTML serait une langue dans laquelle tous les synonimes ont disparus. Cette langue est donc parfaitement compréhensible par un francophone, juste un peu plus pauvre. Une régression vous dites? bien au contraire, quoi de plus universel et de plus facile à comprendre qu'une langue sans ambiguïté, sans double sens? Et c'est bien là le but du (X)HTML.
Un peu triste? sans doute, mais rassurez-vous, car les grammériens vous font un cadeaux, un stylo avec de vrais morceaux de CSS 2 dedans! Grâce à lui, votre message peut être coloré, chanté, dansé, agrandi pour les mals voyants, crié pour les sourds, etc... En bref, ce stylo vous permet d'écrire un message universel qui soit lu le mieux possible par tous.
Ca y est, la foule est en liesse, tout le monde veut utiliser le stylo magique, mais... mais il y a une condition! (aïe certains sont déjà redevenus des bonobos) "Pour profiter pleinement de son pouvoir, d'un usage correct des normes ton message tu dois pourvoir!". Shazam! 90% de la foule est repartie mettre des cubes dans des ronds. Heureusement, il reste une partie de la foule intéressée, ceux-ci se dresse sur ses pattes postérieures, font un pas, puis deux, CA Y EST! Ils marchent! Ils sont dressés et, du haut de tout son corps, ils observent le monde.
Et que voient-ils? ils voient qu'à côté de la grande masse et de ses cubes, il y a toute une série d'autres groupes, biens plus petits. Certains ont reçus des jeux des cubes, mais étants aveugles, ils ont toutes les peines du monde pour les mettre dans les bons trous. D'autres ont les cubes, voudraient bien les mettre dans les bons trous, mais ils sont paralysés. D'autres encore ont un jeu d'occasion, et aucun cube ne correspond à un trou...
C'est ainsi qu'un petit groupe de gens comprit qu'en respectant une norme, non seulement dans sa syntaxe mais également et surtout dans sa sémantique, il n'y aurait plus besoin des cubes, tout le monde pourrait se comprendre de la manière la plus efficace possible selon ses possibilités.
C'est également ainsi que ce même petit groupe de gens comprit que la dernière norme, parce ce qu'elle ne rajoutait aucune balise significative mais gardait une compatibilité descendante tout en maximisant son potentiel ascendant était la meilleur des normes possibles.
Et les dieux dans tout ça? voyant le peu d'impact actuel de la norme, ils se reposent. Ils ont même décidé de reprendre Netscape auprès d'eux (après qu'il leur aie fait un enfant dans le dos) et ont laissé Microsoft pour garder le tout, ce dernier s'amusant à jouer un double jeu un peu trouble.
Mais une autre menace gronde... Certains singes, totalement ahurit par les cubes ont commencé à devenir agressif, ils tentent désormais de déstabiliser les petit groupe d'humain en leur lançant des cubes et des bananes avairées. ATTENTION! ils sont bien cachés, mais il existe des trucs pour les démasquer.
Comment Démasqué un bonobo dégénéré enragé.
Il y a de nombreux points qui les trahissent mais un minimum de connaissance est nécessaire. Voici quelques "arguments" qu'ils aiment faire entendre à qui leur prête une oreille:
*être aux normes réduit la portabilité et l'évolutivité.
Alors là, c'est cuit. C'est l'exemple type du bonobo qui n'a jamais regardé en quoi consistait réellement les normes qui, pour avoir testé maladroitement d'écrire sur un cube avec le stylo magique en esprérant qu'il retrerai mieux dans le tour petit trou rectangulaire est reparti frustré de son exprérience dans ce domaine. Hop, dans la cage.
*le validateur m'a dit que j'avais bon et c'est pas bon
Ici, notre specimen est plus rusé. Il a lu les règles, mais ne les a pas comprise. C'est l'exemple "point-virgule". Il n'assimile pas le fait que si son contenu n'est pas bien structuré, il n'aura pas la possibilité d'être bien compris par les navigateurs anciens. Alors, oui, il va sans doute être déçu quand il comprendra que son horloge qui tourne en JS ne fonctionnera pas dans NS 4.7, mais son cas n'est pas désespéré pour autant. Hop, dans la cage pour ré-éducation.
*les dernières normes, ca enlève des trucs bien pratique et y a rien pour les remplacer
On a affaire ici à un bonobo particulièrement retord. Non seulement il a lu différentes normes, mais en plus il est persuadé de les maîtriser. Pour les plus jeunes d'entre eux, le fait de signaler la disparition de la balise <blink> les trahira tout de suite. Les plus vicieux vous sortiront "l'argument qui tue" (à leurs yeux): les frames. C'est vrai que c'est pratique, ca permet au bonobo de jouer avec plusieurs cubes en même temps, mais ça s'arrète là!
Indiquez-leur tous les désavantages des frames (accessibilité, bookmark, référencement, navigation,...), et s'ils embrayent sur les iframes, répondez leurs "object" du tac-au-tac en précisant bien que, oui, une même balise object peut accueillir des contenus différents, comme des bannières de pub.
Hop, dans la cage pour ré-éducation, mais prenez garde, ne leurs tournez jamais le dos, ils sont retords...
*Regardez, je suis pas aux normes et mon site s'affiche mieux que mon site aux normes
Allez vite faire un tour dans son site, et montrez-lui que quelque soit le site qu'il vous montre, non seulement son code est lourd et dégueulasse mais qu'en plus il n'a pas respecté la plus petite notion de sémantique (les balises titre, il connait visiblement pas...)
Hop, dans la cage, et décharge électrique pour avoir essayé de nous avoir aussi stupidement.
*les aveugles on s'en fout et de toute façon, sans CSS ils ne sauront pas voir le conten en braille
Bon, rien que pour la première partie, on peut déjà euthanasier ce singe, il n'y a rien de bon en lui. Mais avant de le mettre à mort, précisez-lui tout de même que sans déclaration de type de média, un CSS s'adresse à tous, que la sémantique des balises HTML permet déjà d'avoir diverses informations, comme le titre où l'intonation (pour certaines balises), que ce soit via les traducteurs oraux ou via les tablettes brailles.
*problème à voir du contenu à cause de scripts
Ici encore un singe qui mélange présentation du contenu et contenu, faites-lui relire la génèse des normes, peut-être comprendra-t-il.
Voila, avec cela, vous devriez déjà en démasquer un bon nombre.
Et maintenant?
Et maintenant, ouvrez votre esprit, lisez, lisez encore, mais surtout, lisez les documents officiels. Ne vous laissez pas influencer par des arguments tels que "je bosse donc je sais", regardez plutôt la manière donc ceux-ci "bossent" avant de les croire (ils ne sont généralement pas avare de ce côté, et comme disait Desproges, "mieux vaut se taire et..." ). Demandez de l'aide, des conseils, à plusieurs, multiplier vos sources, testez et expérimentez.
That's all folks!
Sont considérées comme non traitées les conneries erreures suivantes:
- "Opéra ne supporte pas le XML" (Magicbuzz)
- "IE 6 est conforme à la norme XML/XSL" (Magicbuzz)
- "XML/XSL est enfantin à implémanter" (Magicbuzz)
- L'analogie avec les ondes radios (tetedeiench)
- Je critique le xhtml mais je ne sais pas faire des bordures dans un tableau (tetedeiench)
- "TCP/IP a été adapté par tous [...]" (Magicbuzz)
- "par défaut, un aveugle fait un copier-coller dans Word" (Magicbuzz)
- L'exemple Hitit "aux normes" qui fait plus rire qu'autre chose surtout avec son script.
- "Opera 5 ne vaut pas mieux que NS 4.73" (Magicbuzz)
PS: je tiens à m'excuser publiquement envers les véritables bonobos qui liraient ce message pour les avoir comparé avec les auteurs de messages précédents.
PS2: Magicbuzz, si tu pouvais arrèter d'écrire des anneries pendant que je pond un pavé, ca m'arrengerait, ca m'éviterait de rajouter ce postscriptum pour te dire que si dans ta boite, vous n'êtes pas foutu de faire la différence entre un intranet et un site internet et que, qui plus est, vous n'êtes pas foutu de savoir quels sont les besoins et surtouts les AVOIRS de vos clients, ne venez pas vous en prendre aux normes par après. Vous êtes dans votre tord, car s'il y a bien UNE chose que l'on t'apprend dans la conception d'application, c'est de savoir ce que veut EXACTEMENT le client.
Message édité par gizmo le 17-08-2003 à 19:07:31