Le travail de cette page est à titre expérimental et a pour vocation d’aider les établissements passés sous Pégase (L’Université de Lorraine n’y est pas encore passée pour information). L’application, que ce soit d’aspect fonctionnel ou technique, est susceptible d’être différente dans sa phase finale.
Versions
v1.07 : 19/01/26
modification de l’appel des APIs suite à un changement interne à Pégase
prise en compte du codeBCN pour le cursus
v1.06 : 02/12/25
changement dans la récupération de la liste des apprenants
v1.05 : 17/10/25
prise en compte du code BCN pour la CSP
v1.04 : 16/10/25
prise en compte du code BCN pour la série du bac et de la profession du parent 1
v1.03 : 10/10/25
ajout d’un paramètre pour le transcodage de l »établissement
v1.02 : 08/10/25
précision sur le BAC et situationfamiliale
correction de l’utilisation d’une API pour prendre en compte l’intégralité des données
v1.01 : 07/10/25
utilisation de nouvelles routes API suite au changement du swagger Pegase
refonte des appels APIs
définition de la période dans le fichier yml
prise en compte des structures CMP, de la situation familiale
v1.0 : 23/09/25
intilisation du projet
Appels API
L’objectif de l’application proposée ci dessous est d’interroger les APIs mise à disposition à partir du Swagger suivant : https://pegase-swagger-ui.test-partenaires.pc-scol.fr/ afin de remplir le fichier CSV nécessaire à l’importation dans Calcium.
Cette application est développée sous Java/Vaadin et est à déployer sous un Tomcat. Elle peut être téléchargée sur notre serveur FTP usuel dans le répertoire PegaseBeta : http://download-sig.univ-lorraine.fr/prive/calcium/
On retrouve le paramétrage de l’application dans le fichier application.yml disponible (une fois l’application déployée) sous WEB-INF/classes.
Les paramètres suivants sont à modifier selon votre propre environnement :
– username : nom d’utilisateur de votre compte Pegase
– password : mot de passe associé
– auth-domain, idt-domain, chc-domain, ref-domain : bases URLs de vos accès API Pegases

Une fois configurée, l’application permet d’accéder à cette page :

Le bouton permet d’effectuer lancer la recherche au travers des APIs Pegase et d’exporter un CSV compatible Calcium.

Requête SQL sur base Pegase répliquée (DRE)
Une autre possibilité, si on a accès à une base déportée (normalement les données sont à jour à J+1), c’est d’effectuer une requête SQL comme par exemple (requête réalisée et partagée par Rennes) :
select per.annee_universitaire as COD_ANU, app.ine_maitre as COD_NNE, '************* **' as COD_NNI
, app.code_apprenant as COD_ETU, app.nom_naissance as NOM
, (select value from schema_keycloak.user_attribute where name = 'nomUsage' and user_id = cast(app.id as varchar)) as NOMUSAGE
, app.prenom as PRENOM1
, (select value from schema_keycloak.user_attribute where name = 'prenom2' and user_id = cast(app.id as varchar)) as PRENOM2
, (select value from schema_keycloak.user_attribute where name = 'prenom3' and user_id = cast(app.id as varchar)) as PRENOM3
, (select value from schema_keycloak.user_attribute where name = 'sexe' and user_id = cast(app.id as varchar)) as SEXE
, app.date_naissance as DATENAI
, (select value from schema_keycloak.user_attribute where name = 'codeNationalite' and user_id = cast(app.id as varchar)) as CODE_NATIO
, '' as SITUAFAM
, (select libelle_court from schema_ref.valeurs_nomenclature where code_metier = ins.codes_bourses[1]) as CODEBRS
, '' as CODEFINANC, '' as TEM_AFFL_SSO, '' as CENTREPAYEUR, '' as CODEMUT
, (select value from schema_keycloak.user_attribute where name = 'adressePeriodeULigne3Voie' and user_id = cast(app.id as varchar)) as ADR1
, (select value from schema_keycloak.user_attribute where name = 'adressePeriodeULigne4Complement' and user_id = cast(app.id as varchar)) as ADR2
, (select value from schema_keycloak.user_attribute where name = 'adressePeriodeULigne5Etranger' and user_id = cast(app.id as varchar)) as ADR3
, (select value from schema_keycloak.user_attribute where name = 'adressePeriodeUCodePostal' and user_id = cast(app.id as varchar)) as COD_BDI
, (select value from schema_keycloak.user_attribute where name = 'adressePeriodeUCodeCommune' and user_id = cast(app.id as varchar)) as COMMUNE
, (select value from schema_keycloak.user_attribute where name = 'adressePeriodeUCodePays' and user_id = cast(app.id as varchar)) as PAYS
, (select value from schema_keycloak.user_attribute where name = 'telephonePortablePersonnel' and user_id = cast(app.id as varchar)) as TELEPH
, ldap.mel as MAIL, '' as PCS
, (select value from schema_keycloak.user_attribute where name = 'adresseFixeLigne3Voie' and user_id = cast(app.id as varchar)) as ADR1FIX
, (select value from schema_keycloak.user_attribute where name = 'adresseFixeLigne4Complement' and user_id = cast(app.id as varchar)) as ADR2FIX
, (select value from schema_keycloak.user_attribute where name = 'adresseFixeLigne5Etranger' and user_id = cast(app.id as varchar)) as ADR3FIX
, (select value from schema_keycloak.user_attribute where name = 'adresseFixeCodePostal' and user_id = cast(app.id as varchar)) as BDIFIX
, (select value from schema_keycloak.user_attribute where name = 'adresseFixeCodeCommune' and user_id = cast(app.id as varchar)) as COMMUNEFIX
, (select value from schema_keycloak.user_attribute where name = 'adresseFixeCodePays' and user_id = cast(app.id as varchar)) as PAYSFIX
, (select value from schema_keycloak.user_attribute where name = 'telephonePortablePersonnel' and user_id = cast(app.id as varchar)) as TELEPHFIX
, ldap.etb as ETB
, '' as CMP
, '' as CURSUS
, '' as ANNEE
, '' as ETABLISSEMENT
, cib.libelle as DIPLOME
, (select bac.code_bcn from schema_keycloak.user_attribute k
inner join schema_ref.serie_bac bac on bac.code = k.value
where k.name = 'codeTypeSerieBac' and k.user_id = cast(app.id as varchar)) as BAC
, (select value from schema_keycloak.user_attribute where name = 'anneeObtentionBac' and user_id = cast(app.id as varchar)) as DATEBAC
, '' as ETB_BAC
, (select value from schema_keycloak.user_attribute where name = 'anneeEntreeEtablissement' and user_id = cast(app.id as varchar)) as DAA_ETB
, (select value from schema_keycloak.user_attribute where name = 'anneeEntreeEnseignementSuperieur' and user_id = cast(app.id as varchar)) as DAA_ENS_SUP
, ldap.uid as IDENTIFIANT
from schema_ins.inscription ins
inner join schema_ins.apprenant app on app.id = ins.id_apprenant
inner join schema_ins.chemin cib on cib.id_odf = ins.id_odf_chemin
inner join schema_ins.periode per on per.id_odf = ins.id_odf_periode
left join schema_odf.contexte cte on cte.id = cib.id_odf
left join schema_odf.objet_maquette obj on obj.id = cte.id_objet_maquette
left join schema_ref.commune_naissance com_nai on com_nai.code = (select value from schema_keycloak.user_attribute where name = 'codeCommuneNaissance' and user_id = cast(app.id as varchar))
left join schema_ref.pays_nationalite pay_nai on pay_nai.code = (select value from schema_keycloak.user_attribute where name = 'codePaysNaissance' and user_id = cast(app.id as varchar))
left join schema_etb.ldap ldap on cast(ldap.no_etu as varchar) = app.code_apprenant
where per.annee_universitaire = CASE WHEN date_part('month',current_date) > 6 THEN date_part('year',current_date)
ELSE date_part('year',current_date)-1
END
and statut_inscription = 'VALIDEE'
order by per.code, app.nom_naissance, app.prenom