Bonjour,
Cette pratique du découpage de maquette (et son automatisation) repose traditionnellement sur une approche bien précise de la page Web affichée : celle-ci y est conçue et contruite comme une
grille, plus ou moins élastique en largeur ou en hauteur, mais dont les lignes sont figées (une ligne comportera toujours dans le même ordre les mêmes cases, quelque-soit les conditions de rendu, ces cases ont entre elles des relations très simples -et du coup limitées-, etc.).
Cette approche traditionnelle typique de l'imprimé a rencontré sur le Web un outil technique qui lui convenait très bien : le tableau de présentation.
La mise en page CSS, malheureusement pour cette approche, n'envisage pas de cette manière la page Web affichée. Ce n'est plus une grille qui la détermine, mais l'interaction fluide de boîtes de différents types (en-ligne, block, inline-block, cells), dont le comportement est fonction de leur contenu, et basé fondamentalement sur le flux (ou sur le degré d'abstraction vis-à-vis de celui-ci : flottants, positionnement, etc). Disons, par rapport au modèle précédent, que les cases de la grille ont acquis leur indépendance, et ont entre elles des relations nettement plus riches (ou complexes). La grille (rassurante) a volé en éclat...
Dans ce cadre, la démarche de "découpage de maquette" est évidemment parfois malaisée. Et tout particulièrement quand on est encore (ce qui est normal) "entre deux approches" : comme le souligne Tony, il s'agit de perdre certaines habitudes (ce n'est pas facile).
Cela dit, il y a un point que l'on oublie souvent : CSS n'exclue pas de conserver cette approche de la "grille", bien au contraire. Le modèle visuel de mise en page des tableaux y est conservé comme une possibilité parmi les autres outils de la palette : mais l'utilisation des
display:table,
table-row,
table-cell etc, qui aurait peut-être totalement changé la manière dont est perçue la difficulté CSS, reste aujourd'hui marginale faute d'implémentation dans IE en particulier. Notons qu'on ignore aussi en grande partie, du coup, quels seraient les dérives éventuelles et les problèmes que pourrait poser une utilisation systématique du modèle de rendu CSS "tableaux" pour les design... C'est un champ encore à explorer.
Pour ce qui est des obstacles mentionnés par osscour:
1. Oui, il faut en passer souvent par les documentations en anglais. Tout comme la langue de référence des spécifications est l'anglais... C'est la langue de travail inévitable.
2. La question des navigateurs plus respectueux que d'autres des standards est en fait un faux problème : le processus de développement des CSS entraîne obligatoirement des implémentations différentes, ou inégales, entre navigateurs. Au stade de Candidate Recommandation, par exemple, où il est implémentable mais non finalisée, un module CSS3 sera choisi par tel fabriquant de navigateur, mais pas obligatoirement par tel autre... Et c'est en fonction de ces implémentations (qui peuvent aussi être divergentes) que la spec sera modifiée en retour (des propriétés seront abandonnées, d'autres modifiées, etc). C'est toute l'histoire du passage de CSS2.0 à CSS2.1...
Même le cas d'un navigateur au développement suspendu pendant plusieurs années, comme IE Windows, doit être vu en partie comme une difficulté "normale". Il y a aura en effet toujours des navigateurs dont le développement sera arrêté alors que leurs implémentations sont inachevées ou décalées par rapport à d'autres, et un temps de latence avant qu'ils ne puissent être gérés par les designers et les intégrateurs comme navigateurs "périmés" : les NS4-IE4 sont clairement "périmés" et ne posent pas de problèmes majeurs, mais nous entrons dans une période où les IE5 Mac et Windows vont être délicats à gérer. Mais ce sera d'abord aux propriétaires de sites (et donc au client) de le faire, car ils sont les seuls à pouvoir faire passer le message aux utilisateurs. Il faudra sans doute beaucoup travailler à sensibiliser les décideurs sur la nécessité de renoncer au rendu CSS de la maquette dans certains navigateurs, et sur la façon de faire comprendre cette décision aux utilisateurs...
Le problème spécifique d'IE6.0 Windows est, de ce point de vue, que Microsoft a suspendu son développement tout en maintenant sa position dominante sur ce marché. Et que le choix de faire d'IE7 un produit d'appel pour Vista va laisser encore à IE6.0 quelques beaux jours devant lui. Là, effectivement, nous sortons de la logique "normale" des implémentations et de l'obsolescence progressive des navigateurs.
Mais, sur le fond : le fait d'avoir à gérer des navigateurs graphiques aux implémentations différentes n'est qu'un des aspects de la nécessité pour un design Web de s'adapter à des multiples conditions de rendu (configuration utilisateur, media, etc). On rejoint l'autre versant du problème :
penser au-delà de la maquette un design qui se
déclinera dans des conditions de rendu qu'on peut anticiper, mais pas contrôler (le "au pixel près" de Jah va être l'objet d'un renoncement parfois déchirant pour le design traditionnel)
3. L'adoption des techniques XHTML CSS va en effet de pair avec une rédéfinition des métiers.
En conclusion (ouf !
) : les difficultés évoquées ici ne tiennent pas à des limites de XHTML et CSS pour une utilisation "industrielle" (rapide, rentable, aisée, reproductible, etc). Elles tiennent plutôt au fait qu'on aborde une période de transition entre :
- une première phase où les sites ont été produits de manière artisanale en reproduisant les démarches des medias traditionnels.
- une seconde phase où les démarches vont devoir changer pour prendre en compte les spécificités du media et en exploiter toutes les possibilités.
Modifié par Laurent Denis (11 Feb 2006 - 08:31)