CSS AvancéesRaphaël Goetter vient de publier chez Eyrolles son nouveau livre "CSS Avancées, vers HTML 5 et CSS 3" que je ne peux que chaleureusement vous recommander. Pour vous mettre un peu l'eau à la bouche, voici le texte de la préface rédigée par votre serviteur pour le livre:

Au début étaient la pierre, le bois, l'argile, le métal, le papyrus et finalement le papier. Des supports pour lesquels fonds et forme sont inextricablement mêlés. Séparer la lettrine de son enluminure ? Imaginer le Talmud sans son formatage si spécial permettant les commentaires ? Impossible ! Pire, les éléments de forme étaient fortement dépendants du support : la typographie ronde était difficile sur pierre et impossible dans l’écorce de bois, les barres supérieures de certaines graphies étaient là pour aider l’alignement.

La révolution technologique a non seulement séparé fonds et forme dès la naissance du télégramme, mais elle a également séparé fonds et format, les lettres et chiffres n’étant plus des lettres et chiffres mais des signaux morse transitant dans un fil métallique. Le Web, cette nouvelle révolution dont seuls nos descendants mesureront à sa juste valeur la portée, va encore plus loin et officialise enfin ce vieux leitmotiv des fanatiques de la documentation structurée : contenu et présentation sont deux notions quasi orthogonales. Un contenu donné peut être présenté de plusieurs manières différentes, une présentation peut être commune à plusieurs contenus sans rapport entre eux.

Lorsque le Web nait au CERN entre 1989 et 1991 sous l’impulsion de Tim Berners-Lee, rien de tout cela n’existe encore. Chaque élément de la lingua franca du Web, le langage HTML, véhicule intrinsèquement sa propre présentation et styler un contenu n’est pas encore une idée en vogue. On est encore bien loin de ce qu’offre la PAO…

C’est là qu’interviennent Håkon Lie, un norvégien qui travailla au CERN avec Tim Berners-Lee et fût l’un des premiers employés du World Wide Web Consortium, et Bert Bos, un néerlandais étudiant à l’Université de Groningen. Extrayant la substantifique moelle des technologies de style documentaire existantes et comprenant que le style peut se décliner en styles voulus par l’auteur du document, styles par défaut de l’outil de visualisation et enfin styles imposés par le lecteur, ils ont élaboré de 1993 à 1995 le concept de Feuilles de Styles en Cascade (CSS).

Les débuts furent difficiles. Les éditeurs de navigateurs Web se livraient une guerre acharnée et une solution standard, interopérable et surtout exigeant des changements fondamentaux dans leur code n’était pas nécessairement bienvenue. Il fallut donc attendre un très grand virage sur l’aile, celui de Microsoft vers l’Internet et le Web, pour voir enfin les CSS implémentées de façon sérieuse et extensive dans un navigateur Web. A titre de rappel, le premier navigateur à proposer le support intégral des CSS 1 fut Microsoft Internet Explorer pour Macintosh… Netscape finit par abandonner son idée de styles fondés sur du code JavaScript (JSSS) et bascula vers les CSS. L’heure du succès était venue et la seconde mouture du standard, les CSS 2, s’aventura dans des champs encore inexplorés sur le Web : les polices de caractères téléchargeables, l’impression, le positionnement fin, et encore beaucoup d’autres nouveautés.

Mais les hommes n’étant finalement que des hommes, CSS 2 alla trop loin pour eux et l’implémentation des CSS 2 dans les navigateurs ne fut jamais à la hauteur des espoirs initiés par la spécification elle-même. Certaines fonctionnalités étaient sous-spécifiées, certaines autres posaient problème, certaines étaient même tout simplement inimplémentables en l’état de l’art ou de la spécification…

Le World Wide Web Consortium (W3C) s’attacha donc à la révision des CSS 2 en même temps qu’il planchait sur la future mouture, CSS 3. Cela prit un certain temps, voire un temps certain. Malgré une certaine exaspération toute légitime du côté des éditeurs Web, cela eut un effet très positif en laissant aux éditeurs de navigateurs le temps de profiter de nombreuses améliorations hardware et software. Un navigateur Web de 2010 n’a plus rien à voir avec un navigateur Web de 2000, même si l’usager ne s’en rend pas toujours compte.

Aujourd’hui, CSS 2.1 est enfin en phase finale de standardisation. Les CSS 3 ne sont pas un rêve éthéré mais une réalité déjà utilisable dans tous les navigateurs du marché. Tous ? Oui, tous, y compris Internet Explorer 9.

Non seulement plus personne ne conteste le modèle et l’utilité des CSS, mais plus personne ne conteste plus non plus leur légitimité en tant que langage unique de Feuilles de Styles sur le Web. Les fonctions de formatage simples des CSS 1 ont été grandement étoffées, et les dégradés de couleurs, les transformations géométriques, le colonage, les polices de caractères téléchargeables, ou encore le texte vertical et l’internationalisation promettent de servir des sites Web encore plus modernes, plus réactifs, plus conformes aux standards, plus aisés à réaliser ou maintenir et tout simplement plus beaux à encore plus d’internautes dans le monde, sur ordinateur ou sur mobile.

Que vous soyez l’éditeur d’un grand site de presse ou celui d’un petit blog, la conception de votre site passe immanquablement par les CSS. Et continuera encore plus à l’avenir à passer par les CSS… Car l’histoire ne s’arrête pas là : le Groupe de Travail standardisant les CSS au W3C continue à avancer, à répondre de mieux en mieux aux demandes des Web Designers ou même des typographes. La convergence entre le Web et les autres métiers du design documentaire est en marche : grilles de design, modèle flexible de présentation, etc. Vous allez adorer ça autant que nous aimons le standardiser et l’implémenter.

Le livre de Raphaël Goetter est donc pour tout auteur de site ou rédacteur d’une newsletter à envoyer par mail un must qui lui permettra non seulement de tirer parti des nouvelles technologies du Web (CSS 2.1 et 3, HTML 5) mais également d’éviter les chausse-trapes.

Entre le hêtre (*bōkz en proto-germanique) et l’e-book, le mot n’a que peu varié. Et la maîtrise du second requiert toujours la lecture du premier. Bonne lecture, donc !

Daniel Glazman
W3C CSS Working Group, Co-chairman