Pages enfant
  • Manuel d'installation du Front Office esup-smsu

Vous regardez une version antérieure (v. /wiki/display/PROJSMSU/Manuel+d%27installation+du+Front+Office+esup-smsu) 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. 25) afficher la version suivante »

Installation du Front office

L'application de Front office packagée se trouve dans le dossier /dist du projet.
Dézippez le contenue de la distribution la plus récente de esup-smsu dans un répertoire de travail.
Le paramétrage suivant est à effectuer dans le dossier ainsi créé.

Paramétrage des propriétés de l'application

Le back office se déploie en mode portlet.
Vérifier la configuration des fichiers :

  • properties/config.properties
    • vérifier les informations de connexion à la base de donnée
    • vérifier les informations de connexion au LDAP
    • vérifier l'URL d'accès au web service du portail
    • vérifier l'URL d'accès au web service du back office
    • vérifier le chemin d'accès au fichier libmgs.properties
    • vérifiez les informations de configuration du compte de validation
    • dans le cas d'un déploiement en servlet, vérifiez le paramétrage du serveur CAS
    • vérifiez le paramétrage SMTP
    • vérifiez le paramétrage Quartz
    • de manière générale, vérifiez l'ensemble des paramètres.
  • build.properties
  • properties/logging/log4j.properties
    • Vérifier le chemin d'accès au fichier de log

Voici le détail des propriétés :

Paramétrage Base de donnée et Hibernate

  • Url, login et mot de passe d'accès à la base de donnée du front office :
    hibernate.connection.jdbc.url=jdbc:mysql://<host>:3306/smsu
    hibernate.connection.jdbc.username=root
    hibernate.connection.jdbc.password=xxxx
    
  • Méthode d'accès à la base de donnée :
    hibernate.useJndi=false
    
    Défini le mode d'accès à la base de donnée du front office.

Paramétrage Web services

  • Adresse du web service portail :
    portail.ws.adress=http://[Nom_De_La_Machine_Front_Office]:[Port_Portail]/uPortal/services/UportalService
    
  • Adresse web service back office :
    smsuapi.ws.address=https://[Nom_De_La_Machine_Back_Office]:[Port_WebService]/xfire
    

Paramétrage LDAP

  • Adresse, login, mot de passe et timeout (en millisecondes) du serveur LDAP :
    ldap.url=ldap://localhost:389
    ldap.userName=cn=sms,ou=admin,dc=univ-paris1,dc=fr
    ldap.password=
    ldap.connectTimeout=5000
    
  • La base DN du serveur LDAP :
    ldap.base=dc=univ-paris1,dc=fr
    
  • Le DN sub path pour les utilisateurs :
    ldap.dnSubPath=ou=people
    
  • L'identifiant d'utilisateur dans le LDAP :
    ldap.uidAttribute=uid
    
  • Le nom de l'attribut qui caractérise le nom « d'affichage de l'utilisateur » (généralement son nom et prénom concaténé dans un attribut LDAP) :
    ldap.displayNameAttribute=displayName
    
  • Le nom de l'attribut qui contient le prénom de l'utilisateur :
    ldap.firstNameAttribute=givenName
    
  • Le nom de l'attribut qui contient le nom de famille de l'utilisateur :
    ldap.lastNameAttribute=sn
    
  • Le nom de l'attribut qui contient l'adresse email de l'utilisateur :
    ldap.emailAttribute=mail
    
  • Le nom de l'attribut qui contient le numéro de téléphone portable de l'utilisateur :
    ldap.pagerAttribute=pager
    
  • Le nom de l'attribut qui contient la liste des conditions d'utilisation qui ont été acceptées par l'utilisateur :
    ldap.termsOfUseAttribute=up1TermsOfUse
    
  • La valeur qui préfixera les valeurs stockées dans le LDAP à l'attribut défini par ldap.termsOfUseAttribute :
    ldap.termsOfUseAttributeEtiquetteSMSU={SMSU}
    
    Ce préfixe à la mode SUPANN permet de partager l'attribut défini par ldap.termsOfUseAttribute avec d'autres applications. Le service SMS-U gardera inchangé les valeurs ne commençant pas par ce préfixe.
  • La valeur qui sera stockée dans le LDAP à l'attribut défini par ldap.termsOfUseAttribute lorsque l'utilisateur accepte les conditions générales :
    ldap.key.cg=CG
    
    NB : cette valeur sera préfixée de la valeur défini par ldap.termsOfUseAttributeEtiquetteSMSU
  • Le nom de l'attribut sur lequel sont effectuées les recherches d'utilisateurs par nom :
    ldap.searchAttribute=cn
    
  • L'expression permettant d'effectuer des tests :
    ldap.testFilter=cn=*aaron*
    
    Ce paramètre défini l'expression qui sera utilisé pour tester le LDAP par le biais des taches ant livrées par esup-commons
  • La liste des paramètres (séparés par une virgule) qui seront par défaut remontés du LDAP lors de recherches sur un utilisateur :
    ldap.attributes=displayName,mail,pager,up1TermsOfUse
    
  • Le nom de l'object dont se sert le serveur LDAP pour définir un utilisateur :
    ldap.objectClass=Person
    
  • La liste des attributs affichés pour un utilisateur :
    ldap.searchDisplayedAttributes=cn
    
    Lorsque l'affichage est confié à esup-commons, ce paramètre sert à définir les attributs à afficher pour les utilisateurs.
  • Le DN sub path permettant de caractériser les groupes :
    ldap.group.dnSubPath=ou=groups
    
  • Le nom de l'attribut utilisé comme identifiant pour les groupes :
    ldap.group.idAttribute=cn
    
  • Le nom de l'attribut qui contient la liste des membres d'un groupe :
    ldap.group.groupMemberAttr=member
    
  • Le nom de l'attribut utilisé lors des recherches par nom sur les groupes :
    ldap.group.groupSearchAttr=cn
    
  • La liste des attributs affichés pour un groupe :
    ldap.group.groupSearchDisplayedAttr=cn
    
    Lorsque l'affichage est confié à esup-commons, ce paramètre sert à définir les attributs à afficher pour les groupes.
  • Les noms des paramètres (séparés par une virgule) qui seront par défaut remontés du LDAP lors de recherches sur les groupes :
    ldap.group.groupAttr=cn,member
    
  • Le nom de l'object dont se sert le serveur LDAP pour définir un groupe :
    ldap.group.groupObjectClass=groupOfNames
    
  • L'expression permettant d'effectuer des tests sur les groupes :
    ldap.group.testFilter=cn=*mati*
    
    Ce paramètre défini l'expression qui sera utilisé pour tester le LDAP par le biais des taches ant livrées par esup-commons

Paramétrage adhésion

  • Expression régulière de validation de la forme du numéro de téléphone d'un adhérent :
    adhesion.phoneNumberPattern=(06|07)[0-9]{8}
    
    (10 chiffres commençant par 06)
    Ce paramètre peut être vidé (pas de vérification du tout)
  • Activation/Désactivation de la validation par SMS du numéro de téléphone d'un adhérent :
    adhesion.activateValidation=false
    
  • Nombre maximum utilisé dans la génération des codes de validation :
    adhesion.maxNumberCodeValidation=100000
    
  • Compte d'imputation des messages de validation :
    adhesion.accountValidation=[compte_de_validation]
    
  • Rôle associé au compte de validation (non utilisé, présent pour la cohérence des données en base :
    adhesion.roleValidation=[role_compte_validation]
    
  • Titre du SMS de validation (corps du message envoyé) :
    adhesion.titleSmsValidation=[Titre_SMS_valdidation]
    
  • Liste des champs LDAP pouvant contenir une valeur par défaut de numéro de téléphone adhérent :
    adhesion.phoneNumberAttributes=homePhone,mobile
    
    Les champs sont séparés par une virgule.
  • préfixe de numéro de téléphone à retirer :
    adhesion.phoneNumberPrefixToRemove=\\+33
    
    Ce préfixe sera remplacé par un zéro.

Paramétrage destinataires

  • Expression régulière de validation de la forme du numéro de téléphone d'un adhérent :
    recipient.phoneNumberPattern=(06|07)[0-9]{8}
    
    (10 chiffres commençant par 06.
    Ce paramètre peut être vidé (pas de vérification du tout)

Paramétrage envoi de SMS

  • Compte par défaut d'envoi de SMS :
    sms.defaultAccount=defaut
    
  • Login du superviseur par défaut :
    sms.defaultSupervisorLogin=e0891022243
    

Paramétrage authentification

  • En portlet, attribut d'authentification utilisateur auprès du portail :
    auth.portal.uidAttribute=uid
    
    NB : si vous changez cet attribut, n'oubliez pas de changer le <user-attribute> dans webapp/WEB-INF/portlet.xml
  • En servlet, URL serveur CAS :
    cas.url=https://[Nom_De_La_Machine_Cas]:[Port_Cas]/cas
    

Paramétrage SMTP

  • L'adresse du serveur SMTP à utiliser :
    smtp.host=an.smtp.host
    
    Ce paramètre défini l'adresse du serveur SMTP qui sera utilisé par le front office pour envoyer les emails
  • Le port du serveur SMTP à utiliser :
    smtp.port=25
    
    Ce paramètre défini le port du serveur SMTP qui sera utilisé par le front office pour envoyer les emails
  • Le login a utiliser pour s'authentifier auprès du serveur SMTP :
    smtp.user=
    
    Ce paramètre défini le login a utiliser pour s'authentifier auprès du serveur SMTP qui sera utilisé par le front office pour envoyer les emails
  • Le mot de passe a utiliser pour s'authentifier auprès du serveur SMTP :
    smtp.password=
    
    Ce paramètre défini le mot de passe a utiliser pour s'authentifier auprès du serveur SMTP qui sera utilisé par le front office pour envoyer les emails
  • L'adresse email qui sera utilisée pour envoyer les emails:
    smtp.fromEmail=example@domain.org
    
    Ce paramètre défini l'adresse email qui sera utiliser pour envoyer les emails
  • Le nom qui apparaitra dans les emails :
    smtp.fromName=Name firstName
    
    Ce paramètre défini le nom qui apparaitra comme expéditeur des emails envoyés par le front office.

Paramétrage des purges

  • Purge de la base des utilisateurs en attente de validation de numéro de téléphone :
    purge.pendingMember.seniorityDay=30
    
  • purge de la base des messages :
    purge.periodic.seniorityDay=120
    

Paramétrage des traitements asynchrones

  • La cron expression utilisée par la tache de supervision d'envoi des sms :
    quartz.superviseSmsSendingTrigger.cronExpression= 0 0 * * * ?
    
    NB : cette tache cron n'est plus vraiment utile.
    Ce paramètre défini l'expression cron qui est utilisée pour planifier la tache qui supervise l'envoi des SMS au back office.
  • La cron expression utilisée par la tache de purge des utilisateurs en attente de validation de numéro de téléphone :
    quartz.purgePendingMemberTrigger.cronExpression=0 0 3 1 *  ?
    
  • La cron expression utilisée par la tache de purge des messages :
    quartz.periodicPurgeTrigger.cronExpression=0 0 3 2 * ?
    
  • La cron expression utilisée par la tache d'envoi de mail aux utilisateurs dont le numéro de téléphone est en erreur :
    quartz.notificationByMailForInvalidPhoneTrigger.cronExpression=0 0 12 ? * MON
    

Test de connexion back office

  • Test de connexion avec le back office. En cas de succès, le nom de l'application cliente lue dans le certificat est retourné :
    welcome.isConnexionTested=false
    

Paramétrage Front Office – Back Office : Mise en place des certificats

Se reporter à la documentation Installation des certificats esup-smsu

Paramétrage des groupes PAGS

Déposez dans le dossier properties/groups le fichier de configuration des groupes pags PAGSGroupStoreConfig.xml
Ce fichier doit être le même que celui déposé au sein du portail.
Pour sa configuration, reportez-vous à la document disponible sur le site suivant :
http://www.esup-portail.org/consortium/espace/Socle_1A/gestion_groupes/serviceGroup/pags.html

Création de la base de donnée

Le back office nécessite un serveur de base de donnée MySQL en version 5.

Création du schéma en base de donnée

Pour créer le schéma de base de donnée : se connecter au serveur mysql en tant qu'administrateur et saisir le mot de passe

mysql -u root -p -e "create database smsu"

Un schéma nommé « smsu » est maintenant créé

Initialisation des tables en base de données

(nb : il faut configurer properties/config.properties avant d'effectuer cette étape)

Il faut premièrement configurer le compte par défaut ainsi que le premier super administrateur. Pour ce faire, éditer le fichier «utils/database/populate_tables_esup-smsu.sql», puis modifier les lignes suivantes

INSERT INTO account VALUES (1, "default account");

Il faut remplacer la valeur "default account" par le nom du compte par défaut (défini dans le fichier de configuration config.properties par la clef sms.defaultAccount

INSERT INTO customized_group VALUES (1, 1, 1, "admin", 1, 1, 1);

Il faut remplacer la valeur "admin" par le login de la personne qui sera administrateur.

A l'aide des scripts ant fournis avec le front office, créer les tables par la tache init-data

ant init-data

Nb : Aucune table ne doit être présente dans le schéma smsu au moment de l'exécution de cette commande sous peine d'échec.

Vérification des tables en base de données

Pour vérifier que les étapes précédentes se sont correctement déroulées : se connecter à la base de donnée et saisir le mot de passe :

mysql -u root -p smsu -e "show tables"

La liste des tables doit apparaître de la manière suivante :

+--------------------------+
| Tables_in_smsu           |
+--------------------------+
| account                  |
| b_user                   |
| b_vers_mana              |
| basic_group              |
| customized_group         |
| fonction                 |
| mail                     |
| mail_recipient           |
| message                  |
| pending_member           |
| person                   |
| recipient                |
| role                     |
| role_composition         |
| service                  |
| supervisor               |
| supervisor_sender        |
| template                 |
| to_mail_recipient        |
| to_recipient             |
+--------------------------+
20 rows in set (0.00 sec)

Déploiement de l'application

L'application se déploie par la tache ant deploy :

ant deploy

Ajouter l'application dans le contexte du serveur du portail par le biais du fichier server.xml

<Server port="8007" shutdown="SHUTDOWN">
 <!-- Global JNDI resources -->
 <GlobalNamingResources>
...
...
    <Context path="/esup-smsu" docBase="N:/outils/esup-2.6-esup-2.0.5/Portail/webapps/esup-smsu/" />
   </Host>
  </Engine>
 </Service>
</Server>

Intégration de l'applet au portail

La portlet du front office se déploie par le biais du gestionnaire de canaux.
La configuration utilisée est la suivante :

  • Aucune étiquette