Pages enfant
  • 2. Installation initiale

Vous regardez une version antérieure (v. /wiki/display/PROJMONDOSSIERWEB/2.+Installation+initiale) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 20) afficher la version suivante »

Prérequis : environnement technique mis en place

2.1 Sources

2.1.1 Solution 1 : Installation rapide

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 SOLUTION 1 dans le reste du document.

2.1.2 Solution 2 : Installation personnalisée

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 SOLUTION 2 dans le reste du document.

2.2 Paramétrage

  • Copier les éléments situés dans le fichier context.sample.xml dans la déclaration des variables JNDI de votre serveur Tomcat (par exemple server.xml). Suivant le choix de la solution dans la partie 2.1, le fichier context.sample.xml se trouve :
    • SOLUTION 1 : dans META-INF/
    • SOLUTION 2 : dans /src/main/webapp/META-INF/
PropriétéDéfinition
jdbc/dbMdwDéclaration de votre base de données MySql de monDossierWeb
jdbc/dbApogeeDéclaration de votre base de données Apogée (pour le requêtage direct sur la base)
app.urlUrl de l'application
cas.urlUrl de votre service d'authentification CAS

ldap.url

ldap.userDn

ldap.password

Informations de connexion au ldap, respectivement :

  • url du ldap, son port et son baseDn (ex : ldaps://ldap.univ.fr:636/dc=univ,dc=fr )
  • user du ldap
  • mot de passe du user

uportal.ws

uportal.groupes.autorises

Configuration de l'authentification des enseignants via les groupes uPortal de l'ENT

  • url des Web Services uPortal
  • liste des groupes autorisés (séparés par un point virgule) à accéder à MDW en tant qu'enseignant
loginApogee

Configuration de l'authentification des enseignants via la table UTILISATEUR d'Apogée

  • Mettre false pour ne pas utiliser cette fonctionnalité

attributGroupeLdap

listeGroupesLdap

Configuration de l'authentification des enseignants via des groupes LDAP

  • le nom de l'attribut contenant les groupes ldap
  • La liste des groupes ldap autorisant l’accès à mondossierWeb en tant qu'enseignant séparés par un point virgule.

attributLdapEtudiant

typeEtudiantLdap

attributLdapCodEtu

 

Configuration de l'authentification des étudiants

  • La propriété ldap du contact désignant son type
  • Le type ldap désignant un étudiant
  • La propriété ldap du contact désignant son codetu
sourceResultats

Source des résultats lors de l'appel aux Web Services Apogée pour récupérer les notes et résultats

  • Apogee ou Apogee-extraction
productionModeMode production. Doit être à true

enablePush

webSocketPush

showLoadingIndicator

Configuration du Push :

  • Activation du push. Doit être à true pour utiliser "showLoadingIndicator"
  • true pour activer les webScocket quand utilisation du push sinon utilisation du long-polling
  • true si on doit afficher l'indicateur de loading entre certains écrans. Push obligatoire

mail.smtpHost

mail.from

mail.to

mail.startDisabling

mail.stopDisabling

Paramètres pour l'envoi des mails d'erreur, respectivement :

  • host smtp
  • champs from du mail
  • champs to du mail
  • début de la période de désactivation des mails d'erreur
  • fin de la période de désactivation des mails d'erreur

param.elasticsearch.url

param.elasticsearch.port

param.elasticsearch.cluster

param.elasticsearch.index

param.elasticsearch.index.champrecherche

param.elasticsearch.index.champcodeobjet

param.elasticsearch.index.champversionobjet

param.elasticsearch.index.champlibelleobjet

Configuration de la connexion a ElasticSearch

  • l'url du serveur
  • le port d'écoute
  • le nom du cluster
  • le nom de l'index contenant les objets provenant d'apogée
  • le nom de l'attribut du document sur lequel on effectue la recherche lors de la recherche rapide. Peut être un champ enrichi. Ex : [CODE] LIBELLE
  • le nom de l'attribut du document contenant le code de l'objet Apogée
  • le nom de l'attribut du document contenant la version de l'objet Apogée
  • le nom de l'attribut du document contenant le libellé de l'objet Apogée
Par convention, le type des objets doit être dans l'attribut ElasticSearch nommé "_type". Valeurs possible : CMP, VET, ETU, ELP

param.apogee.mail.annuaire

emailConverter.implementation

Configuration de la récupération du mail de l'étudiant

  •  true pour que l'email de l'étudiant (état-civil) soit récupéré par le WS dans l'annuaire, false pour que ce soit une implémentation différente qui s'en charge.

  • nom de l'interface java pour la récupération du mail si param.apogee.mail.annuaire=false.

codetuFromLogin.implementation

loginFromCodetu.implementation

 

Configuration de la récupération des identifiants Apogée d'un étudiant

  • Interface pour la récupération du cod_etu à partir du login
  • Interface pour la récupération du login à partir du codetu
serveurphoto.implementation

Configuration de la récupération des photos

  • Interface pour la gestion des photos

google.analytics.account

 

 

piwik.tracker.url

piwik.site.id

Configuration de la plateforme web analytics (facultatif). Google Analytics ou Piwik.

Paramètres de Google Analytics, optionnel respectivement :

  • ID du compte Google Analytics

Paramètres de piwik, optionnel (https://fr.piwik.org/), respectivement :

    • L'url du piwik installé dans votre établissement
    • L'id du projet piwik

2.3 Paramétrage des webservices Apogée

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 :

  • SOLUTION 1 : dans /WEB-INF/classes/
  • SOLUTION 2 : dans /src/main/resources/

Renseigner les url de vos webservices utilisés dans l'application :

Url WebServices Apogée
# 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

2.4 Base de données

La base de données (qui doit être préalablement créée vide) est automatiquement alimentée au démarrage de l'application.

2.5 ElasticSearch

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

  • Tous les objets doivent être dans un index unique.
  • Par convention, le type de l'objet (ou document) doit se trouver dans l'attribut "_type". Il doit prendre les valeurs suivantes :
    • CMP quand l'objet est de type composante.
    • ELP quand l'objet est de type élément pédagogique.
    • VET quand l'objet est de type version d'étape.
    • ETU quand l'objet est de type étudiant.
  • Les documents doivent également posséder :
    • un attribut correspondant au libellé
    • un attribut correspondant au code
    • un attribut correspondant à la version
    • un attribut qui va servir pour la recherche rapide :
      • Il peut s'agir simplement de l'attribut libellé ou encore d'un attribut concaténant le code et le libellé de l'objet. Pour exemple, à l'Université de Lorraine nous avons un attribut formaté comme suit :  [CODE] LIBELLE

2.5.1 Exemple

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"
    }
}

 

 

  • Aucune étiquette