Fonctionnalités d’inscription et de récupération de compte

Ce document décrit le fonctionnement et la mise en place des fonctionnalités d’inscription et de récupération de mots de passe.

Fonctionnement

Nos applications peuvent désormais être ouvertes au public.

Il existe deux fonctionnements pour l’inscription :

  • classique : l’utilisateur s’inscrit et confirme lui-même son adresse mail.
  • contrôlé : l’utilisateur s’inscrit et attend qu’un administrateur valide sa demande.

Fonctionnement classique

../_images/_inscription_classique.jpgclassique-sequence

Fonctionnement contrôlé

../_images/_inscription.jpgcontrole-sequence

Récupération de compte

../_images/_forgotten_password.jpgfpwd-confirm

Mise en place

L’activation de ces fonctions se fait via les properties de l’application.

Paramétrage dans properties.inc

Vous pouvez passer par l’interface et paramétrer cette partie via le formulaire (section Configuration)

../_images/config-form.JPGconfig-form

Vous pouvez également intervenir sur le serveur en ajoutant/modifiant ces deux lignes dans le fichier properties.inc qui se trouve dans VAS/rest/conf

$properties["sign_up"] = "enabled";
$properties["password_forgotten"] = "enabled";

Paramétrage dans properties_server.inc

Pour paramétrer cette partie, vous serez obligé d’intervenir directement sur le serveur, en modifiant le fichier properties_server.inc qui se trouve dans VAS/rest/conf

Il vous faut maintenant configurer le compte qui créera les comptes dans votre base postgresSQL (assurez-vous que ce compte puisse créer des rôles de connexion) :

$properties['db_superuser_login'] = 'XXXX';
$properties['db_superuser_pass'] = 'XXXX';

Il vous faudra également configurer une connexion SMTP pour envoyer les mails (ATTENTION : ces properties existent aussi dans GTF ; pensez à les commenter pour que GTF utilise les properties de Vitis) :

$properties['mail_sender'] = 'XXXX@gmail.com';
$properties['nickname_sender'] = 'Veremes';
$properties['smtp_host'] = 'smtp.gmail.com';
$properties['smtp_port'] = 587;
$properties['smtp_authentification'] = true;
$properties['smtp_login'] = 'XXXX@gmail.com';
$properties['smtp_password'] = 'XXXX';

Il vous faut aussi définir le fonctionnement (classique ou contrôlé) :

$properties['automated_sign_up'] = true; // true pour 'classique' false pour 'controlé'

Pour finir, vérifiez que vous avez bien ces properties :

//adresse mail de l'admin pour le fonctionnement controlé
$properties["admin_sign_up"] = "anthony.borghi@veremes.com";
//clé du captcha google
$properties["google_private_captcha"] = "6LdWLR8UAAAAAPE5wdl7hHJsmFxxrcmR5fZhApG2";
//liste des privilèges à donner aux nouveaux inscrits (vitis_user est donné par défaut)
$properties['sign_up_automated_roles'] = array('vmap_user', 'gtf_user');

Modification de l’interface

Une fois la configuration terminée, l’interface de connexion de votre application doit afficher deux nouveaux boutons :

../_images/login.JPGlogin-form

Personnalisation du template de mail

Personnaliser vos mails nécessite une certaine connaissance des langages HTML, Javascript, et PHP. Dans le cas où vous ne connaîtriez pas ces langages de programmation, nous pouvons le faire durant une prestation, qui vous sera facturée.

Lors de la mise à jour de votre application, ce fichier sera écrasé par la nouvelle version de notre template. Nous vous conseillons donc de garder une sauvegarde de votre travail en dehors de l’application.

Par défaut, l’application utilise ce template de mail :

../_images/mail-confirm.JPGmail-confirm

Pour personnaliser vos mails, il faut retoucher le fichier Accounts.class.mail.inc.

Dans ce fichier, vous trouverez un tableau contenant plusieurs clés :

  • newUserTitle : Objet et titre du mail en mode ‘contrôlé’.
  • newUserTitleAutomated : Objet et titre du mail en mode ‘classique’.
  • newUserBody : Corps du mail d’inscription. Ce texte contiendra certaines données qui remplaceront les clés suivantes :
    • TITLE : Titre précédemment défini.
    • HOSTNAME : Nom du serveur récupéré depuis les properties.
    • LOGIN : Login de l’utilisateur ayant fait la demande.
    • MAIL : Adresse mail de l’utilisateur ayant fait la demande.
    • COMPANY : Entreprise de l’utilisateur ayant fait la demande.
    • URL : URL vers l’API rest pour permettre l’inscription (nécessaire au fonctionnement de la fonctionnalité).
  • confirmationSignUpTitle : Objet du mail de confirmation d’inscription.
  • genericBody : Mise en forme du corps. Il doit comporter une balise :
    • MESSAGE : Sera remplacé par le corps du mail souhaité (nécessaire au fonctionnement de la fonctionnalité).
  • SignUpOk : Corps du mail de confirmation d’inscription, si l’inscription a réussi (Mode contrôlé, reçu par l’admin).
  • SignUpError : Corps du mail de confirmation d’inscription, si l’inscription a échoué (Mode contrôlé, reçu par l’admin).
  • signUpConfirmation : Corps du mail de confirmation d’inscription, si l’inscription a réussi (Mode contrôlé, reçu par l’utilisateur).
  • fpwdTitle : Objet et titre du mail de récupération de compte.
  • fpwdUpdateOk : Affiché si le mot de passe a pu être mis à jour.
  • fpwdUpdateError : Affiché si le mot de passe n’a pas pu être mis à jour.
  • alreadyUpdate : Affiché si l’utilisateur réutilise le même mail pour changer une deuxième fois son mot de passe.
  • fpwdBody : Corps du mail envoyé à l’utilisateur pour changer son mot de passe. Ce texte contiendra certaines données qui remplaceront les clés suivantes :
    • HOSTNAME : Nom du serveur récupéré depuis les properties.
    • LOGIN : Login de l’utilisateur ayant fait la demande.
    • URL : URL vers l’API pour accéder au formulaire de récupération de mot de passe (nécessaire au fonctionnement de la fonctionnalité).
  • fpwdForm : Contient le formulaire permettant le changement de mot de passe. Ce texte contiendra certaines données qui remplaceront les clés suivantes :
    • URL : URL vers l’API pour finaliser la récupération de mot de passe (nécessaire au fonctionnement de la fonctionnalité).
    • TOKEN : Remplacé par le token (token de la session contenant les informations de la demande de récupération de compte) dans le formulaire pour pouvoir l’envoyer au serveur lors de la validation du formulaire (nécessaire au fonctionnement de la fonctionnalité).
  • passwordScript : Javascript utilisé pour la récupération de compte (vérification de concordance entre les deux mots de passe).
  • mainBody : Corps principal du mail, sur l’image ci-dessus c’est le fond, ainsi que le logo Veremes en haut, et tout ce qui est sous le bandeau multicolore en bas. Ce template doit contenir certaines clés :
    • CONTENT : Remplacé par genericBody (nécessaire au fonctionnement de la fonctionnalité)
    • SCRIPT : Remplacé par le JavaScript (nécessaire au fonctionnement de la fonctionnalité)