Histoires dynamiques
Imaginons un webcomic qui consisterait à explorer une maison de 3 pièces. Nous pourrions avoir les 3 planches suivantes, une par pièce :
/page/salon/page/cuisine/page/chambre
La chambre est accessible depuis le salon, mais la porte est fermée à clef : nous ne pouvons donc pas y entrer tant que nous n'avons pas trouvé la clef (qui se trouve dans la cuisine).
C'est bien joli, mais comment faire pour savoir si on affiche le lien vers la chambre, ou pas ?
Tout d'abord il est conseillé de passer le webcomic en mode « navigation manuelle ». Ainsi les liens entre les planches ne seront plus créés automatiquement, nous allons les gérer nous-même — à l'aide d'image-map par exemple, afin de les intégrer au mieux dans les planches.
Cependant comment savoir s'il faut ou non afficher le lien menant à la chambre ?
Il faut pour cela utiliser du WCML (Web Comic Markup Language), un language qui va permettre de créer des variables, de vérifier leur valeur et d'afficher certaines choses en fonction — et bien plus encore (calculs de points de vie, etc).
Dans notre exemple, il faut créer la variable clef dans la planche /page/cuisine, car c'est là que se trouve la clef ; puis vérifier dans la planche /page/salon s'il y a la variable clef. Si oui on affiche le lien, sinon on ne l'affiche pas.
Techniquement cela se traduit par :
Planche /page/cuisine :
<wc:set clef="1" />
<p>Vous avez trouvé la clef!</p>
Planche /page/salon :
<wc:if clef="1">
<a href="">Entrer dans la chambre</a>
<wc:else>
Vous ne pouvez pas entrer dans la chambre,
car la porte est fermée à clef.
</wc:else>
</wc:if>
Et voilà !
Bien entendu la planche /page/cuisine est améliorable, nous pourrions par exemple afficher la clef lorsqu'on la trouve, et ne plus l'afficher lorsqu'on la déjà trouvé :
<wc:if clef="1">
<p>Vous êtes dans la cuisine</p>
<wc:else>
<wc:set clef="1" />
<p>Vous avez trouvé la clef!</p>
</wc:else>
</wc:if>
(la suite bientôt)