Files
ednotif-bundle/docs/ws-catalog.md
2026-04-21 08:08:41 +02:00

7.0 KiB

Catalogue des WebServices EDNOTIF

Inventaire des opérations exposées par les WSDL embarqués dans resources/ednotif-ws/, avec le statut d'implémentation et une recommandation de priorisation.

Légende statut

  • Implémenté — opération couverte par le bundle
  • À faire — opération pertinente non encore implémentée
  • Optionnel — opération hors périmètre probable, à confirmer selon le consommateur

1. wsIpBNotif — Notifications IPG Bovin

WS métier principal : déclarations réglementaires d'un cheptel bovin auprès de l'IPG.

Lecture

Opération Statut Description probable
IpBGetDossierAnimal Implémenté Dossier complet d'un bovin (identifications, mouvements, parents…)
IpBGetInventaire À faire Inventaire des animaux présents sur l'exploitation
IpBGetRetourDossiers À faire Retours de traitement des notifications envoyées
IpBGetSortiesPresumees À faire Animaux sortis selon l'IPG mais non déclarés par l'éleveur

Écriture

Opération Statut Description probable
IpBCreateEntree À faire Déclaration d'entrée d'un bovin sur l'exploitation
IpBCreateSortie À faire Déclaration de sortie (vente, mort, abattage…)
IpBCreateNaissance À faire Déclaration de naissance
IpBCreateMortNe À faire Déclaration de mort-né
IpBCreateAnimalEchange À faire Échange intra-UE
IpBCreateAnimalImporte À faire Import pays tiers
IpBCreateAvisAnimalImporte À faire Avis d'import
IpBCreateRebouclage À faire Rebouclage / remplacement de boucle
IpBCreateCommandeBoucles À faire Commande de boucles
IpBCreateInsemination À faire Déclaration d'insémination

2. wsDmB* — Déclarations de Mouvement Bovin

Famille orientée gestion des mouvements / transporteurs.

wsDmBConsultation

  • DmBConsultationGetListeDonneesIT — consultation de données (IT = identifiants traces ?)
  • DmBConsultationGetListeStatutDeplacement — statuts de déplacement

wsDmBGestion

  • DmBGestionCreateDroitAccesListeAnimalActeur — gestion droits d'accès
  • DmBGestionCreateListeICA — création listes ICA (information chaîne alimentaire)

wsDmBListe

  • DmBListeCreateListeBovins / DmBListeGetListeBovins — listes de bovins (lots)

wsDmBTransport

  • DmBTransportCreateChargement — chargement camion
  • DmBTransportCreateDechargement — déchargement camion

3. wsMdBEdel — Maîtrise des Données Bovin (Edel)

Consultation en lecture seule : génétique, lactation, IA, races.

Opération Rôle
MdBGetDonneesGenetiquesAnimales Données génétiques d'animaux
MdBGetDonneesMalesPublics Catalogue mâles reproducteurs publics
MdBGetDonneesOrganismeHabilite Référentiel organismes habilités
MdBGetDonneesOrganismeTiers Référentiel organismes tiers
ClBGetDonneesCL Contrôle laitier
CpBGetDonneesCPB Contrôle de performances bouchères
IaBGetDonneesIA Données d'insémination
OsBGetDonneesRAC Données race (RAC = race certifiée ?)
TkBGetDonneesTE Transfert embryonnaire
VaBGetDonneesCPV Contrôle performances veaux (?)

4. wsMdCEdel — Maîtrise des Données Caprin

Équivalent caprin : CRUD + reproduction + lactation. 15 opérations (MdCCreate* pour l'écriture, MdCGet* avec variantes MAJ pour les deltas).

Groupe Opérations
Caprin MdCCreateCaprin, MdCGetDonneesCaprin, MdCGetDonneesCaprinMAJ
Reproduction MdCCreateSaillie, MdCCreateFinGestation, MdCGetFinGestation[/MAJ], MdCGetEvenementReproduction[/MAJ]
Mouvement MdCCreateMouvement
Contrôle laitier MdCGetCLDonneesBrutes[/MAJ], MdCGetCLDonneesElaborees[/MAJ]
Contrats MdCGetContratsExploitation

5. wsIpEdel — Identification Pérenne Edel

  • IpGetDonneesExploitation — données descriptives de l'exploitation

6. wsMrAde — Échanges ICAR

Conforme aux standards ICAR (flux laitiers internationaux).

  • GetHerdList
  • UpdateAnimal
  • UpdateDevice
  • UpdateLivestockLocation
  • UpdateMilkingResults

7. WsAnnuaire — Annuaire Guichet

Métadonnées techniques du guichet (pas du métier).

  • tkGetServices — liste des WS disponibles
  • tkGetVersionsService — versions d'un WS
  • tkGetOperationsServiceVersion — opérations d'une version
  • tkGetUrl — URL d'un service

Recommandation de priorisation

Proposition d'ordre, à valider selon le périmètre réel du consommateur.

Phase 1 — Compléter le bovin (priorité haute)

Continuer sur wsIpBNotif, en commençant par la lecture :

  1. IpBGetInventaire — donne immédiatement la liste du cheptel, utile pour toute UI
  2. IpBGetRetourDossiers — indispensable pour savoir si les notifs passent côté IPG
  3. IpBGetSortiesPresumees — flux de rapprochement éleveur ↔ IPG

Raison : le dossier animal seul est peu utile sans l'inventaire qui permet de savoir pour quels animaux appeler getAnimalFile. Et sans RetourDossiers, toute écriture future est aveugle.

Phase 2 — Écriture bovin (notifications obligatoires)

Implémenter les déclarations dans l'ordre des cycles de vie d'un animal :

  1. IpBCreateNaissance
  2. IpBCreateEntree / IpBCreateSortie
  3. IpBCreateMortNe
  4. IpBCreateRebouclage / IpBCreateCommandeBoucles
  5. IpBCreateAnimalEchange / IpBCreateAnimalImporte / IpBCreateAvisAnimalImporte (si imports/échanges dans le périmètre)
  6. IpBCreateInsemination (si non couvert par un autre outil)

Phase 3 — Mouvements / transport

Si le consommateur gère du transport ou des lots :

  1. wsDmBListe (lots bovins)
  2. wsDmBTransport (chargement/déchargement)
  3. wsDmBConsultation et wsDmBGestion selon besoin

Phase 4 — Référentiels génétiques (optionnel)

Si le consommateur fait de la sélection / génétique :

  1. wsMdBEdel — lectures ponctuelles, ne justifient une implémentation que s'il y a un usage métier concret

Phase 5 — Caprin / ICAR (optionnel)

À activer uniquement si multi-espèces ou conformité ICAR requise.

Hors priorité

  • wsIpEdel : 1 op, à implémenter en passant si besoin ponctuel
  • WsAnnuaire : utile pour du diagnostic / supervision, pas pour le métier

Découpage structurel proposé

Pour garder un code cohérent, reproduire le pattern existant (src/Bovin/) par domaine :

src/
├── Auth/              (existant)
├── Bovin/             (IpBNotif + IpEdel exploitation)
├── Mouvement/         (DmB*)
├── Genetique/         (MdBEdel, optionnel)
├── Caprin/            (MdCEdel, optionnel)
├── Icar/              (MrAde, optionnel)
├── Annuaire/          (WsAnnuaire, optionnel)
└── Shared/            (existant)

Chaque domaine expose une *ApiInterface publique + une implémentation readonly, avec ses DTOs et mappers dédiés. Le TokenProvider et SoapClientFactory restent partagés via Shared/.