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 qui | La forme | |
|---|---|---|
| Python | vous programmez | des modules, des classes, tout ce que Python sait faire |
| YAML | vous décrivez | une arborescence de fichiers, un par sujet |
| KM | vous ne programmez pas | un 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
| Python | YAML | |
|---|---|---|
| Modèles, champs, relations | oui | oui |
| Les huit genres de vue | oui | oui |
| Permissions, règles d’enregistrement et de champ | oui | oui |
| Machine à états, actions, déclencheurs | oui | oui |
| Traductions, données de démonstration | oui | oui |
| Recherche, étiquettes, image de modèle | oui | oui |
| Calculs | une fonction, tout ce que le langage permet | une expression sur liste blanche |
| Appeler un service externe | oui | non |
| Lire un fichier, un format, une bibliothèque | oui | non |
| Appeler un modèle de langage | oui | pas 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.