Pour commencer, un peu de vocabulaire.
D’après wikipedia, « Un WYSIWYG (prononcé [wɪziwig] ou [wiziwig]) est une interface utilisateur qui permet de composer visuellement le résultat voulu, typiquement pour un logiciel de mise en page, un traitement de texte ou d’image. C’est une interface « intuitive » : l’utilisateur voit directement à l’écran à quoi ressemblera le résultat final. »
Le mot WISYWIG est l’acronyme de What You See Is What You Get. En gros, ce que vous voyez est ce que vous obtenez.
Ce terme regroupe tous les logiciels de traitement de texte comme par exemple libre office, Microsoft office, … Mais aussi les logiciels d’édition web dans le style de Dreamweaver d’Adobe, ou BlueGriffon.
Dans le monde du webdesign, les WYSIWYG sont des éditeurs en javascript, qui s’installent sur un text area, et qui fournissent des options de formatage comme l’écriture en gras/italique et le changement de taille et de police directement visible dans le text area.
Quelques exemples:
TinyMCE
CKeditor
NiceEdit
Les points important d’un éditeur WYSIWYG étant d’avoir une possibilité pour éditer directement le HTML (c’est parfois nécessaire), d’être en full javascript pour ne pas dépendre d’une configuration serveur particulière et de générer le code le moins « crade » possible.
Pourquoi un code le « moins crade » possible, et pas un code le « plus propre » possible ? Car c’est impossible. Ces éditeurs génèrent tous un code avec du style dans les balises, des br de partout et beaucoup trop de balises inutiles (comme des <p><br/></p>, par exemple, pour tinyMCE, qui génère un des codes les moins encombrés.
Il existe pourtant une alternative aux WYSIWIG : les WYSIWYM (What You See Is What You Mean), ce que vous voyez est ce que vous voulez dire.