Comment associer le ERP / CRM open‑source Dolibarr à la plateforme VoIP Asterisk pour répondre aux exigences légales et normatives en matière de traçabilité et de protection des données
1. Introduction
Dans un contexte où les exigences réglementaires (RGPD, ISO 27001, PCI‑DSS, loi LPM, etc.) imposent une traçabilité précise des transactions commerciales et des communications, les entreprises recherchent des solutions intégrées capable de centraliser les informations tout en garantissant la conformité.
- Dolibarr est un ERP/CRM léger, très modulable et certifié pour son architecture modulaire. – Asterisk est serveur VoIP open‑source qui gère les appels, les messageries, les conférences et les enregistrements audio.
La combinaison de ces deux outils crée un service web orienté conformité : chaque échange (clients, fournisseurs, partenaires) est enregistré, indexé et auditable depuis l’interface Dolibarr, tout en étant protégé par des mécanismes de sécurité et de conservation conforme aux normes.
2. Pourquoi cette double combinaison est pertinente pour la conformité ?
| Exigence réglementaire | Apport de Dolibarr | Apport d’Asterisk | Solution intégrée |
|---|---|---|---|
| Traçabilité des échanges | Historique des factures, devis, contacts | Enregistrement des appels (audio) | Journal unique où chaque transaction client est liée à son appel enregistré |
| Conservation des preuves | Archivage des documents (PDF, CSV) | Fichiers audio horodatés | Conservation contrôlée des documents + des enregistrements selon des politiques de rétention |
| Gestion des accès | Rôles et permissions granulaire | Authentification via SIP ou TLS | Accès limité aux enregistrements selon le profil utilisateur |
| RGPD – droit à l’effacement | Possibilité d’anonymiser les champs | Suppression ou chiffrement des fichiers sensibles | Outils de « pseudonymisation » automatisés avant archivage |
| ISO 27001 – contrôle d’audit | Tableau de bord des actions | Journal d’événements (CDR) | Rapports consolidés pour audits internes et externes |
| PCI‑DSS – protection des données de paiement | Gestion destransactions financières | Enregistrement des paiements par téléphone | Logs croisés pour vérifier que chaque paiement a bien été réalisé et enregistré |
3. Architecture du service web orienté conformité
+----------------+ +-------------------+ +-------------------+
| Dolibarr | <----> | API RESTful | <----> | Asterisk (CDR) |
| (ERP/CRM) | | (PHP/Node.js) | | (Enregistrements|
+----------------+ +-------------------+ | audio) |
+-------------------+
|
+-----------------------+
| Base de données |
| (MySQL / MariaDB) |
+-----------------------+
|
+----------------------+
| Interface Web UI |
| (Conformité) |
+----------------------+
- Dolibarr expose une API REST (ou SOAP) qui permet d’interroger, créer ou modifier des fiches clients, factures, paiements. – Asterisk expose le Channel Driver Interface (CDR) et le AGI pour récupérer les métadonnées d’un appel (date, durée, numéro appelé, fichier audio).
- Un micro‑service (exemple en PHP/Laravel ou Node.js/Express) interagit avec les deux APIs : dès qu’un lead ou un client est créé/modifié dans Dolibarr, le micro‑service crée ou met à jour son CDR associé et déclenche l’enregistrement audio correspondant.
- Le CDR devient un événement de conformité : il est enrichi d’un identifiant unique (UUID) et stocké dans la base de données, tandis que le fichier audio est placé dans un répertoire chiffré et indexé (hash SHA‑256).
- L’interface Web de conformité offre :
- Vue tableau de bord des appels liés à chaque tiers ;
- Recherche par période, numéro ou référence facture ;
- Extraction de rapports (CSV, PDF) pour audits ;
- Fonction d’anonymisation ou de suppression conforme au droit à l’effacement.
4. Mise en œuvre pratique
4.1 Prérequis techniques
| Élément | Version minimale | Raison |
|---|---|---|
| PHP | 8.1 | Compatibilité avec les modules REST de Dolibarr |
| MySQL / MariaDB | 10.5 | Gestion des UUID et des index |
| Asterisk | 18+ | Support de TLS et du module cdr_mysql |
| Dolibarr | 21+ | API REST activée par défaut |
| OpenSSL | 3.x | Chiffrement TLS pour les communications SIP |
| Docker (optionnel) | 20+ | Déploiement reproductible |
4.2 Étapes de configuration
-
Installation de Dolibarr
- Déployer sur le serveur web (NGINX + PHP‑FPM).
- Activer le module « REST API » dans Configuration → Modules → API.
- Créer un token d’accès (clé JWT) dédié aux services de conformité.
-
Installation d’Asterisk avec CDR MySQL
sudo apt-get install asterisk asterisk-sqlite3
# Activer cdr_mysql (ou cdr_sqlite3 si pas de MySQL dédié)
sudo sed -i '/^;load => cdr_mysql.so/c\load => cdr_mysql.so' /etc/asterisk/cdr.conf sudo asterisk -rx "cdr show status"- Configurer le backend MySQL dans
/etc/asterisk/cdr_mysql.conf(user, password, database). - Activer le recording via
voicemailouconfbridgeet stocker les fichiers dans/var/lib/asterisk/moh.
- Configurer le backend MySQL dans
-
Création du micro‑service de synchronisation
- Exemple de code (PHP/Laravel) :
// 1. Interroger l'API Dolibarr pour les nouveaux contacts
$response = Http::withToken($dolibarrToken)->get('/api/v1/contacts?since=' . $lastSync);
foreach ($response->data as $contact) {
// 2. Créer l'enregistrement CDR dans Asterisk via l'AGI
exec("/usr/sbin/asterisk -rx \"CMMAQ 1001 ${contact->phone}\"");
// 3. Déplacer le fichier audio dans /secure/audio/<uuid>.wav
rename('/tmp/recording.wav', storage_path('audio/'.$contact->uuid.'.wav'));
// 4. Stocker le lien dans la base de conformité
DB::table('compliance_logs')->insert([
'contact_id' => $contact->id,
'cdr_uuid' => $contact->uuid,
'audio_path' => storage_path('audio/'.$contact->uuid.'.wav'),
'created_at' => now()
]);
}
// 5. Marquer le dernier sync pour éviter les doublons
$lastSync = carbon::now();
Config::set('dolibarr.last_sync', $lastSync); - Le micro‑service expose aussi un endpoint GET /reports/{contactId} qui renvoie le lien de l’enregistrement et les métadonnées CDR.
- Exemple de code (PHP/Laravel) :
-
Interface Web de conformité
- Développer un module Angular/React qui consomme l’API
/api/v1/compliance/{contactId}. - Ajouter une fonction « Supprimer preuve » qui déclenche : – Suppression du fichier audio ; – Anonymisation des champs dans Dolibarr (masquage du numéro de téléphone) ;
- Insertion d’un événement d’audit (qui, quand, pourquoi).
- Développer un module Angular/React qui consomme l’API
- Sécurisation
- TLS entre Asterisk et le serveur d’appels (SIP over TLS).
- Chiffrement au repos du dossier
/secure/audio(e.g.,ecryptfsouLUKS). - Contrôle d’accès via OAuth2 dans Dolibarr (rôles « Compliance », « Auditeur », « Gestionnaire ») avec une matrice RBAC détaillée.
- Journalisation centralisée (syslog + ELK) pour chaque action d’enregistrement/suppression.
5. Scénarios d’usage concrets
5.1 Gestion des appels de prospection commerciale – Flux : Un commercial crée un contact dans Dolibarr → le micro‑service déclenche un appel sortant depuis le softphone Asterisk → l’appel est enregistré → le CDR est relié au contact → le fichier audio est archivé et lié au profil du client.
- Conformité : Si le client demande l’effacement de ses données, l’opérateur de conformité supprime le fichier audio et désactive le contact via le tableau de bord, tout en créant un journal d’audit démontrant l’action conforme au RGPD.
5.2 Suivi des appels de recouvrement
- Flux : Un module de recouvrement déclenche un appel au débiteur via Asterisk. Le CDR inclut la durée, le numéro appelé et le résultat de la tentative.
- Conformité : La loi LPM impose la conservation d’une trace audio pendant 5 ans. Le système archive le fichier avec une signature numérique et l’ajoute à la facture correspondante dans Dolibarr, permettant ainsi de prouver la bonne foi de chaque action de recouvrement.
5.3 Enregistrements de réunions clients (conférence) – Via la fonction confbridge d’Asterisk, une visioconférence est lancée entre le client et l’équipe interne.
- Le CDR capture le numéro de la conférence, la liste des participants, et le fichier audio de la session.
- Dans Dolibarr, on crée une opportunity liée au client, attaching the conference UUID. À la clôture de l’opportunity, le fichier audio est indexé et devient une preuve contractuelle disponible dans le module de reporting de conformité.
6. Bonnes pratiques pour garantir la conformité | Action | Rationale | Mise en œuvre |
|——–|———–|————–|
| Pseudonymisation des numéros | Réduire le risque d’identification directe | Utiliser un hash SHA‑256 du numéro + seed avant stockage |
| Politique de rétention | Conformité légale (ex : 5 ans pour les enregistrements de paiement) | Script cron qui déplace automatiquement les fichiers > X ans vers un bucket « archivage » et les chiffre |
| Signature numérique des fichiers | Garantir l’intégrité et l’authenticité | openssl dgst -sha256 -sign private_key.pem -out file.sha file.wav |
| Journal d’audit immuable | Preuve de non‑altération | Utiliser un carnet d’incidents stocké dans une base append‑only (e.g., PostgreSQL avec logical replication) |
| Tests de pénétration | Vérifier les vulnérabilités d’accès aux données | Scan annuel avec OWASP ZAP ou Nessus sur les API et le serveur Asterisk |
| Plan de continuité (BCP) | Garantir la disponibilité des enregistrements | Réplication géographique des dossiers audio vers un stockage objet (S3, MinIO) avec versioning activé |
| Formation des utilisateurs | Sensibiliser aux bonnes pratiques de manipulation | Sessions trimestrielles sur la gestion des données conformité et sur les droits d’accès |
7. Avantages competitifs du service « Conformité »
- Valeur ajoutée : Éliminer la double saisie et les incohérences entre ERP et système téléphonique.
- Réduction des coûts : Pas de besoin d’outils tiers coûteux pour la gestion des enregistrements audio ; tout est centralisé dans une plateforme open‑source.
- Flexibilité : Les modules Dolibarr sont très modulaires ; on peut ajouter d’autres canaux (SMS, chat, visioconférence) en réutilisant le même micro‑service.
- Traçabilité exhaustive : Chaque transaction commerciale a un enregistrement audio qui peut être invoqué lors d’un audit ou d’une enquête.
- Scalabilité : Architecture micro‑services (Docker/Kubernetes) permet d’ajouter de nouveaux nœuds générant des enregistrements (centres d’appels volumineux) sans impacter les performances de Dolibarr.
8. Perspective d’évolution
- Intégration de l’IA : Utiliser des services de transcription vocale (e.g., Whisper) pour générer des transcriptions indexables, facilitant le texte‑search des enregistrements.
- Blockchain de conformité : Implications d’un hash de chaque fichier audio enregistré sur une chaîne de blocs pour créer une preuve d’horodatage irréfutable.
- API Standardisée « Compliance‑CDR » : Proposer une spécification OpenAPI qui décrit les endpoints d’export/import CDR afin de favoriser l’interopérabilité avec d’autres ERP ou systèmes CRM.
- Support multi‑tenant : Mettre en place un mode où chaque client boitier possède son propre schéma de tables de conformité, tout en partageant le même moteur de stockage.
9. Conclusion
Associer Dolibarr à Asterisk ne constitue plus seulement une concaténation de deux solutions open‑source ; cela crée un service web orienté conformité capable de :
- Unifier les flux transactionnels et les communications téléphoniques, – Traçabilité complète et audit‑ready grâce aux enregistrements audio indexés,
- Garantir la protection des données personnelles et la conformité aux exigences légales grâce à des mécanismes de chiffrement, de contrôle d’accès et de rétention.
En suivant les étapes décrites (installation, micro‑service de synchronisation, interface de journalisation et politiques de retention), les entreprises peuvent déployer rapidement un écosystème de gestion des preuves fiable, extensible et peu coûteux, répondant aux exigences actuelles et futures d’audit et de conformité.
En résumé : Dolibarr + Asterisk = plateforme unique où chaque échange commercial devient une preuve numérique, prête à être archivée, analysée et contrôlée, exactement comme le requièrent les normes de conformité modernes. —
Cet article a été rédigé par l’équipe Technique « Conformité & Sécurité » (2025). Pour toute assistance de mise en œuvre ou pour un audit de l’architecture proposée, n’hésitez pas à nous contacter.