"Les standards HTML et CSS
des origines à mercredi dernier"
HTML et CSS : d'où ils viennent, comment ils sont apparus et pourquoi il faut du champagne cher pour les faire évoluer ; comment fonctionne un Groupe de Travail du W3C, ce qu'est un processus de standardisation et pourquoi même du champagne pas cher est inutile pour transformer ça en champ de bataille ; et enfin le futur de HTML et CSS, et pourquoi il va falloir passer du champagne à quelque chose de plus fort...
Daniel Glazman
http://disruptive-innovations.com
L'animal
- 40 ans
- babasseur fou (qui a fait du PL/1 sur carte perfo ?)
- grenouille dans la standardisation depuis 1989
- 1ère implem 100% MIME après Andrew de Nat Borenstein
- 1ère implem wysiwyg des tableaux CALS (futurs tableaux HTML)
- 1ère implem d'un ftp-alike au-dessus de HTTP GET/PUT
- HTML WG (HTML 4), CSS WG (CSS 2, CSS 3)
- Netscape (Editor Team et Layout Team)
- Disruptive Innovations
Avant HTML
- GML et puis BookMaster(IBM)
- runoff, nroff, troff
- SGML (ISO 8879:1986)
Avant CSS
- DSSSL
- FOSI
- P (Grif, puis Amaya...)
troff
.Cs "* Ulva" indica "Roth" .Pe \f2Ulva indica\f1 Roth, 1806: 327--328 (type locality: \*QEx India orientali\*U [India \f2fide\f1 Martens, 1868: 60--61]). .Ts Misapplied name: .Sy \f2Phycoseris gigantea\f1.--- Martens, 1868: 60--61. .Id India. .Qp Note: According to C. Agardh (1823 [1822--1823]: 407--408), who had seen a specimen in Roth's herbarium, \f2Ulva indica\f1 Roth is referable to the plant that has traditionally but erroneously been called \f2Ulva latissima\f1 Linnaeus (see \f2Ulva latissima\f1 auctorum). Martens (\f2l.c.\f1) used the name \f2Phycoseris gigantea\f1 to refer to Roth's record. .Qc
SGML
Cet exemple date de 1986...
<!DOCTYPE mydtd PUBLIC "-//MY COMPANY//DTD MYDTD//EN"> <mydtd> <section> <heading>SGML Example</heading> <paragraph>this is the first paragraph of section 1.</paragraph> <section> <heading>For advanced users</heading> <paragraph>this is the first paragraph of section 1.1</paragraph> </section> </section> </mydtd>
HTML #1
25 Septembre 1990
// HyperText is like Text, but includes links to and from other hypertexts. // // Authors: // TBL Tim Berners-Lee CERN/CN
Novembre 1990
<title>Hypertext Links</title> <h1>Links and Anchors</h1> A link is the connection between one piece of <a href=WhatIs.html>hypertext</a> and another.
Décembre 1990
<ol> <li><a href=People.html#newcombe>Steve newcombe's</a> and Goldfarber's "Hytime" committee looking into SGML, and <li>An ISO working group known as MHEG, "Multimedia/HyperText Expert Group". led by one Francis Kretz (Thompsa SA? Rennes?). </lo>
HTML #2
Toujours Décembre 1990
<Title>Strutcured Documents vs. HyperText</title> A debate which surfaced many times at <a href=#Introduction>ECHT90</a> was that as to whether a document should have an overall structure, as in an SGML document, or whether it should be free to be a tangled web. <p> The proponents of an enforced structure pointed out that <ol><li>It conveyed better the author's intent <li>It provided a more steady basis for the reader's assimilation of the material <li>It prevented people from getting lost </ol>
Et la première erreur dès le 7 Décembre 1990 :-)
<ol> <li>This is the first element of an ordered list <li>This is the 2nd element of an ordered list. This element contains more text than one would normally expect to fit onto a line. It should wrap around onto the next line(s) with the left margin still indented. <li>This is the 3rd element of an ordered list <li>This is the 4th element of an ordered list </ul>
Et la sémantique dans tout ça ?
Most of the tags are just style tags: this goes for the headings H1 to H6, the lists UL and OL with list elements LI, the glossary DL with elements DT and DD
- originellement, P indique un nouveau paragraphe mais le paragraphe (visuel) précédant le tag n'a pas de tag lui-même !!! P est donc uniquement un saut de bloc !
- TBL voyait les tags essentiellement stylistiquement, y compris les listes !
- La structure était déjà totalement plate
Les débuts de la standardisation
- La liste www-talk a été lancée en Octobre 1991
- démarre tout doucement à partir de décembre 1991...
- La discussion s'oriente sur des propositions et la discussion de ces propositions uniquement à l'arrivée de Dan Connolly, sans qui le Web ne serait pas ce qu'il est
- Pendant près de deux ans, cela continue comme ça, un petit groupe en croissance constante gère HTML
- Le premier descriptif, loin d'être une spec, date de 1992
HTML, l'accélération
- 1993, les premiers navigateurs implémentent HTML comme ils peuvent puisque HTML est totalement sous-spécifié...
- Bonus:
- HTML est si simple que l'apprentissage est immédiat
- HTML est du coup facile à étendre
- Malus:
- foutoir majuscule...
- extensions spécifiques aux browsers
Netscape et la standardisation de HTML
- Pas le temps de standardiser, la guerre des brouteurs faisait rage
- Trop d'incertitudes sur le résultat
- Foncer !
La méthode était assez peu appréciée, mais in fine, Netscape avait raison. Sans l'énorme poussée de Netscape, le Web ne serait pas ce qu'il est aujourd'hui. Et il n'est pas sûr du tout qu'ils auraient pu faire plus propre ET avec succès.
HTML, le grand nettoyage
- l'évolution d'HTTP va nettement plus vite grâce à l'IETF
- mais l'IETF n'est pas le bon endroit pour HTML et l'idée d'un consortium industriel émerge en 1993
- En 1994, la standardisation est totalement ouverte et assez chaotique...
- HTML+ en 1993 (la première DTD par Dave Raggett), HTML 3.0 en mars 1995, HTML 2.0 en septemnbre 1995 !
- le W3C est formé le 1er octobre 1994
- le 21 août 1995, le premier problème...
EOLAS ACQUIRES COMMERCIAL RIGHTS TO KEY WORLD WIDE WEB PATENT
HTML, la stabilisation
- HTML 4 sort en 1997, résultat des travaux d'un WG dirigé par Dan Connolly
- Adoption large et immédiate
- Et puis... et puis plus rien.
CSS, la nouveauté
- fin 1993 à 1995
- Intégrer des feuilles de styles de l'auteur, de l'usager et de l'outil
- Håkon Lie et Bert Bos
- Focaliser sur la simplicité
- En face, JSS et les tenants de DSSSL qui ont investi des fortunes depuis 1988
- Adoption lente, fortement sous-spécifié
CSS, la maturité
- influence absolument déterminante de Chris Lilley, chairman du CSS WG, sans qui...
- Focaliser sur la simplicité, les features et éviter la sous-spécification
- CSS 2 en 1998
- Adoption assez lente, standard trop riche, sous-spécification ou quasi-inimplémentabilité de certaines sections
Les Working Groups
- un "chairman", en général employé du W3C mais pas toujours
- des membres désignés par les industriels affiliés au Consortium
- une conférence téléphonique d'une heure par semaine, en anglais
- une réunion tous les 3 mois dont un Plenary Meeting pour tous les groupes par an
- une ou plusieurs mailing-lists
Le champ de bataille
- le W3C est un consortium industriel
- les usagers n'y sont pas bien représentés
- les objectifs industriels et ceux des piliers du W3C sont parfois en choc frontal, pragmatisme et time-to-market contre pureté et qualité
- processus très codifié et cycle de vie d'un document
- barrage aux "netscape extensions" et à la non-interopérabilité
- immense mérite de mettre en avant l'I18N et l'accessibilité
XHTML 2 (attention, allergène puissant)
- Temps d'émergence incroyable
- Pas de compatibilité ascendante
- Compromis mou et ne répondant pas aux attentes des usagers exprimées lors du Future of HTML Workshop
- Désaffection dramatique des implémenteurs, seuls le monde mobile regarde d'un peu plus près
- Les sections et titres de section de XHTML2 ne peuvent même pas être numérotées par CSS de façon générique
- Echec patent
CSS, l'âge mûr ?
- CSS 2.1, pour faire plus tard proprement ce qu'on a fait tout de suite salement
- 8 ans depuis CSS 2...
- CSS 3 a pris un retard considérable
- Complexité assez impressionnante de CSS 3, parce qu'on y a mis trop de choses
- diff par rapport à CSS 2.1
- attaques permanentes du monde XML/XSL/XPath
" The future of the Web should be built over HTML 5.0 (ie un dérivé de HTML 4.0) and something new, totally independant from HTML. " -- 24 Avril 2003
- Le Semantic Web ne concerne qu'un très faible pourcentage des serveurs Web déjà en place
- D'où le WHAT-WG que ses détracteurs appellent la WHAT Task Force (WTF)
- Finira presque sans aucun doute par couler non seulement XHTML 2 mais également en partie XForms
- Finira très probablement par sauver le W3C en revenant à ses valeurs essentielles, c'est-à-dire "lead the web to its full potential" sans oublier les usagers et les auteurs
- Et CSS ? Et le DOM ?
Conclusion 1
- La standardisation, c'est fun
- Mais c'est pas de tout repos...
- La standardisation, ça coûte beaucoup de sous
- Cela peut en rapporter beaucoup, en économiser énormément, et surtout vous en coûter un max si vous vous en fichez
- Mais la standardisation, ça peut aussi échouer
- un standard n'est pas infaillible
- les auteurs ne sont qu'humains
- VHS vs. Betamax, ou CSS vs. tableaux
- Il est peut-être temps que des évolutions du Web viennent à nouveau des individus, et pas des industriels.
Je pense que...
- XHTML 2 est un canard mort
- HTML 5 sera la future lingua franca du Web
- Les auteurs de documents Web vont très fortement pousser sur les implémenteurs pour avoir rapidement CSS 3
- XForms a du plomb dans l'aile
- Le W3C aussi, et il doit donc absolument se réformer...