3.4 KiB
3.4 KiB
Backend — Statut final
État de fermeture du backend métier Omika, prêt pour la future application mobile.
Schéma Batik / Omika
- Détection de schéma réelle au démarrage (
DatabaseSchemaDetector), basée sur la structure (colonnes canaris), jamais sur le nom de la base. - Routage runtime :
ApplicationRuntimeContext.Current.DetectedVersion→AdaptiveRepository→ implémentationBatik*ouOmika*. - Aucune logique basée sur le nom de la base.
HFSQL
- Accès OLE DB : VERIFIED (provider
PCSOFT.HFSQL). - Source des mots de passe : EXPLICIT_LOCAL_CONFIG (
config/hfsql-test.local.json). - Dérivation de mot de passe utilisée : NO (mots de passe fournis explicitement).
ProtectionPlusSecretutilisé pour la connexion : NO.
Business aggregates (8 VERIFIED)
| Agrégat | Statut |
|---|---|
| Client | VERIFIED |
| Personne | VERIFIED |
| Lieu/Site | VERIFIED |
| Document | VERIFIED |
| Intervention | VERIFIED |
| Dossier | VERIFIED |
| PlanningRDV | VERIFIED |
| Collaborateur | VERIFIED |
0 PARTIAL, 0 NOT_STARTED.
Reference data
- PublicRead : ParametreMetier (
GET /reference-data/{key}, READ_ONLY_VERIFIED). - InternalOnly : Societe, Equipe, ParametreMetierEntete, EtatIntervention.
- SchemaSpecific : Role, Etats (Omika uniquement).
- NotRequired : ModeleRapport.
API
Groupes d'endpoints enregistrés dans Program.cs :
- Health
- Client
- Contact (Personne)
- ReferenceData
- Document
- Site (Lieu)
- Intervention
- Dossier
- RendezVous (PlanningRDV)
- Collaborateur
Aucun endpoint préventif supplémentaire. Conforme à la règle « ne crée pas automatiquement un endpoint pour chaque table ».
Adaptive repositories
Tous les agrégats publics disposent d'un repository adaptatif (Adaptive*Repository) qui route selon DetectedVersion :
- Client, Contact, Site, Document, Intervention, Dossier, RendezVous, Collaborateur, ReferenceData.
Tests
- 1144 PASS / 0 FAIL / 0 SKIP.
- Intégrations réelles OLE DB (BATIK_TEST / OMIKA_TEST) pour les parcours principaux : Client (Create), Intervention (lifecycle), Dossier (lifecycle), PlanningRDV (lifecycle), Collaborateur (lifecycle) — avec rollback atomique.
- Les tests d'intégration s'ignorent proprement si le serveur HFSQL est injoignable (détection
E_FAIL/0x80004005).
Limitations connues
- ElementSupprime : absent physiquement de OMIKA_TEST actuel ; traité comme optionnel (VERSION_OPTIONAL).
- Equipe → Collaborateur : relation INTERNAL_ONLY, pas d'identité canonique publique (aucune table de correspondance).
- Role : Omika-specific, non exposé publiquement.
- ModeleRapport : NOT_REQUIRED.
- Document.Update : NOT_APPLICABLE (document immuable après création).
- Intervention PartialFailureRollback : non couvert spécifiquement, mais transaction/lifecycle validés (rollback externe prouvé).
Éléments volontairement non exposés
- Tables de jointure (JOIN_TABLE) : pas de CRUD public.
- Configuration système (Utilisateur, ParametreSysteme) : pas d'endpoint public.
- Référentiels internes (Societe, Equipe, ParametreMetierEntete, EtatIntervention, Role, Etats, ModeleRapport) : pas d'endpoint public.
- IDs publics opaques (string) : aucun PK HFSQL brut exposé, aucun GUID fabriqué pour masquer l'absence d'identité canonique.
Statut final
- BackendBusinessLayer : READY.
- BackendForMobileDevelopment : READY.
- Blockers : NONE.