Changes

Jump to navigation Jump to search
m
Line 1: Line 1:  +
<!-- BEGIN interlang links -->
 +
<!-- Do NOT edit this section
 +
    Links below are automatically managed by PolyglotBot
 +
    You can edit links on the English source page : Module_Google -->
 +
[[en:Module_Google]]
 +
[[es:Módulo_Google]]
 +
<!-- END interlang links -->
 +
 
[[Category:Modules complémentaires]]
 
[[Category:Modules complémentaires]]
 
[[Category:Google]]
 
[[Category:Google]]
Line 4: Line 12:  
{{TemplateDocDev}}
 
{{TemplateDocDev}}
 
{{TemplateDocUtil}}
 
{{TemplateDocUtil}}
<keywords content="Google, Dolibarr, synchro, synchronisation, interface, calendrier, contacts, adresses, map, maps, plan, carte, évènements, agenda" />
+
<seo metak="Google, Dolibarr, synchro, synchronisation, interface, calendrier, contacts, adresses, map, maps, plan, carte, évènements, agenda" />
 
= Informations =
 
= Informations =
 
{{TemplateModuleInfo
 
{{TemplateModuleInfo
Line 13: Line 21:  
|status=stable
 
|status=stable
 
|prerequisites=
 
|prerequisites=
|minversion=3.4.1+
+
|minversion=3.9+
 +
- Votre instance doit être sur une URL sécurisée (elle doit commencer par https:// et non par http://)
 +
 
 
- Avoir le module PHP openssl activé. Pour vérifier cela, aller dans accueil - information système - PHP et faire une recherche sur "openssl". Si vous ne trouvez pas, le module n'est pas installé.
 
- Avoir le module PHP openssl activé. Pour vérifier cela, aller dans accueil - information système - PHP et faire une recherche sur "openssl". Si vous ne trouvez pas, le module n'est pas installé.
   Line 19: Line 29:     
- Avoir le module PHP curl activé. Pour vérifier cela, aller dans accueil - information système - PHP et faire une recherche sur "curl". Si vous ne trouvez pas, le module n'est pas installé.
 
- Avoir le module PHP curl activé. Pour vérifier cela, aller dans accueil - information système - PHP et faire une recherche sur "curl". Si vous ne trouvez pas, le module n'est pas installé.
 +
 +
- Pour utiliser les fonctions Maps et le service de geoencodage, vous devez activer la facturation sur votre compte Google. Le prix est de 0.005 € par adresse.
 
|note=
 
|note=
 
}}
 
}}
Line 70: Line 82:  
Ensuite, vous devez configurer et entrer les clés API fournies par Google. Ceci se fait en plusieurs étapes.
 
Ensuite, vous devez configurer et entrer les clés API fournies par Google. Ceci se fait en plusieurs étapes.
   −
1) Trouver le Google Agenda ID de votre calendrier. Il peut etre trouvé en allant sur la page de paramétrage des agendas Google de la manière suivante:
+
 
 +
1) Dans un premier temps, vous devez également activer l'API pour votre compte Google. Pour cela, aller sur la page {{ModuleGoogleUrlToCreateApiAccount}}. Cliquez pour "Activer API" pour "API Calendrier".
 +
 
 +
 
 +
2) Trouver le Google Agenda ID de votre calendrier. Il peut etre trouvé en allant sur la page de paramétrage des agendas Google de la manière suivante:
 
# Se Connecter à http://calendar.google.com
 
# Se Connecter à http://calendar.google.com
 
# Cliquer sur le lien "Parametres"
 
# Cliquer sur le lien "Parametres"
Line 77: Line 93:  
[[File:Find your Google Calendar or Agenda ID.png|400px]]
 
[[File:Find your Google Calendar or Agenda ID.png|400px]]
   −
Renseignez cet ID dans le champ "Agenda ID" de la page de configuration de Dolibarr.
+
Renseignez cet ID dans le champ "Agenda ID" de la page de configuration de Dolibarr. C'est vers cet agenda que seront synchronisé tous les évènements.
 +
 
 +
Vous pouvez toutefois laisser ce champ vide et renseigner à la place l Agenda ID cible au niveau de la fiche de chaque utilisateur (dans l'onglet "Google setup" ou "Configuration Google" de la fiche utilisateur). Chaque utilisateur pouvant avoir son propre agenda. Dans ce cas, c'est le propriétaire de l'événement Dolibarr qui sera utilisé pour connaitre l'agenda cible de la synchronisation. Chaque événement Dolibarr ne peut donc aller que vers un seul agenda (si il y a plusieurs utilisateurs affectés à l événement, ce sera le propriétaire qui sera déterminant). Notez aussi que dans ce cas, l'étape 5 doit être faite pour chaque compte google.
 +
 
 +
 
 +
3) Vous devez créer un compte/email de service sur la page {{ModuleGoogleUrlToCreateApiAccount}}, menu "Identifiants". Cliquez sur "Créer un identifiant" et choisissez "Compte de service", puis choisir le format "P12" puis "Créer". Vous obtiendrez:
 +
* un nouveau compte de service avec un client ID de ce compte de service client et un e-mail de ce compte de service. Vous devez ici récupérer l''''e-mail''' du compte de service.
 +
* Un fichier .p12 a aussi du se télécharger. On utilisera ce fichier téléchargé à l'étape suivante.
 +
 
 +
Note: Que vous ayez mis à l'étape 2 un seul compte Google cible pour la synchronisation ou 1 sur chaque fiche utilisateur, vous n'aurez toujours qu'un seul compte de service à créer. Par contre ce compte devra avoir les droits sur tous les comptes des autres (voir étape 5)
   −
2) Vous devez créer un compte/email de service sur la page https://code.google.com/apis/console/, menu "API et authentification" -> "Identification". Cliquez sur "Créer un ID client" et choisissez "Compte de service", puis "Créer". Vous obtiendrez un nouveau compte de service avec un client ID de ce compte de service client et un e-mail de ce compte de service. Vous devez ici récupérer l'e-mail du compte de service.
+
Il est aussi possible de créer un compte de service par la page {{ModuleGoogleUrlToCreateApiAccountBis}}.
   −
Note: Une fenêtre de téléchargement d'un fichier peu avoir apparue. On utilisera ce fichier téléchrgé à l'étape suivante.
     −
3) Une fois que vous avez-vous créé votre compte/email de service (voir les points précédents), vous devez télécharger le fichier de p12 de sécurité (ou utilisez celui téléchargé à l'étape précédente). Retournez sur https://code.google.com/apis/console/ et sélectionnez "API et authentification" -> "Identification". Cliquez ensuite sur "Générer une clé de p12" pour télécharger le fichier sur votre bureau.  
+
4) Soumettez l'email du compte de service ainsi que le fichier .p12 sur la page de configuration du module sous Dolibarr, onglet "Synchro vers Google Agenda".
   −
Ensuite, soumettez le au formulaire de la page de configuration du module sous Dolibarr.
     −
4) Vous devez également activer l'API pour votre compte Google. Pour cela, aller sur la page https://code.google.com/apis/console/, menu "API et authentification" -> "API". Cliquez pour activer API pour "API Calendrier".
+
5) Vous devez également partager l'agenda (toutes permissions) avec le compte/email de service (créé à l'étape 2): Pour cela, allez dans le calendrier Google, choisissez "'''Paramètres et Partage'''" depuis le menu déroulant à droite du nom de l'agenda dans la zone '''"Mes Agendas"''' (Prendre le même que la paramètre ID Agenda de l'étape 1), puis "'''Partager avec des personnes en particulier'''". Puis ajouter l'email du compte de service dans le champ, choisissez la permission "Modifier les événements" et valider.
   −
5) Vous devez également partager l'agenda (toutes permissions) avec le compte/email de service (créé à l'étape 2): Pour cela, allez dans le calendrier Google, choisissez "Paramètres" puis l'onglet "Agenda" (ou accès en direct avec ce lien https://www.google.com/calendar/render?tab=mc#i). Cliquez sur le lien «Paramètres de Partage" à la fin de la ligne de l'Agenda à synchroniser (Ce doit être le même ID agenda que la paramètre ID Agenda de l'étape 1). Puis ajouter l'email du compte de service dans le champ, choisissez la permission "Modifier les événements" et valider en cliquant sur "Ajouter un utilisateur".
+
Avec Google Suite (non requis pour le compte gmail standard), les autorisations proposées peuvent être forcées sur "Lecture seule" au lieu de "Modifier". Pour résoudre ce problème, aller sur {{GoogleURLToSetupCalendarAppSharing}} et vérifiez que l'option de partage d'application de l'Agenda permet de partager avec les comptes de service externe.  
Avec Google Apps for Wroks (non requis pour le compte gmail standard), les autorisations peuvent être forcées sur "Lecture seule" au lieu de "Modifier". Pour résoudre ce problème, aller sur https://admin.google.com/AdminHome#AppDetails:service=Calendar&flyout=sharing et vérifiez que l'option de partage d'application de l'Agenda permet de partager avec les comptes de service externe.  
   
[[File:Warning.png]] Si ce n'est pas le cas, corriger, mais un délai de 24h peut être nécessaire pour être en mesure de revenir et de terminer l'étape 5.
 
[[File:Warning.png]] Si ce n'est pas le cas, corriger, mais un délai de 24h peut être nécessaire pour être en mesure de revenir et de terminer l'étape 5.
 +
    
Une fois que toutes les point ont été traités, vous pouvez utiliser le bouton pour faire un test de synchronisation. Cliquez dessus pour faire un test.
 
Une fois que toutes les point ont été traités, vous pouvez utiliser le bouton pour faire un test de synchronisation. Cliquez dessus pour faire un test.
 +
    
'''TroubleShooting'''
 
'''TroubleShooting'''
Line 101: Line 125:  
* Si vous recevez l'erreur "ERROR Error calling POST https://www.googleapis.com/calendar/v3/calendars/yourcalendarid/events: (403) Forbidden": Vérifiez que l'étape 5 a été fait et que la permission accordée est lire et écrire et non lire seulement.
 
* Si vous recevez l'erreur "ERROR Error calling POST https://www.googleapis.com/calendar/v3/calendars/yourcalendarid/events: (403) Forbidden": Vérifiez que l'étape 5 a été fait et que la permission accordée est lire et écrire et non lire seulement.
   −
* [[File:Warning.png]] Note: Une erreur possible est que Google refuse l'accès, même si votre configuration est correcte, simplement parce que le serveur hôte que Dolibarr est situé dans un autre pays/région que le pays/région où vous utilisez Google Apps en général.
+
* [[File:Warning.png]] Note: Une erreur possible est que Google refuse l'accès, même si votre configuration est correcte, simplement parce que le serveur hôte que Dolibarr est situé dans un autre pays/région que le pays/région où vous utilisez Google Suite en général.
 
Pour vérifier si Google a verrouillé votre accès pour cette raison, aller sur la page https://security.google.com/settings/security/activity?hl=fr après l'échec.
 
Pour vérifier si Google a verrouillé votre accès pour cette raison, aller sur la page https://security.google.com/settings/security/activity?hl=fr après l'échec.
 
Si il apparaît que Google a bloqué les tentatives d'accès à partir d'un endroit inhabituel, accepter cette tentative. Ensuite, vous devez attendre 24 heures pour essayer de nouveau.
 
Si il apparaît que Google a bloqué les tentatives d'accès à partir d'un endroit inhabituel, accepter cette tentative. Ensuite, vous devez attendre 24 heures pour essayer de nouveau.
Line 107: Line 131:  
* [[File:Warning.png]] Note: Une autre erreur possible est que Google refuse l'accès, même si votre configuration est correcte, parce que vous avez activé l'option Google validation en 2 étapes. Pour vérifier si vous avez effectivement activé cette option, aller à la page: {{GoogleURLToSetup2StepValidation}}
 
* [[File:Warning.png]] Note: Une autre erreur possible est que Google refuse l'accès, même si votre configuration est correcte, parce que vous avez activé l'option Google validation en 2 étapes. Pour vérifier si vous avez effectivement activé cette option, aller à la page: {{GoogleURLToSetup2StepValidation}}
   −
Si dans "validation en deux étapes," vous avez "On", le problème est trouvé. Vous n'avez pas besoin de désactiver l'option. Vous pouvez résoudre le problème comme suit: Cliquez sur '''Modifier''' à côté du titre de la "validation en deux étapes." Cliquez sur le lien "Gérer les mots de passe spécifiques aux applications". Entrez un nom, par exemple "Google Accès Dolibarr" et validez. Un mot de passe sera fourni. Retour à la page de configuration du module de Google Dolibarr et entrer ce mot de passe dans la page de configuration du module, à la place de votre mot de passe habituel, puis cliquez sur '''Enregistrer'''. Réessayez la synchronisation de test.
+
Si dans "validation en deux étapes," vous avez "On", le problème est trouvé. Vous n'avez pas besoin de désactiver l'option. Vous pouvez résoudre le problème comme suit: Cliquez sur le lien '''Mot de passe d'application''' près de "validation en deux étapes." Cliquez sur le lien "Gérer les mots de passe spécifiques aux applications". Entrez un nom, par exemple "Dolibarr" et validez. Un mot de passe sera généré par Google. Retournez à la page de configuration du module Google Dolibarr, et entrer ce mot de passe dans la page de configuration du module, à la place de votre mot de passe habituel, puis cliquez sur '''Enregistrer'''. Réessayez la synchronisation de test.
    
* [[File:Warning.png]] Note: Une autre erreur possible est que Google refuse l'accès, même si votre configuration est correcte, parce que le serveur sur lequel tourne Dolibarr ou l'ordinateur avec lequel vous y accédez n'est pas à l'heure.
 
* [[File:Warning.png]] Note: Une autre erreur possible est que Google refuse l'accès, même si votre configuration est correcte, parce que le serveur sur lequel tourne Dolibarr ou l'ordinateur avec lequel vous y accédez n'est pas à l'heure.
    
== Configuration Google Contacts ==
 
== Configuration Google Contacts ==
Le module permet de réaliser une synchronisation de Dolibarr avec votre annuaire de contact Google.
+
Le module permet de réaliser une synchronisation de vos contacts Dolibarr avec votre annuaire Google contact. Les éléments pouvant être synchronisés sont:
Dans un premier temps, choisissez les éléments que vous voulez synchroniser. Vous pouvez choisir l'1 d'eux ou tous:
+
* Les tiers
 +
* Les adresses
 +
* Les adhérents du module Association
 +
La synchronisation ne peut se faire que vers un 1 compte Google, mais il est possible via les fonctions de partage Google que de nombreux autres utilisateurs ait accès aux contacts de ce compte.
 +
 
 +
 
 +
1) Dans un premier temps, vous devez activer l'API pour votre compte Google. Pour cela, aller sur la page {{ModuleGoogleUrlToCreateApiAccount}}. Cliquez pour "Activer API" pour "API Contact".
 +
 
 +
 
 +
2) Ensuite, allez sur la page de configuration du module Google dans Dolibarr et choisissez les éléments que vous voulez synchroniser. Vous pouvez choisir l'un d'eux ou tous:
 
* Tiers (si le module Tiers est activé)
 
* Tiers (si le module Tiers est activé)
 
* Contacts/Adresses (si le module Tiers est activé)
 
* Contacts/Adresses (si le module Tiers est activé)
 
* Adhérents (si le module Adhérents est activé)
 
* Adhérents (si le module Adhérents est activé)
 +
 +
Pour chaque type de synchro activé, renseigner le nom du libellé de groupe de votre choix. Ce groupe sera celui visible dans Google Contact qui regroupera toutes les fiches issues de Dolibarr. Le groupe sera créé dans Google Contact si il n'existe pas. Vous pouvez aussi utiliser un des libellés de groupes systèmes prédéfinis par Google comme: '''"System Group: My Contacts", "System Group: Friend", "System Group: CoWorker", "System Group: Family"'''
 +
 +
Notez aussi que seul le groupe système prédéfini '''"System Group: My Contacts"''' est partagé par la fonction "Delegation de contacts" de Google contact (Google Apps for Work). Aussi, si vous désirez partager votre annuaire Google pour que d'autres voient cet annuaire, il vous faut mettre vos fiches Dolibarr dans ce groupe. Elles ne doivent être mise dans un groupe autre dans ce cas.
    
Ensuite, renseignez les informations suivantes:
 
Ensuite, renseignez les informations suivantes:
   −
1) Le compte google (exemple myaccount@gmail.com ou myname@mycompany.com)
     −
2) Le Google Client ID et le Google Client Secret. Vous pouvez créer votre Google Client ID et Secret depuis la page https://code.google.com/apis/console/, menu "API & Authentication" -> "Identifiants". Cliquer sur "Créer un client ID" et choisir "Web Application", positionner "Allowed Javascript origin" à vide et positionner "URI de Redirection" sur la valeur proposée dans le champ "Note" sur la page de configuration. Ce doit être une valeur du genre http://mycompanydomain/.../google/oauth2callback.php
+
3) Le compte google (exemple myaccount@gmail.com ou myname@mycompany.com)
 +
 
 +
 
 +
4) Le Google Client ID et le Google Client Secret. Vous pouvez créer votre Google Client ID et Secret depuis la page {{ModuleGoogleUrlToCreateApiAccount}}, menu "API & Authentication" -> "Identifiants". Cliquer sur "Créer un client ID" et choisir "Web Application", positionner "Allowed Javascript origin" à vide et positionner "URI de Redirection" sur la valeur proposée dans le champ "Note" sur la page de configuration. Ce doit être une valeur du genre http://mycompanydomain/.../google/oauth2callback.php
 
Ensuite cliquer sur "Créer". Vous obtiendrez un nouveau Client ID et un Code secret du client.  
 
Ensuite cliquer sur "Créer". Vous obtiendrez un nouveau Client ID et un Code secret du client.  
   −
3) Recopier les valeurs du Client ID et du Code secret client sur la page de configuration du module Google de Dolibarr puis Enregistrer.
     −
4) Une alerte doit indiquer que vous n'avez pas encore de jetons Google sauvé dans votre base de donnée Dolibarr. Cliquez sur le lien sous le warning pour vous authentifier sur Google, et entrez vos identifiants/mot de passe Google si demandé (ceux en rapport avec le compte saisi à l'étape 1) et accepter toute confirmation. Vous allez revenir sur la page de configuration Dolibarr mais avec une valeur de jeton sauvé en base Dolibarr qui sera renseigné.
+
5) Recopier les valeurs du Client ID et du Code secret client sur la page de configuration du module Google de Dolibarr puis Enregistrer.
 +
 
 +
 
 +
6) Une alerte doit indiquer que vous n'avez pas encore de jetons Google sauvé dans votre base de donnée Dolibarr. Cliquez sur le lien sous le warning pour vous authentifier sur Google, et entrez vos identifiants/mot de passe Google si demandé (ceux en rapport avec le compte saisi à l'étape 2 et accepter toute confirmation. Vous allez revenir sur la page de configuration Dolibarr mais avec une valeur de jeton sauvé en base Dolibarr qui sera renseigné.
 +
 
 +
 
 +
7) Les boutons pour réaliser des test de synchronisation deviennent disponibles. Utilisez les pour faire des tests.
   −
Les boutons pour réaliser des test de synchronisation deviennent disponibles. Utilisez les pour faire des tests.
      
'''Troubleshooting'''
 
'''Troubleshooting'''
Line 147: Line 190:     
== Configuration fonction GMaps ==
 
== Configuration fonction GMaps ==
 +
 +
1) Dans un premier temps, vous devez activer l'API pour votre compte Google. Pour cela, aller sur la page {{ModuleGoogleUrlToCreateApiAccount}}. Cliquez pour "Activer API" pour "Google Maps Geocoding API" and "Google Maps JavaScript API".
 +
 +
2) Créer une clé API de type "Serveur". Vérifiez que les valeurs pour
 +
'''Restrictions relatives aux applications''' est sur '''Aucune'''
 +
'''Restrictions relatives aux API''' est sur '''Ne pas restreindre''', ou pour une meilleure sécurité, est sur Restreint aux 2 API '''Geocoding API''' et '''Maps JavaScript API'''.
 +
 +
Saisissez la valeur de cette clé API dans la page de configuration du module Google sur Dolibarr, onglet GMaps.
 +
 +
3) Vous devez activer la "facturation" des API sur votre compte Google (tarif de 0.005 € par adresse géo-encodée)
 +
 
=== Lien de localisation d'une adresse particulière ===
 
=== Lien de localisation d'une adresse particulière ===
 
Choisissez les éléments sur lesquels faire apparaître le picto GMaps après les adresses parmi les suivants:
 
Choisissez les éléments sur lesquels faire apparaître le picto GMaps après les adresses parmi les suivants:
Line 208: Line 262:  
[[File:screen_shot_google_address.png|border]]
 
[[File:screen_shot_google_address.png|border]]
 
</div>
 
</div>
 +
    
De plus, à partir de la version 3.4, vous avez aussi accès à une boite sur la page d'accueil présentant un lien pour voir l'ensemble de vos Tiers, ou Adhérents sur une même carte.
 
De plus, à partir de la version 3.4, vous avez aussi accès à une boite sur la page d'accueil présentant un lien pour voir l'ensemble de vos Tiers, ou Adhérents sur une même carte.
Line 214: Line 269:  
[[File:screen_shot_google_box.png|border]]
 
[[File:screen_shot_google_box.png|border]]
 
</div>
 
</div>
 +
    
Voici un exemple obtenu en cliquant sur le lien "Carte des adhérents" qui sera sur la page d'accueil.
 
Voici un exemple obtenu en cliquant sur le lien "Carte des adhérents" qui sera sur la page d'accueil.
 +
Notez que, pour les tiers, vous pouvez filtrer sur le commercial, ou toute tag/catégorie client ou fournisseur.
    
<div class="divforimgcentpercent">
 
<div class="divforimgcentpercent">

Navigation menu