Introduction
La plateforme Harmony offre la possibilité d'utiliser la suite G Suite de Google de manière similaire à Outlook, pour les entreprises possédant déjà un compte d'entreprise G Suite, ou désirant basculer vers la plateforme de Google.
Cette documentation vise à décrire le paramétrage nécessaire, aussi bien au niveau des outils Harmony que du compte d'entreprise G Suite.
Prérequis
Pour utiliser la plateforme G Suite de Google, il faut posséder un compte d'entreprise Google
Un tel compte peut être créé à l'adresse suivante : +https://support.google.com/business/answer/6085339?hl=fr+
Contrairement aux outils Google grand public, la suite professionnelle G Suite n'est pas gratuite. La tarification est à aborder avec Google à la souscription du compte d'entreprise.
Remarque
...
Les interfaces d'administration de la plateforme Google Cloud Platform sont susceptibles de changer pouvant quelque peu altérer les modes opératoires décrits dans cette documentation. Ancre
Projet
Création/Sélection d'un projet
L'autorisation et le paramétrage de l'accès au compte G Suite par les outils d'Harmony, se fait via un projet sur le compte G Suite de l'entreprise cliente.
Pour ce faire, il faut se connecter sur la plateforme d'administration du compte G Suite (https://console.cloud.google.com) en disposant des droits d'administration.
Le bandeau supérieur de la page d'administration permet de sélectionner le projet courant.
L'interface de sélection de projet permet de sélectionner un projet existant, ou de créer un nouveau projet.
N'importe quel projet peut être utilisé pour l'interfaçage entre Harmony et G Suite, cependant nous conseillons fortement de créer un projet spécifique dédié uniquement à cette fonction, notamment pour permettre au client de déléguer la gestion de ce projet à son distributeur, sans risque d'impacter ou de compromettre le reste de ses projets.
Pour plus de détails sur la création et la gestion des projets, se référer à la documentation Google https://cloud.google.com/resource-manager/docs/creating-managing-projects .
Ancre | ||||
---|---|---|---|---|
|
Principe
Afin de dialoguer avec G Suite, les outils Harmony vont devoir utiliser un compte de service.
Il s'agit d'un compte anonyme (non rattaché à un utilisateur), permettant de réaliser certaines opérations au nom de chaque utilisateur du domaine G Suite (dans la limite de ce que l'administrateur du projet aura autorisé pour ce compte).
Ancre | ||||
---|---|---|---|---|
|
Création d'un compte de service
...
Activation de l'accès aux API
...
Autorisations du compte de service
...
Google cloud
Un compte de service doit être créé pour être utilisé par Divalto Infinity dans le but d'interagir avec les API Google Cloud. Vous pouvez suivre cette procédure pour créer un nouveau compte de service. Il n'est pas nécessaire d'accorder des autorisations ou des rôles à ce niveau.
Après création du compte, vous pourrez procéder à la création d'une nouvelle paire de clés au format JSON. Ce fichier sera automatiquement mis à disposition en téléchargement, il doit être conservé de manière sécurisée.
Notez l'ID unique du compte de service qui vous servira pour l'étape suivante. Vous devez également activer la délégation au niveau du domaine G Suite pour ce compte.
...
Dans les menus d'administration du projet, sélectionner le menu "IAM et administration" puis le sous-menu "Comptes de service".
Choisissez ensuite "CRÉER UN COMPTE DE SERVICE".
Il faudra donner un nom de compte. Lors de la création, il faut cocher les options indiquer une nouvelle clé privée et activer la délégation G Suite au niveau du domaine (cette option est nécessaire pour que le compte de service puisse agir sur les comptes des utilisateurs pour envoyer des mails par exemple).
Lors de la création du compte de service, une clé de compte sera également créée, stockée sous forme de fichier au format JSON.
Une fois le compte créé, il apparait dans l'interface d'administration des comptes de service. C'est ici que l'on pourra trouver l'id du compte de service qui sera utile plus tard.
Pour plus de détails sur l'administration des comptes de service, se référer à la documentation Google Cloud Platform : +https://cloud.google.com/iam/docs/creating-managing-service-accounts+
Ancre | ||||
---|---|---|---|---|
|
Activation de l'accès aux API
L'interface entre Harmony et G Suite se fait au moyen d'API mises à disposition par Google, mais qu'il faut activer au niveau de la console d'administration du compte G Suite , ouvrir le sous-menu "Paramètres Avancés", puis sur "Gérer l'accès au client API".
C'est ici que l'on va associer les droits d'action au compte de service que nous avons créé plus dans les étapes précédentes.
Le compte de service est identifié grâce à son Id.
Dans la zone de saisie destinée à recevoir les droits, il faut énumérer chacun des droits, séparés par des virgules, mais sans espace.
...
Autorisation Spécifique
...
Url associée à l'autorisation
...
Lecture seule de l'agenda
...
https://www.googleapis.com/auth/calendar.readonly
...
Lecture seule des contacts
...
(https://admin.google.com)
Ceci se fait dans le menu "Sécurité" puis "Document de référence sur les API". Vérifier que l'accès aux API est bien activé (case à cocher).
Ancre | ||||
---|---|---|---|---|
|
Autorisations du compte de service
Une fois que l'accès aux API est activé, il faut maintenant configurer les droits d'actions dont le compte de service disposera sur le domaine.
Dans l'interface "Sécurité" de la console d'administration du compte G Suite, ouvrir le sous-menu "Paramètres Avancés", puis sur "Gérer l'accès au client API".
C'est ici que l'on va associer les droits d'action au compte de service que nous avons créé plus dans les étapes précédentes.
Le compte de service est identifié grâce à son Id.
Dans la zone de saisie destinée à recevoir les droits, il faut énumérer chacun des droits, séparés par des virgules, mais sans espace.
Autorisation Spécifique | Url associée à l'autorisation |
---|---|
Lecture seule de l'agenda | |
Lecture seule des contacts | |
Lecture seule des tâches | |
Lecture seule des mails | |
Lecture seule des utilisateurs | https://www.googleapis.com/auth/admin.directory.user.readonly |
Lecture seule des groupes et des membres des groupes | https://www.googleapis.com/auth/admin.directory.group.member.readonly, https://www.googleapis.com/auth/admin.directory.group.readonly |
Manipulation des mails | https://www.googleapis.com/auth/gmail.send, https://www.googleapis.com/auth/gmail.insert , https://www.googleapis.com/auth/gmail.metadata , https://www.googleapis.com/auth/gmail.compose , https://www.googleapis.com/auth/gmail.modify , |
Ancre | ||||
---|---|---|---|---|
|
Exemple :
...
Activation des API
Les API doivent maintenant être activées au niveau du projet.
Dans la console d'administration Google Cloud Platform (https://console.cloud.google.com/home), allez dans le menu "API et Services" puis le sous-menu "Bibliothèque".
Les API à
Les API à activer pour le lien avec Harmony sont les suivantes :
...
Il faut ensuite créer l'attribut personnalisé "DivaltoInfinityWinAccount" (cliquer sur "Ajouter un attribut personnalisé"). Saisir le nom (DivaltoInfinityWinAccount) dans les champs Catégorie et Nom du nouvel attribut à créer. On peut aussi saisir une Description.
Cet attribut devra avoir les propriétés suivantes :
Type d''information | Texte |
Visibilité | Visible pour l'utilisateur et l'administrateur |
Nombre de valeurs | Plusieurs valeurs |
Ancre | ||||
---|---|---|---|---|
|
...
Il faut maintenant permettre au serveur d'application Harmony de récupérer et exploiter ces nouvelles informations.
Pour cela, il faut lancer le programme diva xdivaltoparammapigsuite.dhop.
Ce programme va lire la liste des utilisateurs G Suite et extraire les comptes Windows associés à chaque utilisateur (en accédant à l'attribut personnalisé qui a été paramétré dans les étapes précédentes).
Il est nécessaire de renseigner un compte d'utilisateur G Suite (service@diva.com dans la capture ci-dessus). Ce compte DOIT disposer des droits d'accès en lecture aux informations des utilisateurs.
Pour autant, ce compte n'a pas besoin de droits d'administration, et non recommandons de ne pas utiliser un compte d'administration pour cette opération.
Remarque :
Les opérations décrites dans cette section rendent obsolète la Saisie des comptes G Suite dans Divalto Infinity.
Si des comptes G Suite ont déjà été renseignés dans l'ERP par des utilisateurs, il est conseillé que ceux-ci suppriment les paramètres qu'ils ont saisis car il pourrait y avoir conflit avec les DivaltoInfinityWinAccount du compte G Suite.
Ancre | ||||
---|---|---|---|---|
|
Dialogue entre le module CRM de Divalto ERP et G Suite
Le dialogue entre le module CRM de Divalto ERP et G Suite est possible (ex: création de rdv, envoi de mails, l'erp n’utilise pas les tâches mais le module Harmony permet leur création)
Vous aurez toutefois quelques restrictions avec ce mode :
Calendrier / rdv , seul les propriétés de base sont supportées, vous ne pourrez pas rajouter des propriétés spécifiques à outlook comme la prise de rdv teams, etc … (vous aurez probablement des propriétés outlook sans correspondance pour gsuite)
Dans les taches, il n'y a que le la date d'échéance de la tâche qui existe et seul la partie date est prise en compte ( il n'y a pas l'heure)
Vous n’avez pas non plus de notion de date début/fin, juste la date de création de la tâche
Dans les contacts, la définition de la photo du contact n’est pas prise en charge
L'envoi de mail est limité a 1500 mails par jour et par utilisateur, la lecture de la date d'envoi du mail n’est pas prise en charge
Ci-dessous un exemple de code Diva pour faciliter les tests et compréhension dans ce contexte
Bloc de code |
---|
;envoi de mail par mapi
NewMess = MapiCreateMessage("sujet : test html","Le texte est dans le fichier joint")
MapiSetExtendedText(NewMess ,fic,MAPI_BODY_AS_FILE + MAPI_TXT_HTML )
MapiAppendAddress(NewMess,MAPI_MAIL,"test@domaine.fr",MAPI_TO)
MapiSendMessage(NewMess)
MapiDeleteMessage(NewMess)
;ou
i = MapiOpen
i = MapiSend(MAPI_INTERNET, \ ; type de l'adresse
"test", \ ; sujet (max 255 c)
"simple test", \ ; texte (max 8191 c)
"mettre ici une adresse internet", \ ; adresse ( max 16 adresses)
"liste de fichiers") ; fichier(s) ( max 16 fichiers mais chaque nom de fichier ne
i = MapiClose
et avec le module youtlook
include "zyoutlook.dhsp"
module "youtlook.dhop"
i = OutlookOpen
;creation d'un contact
OutlookCreateMessage(olContactItem)
OutlookAddProp ("FirstName" ,"firstname")
OutlookAddProp ("LastName" ,"lastname")
OutlookAddProp ("FullName" ,"fullname")
OutlookAddProp ("Email1Address" ,"adr@domaine.fr")
OutlookAddProp("Email1AddressType" ,"SMTP")
OutlookAddProp("BusinessTelephoneNumber" ,"businesstelephonenumber")
OutlookAddProp("BusinessAddressStreet" ,"businessaddressstreet")
OutlookAddProp("BusinessAddressCity" ,"businessaddresscity")
OutlookAddProp("BusinessAddressPostalCode","businessaddresspostalcode")
OutlookAddProp("JobTitle" ,"directeur")
OutlookAddProp("CompanyName" ,"papyrus")
OutlookEndCreate(Outlook_SAVE)
OutlookExecuteMessage
;creation d'une tache
OutlookCreateMessage(olTaskItem)
OutlookAddProp("Subject",Sujet)
;ca n'existe pas dans gsuite , on met juste cet info dans la partie
;link (infos suplémebntaires) de la tâche
OutlookAddProp("Start",DateDebut,Heuredebut,PropDate)
............
OutlookAddProp("Categories","Divalto")
OutlookEndCreate(Outlook_SAVE)
OutlookExecuteMessage
;creation d'un rdv
OutlookCreateMessage(olAppointmentItem)
OutlookAddProp("MeetingStatus",olNonMeeting)
OutlookAddProp("Subject",Sujet)
OutlookAddProp("Start",DateDebut,HeureDebut,PropDate)
OutlookAddProp("End",DateFin ,HeureFin,PropDate)
OutlookAddProp("Importance",olImportanceHigh)
...............
OutlookAddProp("Body",NoteTexte.name," ",PropFileLoad)
OutlookAddProp("ReminderSet", 1, " ", Propbool)
OutlookAddProp("ReminderMinutesBeforeStart",45)
OutlookAddProp("Categories","Divalto")
OutlookEndCreate(Outlook_SAVE)
OutlookExecuteMessage
i = OutlookClose |