Module Google FR

Informations

Module name Google
Editor / Editeur DoliCloud - www.dolicloud.com
Download or buy page / Page achat ou téléchargement www.dolistore.com
Status / Statut / Estado Stable
Prerequisites / Prérequis PHP >= 7.2 Dolibarr min version 17.0+

- 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 xml activé. Pour vérifier cela, aller dans accueil - information système - PHP et faire une recherche sur "xml". 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.   

Last update date / Date mise à jour fiche / Fecha última actualización 2024-08-26
Note / Nota

Fonctionnalités

Intègre des fonctions Google dans Dolibarr:

  • Synchronise les tiers, contacts ou adhérents saisi dans Dolibarr vers Google Contacts (pas de synchro dans le sens Google vers Dolibarr). Attention, Google impose une limite de 25 000 contacts.
  • Synchronise tout événement saisi dans Dolibarr vers l'agenda Google (automatique dans le sens Dolibarr vers Google, requiert un click sur un lien pour le sens Google version Dolibarr).
  • Ajoute un pictogramme à coté des adresses. Un clic fait apparaître l'adresse au sein d'une carte Google Maps.
  • Offre une vue sur Google Maps de la position de tous ses clients ou adhérents.
  • Permet d'ajouter une pub AdSense sur la page de logon.
  • Permet d'ajouter un tag de suivi Analytics sur toutes les pages de Dolibarr.
  • Compatible avec les comptes google Gmail standard et les comptes Gmail Google Apps.

Installation

Depuis l'application

  • Avec un compte ayant le profil "administrateur", aller dans le menu Accueil - Configuration - Modules - Déployer un module externe.
  • Soumettez le fichier zip. Le module sera déployé est prêt pour l'étape suivante d'activation.

Manuellement

Si la méthode précédente a été désactivée par votre hébergeur, en voici une autre:

  • Télécharger le fichier archive du module (fichier .zip)
  • Placer le fichier dans le répertoire racine de dolibarr.
  • Decompressez le fichier, par exemple par la commande
unzip fichiermodule.zip
  • Le module est alors visible dans la liste des modules (Accueil -> Configuration -> Modules) et activable.

Configuration

Pour utiliser ce module, il vous faut d'abord l'activer. Pour cela, après s'être connecté avec un compte administrateur, aller sur la page "Accueil - Configuration - Modules".

Choisissez l'onglet dans lequel apparaît le module puis cliquez sur "Activer".

Le module est alors activé.

Si un pictogramme   apparaît sur la vignette ou à la fin de la ligne du module, cliquez dessus pour accéder à la page de paramétrage spécifique à ce module.


Configuration Google Contacts

Le module permet de réaliser une synchronisation de vos contacts Dolibarr avec votre annuaire Google contact (et uniquement dans ce sens). Les éléments pouvant être synchronisés sont:

  • 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 aient 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 https://console.developers.google.com/apis/credentials. Cliquez pour "Activer API" pour "API People".


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é)
  • Contacts/Adresses (si le module Tiers 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 Business). 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 pas être mise dans un autre groupe dans ce cas.

Ensuite, renseignez les informations suivantes:


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 (compte OAuth2) depuis la page https://console.developers.google.com/apis/credentials, menu "API & Services" -> "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 Dolibarr. 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.


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.


8) Vous pouvez désormais exporter vos tiers/contacts/adhérents vers Google Contacts. De plus, dès lors où vous créerez, modifierez ou supprimerez un tiers/contact/adhérent directement depuis les pages Dolibarr prévues à cet effet, les modifications se reporteront dans Google Contacts sans que vous ayez à vous en soucier. Enfin, les libellés affectés à chacun des éléments Dolibarr seront également reportés vers Google Contacts.


Troubleshooting

  •   Note: Si vous avez l'erreur 400: redirect_uri_mismatch, c'est que l'étape 4 de la configuration n'a pas été faite ou mal faite (exemple: une faute de frappe a été faite lors de la saisie de l'URL dans la configuration Google)
  •   Note: Une erreur possible est que Google refuse l'accès même si votre configuration est correcte, juste parce que votre serveur qui héberge Dolibarr ne se situe pas dans le même pays que vous.

Pour vérifier si Google a bien bloqué l'accès pour ce motif, allez sur la page https://security.google.com/settings/security/activity?hl=fr après l'échec.

Si Google affiche qu'il a bloqué des tentatives d'accès depuis un lien inhabituel, accepter cette tentative. Ensuite, il faut attendre 24 heures pour essayer à nouveau.

  •   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 Agenda

Synchronisation des événements Dolibarr vers Google Agenda

L'autre fonctionnalité est d'écrire / mettre à jour un événement dans Google Calendar, chaque fois qu'un événement est ajouté / mis à jour dans Dolibarr.

La synchronisation se fait par défaut vers un Agenda commun (1 compte Google), mais il est possible de définir un Agenda différent pour chaque utilisateur à conditions que ces agendas soit partagés et accessible au compte de service d'accès qui, lui, est créé de manière unique (voir plus loin).

Pour synchroniser Dolibarr vers un ou des agendas, aller sur la page de configuration du module, onglet "Synchro vers Google Agenda", et réglez "Créer un événement Google dans Google Calendar lors de la création d'un événement Dolibarr" sur "Oui".

Ensuite, vous devez configurer et entrer les clés API fournies suite à la création d'un compte de service Google. Ceci se fait en plusieurs étapes.



1) Dans un premier temps, vous devez également activer l'API pour votre compte Google. Pour cela, aller sur la page https://console.developers.google.com/apis/credentials. Cliquez pour "Activer API" pour "API Calendrier".


2) Trouver le Google Agenda ID de votre calendrier. Il peut être trouvé en allant sur la page de paramétrage des agendas Google de la manière suivante:

  1. Se Connecter à http://calendar.google.com
  2. Cliquer sur le lien "Parametres"
  3. Cliquer sur le nom de l'Agenda voulu pour en afficher les détails.
  4. Trouver la ligne "Adresses de l'URL", vous verrez le texte "ID Agenda : theagendaid@gmail.com" comme sur cet exemple de copie d'écran

 

Renseignez cet ID dans le champ "Agenda ID" de la page de configuration de Dolibarr (pour une synchro vers un agenda unique partagé). C'est vers cet agenda que seront synchronisé tous les évènements.

Ou bien, vous pouvez laisser ce champ "Agenda ID" 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 de chaque utilisateur). Chaque utilisateur pouvant alors avoir son propre agenda Google. 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 et un seul agenda Google (si il y a plusieurs utilisateurs affectés à l'événement, ce sera le propriétaire de l’événement, qui lui est unique, 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* depuis la page https://console.developers.google.com/apis/credentials, menu "Identifiants". Cliquez sur "Créer un identifiant" et choisissez "Compte de service". Choisir un nom pour ce compte de service et cliquer sur "Valider/Terminer". Ensuite, allez dans l'onglet "Clés" de ce compte de service, créer une clé de type "JSON" puis "Créer" pour obtenir le fichier JSON. Après cette étape vous avez donc:

  • un nouveau compte de service avec un e-mail de ce compte de service. Vous devez ici récupérer l'e-mail du compte de service
  • Un fichier .json.

Note: Que vous ayez mis à l'étape 2 un seul compte Google cible pour la synchronisation ou un compte Google cible différent sur chaque fiche utilisateur, vous n'aurez toujours qu'un et un seul compte de service à créer. Par contre ce compte devra avoir les droits d'accès sur tous les comptes/agenda des autres (voir étape 5)

Il est aussi possible de créer un compte de service par la page https://console.developers.google.com/iam-admin/serviceaccounts.


4) Soumettez l'email du compte de service, ainsi que le fichier .json obtenu à l'étape 3, sur la page de configuration du module sous Dolibarr, onglet "Synchro vers Google Agenda".


5) Vous devez également partager l'agenda (toutes permissions) avec le compte/email de service (créé à l'étape 3): 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.

Avec Google G 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 https://admin.google.com/ac/appslist/core - Google Agenda - General parameters et vérifiez que l'option de partage d'application de l'Agenda permet de partager avec les comptes de service externe.   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.


TroubleShooting

  • Si vous recevez l'erreur "Client error: `POST https://oauth2.googleapis.com/token` resulted in a `401 Unauthorized` response: { 'error': 'unauthorized_client', 'error_description': 'Client is unauthorized to retrieve access tokens using this (truncated...)" : 
    • Si vous avez un compte Gmail gratuit, désactivez l'option « Ajouter également la liste des participants à l'événement » (non prise en charge avec ces comptes).
    • Si vous avez Google Suite, vous pouvez également désactiver l'option « Ajouter également la liste des participants à l'événement » (la version récente de l'API Google ne prend pas très bien en charge cette option), ou vous pouvez essayer d'« autoriser le compte de service à accéder aux données au nom d'un utilisateur » comme expliqué dans la documentation Google : https://support.google.com/a/answer/162106?hl=fr&fl=1&sjid=4000630194749189449-NA, chapitre « Configurer la délégation à l'échelle du domaine pour un client ». Voici le résumé ici : Accédez au menu Sécurité > Contrôle d'accès et de données > Contrôles API > Gérer la délégation à l'échelle du domaine. Cliquez sur Ajouter un nouveau. Saisissez l'ID client pour le compte de service ou le client OAuth2. Dans les étendues OAuth, ajoutez les scopes https://www.googleapis.com/auth/calendar et https://www.googleapis.com/auth/calendar.events. Cliquez sur Autoriser. Si vous obtenez une erreur, il se peut que l'ID client ne soit pas enregistré auprès de Google ou qu'il y ait des scopes en double ou non prises en charge. Attendez 24 heures une fois la modification faite puis tester une synchro.
  • Si vous recevez l'erreur "ERROR { 'error': { 'code': 403, 'message': 'Google Calendar API has not was used in project... before or it is disabled..." : Vérifiez que l'étape 1 a était faite.
  •   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 de 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. 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.

  •   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.

Synchronisation des événements Google Agenda vers Dolibarr

Cette fonction nécessite un acte manuel à chaque besoin de synchronisation: Aller dans le menu "Agenda/Événements", sur la vue "Liste". Vous devez cliquez sur le lien "Rafraîchir les événements depuis Google"

Configuration fonction GMaps

1) Dans un premier temps, vous devez activer l'API pour votre compte Google. Pour cela, aller sur la page https://console.developers.google.com/apis/credentials. 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

Choisissez les éléments sur lesquels faire apparaître le picto GMaps après les adresses parmi les suivants:

  • Tiers (si le module Tiers est activé)
  • Contacts/Adresses (si le module est activé)
  • Adhérents (si le module Adhérents est activé)

Choisissez le niveau de zoom de Google pour définir l'échelle par défaut de la carte qui sera affichée (valeur de 1 à 10, 10 étant un zoom plus fort). En général, 7 est une bonne valeur.

Liens de cartes globales

L'autre fonctionnalité de carte GMaps, est d'offrir une carte globale situant tous vos tiers ou contacts/adresses. Pour voir apparaître les liens vers ces cartes, allez dans le menu Accueil - Configuration - Boites. Assurez vous que la boite "Liens de cartes GMaps" est active. Retourner sur la page d'accueil de Dolibarr. Si la boite n’apparaît pas, choisissez la dans la liste déroulante des boites que vous pouvez ajouter sur votre espace.

Configuration Adsense

Sur la page de configuration du module, pour l'onglet Agenda, vous devez saisir:

  • Votre id client adsense (ca-pub-xxxxxx)
  • L'id de slot propre au format de pub à afficher (à retrouver sur la page de configuration adsense.google.com)

Une publicité sera alors affichés sur la page de demo et la logon.

Configuration Google Analytics

Sur la page de configuration du module, pour l'onglet Analytics, vous devez saisir:

  • Votre ID Google analytics (Du genre UA-xxxxxxx-y). Cet id s'obtient depuis la console d'administration de Google analytics.

Le tag Google Analytics sera alors affiché sur toutes les pages de Dolibarr.

Utilisation

Utilisation de la synchro Contact

  • Dolibarr -> Google: Créez ou éditez un Tiers, contact ou adhérent (selon la configuration de synchronisation que vous avez activé). Ensuite, allez dans Google contact. Vou sdevriez voir l'enregistrement créer ou modifier dans Dolibarr.
  • Google -> Dolibarr: La synchronisation dans ce sens n'est pas pris en charge.

Utilisation fonction Agenda Google

  • Créer un événement dans Dolibarr et allez voir dans google Calendar (depuis votre smartphone par exemple). L’événement doit apparaître.
  • Si vous voulez synchroniser les changements réalisé du côté Google, aller sur la vue agenda de Dolibarr. Vous devriez trouve un lien pour synchroniser Google vers Dolibarr.

Voir l'exemple ci-dessous. Le lien est la phrase "Click to resfresh agenda database with ..."

 

Utilisation fonction GMaps

Selon le choix fait à la configuration, un petit picto apparaît sur la fiche Tiers, Contacts/Adresses ou adhérents au bout de l'adresse. En cliquant dessus, vous voyez apparaître une carte avec l'adresse positionnée dessus. Il vous ait possible de naviguer dans la carte sans quitter Dolibarr.

Voici un exemple obtenu en cliquant sur le picto qui apparait au bout de l'adresse de la fiche d'un tiers.

 


De plus, vous avez aussi la possibilité d'activer un widget sur la page d'accueil présentant un lien pour voir l'ensemble de vos Tiers, Contacts ou Adhérents sur une même carte.

 


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.

 

Utilisation fonction Adsense

Il n'y a rien à faire à l'utilisation. Une fois la configuration faite (voir précédemment), une publicité adsense apparait sur la page de logon.

Note: Lorsque Dolibarr est accéder via l'Application Android - DoliDroid FR, la publicité ne sera toutefois pas active.

Utilisation fonction Google Analytics

La aussi, il n'y a rien de particulier à faire. Une fois configuré (voir précédemment), un tag Google Analytics invisible est inséré dans chaque page de Dolibarr. En utilisant l'interface Google de Google Analytics, vous pouvez avoir des statistiques de consultation des pages de Dolibarr, comme si il s'agissait d'une application Web publique.

Note: Lorsque Dolibarr est accédé via l'Application Android - DoliDroid FR, le tags ne seront toutefois pas actif.

Développement et contributions

Le développement de ce module n'est pas inclus dans le repository GIT standard de Dolibarr mais dans un repository dédié de modules gérés par DoliCloud sur la plateforme Git de GitHub:

Note: Ce repository contient de nombreux autres modules Open Source pour Dolibarr ERP CRM (1 sous-répertoire de htdocs = 1 module).