J'ai 2 titres en fait. Je suis le Style Activity Lead (on a le titre en anglais bien sûr), et le Math Activity Lead, ce qui veut dire que pour les 2 activités styles CSS en théorie et MathML, je suis le coordinateur de toutes les activités au sein du W3C. Et ça veut dire que je gère les pages web qu'on a sur ce sujet. Je suis aussi dans le groupe de travail de CSS et MathML pour coordonner les activités du Working Group, avec les autres groupes de travail aussi. Et ensuite, parfois, je fais d'autres projets, des projets européens, des projets de recherche par exemple. Parfois, j'aide d'autres activités du W3C pour l'éducation par exemple ou pour recruter des membres, parfois il faut faire ça aussi. Je donne des conférences par exemple.
2. Tu es donc l'un des inventeurs de CSS. Peux-tu nous raconter un petit peu comment CSS est né ?
CSS est né en 1994 environ. À l'époque, il y avait une mailing list avec les gens qui s'occupaient de HTML, et on a vu que les navigateurs (à l'époque c'était surtout Netscape) commençaient à mettre un peu de style dans le HTML. Un attribut couleur, un attribut center, etc. On s'est dit "ce n'est pas bien", d'un côté parce que ça rend l'HTML moins sémantique, moins réutilisable, c'est fait pour un seul écran et un seul rendu, donc il faut séparer le contenu et le style. Et aussi, c'est pas très performant. Il faut répéter tous les attributs sur tous les éléments, on peut faire beaucoup mieux avec une vraie feuille de style. Donc, plusieurs personnes ont commencé à proposer des idées, et Hakon Lie et moi, on a mis nos 2 idées ensemble et c'est devenu CSS. C'était pas le seul à l'époque mais c'est celui qui était le plus populaire à l'époque et qui a été développé ensuite par beaucoup de monde.
Ah ça, c'est difficile. J'ai en fait commencé à réfléchir un peu sur ce qui ne marche pas très bien dans CSS. Les compromis qui n'ont pas bien marché... En fait, il y a quelques mois, en février, j'ai donné une conférence là-dessus. J'ai fait une liste de tous les compromis qui n'étaient pas très bons, des choses qui ne marchent pas très bien, les choses qu'on a pas prévues ou qu'on ne pouvait pas prévoir. Mais ce sont pour le moment surtout des questions, des choses qui ne marchent pas très bien, mais je n'ai pas la solution encore. J'espère trouver sur le web des gens qui ont des idées, parce que les idées, moi, j'en ai, mais elles sont très embryonnaires, très petites, pas vraiment encore quelque chose qui peut remplacer CSS. Pour donner un exemple, tout au début, on avait prévu de faire la mise en page avec une sorte de grille, un template en anglais (un gabarit en francais), l'idée de définir des endroits sur l'écran ou sur papier, où l'on met le texte et les images et ensuite on prend le document et on fait une sorte de mapping du document vers la grille. Ça c'était déjà en 1995 qu'on a écrit un petit mémo dessus. Et le compromis finalement, c'était le absolute positionning, que personne n'aime vraiment mais c'était le mieux qui était possible à l'époque. Donc peut-être que si c'était à refaire, ou si j'ai la chance de le refaire, je pense que je pourrais commencer avec ça, pas avec les marges, les fonts et les couleurs, mais avec cette idée d'avoir d'abord un template, une grille, qui définit la mise en page de façon globale et ensuite, on a peut-être même pas besoin des margins et les autres attributs et autres propriétés. Mais c'est juste une idée, je n'ai pas essayé si ça marche en pratique. Je commence à réfléchir sur l'après CSS, mais c'est encore tout au début.
D'abord, le CSS3 c'est un terme très populaire mais personne n'a défini ce que c'est. Le groupe de travail CSS évite de parler de CSS3, parce que après CSS2, on a décidé de faire des petites spécifications, des modules. On n'a pas l'intention de créer une seule spécification qui s'appelle CSS3. CSS augmente, ça contient de plus en plus de modules. Chaque fois qu'on ajoute un module, CSS devient plus grand, donc CSS3 c'est un peu un terme qu'on utilise pour dire tout ce qui est récent, ce qui est nouveau. Tout ce qui est récent, ça comprend par exemple, les nouvelles couleurs, la façon d'écrire les couleurs. On a le RGB depuis toujours, on a maintenant le HSL, qui est un peu plus facile à utiliser. On a aussi l'opacité : la couleur transparente. On a les gradients : les dégradés de couleurs. On a les colonnes maintenant. On travaille aussi sur les transformations, ce n'est pas encore fini : les transformations en 2 dimensions, en 3 dimensions. Les animations aussi, c'est encore en développement. Il y en a aussi pour ceux qui travaillent avec XML, on a les namespaces. On peut faire des sélecteurs avec des namespaces. C'est peut être pas très intéressant pour quelqu'un qui ne fait que du HTML, mais pour le XML c'est important. On a beaucoup plus de sélecteurs maintenant. Le sélecteur nth-child qui permet de sélectionner le 3ème élément d'un certain niveau ou le nth-of-type, le 3ème p ou le 3ème li, ou des choses comme ça. On a beaucoup plus de sélecteurs, on travaille encore sur d'autres sélecteurs dans le niveau 4. On a déjà quelques modules dans le niveau 4.
Je suis très content de SASS et LESS et Stylus. Je pense que c'est une bonne chose. Il y a des développeurs professionnels qui peuvent l'utiliser, c'est très bien. Et en même temps, parce que ce sont des modules à part, tout le monde n'en a pas besoin, tout le monde n'est pas forcé de l'utiliser. Donc ça je pense que c'est très bien. Si on n'en a pas besoin, on n'a pas besoin de l'apprendre. Si on a l'occasion de l'utiliser, on a le choix, on peut utiliser SASS ou LESS ou autre ; celui qui marche le mieux avec le processus de développement. Chacun a son système, c'est bien d'avoir le choix. Je pense que c'est bien que ça existe, il faut le développer. Il y a des discussions sur s'il faut prendre des petits morceaux et les mettre dans CSS directement pour l'externaliser. On fait des petits trucs avec des variables, mais pas exactement de la même façon. Je pense qu'il ne faut pas mettre trop dans CSS parce que ça devient trop compliqué. Je pense que c'est mieux d'utiliser des choses comme SASS et LESS. Moi, je suis très heureux, je suis même surpris que ça ait pris tellement de temps avant que ça n'arrive. Je pensais que ça arriverait beaucoup plus tôt, il y a 7 ou 8 ans peut être déjà. En fait ça vient d'arriver. C'est bien que ça arrive mais pour moi c'est un peu en retard.
Beaucoup de contraintes viennent du fait qu'une page est paginée, qu'il y a des coupures entre les pages, et ça change beaucoup de choses. C'est une façon de lire qui ne nécessite pas de numéro de page. On n'a pas besoin de numéro de page si on a une barre de défilement. Mais si on a des pages, il faut un numéro de page, pour dire à quelqu'un "sur la page 7 il y a ça". Il faut aussi prévoir que parfois, ce n'est pas intéractif, on a la lecture de livres numériques qui sont intéractifs, qui ont donc des liens, des hyperliens. Mais sur papier, il n'y a pas de liens et on ne peut pas cliquer dessus. Donc on a peut-être besoin d'une table des matières, d'un index alphabétique... On a aussi besoin de référencer une page, et au lieu de faire un lien, "voir la page 17", et pour savoir que c'est la page 17, il faut un support dans CSS qui permet de mettre une sorte de marqueur qui est remplacé ensuite par une page. Donc beaucoup de choses viennent du fait qu'on a des pages au lieu du texte en continu. Et il y a encore beaucoup à faire si on regarde juste dans XSL version 1. Il y a beaucoup plus que dans CSS. Pour mettre CSS au même niveau, il y a encore du boulot, et je connais déjà des listes faites par des éditeurs, faites par le Working Group XSL aussi, de fonctionnalités qui étaient à l'origine prévues pour XSL v2, qui ne sont donc même pas encore en XSL et maintenant il faut les mettre dans CSS. On a encore quelques années de travail je pense.
Oui. On a des sociétés d'édition dans le groupe CSS et aussi dans le W3C, dans le groupe de travail. On fait aussi des ateliers, on vient d'en avoir 2 cette année. Il y en a un 3ème en septembre à Paris. On invite des éditeurs, des gens qui font des logiciels qui sont utilisés par les éditeurs. On travaille aussi avec des organisations comme le IDPF, c'est l'organisation qui fait le standard epub, pour les livres numériques. On a des échanges fréquents. Et on vient en fait de créer un groupe, ça s'appelle un Interest Group. C'est un groupe qui ne fait pas de standards ou de spécifications, mais qui va aider les autres groupes de travail du W3C à intégrer toutes les demandes, toutes les technologies qui sont nécessaires pour l'édition. Ça s'appelle le Digital Publishing Interest Group qui vient d'ouvrir. On vient d'envoyer les invitations, donc j'espère que ça va réunir tous les éditeurs et toutes les sociétés qui font du logiciel. On a déjà Adobe bien sur, Il y en a beaucoup encore qu'on invite dans ce groupe. Donc je pense que dans les mois qui viennent, les années qui viennent, on va avoir beaucoup plus de feedback, beaucoup plus de communication avec les éditeurs.
Oui, on a dans le W3C, une activité qui s'appelle Accessibility qui regarde ça. Donc on travaille avec eux, avec le groupe de travail de ce domaine. Dans le epub, le format de livre, il y a aussi des possibilités de rendu de livres en synthèse vocale. On a un module dans CSS qui s'appelle CSS3 speech. Donc un module de propriétés pour rendre un texte en synthèse vocale. On vient de le mettre à jour. Ça aussi c'est intégré dans le epub. Le problème, c'est qu'on a tous les outils, en théorie. En pratique, il manque encore beaucoup de logiciels. Il y a beaucoup de bugs dans les logiciels. Ça ne marche pas toujours, il y a beaucoup de différences entre la lecture d'écran, toutes les lectures de livres numériques ne fonctionnent pas de la même façon. Donc même si on a à peu près la théorie, on sait ce qu'il faut faire, on manque encore d'éducation. Il faut dire aux gens, aux éditeurs et auteurs comment faire, comme vous faites ici aujourd'hui. Je viens de voir une prestation, une conférence sur l'accessibilité. C'est très bien. Il faut aussi communiquer plus entre les différentes organisations qui ont parfois un agenda différent, des priorités différentes, même si on a le but commun de faire l'accessibilité. On ne travaille pas toujours de la même façon, sur le même calendrier, donc il y a encore beaucoup à faire. Mais j'espère que, comme on a la théorie, on sait comment faire, en principe on arrive finalement à faire ce que l'on veut.