Prérequis : environnement technique mis en place |
La personnalisation de l'application n'est pas prévue pour cette installation (personnalisation fine du css, utilisation de beans java propres, etc..). Les étapes spécifiques à cette solution seront notées dans le reste du document.
La personnalisation de l'application est prévue pour cette installation (personnalisation fine du css, utilisation de beans java propres, etc..). Les étapes spécifiques à cette solution seront notées dans le reste du document.
Propriété | Définition | |
---|---|---|
Resource name="jdbc/dbMdw" | Déclaration de votre base de données MySql de monDossierWeb | |
Resource name="jdbc/dbApogee" | Déclaration de votre base de données Apogée (pour le requêtage direct sur la base) | |
Parameter name="app.url" | Url de l'application | |
Parameter name="cas.url" | Url de votre service d'authentification CAS | |
Parameter name="ldap.url" Parameter name="ldap.userDn" Parameter name="ldap.password" | Informations de connexion au ldap, respectivement :
| |
Parameter name="uportal.ws" Parameter name="uportal.groupes.autorises" | Configuration de l'authentification des enseignants via les groupes uPortal de l'ENT
| |
Parameter name="loginApogee" | Configuration de l'authentification des enseignants via la table UTILISATEUR d'Apogée
| |
Parameter name="attributGroupeLdap" Parameter name="listeGroupesLdap" | Configuration de l'authentification des enseignants via des groupes LDAP
| |
Parameter name="attributLdapEtudiant" Parameter name="typeEtudiantLdap" Parameter name="attributLdapCodEtu"
| Configuration de l'authentification des étudiants
| |
Parameter name="sourceResultats" | Source des résultats lors de l'appel aux Web Services Apogée pour récupérer les notes et résultats
| |
Parameter name="productionMode" | Mode production. Doit être à true | |
Parameter name="enablePush" Parameter name="webSocketPush" Parameter name="showLoadingIndicator" | Configuration du Push :
| |
Parameter name="mail.smtpHost" Parameter name="mail.from" Parameter name="mail.to" Parameter name="mail.startDisabling" Parameter name="mail.stopDisabling" | Paramètres pour l'envoi des mails d'erreur, respectivement :
| |
Parameter name="param.elasticsearch.url" Parameter name="param.elasticsearch.port" Parameter name="param.elasticsearch.cluster" Parameter name="param.elasticsearch.index" Parameter name="param.elasticsearch.index.champrecherche" Parameter name="param.elasticsearch.index.champcodeobjet" Parameter name="param.elasticsearch.index.champversionobjet" Parameter name="param.elasticsearch.index.champlibelleobjet" | Configuration de la connexion a ElasticSearch
| |
Parameter name="param.apogee.mail.annuaire" Parameter name="emailConverter.implementation" | Configuration de la récupération du mail de l'étudiant
| |
Parameter name="codetuFromLogin.implementation" Parameter name="loginFromCodetu.implementation"
| Configuration de la récupération des identifiants Apogée d'un étudiant
| |
Parameter name="serveurphoto.implementation" | Configuration de la récupération des photos
| |
Parameter name="google.analytics.account"
Parameter name="piwik.tracker.url" Parameter name="piwik.site.id" | Configuration de la plateforme web analytics (facultatif). Google Analytics ou Piwik. Paramètres de Google Analytics, optionnel respectivement :
Paramètres de piwik, optionnel (https://fr.piwik.org/), respectivement :
|
Copier le fichier configUrlServices.sample.properties et renommer le en configUrlServices.properties puis éditer le suivant le choix de la solution dans la partie 2.1, le fichier configUrlServices.sample.properties se trouve :
Renseigner les url de vos webservices utilisés dans l'application :
# WebServices Dossier Etudiant administratifMetier.urlService=https://wsapogee.univ.fr/services/AdministratifMetier etudiantMetier.urlService=https://wsapogee.univ.fr/services/EtudiantMetier pedagogiqueMetier.urlService=https://wsapogee.univ.fr/services/PedagogiqueMetier geographieMetier.urlService=https://wsapogee.univ.fr/services/GeographieMetier # Web Services Référentiel offreFormationMetier.urlService=https://wsapogee.univ.fr/services/OffreFormationMetier # WebServices Dossier Etudiant administratifMetier.urlService.ssl=https://wsapogee.univ.fr/services/AdministratifMetier etudiantMetier.urlService.ssl=https://wsapogee.univ.fr/services/EtudiantMetier pedagogiqueMetier.urlService.ssl=https://wsapogee.univ.fr/services/PedagogiqueMetier geographieMetier.urlService.ssl=https://wsapogee.univ.fr/services/GeographieMetier # Web Services Référentiel offreFormationMetier.urlService.ssl=https://wsapogee.univ.fr/services/OffreFormationMetier #SSL WS_SSL_MODE=false; WS_KEY_STORE_PATH=C:/client_keystore WS_CERTIF_STORE_PATH=C:/client_keystore WS_KEY_PASS=password WS_KEY_TYPE=jks |
La base de données (qui doit être préalablement créée vide) est automatiquement alimentée au démarrage de l'application.
Pour utiliser la vue Recherche Rapide de la partie enseignant de monDossierWeb, il faut disposer d'un elasticSearch. Il doit exposer un index stockant les objets Apogée que l'on souhaite proposer à la recherche rapide.
La structure de cet index peut varier tant qu'il reste paramétrable dans monDossierWeb (cf 2.2 Paramétrage).
Les éléments obligatoires au bon fonctionnement de monDossierWeb
Voici un exemple de l'index utilisé à l'Université de Lorraine :
Pour construire cet index nous utilisons une "river", qui permet de créer un index à partir d'une requête SQL.
Exemple de création de river permettant de récupérer les composantes, VET, ELP, et étudiants valides sur n et n-1:
PUT _river/my_jdbc_river/_meta { "type": "jdbc", "jdbc" : { "url" : "jdbc:oracle:thin:@apogee.univ.fr:1521:APOGEE", "user" : "userApogee", "password" :"userPwd", "sql": "SELECT 'CMP' || cod_cmp || '0' \"_id\", 'CMP' \"_type\", cod_cmp COD_OBJ, 0 COD_VRS_OBJ, '[' || cod_cmp || '] ' || lib_cmp LIB_DESC_OBJ, lib_cmp LIB_OBJ FROM composante UNION SELECT DISTINCT 'VDI' || vdi.cod_dip || vdi.cod_vrs_vdi \"_id\", 'VDI' \"_type\", vdi.cod_dip COD_OBJ, vdi.cod_vrs_vdi COD_VRS_OBJ, '[' || vdi.cod_dip || '/' || vdi.cod_vrs_vdi || '] ' || vdi.lib_web_vdi LIB_DESC_OBJ, vdi.lib_web_vdi LIB_OBJ FROM version_diplome vdi, diplome d, VDI_FRACTIONNER_VET vfv WHERE vdi.cod_dip = d.cod_dip and vfv.COD_DIP=d.cod_dip and vfv.COD_VRS_VDI=vdi.COD_VRS_VDI and vfv.DAA_FIN_RCT_VET > (select cod_anu - 2 from annee_uni where eta_anu_iae = 'O') UNION SELECT DISTINCT 'VET' || vet.cod_etp || vet.cod_vrs_vet \"_id\", 'VET' \"_type\", vet.cod_etp COD_OBJ, vet.cod_vrs_vet COD_VRS_OBJ, '[' || vet.cod_etp || '/' || vet.cod_vrs_vet || '] ' || vet.lib_web_vet LIB_DESC_OBJ, vet.lib_web_vet LIB_OBJ FROM version_etape vet, etape e, VDI_FRACTIONNER_VET vfv WHERE vet.cod_etp = e.cod_etp and vfv.COD_ETP=e.cod_etp and vfv.COD_VRS_VET=vet.COD_VRS_VET and vfv.DAA_FIN_RCT_VET > (select cod_anu - 2 from annee_uni where eta_anu_iae = 'O') UNION SELECT 'ELP' || cod_elp || '0' \"_id\",'ELP' \"_type\", cod_elp COD_OBJ, 0 COD_VRS_OBJ,'[' || cod_elp || '] ' || lib_elp LIB_DESC_OBJ, lib_elp LIB_OBJ FROM element_pedagogi e UNION select 'ETU' || IND.COD_ETU || '' \"_id\", 'ETU' \"_type\",CAST(IND.COD_ETU as VARCHAR2(40)) COD_OBJ, 0 COD_VRS_OBJ, '[' || IND.COD_ETU || '] ' || IND.LIB_PR1_IND || ' ' || NVL(IND.LIB_NOM_USU_IND,IND.LIB_NOM_PAT_IND) LIB_DESC_OBJ, IND.LIB_PR1_IND || ' ' || NVL(IND.LIB_NOM_USU_IND,IND.LIB_NOM_PAT_IND) LIB_OBJ from individu ind, INS_ADM_ANU iaa where IAA.COD_IND=ind.COD_IND and IND.COD_ETU is not null and IAA.COD_ANU > (select cod_anu - 2 from annee_uni where eta_anu_iae = 'O')", "index" : "apogee" } } |
A noter que les "river" peuvent être automatisés pour mettre à jour l'index régulièrement. Exemple :
PUT _river/my_jdbc_river/_meta { "type": "jdbc", "jdbc" : { "url" : "jdbc:oracle:thin:@apogee.univ.fr:1521:APOGEE", "user" : "userApogee", "password" :"userPwd", "schedule": "0 0/15 5-23 * * ?", "sql": "REQUETE SQL SUR MESURE", "index" : "apogee" } } |