ORM_CSHX2 est la couche technique qui fait le lien entre les objets WLangage de l'application et les tables MySQL, MariaDB et PostgreSQL. Il évite d'écrire du SQL à la main pour les opérations courantes, tout en restant flexible pour les cas complexes.
Sans ORM, chaque accès à la base de données demande d'écrire manuellement les requêtes SQL, de gérer les erreurs, les transactions et les verrous. ORM_CSHX2 centralise tout ça.
mth_Enregistrer() pour INSERT ou UPDATEORM_CSHX2 expose une API publique organisée en catégories fonctionnelles. Le sommaire donne accès direct à toutes les procédures globales et méthodes de classe documentées.
ORM_CSHX2 est la fondation sur laquelle reposent toutes les classes métier. Les fenêtres WinDev n'interagissent qu'avec les classes — jamais directement avec SQL.
Les flèches représentent les appels — ORM_CSHX2 est la seule couche qui touche aux bases de données.
Une nouvelle fenêtre de saisie se connecte à la base en quelques lignes. Plus besoin de coder les requêtes INSERT/UPDATE/SELECT pour chaque table.
L'échappement SQL, la gestion des NULL, les transactions et les verrous sont testés une seule fois dans l'ORM — pas de risque de les oublier dans une fenêtre.
Le même code WLangage fonctionne sur MySQL, MariaDB et PostgreSQL. L'ORM adapte automatiquement la syntaxe SQL selon la base connectée.
Chaque modification est archivée dans MongoDB avec l'horodatage, l'utilisateur et les valeurs avant/après. L'historique est disponible sans rien coder de plus.
Les synchros quotidiennes qui traitent des milliers de lignes utilisent le mode batch : les INSERT sont groupés par lots configurables pour minimiser les allers-retours avec la base.
Ajouter une colonne dans WinDev suffit : au prochain démarrage, ORM_CSHX2 détecte la différence et crée la colonne automatiquement en production.