Il n'y a en effet pas encore d'outil wysiwyg générant un code propre à tous points de vue. Dès qu'on fait un design compliqué il va forcément et inévitablement générer des tableaux (pour les vieux logiciels) ou générer des css pas souples (à coup de position:absolute).
Il y a une telle intelligence derrière une conception web propre et nette, qu'un éditeur wysiwyg ne peut pas être à la hauteur, et du coup la création d'une feuille de style solide et original reste une une affaire très pointue, bref une affaire d'être humain.
Le design web "nouvelle tendance" est donc pour l'instant une affaire de séparation des tâches : le graphiste pond un design très joli et très dur à mettre en page, le "metteur en page" fait alors son apparition pour soulager le designer de la création du CSS.
Le graphiste fait son boulot de graphiste, le "metteur en page" est à cheval entre le développeur (puisqu'il pond du code) et le graphiste (puisqu'il réalise l'interface). C'est clairement un domaine technique et non artistique (ou plutôt : c'est la partie très technique du domaine artistique dans un site web). J'aime bien quand ces tâches sont séparées : le designer ne se pose pas la question de savoir si ceci ou cela est possible, il le dessine, au metteur en page de se débrouiller pour rendre ça possible.
Personnellement je suis un très mauvais graphiste, mais un bon "metteur en page". Voici comment je travaille :
-
Je réalise une page web "squelette" très sobre, en général assez laide, mais représentant globalement la façon dont les éléments seront agencés, en m'attachant à garder une structure sémantique ( ne pas utiliser des <p> </p> pour sauter des lignes, ne pas utiliser des <div class="titre"> mais des <h1>, <h2>, <h3>, etc... ).
-
J'en déduis un modèle de page structurée, résistant du coup naturellement à la dégradation ( si le navigateur ne supporte pas les CSS, il aura une version dépouillé tout-à-fait utilisable, voir par exemple
http://openweb.eu.org/index.php?set=sanshabillage ).
-
Je demande la réalisation d'un design en images (soit on me livre directement le fichier source, soit si je ne peux pas l'ouvrir je demanderai les éléments graphiques séparés).
- En parallèle,
je fais mon site dynamique (partie programmation pure, peu m'importe le rendu final après tout).
-
Je réalise la mise en page pour appliquer le design réalisé (sans toucher à la structure de ma page ! tout ce que je dois modifier c'est la feuille de style, ce que je tolère c'est l'ajout d'un conteneur muet, ou un <div> séparateur mais avec très grande économie).
La nouvelle conception sépare tellement toutes les couches que chaque partie de la réalisation peut être confiée à un métier à part, et ils pourraient même quasiment travailler en parallèle :
- le designer n'a besoin que de la charte graphique (décidée avant la réalisation).
- le développeur n'a besoin que des éléments dynamiques à générer.
- le metteur en page n'a besoin que de la structure du site, de la charte graphique (pour les couleurs) et idéalement de la taille des éléments graphiques (ce qui signifie qu'en pratique, le metteur en page ne peut travailler concrètement qu'une fois que le designer a fini).
On retrouve partout cette séparation en trois couches (modèle MVC par exemple, qui appliqué à l'extrème permet de travailler en équipes indépendantes et ultra-spécialisées, en parallèle), ici ce n'est que l'expression pratique d'un idéal théorique : séparation de la forme, du fond, et de l'accès aux données.