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 et Apogée).
Versions
- APOGEE
6.4.x - JDK
11, 8 - APOGEE WS
62031 ...62070
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...
Le jar client apo-webservices-client doit correspondre au web-service Apogée installé. Votre fichier apo-webservices-client{mettre la version}.jar doit être installé ainsi :
Récupérer les sources du projet
On considère récupérer nos sources dans le répertoire /opt/
| Bloc de code |
|---|
| language | bash |
|---|
| title | Client WS Apogée |
|---|
|
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 |
Clonage et installation
| Bloc de code |
|---|
| language | bash |
|---|
| title | Clonage |
|---|
| theme | RDark |
|---|
| title | Clonnage du projet |
|---|
|
cd /opt/
git clone https://github.com/EsupPortail/esup-siscol.git
cd esup-siscol |
...
Il faut ajouter la bonne dépendance vers votre numéro de version du client Apogée, ex. 62070 au lieu de "version-ws-apogee-a-définir-ici" dans le pom.xml.
| Bloc de code |
|---|
| language | bash |
|---|
| title | Dépendance |
|---|
|
<dependency>
<groupId>gouv.education.apogee</groupId>
<artifactId>apo-webservices-client</artifactId>
<version>version-ws-apogee-a-définir-ici</version>
</dependency> |
Fichier de paramétrage
Nous allons créer un répertoire où nous placerons les fichiers de configurations de l'application esup-siscol :
| Bloc de code |
|---|
| title | Fichier paramétrage |
|---|
| theme | RDark |
|---|
| title | Copier le fichier de configuration |
|---|
|
mkdir /etc/esup-siscol
cdcp /opt/esup-siscol
cp -r etc/apogee/conf/src/main/resources/application.yml.sample /etc/esup-siscol/application.yml |
Fichier /etc/esup-siscol/application.yml
| Bloc de code |
|---|
| language | bashyml |
|---|
| themetitle | RDarkApplication.yml |
|---|
| title | Copier le fichier de configuration |
|---|
| linenumbers | true |
|---|
|
spring:
ldap:
urls:
- ldap://ldap.fr:389
username: uid=user,ou=admins,dc=univ.fr
password: password
base: dc=univ,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:
server-url: http://localhost:8080/esup-siscol
server-version: 0.1.15
server-title: Client API SCOLARITE REST
ldap:
stringFilterTeacher: (|(eduPersonAffiliation=teacher)(eduPersonAffiliation=faculty))
# stringFilterTeacher: (|(eduPersonAffiliation=teacher)(eduPersonAffiliation=faculty)(uid=uesrspecifique))
stringFilterStudent: (eduPersonAffiliation=student)
stringFilterStaff: (eduPersonAffiliation=staff)
# Les attributs remontés par le service REST
# attribut_Rest: attribut_LDAP
attributes:
objectClass: Person
baseDn: ou=people
dn: dn
uid: uid
# L'attribut ldap (à droite) où se trouve le login
supannAliasLogin: supannAliasLogin
# L'attribut ldap du code étudiant
codEtu: supannEtuId
sn: sn
mail: mail
supannAutreMail: supannAutreMail
cn: cn
givenName: givenName
displayName: givenName
eduPersonPrimaryAffiliation: eduPersonPrimaryAffiliation
eduPersonAffiliation: eduPersonAffiliation
supannEntiteAffectation: supannEntiteAffectation
supannEntiteAffectationPrincipale: supannEntiteAffectationPrincipale
supannCivilite: supannCivilite
telephoneNumber: telephoneNumber
supannEtuCursusAnnee: supannEtuCursusAnnee
eduPersonOrgDN: eduPersonOrgDN
supannEmpId: supannEmpId
supannRefId: supannRefId
apogee:
startYearMonth: 09
startYearDay: 01
universityCode: UPN
codesRegimeInscriptionFC: 2;4;5
# valeurs de temoinRecupAnnu possible : TOUS, N, O
temoinRecupAnnu : N
urlService:
administratifMetier: http://ws.apogee.univ.fr:8080/aws/services/AdministratifMetier
etudiantMetier: http://ws.apogee.univ.fr:8080/aws/services/EtudiantMetier
pedagogiqueMetier: http://ws.apogee.univ.fr:8080/aws/services/PedagogiqueMetier
geographieMetier: http://ws.apogee.univ.fr:8080/aws/services/GeographieMetier
referentielMetier: http://ws.apogee.univ.fr:8080/aws/services/ReferentielMetier
offreFormationMetier: http://ws.apogee.univ.fr:8080/aws/services/OffreFormationMetier
credential:
userscredential:
root:
username: root
password: root
roles:
- ADMIN
- USER
- USER_APOGEE
- USER_LDAP
autorisation:
supann:
- USER_LDAP
- ADMIN
referentiel:
- USER_APOGEE
- ADMIN |
Vous devez modifier en cohérence avec vos spécificités :
- la section "LDAP"
- la section "attributes" est éventuellement à modifier, en particulier pour mettre en cohérence le login et le code étudiant dans l'annuaire
- 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 "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 :
| Bloc de code |
|---|
| language | bash |
|---|
| title | Compilation |
|---|
|
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 :
| Bloc de code |
|---|
|
cp target/esup-siscol-x.x.x.war {tomcat_path}/webapps/esup-siscol.war |
| Astuce |
|---|
Après déploiement, vous pourrez y accéder à l'adresse : http://localhost:8080/esup-siscol mvn -Dmaven.test.skip=true -Drun.arguments=--spring.config.location clean package
mvn -Dmaven.test.skip=true clean package |