Définition de WYSIWYG

WYSIWYG est l'acronyme de What You See is What You Get. Ce que vous voyez est ce que vous obtenez. Cela s'applique aux éditeurs de texte et outils de présentation qui permettent d'éditer directement un contenu sous la forme qui sera affichée aux utilisateurs finaux, et non pas en tapant un code interne.

Par exemple, Dreamweaver ou Komposer sont des éditeurs de pages Web WYSIWYG par opposition aux premiers éditeurs plus rustiques avec lesquels il fallait taper le code des balises HTML.
Ces éditeurs peuvent cependant toujours afficher le code source HTML et permettre de taper directement du code en mode source si besoin. C'est rarement le cas des logiciels de traitement de texte.

Exemple de texte WYSIWYG:

Scriptol.fr

Et le code source HTML:

<a href="http://www.scriptol.fr" target="_top">Scriptol.fr</a>

Certains CMS requièrent que l'on entre le texte des billets sous forme codée, en BBCode par exemple, d'autres intègrent un éditeur WYSIWYG.

Le même texte en BBCode:

[url=http://www.scriptol.fr]Scriptol.fr[/url]

Existe-t-il l'équivalent d'un mode WYSIWYG pour les programmes?

WYSIWYG et programmes

Plusieurs techniques répondent à l'objectif de donner une présentation visuelle plus intuitive d'un programme.
Les IDE utilisent des outils visuels pour créer les interfaces à partir de composants que l'on assemble, et qui générent automatiquement le code source.
UML (Unified Modeling Language), comme son nom l'indique est une autre façon de modéliser les programmes et de passer d'une présentation visuelle à un code compilable.
Mais la représentation la plus ancienne est l'ordinogramme, ou organigramme. On peut la moderniser par un schéma des objets et leurs interactions par les messages qu'ils envoient, comme ci-dessous.

Programmation WYSIWYG

Elle peut imbriquer des ordinogrammes pour les méthodes des objets.

La représentation parfaite, non schématique, d'un programme serait l'affichage de l'application durant son fonctionnement. Il n'est pas possible actuellement de développer un programme interactivement en même temps qu'on le fait fonctionner. C'est peut-être un objectif à atteindre...

Outils

Voir aussi

Technologies de la programmation Ajax - API - Cassandra - CLI - Code HTTP - Cookie - Cover Flow - Dalvik - DFA - .NET - EDI (ou IDE) - Flash - GUI - JavaFX - JNA - JSON - MySQL - NaCl - NoSQL - Protocol Buffers - Qt - REST - Servlet - Web 2.0 - WebGL - Webkit - WinRT - Wysiwyg