ESUP SISCOL

Cette application expose à l’application ESUP-STAGE des API REST (OPEN API - Swagger). Ainsi seule ESUP SIscol fait des accès au SI de l’établissement (Annuaire LDAP, Apogée et Pégase).

Versions

  • JDK 21

  • APOGEE WS 65070 ou supérieure

Installation du JAR client WS-APOGEE

Avant de commencer l’installation, il faut vous procurer le client Web service Apogée soit auprès des collègues qui déploient Apogée dans votre établissement ou directement auprès de l’AMUE. Les WebServices Apogée doivent être installés selon les préconisations de l’AMUE et fonctionnelles sinon, il n’est pas nécessaire d’aller plus loin…​

Votre fichier apo-webservices-client{mettre la version}.jar doit être installé ainsi :

mvn install:install-file -Dfile=apo-webservices-client{mettre la version}.jar -DgroupId=gouv.education.apogee -DartifactId=apo-webservices-client -Dversion={mettre la version} -Dpackaging=jar -DgeneratePom=true

Pour ceux utilisant la version compilée, il n’est pas nécessaire d’utiliser cette commande.

Clonage et installation

cd /opt
git clone https://github.com/EsupPortail/esup-siscol.git esup-siscol
pom.xml
<dependency>
	<groupId>gouv.education.apogee</groupId>
	<artifactId>apo-webservices-client</artifactId>
	<version>x.y.z</version> (1)
</dependency>
1 Il faut ajouter la bonne dépendance vers votre numéro de version du client Apogée,
ex. 65070 au lieu de x.y.z dans le pom.xml.

Fichier de paramétrage

Nous allons créer un répertoire où nous placerons les fichiers de configurations de l’application esup-siscol :

mkdir /etc/esup-siscol
cp /opt/esup-siscol/src/main/resources/application.yml.sample /etc/esup-siscol/application.yml
/etc/esup-siscol/application.yml
spring:
 ldap:
    urls:
    - ldap://ldap-paris.fr:389
    username: uid=xxxx,ou=admins,dc=u-paris10,dc=fr
    password: xxxx
    base: dc=u-paris10,dc=fr

springdoc:
  version: '@springdoc.version@'
  api-docs:
    groups:
      enabled: true
  swagger-ui:

    display-request-duration: true
    groups-order: ASC
    operationsSorter: method
    disable-swagger-default-url: true
    use-root-path: true
    path: /swagger-ui.html
    url: /api-docs.yaml

server:
  error:
    include-exception: true
    whitelabel:
      enabled: true
    path: /error.html
    include-stacktrace: always

app:
# Les paramètres mode_xxxx permettent de sélectionner le SI Scolarité (les deux paramètres peuvent être activés en même temps).
 mode_apogee: true
 mode_pegase: false

 ldap:
    stringFilterTeacher: (|(eduPersonAffiliation=teacher)(eduPersonAffiliation=faculty))
    stringFilterStudent: (eduPersonAffiliation=student)
    stringFilterStaff: (eduPersonAffiliation=staff)
    repoStringFilterStudent: (eduPersonAffiliation=student)
    repoStringFilterStudentBySn: (&(eduPersonAffiliation=student)(sn={0}))
    repoStringFilterStudentByUId: (&(eduPersonAffiliation=student)(uid={0}))
    repoStringFilterStudentByNumEtu: (&(eduPersonAffiliation=student)(numlEtu={0}))
    dnPeople: ou=people

 apogee:
    startYearMonth: 09
    startYearDay: 01
    universityCode: UPN
    codesRegimeInscriptionFC: 2;4;5
    # valeurs possible TOUS N O#
    temoinRecupAnnu : N
    urlService:
      #administratifMetier: http://univ.fr:8080/wsapogee/services/AdministratifMetier
      administratifMetier: http://univ.fr:8080/wsapogee/services/AdministratifMetier
      administratifMetierUserName: user
      administratifMetierPassword: *********
      etudiantMetier: http://trollius.gestion.ehess.fr:8080/wsapogee/services/EtudiantMetier
      etudiantMetierUserName: user
      etudiantMetierPassword: ***********
      pedagogiqueMetier: http://trollius.gestion.ehess.fr:8080/wsapogee/services/PedagogiqueMetier
      pedagogiqueMetierUserName: user
      pedagogiqueMetierPassword: **********
      geographieMetier: http://trollius.gestion.ehess.fr:8080/wsapogee/services/GeographieMetier
      geographieMetierUserName: user
      geographieMetierPassword: ********
      referentielMetier: http://trollius.gestion.ehess.fr:8080/wsapogee/services/ReferentielMetier
      referentielMetierUserName: user
      referentielMetierPassword: *********
      offreFormationMetier: http://trollius.gestion.ehess.fr:8080/wsapogee/services/OffreFormationMetier
      offreFormationMetierUserName: user
      offreFormationMetierPassword: **********

  pcscol:
    # Reporter la(s) valeur(s) du paramètre ANNEE et SEMESTRE dans le champ Paramètres de l'application > Paramètres généraux > codes césures séparés par un ; de Esup-Stage.
    # Une seule valeur possible pour chacun des paramètres.
    cesures:
       ANNEE: 1
       SEMESTRE: 2
       SANS: 3
    codeStructure: ETAB00
    codePeriode: PER-2024
    codesPeriodesChargementFormations: PER-2021, PER-2022, PER-2023, PER-2024, PER-2018, PER-2019, PER-2020, PER-2020-21
    # Pensez à mettre à jour codesPeriodesChargementFormations chaque année pour limiter le nombre de périodes chargées.
    typeObjetFormationChargementFormations: ANNEE, SEMESTRE
    statutInscriptionChargement: PREINSCRIT,NON_DEMARRE,EN_COURS,VALIDE,EN_ACTUALISATION,VALIDEE_EN_MULTI_CURSUS,ANNULEE
    accesstoken:
      # Url de l'API du serveur OAuth Pgase pour la rcupration de l'access-token
      casUrl: https://authn-app.univ.pc-scol.fr/cas/v1/tickets
      # Username et password pour s'authentifier auprs du serveur OAuth Pgase en tant qu'applicatif MDW
      svcAcountLogin: svc-api
      svcAcountPassword: **************
      # Dure en heure de conservation de l'access-token
      duration: 6
    # Code de l'établissement dans Pgase
    etablissement: ETAB00
    # Base Url de l'API du module INS de Pgase (attention  conserver la structure de l'url d'exemple)
    api:
      # Base Url de l'API CHC de Pgase
      chc:
        url: https://chc.partenaires.pc-scol.fr/api/chc/v6
      # Base Url de l'API ODF de Pgase
      odf:
        https://odf.partenaires.pc-scol.fr/api/odf/ext/v1
      # Base Url de l'API COF de Pgase
      ref:
          url: https://ref.partenaires.pc-scol.fr/api/v1/ref
      ins:
          url: https://ins.partenaires.pc-scol.fr/api/ins/ext/v2
      chcExterne:
        url: https://chc.partenaires.pc-scol.fr/api/ext/chc/v1
      insGestion:
        url: https://ins.test-partenaires.pc-scol.fr/api/v5/ins
      insInterne:
        url: https://ins.test-partenaires.pc-scol.fr/api/ins/v1

    # Permet de cibler un dossier par dfaut. /!\ Attention /!\ A renseigner uniquement pour une démonstration ou en phase de test/dveloppement.
    demo:
      codeapprenant: 000000001
    # Liste des statuts des inscriptions  afficher dans la vue "Parcours" spars par des virgules
    inscription:
      statut: valide

 credential:
  userscredential:
    root:
      username: root
      password: un-super-mot-de-passe-a-remplacer-ici
      roles:
        - ADMIN
        - USER
        - USER_APOGEE
        - USER_LDAP
  autorisation:
    supann:
      - USER_LDAP
      - ADMIN
    referentiel:
      - USER_APOGEE
      - ADMIN

 cache:
    # Si le mode_apogee=false alors tous les paramètres ci-dessous doivent être renseignés à false.
    # Chargement au demarrage des caches
    onStartup:
        # Active ou non, par defaut : false
        enabled: true
    # Time-To-Live du cache temporaire, en minutes, par defaut : 60 [minutes]
    #ttl-tmp:
    # Time-To-Live du cache permanent, en heures, par defaut : 0 [heures]
    # Si 0, aucune limite de temps
    #ttl-permanent:
    # Cron pour un rechargement periodique des caches
    scheduling:
        # Active ou non, par defaut : false
        enabled: false
        # Expression cron, par defaut : aucune
        cron: 0 0 7-22 * * *

Vous devez modifier en cohérence avec vos spécificités :

  • la section "LDAP"

  • la section "APOGEE" en indiquant vos URL côté serveur WebService Apogée (installé en général par les administrateurs techniques Apogée).

  • la section "PCSCOL" en indiquant vos URL côté serveur Webservice PCSCOL.

  • la section "credential" en modifiant votre mot de passe qui devra être renseigné aussi dans le fichier de configuration de l’application ESUP-STAGE.

Compilation et génération du WAR

Pour compiler le projet et générer le WAR dans le répertoire "./target/", lancez les commandes :

# Un fichier .war est disponible dans chaque tag pour les établissements ne souhaitant pas compiler l'application.
mvn clean compile
mvn install

Déploiement sur un serveur Tomcat :

Si vous n’avez pas déjà installé votre serveur Tomcat, vous pouvez vous aider des prérequis de cette documentation. L’application ESUP SIScol peut-être déployée sur un serveur Tomcat indépendant (même serveur ou sur un autre serveur) ou utilisé le même serveur Tomcat que l’application ESUP Stage.

Si votre Tomcat est installé sur le chemin suivant : {tomcat_path}=/usr/share/tomcat, il faut copier votre fichier esup-siscol-x.x.x.war dans le webapp pour son déploiement :

cp target/esup-siscol-x.x.x.war {tomcat_path}/webapps/esup-siscol.war

Après déploiement, vous pourrez y accéder à l’adresse : http://localhost:8080/esup-siscol