Canal SMS
Installation

1. Principe
2. Installation
  2.1. Recopie des librairies utilisées
  2.2. Configuration du Canal
    2.2.1. Configuration générale du Canal
  2.3. Déploiement du Canal

# 1. Principe

L’envoi des messages au travers le portail se fait au moyen d’un service de multidiffusion de messages mis en place par France Télécom R&D (FTR&D).

Le service de multidiffusion de FTR&D permet à un service applicatif (dans notre cas, il s’agit de ESUP Portail), d’envoyer des messages de type courriel, fax, message vocal et SMS via un Web Service. Le service permet l’envoi d’un message grâce à une simple requête leur serveur. Dans notre cas, seul le mode d'envoi de SMS est utilisé.

Pour tout renseignement concernant les modalités d'utilisation de ce service, veuillez me contacter.

# 2. Installation

L'installation du Canal SMS se repose sur les actions suivantes:

- Recopie éventuelle de la librairie utilisée

- Configuration du Canal

- Déploiement du Canal

## 2.1. Recopie des librairies utilisées

Ce canal utilise la librairie :

- mail.jar

Cette librairie est fournie par défaut avec le package uPortal esup. Il n'est donc pas nécessaire de l'ajouter manuellement à la librairie de votre portail. Cependant, les anciennes versions du portail utilisent une version trop ancienne de mail.jar. Si vous rencontrez des problèmes de "ClassNotFound" lors de l'utilisation de ce canal, voyez à remplacer le mail.jar de la distribution esup par celui fourni avec le canal.

## 2.2. Configuration du Canal

### 2.2.1. Configuration générale du Canal

La configuration générale du Canal SMS se fait via le fichier properties/CSms.xml.

#### 2.2.1.1. Structure générale

La structure générale du fichier de configuration du canal est la suivante:

    <properties>

    	<!-- ************************************ -->
    	<!-- Serveur d'envoi de SMS et parametres -->
    	<!-- ************************************ -->

    	<sms_cust_id/>			<!-- L'id de client -->
    	<sms_cert/>			<!-- Le certificat -->
    	<sms_trust_store/>		<!-- Le trusted store -->
    	<sms_store_password/>		<!-- Le mot de passe du certificat -->
    	<sms_strategy/>			<!-- La strategie -->
    	<sms_size/>			<!-- Nombre de caracteres que peut contenir un SMS -->
    	<sms_from/>			<!-- Dit de qui ca vient (par exemple "De" ou "From") -->
    	<sms_from_activation/>		<!-- Emetteur lors de l'envoi du code d'activation -->
    	<sms_subject_activation/>	<!-- Sujet du message lors de l'envoi du code d'activation -->
    	<sms_message_activation/>	<!-- Message lors de l'envoi du code d'activation (ce qui precede le code d'activation) -->

    	<!-- ************************ -->
    	<!-- Serveur d'envoi de mails -->
    	<!-- ************************ -->

    	<mail_url/>		<!-- URL du serveur smtp -->

    	<!-- ************* -->
    	<!-- Acces au LDAP -->
    	<!-- ************* -->

    	<ldapUrl/>		<!-- URL du serveur LDAP -->
    	<loginLdap/>		<!-- Compte pour la lecture des attributs du telephone mobile -->
    	<passwordLdap/>		<!-- Mot de passe d'acces -->
    	<ldapGroups/>		<!-- Branche des groupes dans le LDAP -->
    	<ldapPeople/>		<!-- Branche people dans le LDAP -->
    	<filtreInstituts/>	<!-- Filtre permettant de retrouver les institus -->
    	<filtreFormations/>	<!-- Filtre permettant de retrouver les differentes formations -->

    	<!-- ********************************************** -->
    	<!-- Attributs LDAP contenus dans le PersonDirs.xml -->
    	<!-- ********************************************** -->

    	<mobile_attribute/>		<!-- Attribut qui contient le numero de telephone d'une personne au format international. Par exemple +33 6 00 00 00 00 -->
    	<contact_mode_attribute/>	<!-- Attribut qui contient le mode de contact choisi par l'utilisateur -->
    	<mail_attribute/>		<!-- attribut qui contient le mail de l'utilisateur -->
    	<display_name_attribute/>	<!-- Attribut qui contient le nom complet d'un user -->

    	<!-- **************************** -->
    	<!-- Fichier de logs pour les SMS -->
    	<!-- **************************** -->

    	<logFile/>	<!-- Chemin complet du fichier dans lequel on ecrit les logs d'envoi des SMS -->

    </properties>

Nous pouvons voir apparaître en caractères gras les options de configuration qui doivent être éditées par l'administrateur du portail.

Voyons en détail ces différentes parties:

#### 2.2.1.2. Paramètres d'envoi de SMS

sms_cust_id

  Votre custId qui vous a été fourni par FT.

sms_cert

  Certificat client qui vous a été fourni par FT. Exemple: "keyStore.jks". Ce fichier doit être copié dans le dossier properties/SSL.

sms_trust_store

  Fichier pour la chaîne de confiance qui vous a été fourni par FT. Exemple: "trustStore.jks". Ce fichier doit être copié dans le dossier properties/SSL.

sms_store_password

  Le mot de passe du certificat.

sms_strategy

  La stratégie France Telecom utilisée pour l'envoi des messages.

sms_size

  Taille maximale pour un SMS (160 par défaut).

sms_from

  Label qui permet de dire de qui vient le message. Par défaut "De", afin de construire le SMS "De John Doe.....".

sms_from_activation

  Lors de l'envoi du code d'activation à l'utilisateur, on précise de qui vient le message. Préciser donc ici par exemple le nom de votre université.

sms_subject_activation

  Le sujet du message lors de l'envoi du code d'activation via SMS. Par défaut "Code d'activation".

sms_message_activation

  La partie du corps du message qui précèdera le code lors de l'envoi du code d'activation. Par défaut "Votre code d'activation est".

#### 2.2.1.3. Paramètres d'envoi de courriels

Dans cette version, nous utilisons un serveur POP qui ne requiert pas d'authentification. Par la suite, nous verrons à utiliser le canal mailTo en mode servant.

mail_url

  Adresse du serveur POP pour l'envoi du message en mode courriel.

#### 2.2.1.4. Accès au serveur LDAP

ldapUrl

  L'url du serveur ldap. Typiquement cet attribut est de la forme ldap://ldap.univ.fr:389

loginLdap

  DN du compte LDAP permettant de lire tous les attributs des utilisateurs cités dans la partie "Attributs uPortal".

passwordLdap

  Mot de passe du compte cité précédemment.

ldapGroups

  Branche du LDAP contenant les groupes. Exemple "ou=groups,dc=univ,dc=fr"

ldapPeople

  Branche du LDAP contenant les personnes. Exemple "ou=people,dc=univ,dc=fr"

filtreInstituts

  Filtre permettant de retrouver la liste des instituts de l'université. Par exemple "(&amp;(&amp;(objectClass=uvhcGroup)(uvhcGroupeType=institut))(uvhcGroupeOrigine=APO))". Notez qu'il faut encoder le caractère "&" en "&amp;" dans le fichier de config.

filtreFormations

  Filtre permettant de retrouver la liste des formations de l'université. Par exemple "(&amp;(&amp;(objectClass=uvhcGroup)(uvhcGroupeType=codeEtape))(uvhcGroupeOrigine=APO))".

#### 2.2.1.5. Attributs uPortal

mobile_attribute

  Attribut contenant le numéro de cellulaire des utilisateurs.

contact_mode_attribute

  Attribut de type string qui contient le mode de réception des messages.

mail_attribute

  Contient l'adresse courriel des utilisateurs.

display_name_attribute

  Contient le nom complet d'un utilisateur.

#### 2.2.1.6. Paramètres de log

logFile

  Afin de garder une trace du nombre de SMS envoyés par utilisateur avec la date d'envoi, nous générons un fichier de logs. Il est nécessaire de renseigner le chemin complet de ce fichier à cet endroit. Exemple "C:\sms.log"

## 2.3. Déploiement du Canal

Préparation du déploiement : modifier le fichier build.properties en fonction de la version de portail que vous utilisez. Lancez la commande

ant deploy

relative au fichier build.xml contenu dans le package.

Lors de la publication, l'administrateur devra déclarer deux fois le canal avec des paramètres différents:

- Pour l'accès en mode de configuration du mode de réception des messages, il faudra déclarer l'attribut channelMode avec la valeur profil

- Pour l'accès en mode d'envoi des messages, il faudra déclarer l'attribut channelMode avec la valeur envoi