Aller au contenu

Python, YAML ou KM

Un module Kewos s’écrit en code, en YAML ou en KM. Ce n’est pas une aide au démarrage qu’on abandonne ensuite : les trois appellent les mêmes fonctions du noyau, produisent les mêmes tables, la même API et les mêmes écrans.

Pour quiLa forme
Pythonvous programmezdes modules, des classes, tout ce que Python sait faire
YAMLvous décrivezune arborescence de fichiers, un par sujet
KMvous ne programmez pasun seul fichier, lu de haut en bas

KM et YAML ont exactement la même portée, et c’est une décision, pas un hasard : ce que l’un sait décrire, l’autre le sait, et un test refuse que les deux divergent. Voir Écrire en KM.

Chaque étape de ce parcours montre les formats côte à côte, dans des onglets. Le choix reste le vôtre à chaque module.

Traduire, pas réinventer

Le format déclaratif n’a aucun moteur à lui. Un chargeur lit le YAML et appelle register_model, apply_module_acls, register_view_spec, register_state_machine : les mêmes que votre code aurait appelées.

C’est la propriété qui compte, parce qu’elle borne le risque. Il n’y a pas un second système à sécuriser, à auditer et à tenir à jour : il y a un traducteur.

Ce qui les sépare

PythonYAML
Modèles, champs, relationsouioui
Les huit genres de vueouioui
Permissions, règles d’enregistrement et de champouioui
Machine à états, actions, déclencheursouioui
Traductions, données de démonstrationouioui
Recherche, étiquettes, image de modèleouioui
Calculsune fonction, tout ce que le langage permetune expression sur liste blanche
Appeler un service externeouinon
Lire un fichier, un format, une bibliothèqueouinon
Appeler un modèle de langageouipas encore, voir l’IA

La ligne qui compte est celle des calculs. Une expression déclarative se relit, se vérifie et ne peut pas exécuter n’importe quoi ; c’est exactement pour ça qu’elle est moins puissante.

Comment choisir

Prenez le YAML ou le KM si vous décrivez des données, des écrans, des droits et des états. C’est le cas de la majorité des modules d’entreprise, et cela vous dispense d’un cycle de livraison logiciel. Entre les deux, la question est de forme : le YAML si votre équipe en écrit déjà et si vous voulez un fichier par sujet ; le KM si vous voulez tout voir d’un coup d’œil et ne rien avoir à savoir sur l’indentation.

Prenez le code dès qu’il faut calculer autre chose qu’une expression, parler à un service externe, lire un format de fichier, ou écrire des tests fins sur une règle métier.

Et rien n’oblige à choisir une fois pour toutes : les trois cohabitent dans la même installation, se voient par les événements et le registre, et se déploient de la même façon.