Ce document décrit le schéma XML AgentsV27.xsd utilisé par l’interface entrante GEEF (InterfaceGEEFInXML.java, méthode listePersonnel(...)) pour importer une liste du personnel : agents, état civil, carrières, grades, affectations, positions, médailles, compteurs de droits, etc.
Espace de noms : aucun (schéma sans targetNamespace).
Remarque : Suspensions existe à deux niveaux — sous l’agent et sous chaque carrière — avec le même type SuspensionType.
2. Types simples (formats de valeurs)
Ces simpleType définissent les contraintes de format réutilisées par les éléments et attributs. La plupart appliquent whiteSpace="collapse" (espaces multiples réduits, début et fin rognés).
Employeur saisi en texte libre (par opposition au référentiel structuré EmployeursType).
Élément
Type
Cardinalité
Description
Profession
StringNN100Type
0..1
Profession exercée.
NomEmployeur
StringNN50Type
0..1
Nom de l’employeur.
AdresseEmployeur
StringNN200Type
0..1
Adresse de l’employeur.
TelephoneEmployeur
StringNN15Type
0..1
Téléphone de l’employeur.
EmployeursType — historique des employeurs (référentiel)
Une occurrence par période d’emploi ; l’employeur est décrit par un EmployeurDetail (référentiel). Utilisé notamment pour les conventions employeur.
Élément
Type
Cardinalité
Description
EmployeurDetail
EmployeurDetailType
1..1
Coordonnées détaillées de l’employeur.
Debut
xsd:date
0..1
Début de la période d’emploi.
Fin
xsd:date
0..1
Fin de la période d’emploi.
TypeConvention
TypeConventionType
0..1
0 = Formation ; 1 = Opérationnel ; 2 = Autre.
ConventionEmployeur
RegimeEmployeurType
0..1
Régime : 0 = non ; 1 = subrogation ; 2 = perte de salaire / détachement PATS.
NumConvention
StringNN30Type
0..1
Numéro de convention.
Mecenat
BooleenType
0..1
Mécénat (0/1).
ChefEntrepriseConv
BooleenType
0..1
Chef d’entreprise dans la convention (0/1).
TauxHoraire
xsd:float
0..1
Taux horaire.
EmployeurDetailType — employeur en référentiel
Élément
Type
Cardinalité
Description
NomEmployeurDetail
StringNN100Type
1..1
Nom de l’employeur.
SiretEmployeur
StringNN50Type
1..1
SIRET — sert de clé d’unicité de l’employeur.
AdresseRueEmployeur
StringNN100Type
0..1
Rue.
AdresseBatEmployeur
StringNN30Type
0..1
Bâtiment.
AdresseCodePostalEmployeur
StringNN5Type
0..1
Code postal.
AdresseVilleEmployeur
StringNN50Type
0..1
Ville.
AdresseTelEmployeur
StringNN20Type
0..1
Téléphone.
AdresseMobEmployeur
StringNN20Type
0..1
Mobile.
AdresseMailEmployeur
EmailType
0..1
E-mail.
NomContact
StringNN200Type
0..1
Contact principal.
NomContact2
StringNN200Type
0..1
Contact secondaire.
SecteurEmployeur
SecteurEmployeurType
0..1
0 = Privé ; 1 = Public ; 2 = Assimilé.
PermisType — permis de conduire
Élément
Type
Cardinalité
Description
NomPermis
StringNN20Type
1..1
Catégorie / nom du permis.
Numero
StringNN20Type
1..1
Numéro du permis.
DateObtention
xsd:date
1..1
Date d’obtention.
DateDerniereVisite
xsd:date
0..1
Dernière visite (médicale) liée au permis.
DateProchaineVisite
xsd:date
1..1
Prochaine visite.
DateFinSuspension
xsd:date
0..1
Fin de suspension du permis.
Inapte
BooleenType
0..1
Inaptitude (0/1).
VisiteMedicaleType — visite médicale
Élément
Type
Cardinalité
Description
DateVisite
xsd:date
1..1
Date de la visite.
DateProchaine
xsd:date
0..1
Date de la prochaine visite.
Motif
StringNN200Type
0..1
Motif de la visite.
Apte
BooleenType
1..1
Aptitude (0/1).
ProfilMedical
StringNN200Type
0..∞
Profils / aptitudes médicaux associés.
CompteInfoType — compte informatique
Élément
Type
Cardinalité
Description
Email
EmailType
1..1
E-mail professionnel. (TODO XSD : passer à facultatif.)
Login
StringNNType
1..1
Identifiant de connexion. (TODO XSD : passer à facultatif.)
6. La carrière : CarriereType
Élément Carrieres — regroupe tout ce qui relève d’une carrière (situation administrative, historiques, compteurs…). Un agent peut avoir plusieurs carrières (jusqu’à 3 dans cette version), distinguées par leur statut.
Attribut
Attribut
Type
Usage
Description
Statut
StatutType
requis
Statut de la carrière (ex. Pro, Volon, Ats). Combiné au matricule, il identifie la carrière.
Identifie une personne par son matricule RH et son code statut (utilisé pour le supérieur hiérarchique et le correspondant CNFPT).
Élément
Type
Cardinalité
Description
Matricule
MatriculeType
1..1
Matricule RH.
Statut
StatutType
1..1
Code statut.
8. Contraintes d’unicité (clés)
Le schéma déclare trois contraintes xsd:key :
Clé
Portée
Sélecteur / champ
Effet
UniqueMatricule
sur ListePersonnel
Agents / @Matricule
Chaque matricule d’agent est unique dans le flux.
UniqueStatut
sur Agents
Carrieres / @Statut
Au sein d’un agent, chaque statut de carrière est unique.
Règles abrogées : les clés UniqueGradesDebut (sur Grades/@Debut) et UniqueCategorieDebut (sur Categories/@Debut) figurent en commentaire dans le XSD ; elles ne sont plus appliquées.
9. Notes de comportement à l’import
Ces points proviennent du traitement Java (InterfaceGEEFInXML.listePersonnel(...)) et complètent la lecture « brute » du schéma.
Identifiant agent : l’attribut @Matricule est la clé de rapprochement. Un matricule non numérique fait échouer l’agent ("Matricule de l'agent incorrect").
@NewMatricule : déclenche la recopie des données de formation vers un autre matricule (fusion / changement de matricule).
Statut de carrière : le code @Statut est mis en correspondance avec le référentiel des statuts GEEF. Deux paramètres applicatifs pilotent le traitement : « Interface entrante - XML - Code Statut PATS » (code du statut PATS) et « Interface entrante - XML - Ordre Statuts » (ordre de priorité, ex. A>P>V>J).
Dates : les dates xsd:date (AAAA-MM-JJ) sont reconverties au format attendu par GEEF (JJ/MM/AAAA). Une date de fin valant 2099-12-31, 2999-12-31 ou 9999-12-31 est interprétée comme absence de fin (période ouverte) — cf. nettoyerDateFin(...).
Référentiels attendus en base : plusieurs codes/libellés doivent exister côté GEEF pour être rattachés (grades, échelons, emplois, propriétés, motifs de suspension, libellés de renseignements, profils médicaux, permis, contacts, lieux de formation…). Les libellés sont généralement comparés en majuscules et sans espaces superflus.
Compteurs en heures : pour un CompteDroit exprimé en heures, le Solde (et les autres montants) s’expriment en décimal (92,5 = 92 h 30), et non en hh:mm.
Employeur : l’Employeur (texte libre) et les Employeurs (référentiel via EmployeurDetail) coexistent ; côté référentiel, le SIRET sert de clé d’unicité de l’employeur.
Limite de carrières : le schéma borne Carrieres à 3 occurrences par agent (un TODO prévoit de lever cette limite). ```