Hello world !
Pour les besoins d’un projet, je cherche à créer un nouveau .model dans Topaze.
Il s’agirait d’items correspondants à des personnages, dont le prénom et l’image affichés dépendraient d’une variable de parcours Topaze. L’objectif est de pouvoir représenter au mieux des dialogues entre personnages - imaginer une conversation chat, avec des bulles et avatars - sans avoir besoin de truquer des balises pb.
Pour illustrer mon propos, voici un exemple :
Imaginons 5 types de personnages : moi, une informaticienne, un documentaliste, une chef de projet, une designer et une juriste.
En fonction du parcours choisi (trois parcours différents), l’informaticienne pourrait s’appeler Léa, Marie ou Jeanne.
Côté auteur
- Dans un .node, j’ajoute un message qui correspond au type de personnage *moi,
- J’ajoute ensuite d’autre message correspondant à la catégorie chef de projet,
- etc…
Côté utilisateur
Les prénoms et images dépendent du parcours choisi (d’une variable donc). Idée du rendu (merci à Nicolas Cage pour les avatars) :
Côté builder
J’imagine un .model comme ça (copié des pb) :
<sm:compositionPrim xmlns:sc="http://www.utc.fr/ics/scenari/v3/core" xmlns:sm="http://www.utc.fr/ics/scenari/v3/modeling" name="Personnages">
<sm:identification targetNamespace="utc.fr:ics/opale3" targetPrefix="op" code="pb" itemExtension="xml"/>
<sm:structure>
<sm:set usage="required">
<sm:part code="p1" name=";Personnage n°1" family="content" internalized="always">
<sm:meta sc:refUri="/academic/model/Personnages/personnageMeta.model" usage="required"/>
<sm:allowedModel sc:refUri="/academic/model/Re/res.model"/>
</sm:part>
<sm:part code="p2" name=";Personnage n°2" family="content" internalized="always">
<sm:meta sc:refUri="/academic/model/Personnages/personnageMeta.model" usage="required"/>
<sm:allowedModel sc:refUri="/academic/model/Re/res.model"/>
</sm:part>
...
Avec un .transf similaire à celui des pb :
Mon problème
Je ne vois pas comment récupérer l’état d’une variable à ce niveau pour afficher le bon prénom / avatar.
Je me dis que dans un uiwidget, avec un choose, et une condition (free certainement), ce serait possible (mais le free sort de mes compétences).
Ou bien, si c’est impossible de récupérer la variable à ce moment là (je comprendrai bien), je pourrais passer par un .js qui lit l’état de la variable topaze au runtime, et modifie les classes des balises de personnages génériques pour leur affecter un style CSS en fonction.
Qu’en pensez-vous ? Est-ce au moins faisable ?
Merci d’avance pour toute aide !