Le mythe de l’éditeur WYSIWYG
Google a lancé hier soir Google Web Designer, un logiciel Mac et Windows permettant de créer des « designs attirants et interactifs basés sur HTML5 et des animations qui peuvent tourner sur n’importe quels appareils« . La promesse de Google Web Designer est alléchante, mais c’est en ouvrant le logiciel pour la première fois ou en lisant le centre d’aide de Google que l’on comprend mieux à quoi est destiné exactement ce logiciel.
Google Web Designer est une application web avancée construite avec HTML5 qui vous permet de concevoir et construire des publicités en HTML5 et d’autres contenus web en utilisant une interface visuelle et une interface de code intégrés.
Google Web Designer n’est donc pas un outil conçu pour créer des sites web. (Comme le disait Hajim El Attab sur Twitter, Google Ad Designer aurait été un nom plus approprié.) Pourtant, Google Web Designer me laisse le même goût amer qu’à chaque nouvel outil soit disant pensé pour la conception web. Je pense évidemment au dégoûtant Adobe Muse, ou encore à iAd Producer d’Apple (qui a au moins le mérite d’avoir un nom explicite sur sa finalité), mais aussi aux dinosaures du genre (Dreamweaver, Frontpage, iWeb). Ces logiciels s’évertuent tous à perpétuer le mythe de l’éditeur magique pour le web, et je trouve ça assez malsain.
Intégrer une page web, c’est résoudre des problèmes. Ces problèmes concernent l’adaptation d’une création graphique, l’accessibilité et l’interoperabilité d’une page, la maintenabilité du code, et la performance. Et bien sûr tout cela doit être fait dans un temps raisonnable.
Les éditeurs WYSIWYG comme Google Web Designer ou Adobe Muse ne se préoccupent que d’un seul point : la création graphique. C’est une vocation louable, mais qui se fait au sacrifice de tous les autres aspects de la conception web. Google Web Designer n’a donc aucun scrupule à générer une bannière de près de 100 Ko, puisque le seul problème que Google essaye de résoudre c’est d’arriver à ressortir graphiquement la même chose que ce qui a été fait dans l’éditeur. Et tant pis si la même bannière codée à la main aurait été dix fois plus légère.
Quand j’intègre une page web, je vais me poser des centaines de questions. Par exemple, pour du texte dans une police exotique : est-ce que j’utilise une police CSS ? (et toutes les questions qui vont avec : est-ce que cette police est utilisée ailleurs sur le site ? est-ce que le poids de la page actuelle permet de s’engraisser de la lourdeur d’une police CSS ? est-ce qu’on a la licence de droit d’utilisation de cette police sur le web ? est-ce que les coûts de cette licence rentrent dans le budget du projet ?), ou est-ce que j’utilise une image ? (et dans ce cas : plutôt un GIF, un JPG, un PNG, du SVG ? quels navigateurs doivent être supportés ? que se passe-t-il pour les autres navigateurs ?). Et ça, c’est juste un petit éventail de questions qui me traversent l’esprit à chaque fois que je fais face à une police exotique. J’ai tout un tas de questions à me poser face à n’importe quel composant d’interface. Et ce à chaque nouveau projet, peu importe combien de fois j’ai déjà intégré un élément similaire auparavant, parce que le web évolue vite, et c’est tant mieux.
Je ne pense pas que créer une interface qui permette de résoudre ces problèmes soit impossible. Mais la complexité de ces problèmes rendrait une telle interface aussi complexe que les problèmes qu’on essaie de contourner. Et même si ça peut être difficile à avaler pour certains, je suis convaincu que la complexité de HTML et CSS est un bien nécessaire.