> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://documentation.celestory.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Catalogue des Types de Ressources

# 📚 Catalogue des Types de Ressources

Chaque champ que vous remplissez dans une fenêtre d'édition de bloc — une image, une couleur, le personnage qui parle, l'adresse d'une base Airtable — repose sur un **type de ressource**. C'est lui qui décide à quoi ressemble le champ : un sélecteur de fichier, une palette de couleurs, un menu déroulant de personnages, etc. 🎯

Il en existe **41** dans Celestory. Les connaître aide à comprendre pourquoi un champ se comporte d'une certaine façon, et à repérer tout de suite le bon réglage quand vous ouvrez un bloc inconnu.

🔺 Ceci est un **catalogue de référence**, pas un manuel détaillé : une ligne de tableau par type, pas un article. Pour les types les plus riches, la dernière section indique lesquels mériteraient un article à eux seuls.

---

## 🧩 Qu'est-ce qu'un type de ressource ?

Dans la fenêtre d'édition d'un bloc, chaque point de valeur affiche un champ de saisie. Ce champ n'est jamais codé à la main pour ce bloc précis : il vient d'un type de ressource partagé par tous les blocs qui en ont besoin.

Un même type — par exemple **Texte** — sert donc aussi bien dans un bloc Dialogue que dans un bloc Notification. Quand vous apprenez à utiliser un type, vous le reconnaissez ensuite partout ailleurs. ✨

---

## 📋 Le catalogue

### 🔢 Valeurs simples

| Type | Ce qu'il édite | Où on le rencontre |
|---|---|---|
| Booléen (Boolean) | Une case vrai/faux. | Tout réglage à deux états (activer/désactiver une option). |
| Nombre (Number) | Une valeur numérique libre. | Tout champ chiffré : quantités, délais, scores. |
| Date (Date) | Une date et une heure. | Le bloc **Vérification de date**, et tout réglage daté. |
| Couleur (Color) | Une couleur choisie sur une palette. | Habillage de blocs, fonds, textes stylés. |
| Étiquettes (Tags) | Une liste de mots-clés libres, ajoutés un par un. | Classement et recherche de ressources. |
| Unité CSS (CssNumberUnit) | Un nombre associé à une unité (px, %, rem, vh). | Les réglages de mise en forme fine (positions, tailles). |
| Marge (Margin) | Quatre nombres liés : haut, gauche, droite, bas. | Les réglages d'espacement d'une mise en forme. |
| Générique (Any) | Aucune interface propre : une valeur brute sans forme imposée. | Les points dont le type n'est pas figé à l'avance. |

### 📝 Texte et mise en forme

| Type | Ce qu'il édite | Où on le rencontre |
|---|---|---|
| Texte (Text) | Un champ texte simple, avec une option multiligne. | Titres, libellés, messages courts. |
| Texte enrichi (Markdown) | Un éditeur de texte riche : gras, listes, alignement, polices. | Contenus longs où la mise en forme compte. |
| Code (Code) | Un éditeur de code, avec l'autocomplétion des fonctions Celestory (lire/écrire un point du graphe, charger un script externe). | Les blocs **CSS**, **HTML5** et **Exécuter Javascript**. |
| Style de texte (TextStyle) | Police, taille et couleur combinées. | Les réglages de style d'un module (Chatbot, Roman visuel). |
| Style de texte partagé (TextStyleRes) | Une référence vers un style de texte déjà défini ailleurs. | Les éditeurs internes de style des blocs Chatbot et Roman visuel. |

### 🖼️ Médias

| Type | Ce qu'il édite | Où on le rencontre |
|---|---|---|
| Image (Image) | Un fichier image, avec aperçu et remplacement. | Le bloc **Image**, et tout réglage illustré. |
| Son (Son) (Sound) | Un fichier audio, avec lecteur intégré. | Les blocs **Jouer son**, **Charger son**, musique. |
| Vidéo (Video) | Un fichier vidéo, avec options de lecture (boucle, etc.). | Les blocs **Vidéo** et **Vidéo depuis URL**. |
| Fichier (File) | Un fichier générique, tous formats acceptés. | Le bloc **Sélection de fichier**, sauvegardes. |
| Animation Spine (Spine) | Trois fichiers liés (image, données, atlas) pour une animation squelette. | Les décors et personnages animés en Spine. |
| Image de fond (BackgroundImage) | Une image combinée à une couleur, une position et une répétition, façon fond CSS. | Les blocs **Fond** et **Image de fond**. |
| Image à bordure extensible (BorderImage) | Une image découpée en neuf zones pour s'étirer sans déformer les coins, avec sa propre règle de découpe. | L'habillage des boutons et panneaux, via un style partagé. |
| Image cliquable (ClickableImage) | Une image découpée en calques cliquables, chacun avec sa forme et son interaction propres. | Les blocs **Zone cliquable** et **Modifier zone cliquable**. |

### 🔗 Références au projet

| Type | Ce qu'il édite | Où on le rencontre |
|---|---|---|
| Graphe (Graph) | Un bouton qui ouvre un graphe imbriqué. | Le bloc **Ouvrir un graphe**. |
| Référence de graphe (GraphRef) | Un choix parmi les variables de type Graphe du module. | Les blocs qui pointent vers un graphe par variable. |
| Référence de module (ModuleRef) | Un choix parmi les modules du projet. | Le bloc **Ouvrir un module**. |
| Référence de menu (MenuRef) | Un choix de menu, avec un navigateur de menus. | Le bloc **Ouvrir un menu**. |
| Liste à choix (Enum) | Un menu déroulant listant les points d'entrée disponibles sur le bloc. | Les blocs dont les choix dépendent de leurs propres branchements. |

### 🎭 Personnages et dialogues narratifs

| Type | Ce qu'il édite | Où on le rencontre |
|---|---|---|
| Référence de personnage — Chatbot (ChatbotCharacterRef) | Un choix parmi les personnages du module Chatbot. | Les blocs qui font parler ou agir un personnage. |
| Référence de décor — Chatbot (ChatbotBackgroundRef) | Un choix parmi les décors du module Chatbot. | Les blocs qui changent le décor affiché. |
| Dialogue — Chatbot (ChatbotDialogue) | Un texte riche associé à un personnage, avec sélection rapide de qui parle. | Le bloc **Dialogue** d'un module Chatbot. |
| Effet d'entrée — Chatbot (ChatbotEntranceEffect) | Un choix parmi trois animations d'arrivée : gauche, droite, fondu. | Les blocs qui font entrer un personnage à l'écran. |
| Référence de personnage — Roman visuel (VisualNovelCharacterRef) | Un choix parmi les personnages du module Roman visuel. | Les blocs personnage d'un module Roman visuel. |
| Dialogue — Roman visuel (VisualNovelDialogue) | La même logique que le dialogue Chatbot, adaptée au Roman visuel. | Les blocs **Histoire** / **Scène** d'un module Roman visuel. |

### 🎛️ Configuration de modules complets

| Type | Ce qu'il édite | Où on le rencontre |
|---|---|---|
| Configuration de choix (ChoiceConfig) | Rien par défaut : un message invite à connecter un bloc **Modifier choix** pour l'activer. | Le bloc **Choix**, tant qu'il n'est pas relié à Modifier choix. |
| Configuration Chatbot (ChatbotConfig) | L'apparence complète d'un module Chatbot : décor, barre d'état, personnages, délais, et le style de chaque type de bloc (Alerte, Choix, Dialogue, QTE, Swipe, Notification…). | Les réglages du module Chatbot lui-même, pas un bloc précis. |
| Configuration Roman visuel (VisualNovelConfig) | L'équivalent pour le module Roman visuel : apparence de l'application et style de chaque type de bloc. | Les réglages du module Roman visuel lui-même. |

### 🔌 Connecteurs de données externes

| Type | Ce qu'il édite | Où on le rencontre |
|---|---|---|
| Configuration Airtable (AirtableConfig) | La base, la table et l'opération (lire/créer/modifier/supprimer) d'un accès Airtable. | Le bloc **Airtable**. |
| Configuration Baserow (BaserowConfig) | Le même réglage, pour un accès Baserow. | Le bloc **Baserow**. |
| Configuration MCP (McpConfig) | L'adresse d'un serveur MCP, ses en-têtes, et la liste des outils qu'il expose. | Le bloc **MCP**. |

### 📦 Structures composées

| Type | Ce qu'il édite | Où on le rencontre |
|---|---|---|
| Liste (List) | Une liste réordonnable de ressources d'un même type, ajoutées ou retirées une à une. | Les blocs **Ajouter à une liste**, **Parcourir une liste**, **Liste contient**. |
| Objet (Object) | Un ensemble de paires clé/valeur, modifiable champ par champ ou en JSON brut. | Les blocs **Décomposer un objet**, **Parcourir un objet**, **Assignation Multiple**. |
| Style partagé (StyleRes) | Une référence vers un style d'image à bordure extensible, réutilisé par plusieurs blocs. | L'habillage des blocs Chatbot (boutons, panneaux). |

---

## 🔎 À creuser plus tard

Ce catalogue reste volontairement en surface. Quatre types sont assez riches pour mériter chacun leur propre article :

-   🔺 **Configuration Chatbot** — de loin le type le plus étoffé : il combine l'apparence globale de l'application et un éditeur de style séparé pour chacun des onze types de blocs Chatbot (Alerte, Choix, Choix audio, Dialogue, Image, Saisie, Narrateur, Notification, QTE, Sélection de fichier, Swipe, Fond…).
-   🔺 **Configuration Roman visuel** — la même ambition côté Roman visuel, avec ses propres éditeurs pour les blocs Alerte, Choix, Dialogue, Saisie, Notification, Slide, Swipe.
-   🔺 **Image cliquable** — un mini-éditeur de calques à lui seul : formes, images et textes superposés, chacun avec sa propre interaction et son propre éditeur.
-   🔺 **Image à bordure extensible** — plus simple que les trois précédents, mais avec une règle de découpe interactive qui mérite une explication visuelle.

---

→ Prochaine étape : ce catalogue référence les *types* de champs — pour comprendre comment ces champs s'organisent à l'intérieur d'une fenêtre de bloc, direction la fenêtre d'édition d'un bloc. 🪟
