Le rôle d’un bloc
Un bloc déclare ses entrées, ses sorties, sa configuration et son comportement. Le studio utilise ces déclarations pour construire la palette et l’interface. Les blocs unitaires sont open source ; consultez la licence du bloc que vous réutilisez.
Transformer une entrée avec Python
Le bloc Python exécute une fonction run(inputs, outputs, params). Les dictionnaires utilisent le nom de vos ports. Avec les ports par défaut in et out, cette fonction convertit un texte en majuscules.
def run(inputs, outputs, params):
text = str(inputs.get("in", ""))
outputs["out"] = text.upper()La structure d’un bloc autonome
Dans les sources, chaque type vit dans blocs/<kind>/. block.py contient son comportement, model.json ses paramètres et ports par défaut, et README.md sa documentation. Ses templates, styles et scripts spécifiques restent dans son dossier.
Le studio expose un cadre commun pour l’exécution et l’édition. Partez d’un bloc proche de votre besoin et consultez docs/framework-interfaces.md pour respecter ses contrats.
Avant de proposer un bloc
- Définissez une responsabilité et des noms de ports compréhensibles.
- Documentez les dépendances, la configuration et les effets de l’exécution.
- Vérifiez son comportement dans chaque mode d’exécution annoncé comme compatible.
- Fournissez un exemple minimal, un cas d’erreur et une licence explicite.
- Conservez les secrets dans la configuration locale appropriée.
Bloc ou blueprint ?
Créez un bloc pour ajouter une fonction réutilisable. Créez un blueprint pour assembler des fonctions existantes et résoudre un cas d’usage. Un bon blueprint explique aussi quand l’utiliser et comment vérifier son résultat.