Files
Omika/docs/diagnostics/backend-final-status.md
2026-10-23 18:46:50 +02:00

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émentation Batik* ou Omika*.
  • 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).
  • ProtectionPlusSecret utilisé 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.