> ## 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).

# Les blocs hérités : ils acceptent tout, et n'affichent rien

# 🪦 Les blocs hérités : ils acceptent tout, et n'affichent rien

La liste des blocs à ajouter ne trie pas les blocs actuels des blocs hérités. Un bloc plus ancien, remplacé depuis par un autre, reste proposé au même endroit, avec un nom parfois plus court et plus tentant que celui du bloc à jour. Vous pouvez y brancher n'importe quoi : le projet compile, la validation reste verte, et rien ne s'affiche. Cet article explique le cas prouvé le plus piégeux — les décors — et donne une méthode pour repérer les autres avant d'y perdre du temps.

---

## 🎭 Le piège : « Scène » n'est pas « Fond »

Pour un décor plein écran, deux blocs se ressemblent dans la liste d'ajout :

| Bloc | Ce qu'il attend réellement |
|---|---|
| **Fond** (`switchBackground`) | une image de fond déjà préparée (bloc **Image de fond**) |
| **Scène** (`background`) | une **référence** vers un décor déjà enregistré dans l'onglet **Scènes** du module |

Le point d'entrée de **Scène** ne s'appelle pas « image » mais **scène** : il attend l'identifiant d'un décor choisi dans la configuration du module, pas un fichier. Y brancher la sortie d'un bloc **Charger image** ou **Image de fond** est accepté sans le moindre avertissement. Le projet compile. La validation reste verte.

À la lecture, le lecteur cherche dans la liste des décors du module un décor portant l'identifiant reçu. Comme cet identifiant ne correspond à rien de ce que vous avez branché, aucun décor n'est trouvé : le lecteur retombe sur le fond par défaut du module (souvent vide), **sans même émettre de requête réseau** pour aller chercher votre image. Rien ne charge, rien n'échoue non plus au sens strict : la valeur attendue n'a simplement jamais été là.

**Le bon bloc pour un décor plein écran est Fond (`switchBackground`)** — voir *Afficher un décor : la chaîne des trois blocs*.

---

## 🔍 Pourquoi ce piège est difficile à repérer soi-même

- **Le nom ne suffit pas.** Un autre bloc, dans un autre type de module (Visual Novel), s'appelle lui aussi « Scène » et possède, lui, une vraie fiche dans la documentation. Chercher « Scène » dans la documentation renvoie donc un résultat — mais pour un bloc différent, dans un module différent. Une fiche qui existe sous le même nom n'est pas la preuve que *votre* bloc, dans *votre* module, est documenté.
- **Aucun avertissement de type n'apparaît au branchement.** Le graphe ne bloque pas, ne colore pas différemment, ne prévient pas quand une sortie d'un type ne correspond pas à l'entrée visée.
- **La validation ne regarde que si le graphe compile**, jamais si le rendu est correct.

### Avant de brancher un bloc qui vous semble ancien

1. Ouvrez `Documentation/Blocs/BlocsV3/FR` et cherchez une fiche portant **exactement** le nom du bloc *et* le contexte (Chatbot, Visual Novel…) dans lequel vous l'utilisez.
2. Si deux blocs de la liste d'ajout semblent faire la même chose, préférez toujours celui dont l'entrée est une **valeur concrète** que vous venez de préparer (une image, un texte) plutôt qu'une **référence** vers une liste enregistrée ailleurs (scènes, personnages…) — c'est ce deuxième type d'entrée qui échoue en silence quand on lui branche la mauvaise chose.
3. Après tout ajout de bloc visuel, ouvrez **Tester en jouant** immédiatement, avant d'enchaîner sur la suite du graphe. Un décor absent se repère en dix secondes à ce moment-là ; il se repère beaucoup moins vite une heure plus tard, noyé dans le reste de l'histoire.

---

## 📋 Ce que je peux prouver

Un seul bloc, dans le catalogue du module Chatbot, correspond avec certitude au schéma « hérité, accepté sans erreur, invisible à l'usage, sans fiche pour *ce* bloc précis » :

- **Scène** (`background`) — remplacé par **Fond** (`switchBackground`).

Pour arriver à cette liste, j'ai comparé le nom affiché de chaque bloc du module Chatbot à l'ensemble des fiches de `Documentation/Blocs/BlocsV3/FR`. À une exception près (celle ci-dessus, masquée par l'homonymie avec le bloc Scène du Visual Novel), **chaque bloc actuellement nommé dans l'interface Chatbot a une fiche correspondante** — y compris des blocs récents comme la famille « objet » (Récupérer/Décomposer/Modifier dans/Supprimer d'un objet…), les blocs de requête IA, ou le bloc MCP, qui n'ont pas de lien vers le centre d'aide en ligne mais possèdent bien une fiche locale.

## ❓ Ce dont je ne suis pas sûr

Une poignée de types de blocs (parmi eux : `go`, `entrance`, `portal`, `end`, `score`, `scoreboard`, `storeData`, `loadData`, `editConfig`) n'ont **aucun nom traduit** dans l'interface — ni fiche, ni libellé visible identifié dans le code de traduction. Je n'ai pas pu confirmer, sans ouvrir l'éditeur en direct, si la liste d'ajout les propose réellement sous cette forme aux utilisateurs ou s'il s'agit de blocs internes non destinés à être posés à la main. L'audit du 06/09 mentionné en compagnonnage de cet article en dénombrait neuf au total ; je n'ai pu en établir la preuve que pour un seul par ce moyen (comparaison du catalogue de blocs avec les fiches existantes). Si vous tombez sur l'un de ces types dans la liste d'ajout, traitez-le avec la même prudence que **Scène** : vérifiez sa fiche avant de vous y fier, et testez tout de suite après l'avoir branché.

---

→ Prochaine étape : lire *Afficher un décor : la chaîne des trois blocs* pour la bonne méthode, bloc par bloc.
