Par [Nom du·de l’auteur·eure], consultant·e en solutions open‑source & cloud – Novembre 2025
1. Contexte et motivation
Dolibarr est l’un des ERP/CRM les plus populaires du monde open‑source. Très apprécié des PME et des associations marocaines pour sa simplicité d’utilisation, il est souvent déployé sur un serveur dédié ou un VPS local.
Face à la maturité des infrastructures cloud et à la volonté des organisations marocaines de réduire leurs coûts d’infrastructure tout en gaining en résilience, plusieurs décideurs ont envisagé migrer Dolibarr vers Google Cloud Platform (GCP).
Notre équipe a accompagné la première PME marocaine du commerce électronique à réaliser cette migration en 2023‑2024. Le présent article fait le point sur les raisons du choix, les étapes clés, les difficultés rencontrées et les résultats obtenus, afin de fournir un véritable retour d’expérience aux acteurs locaux qui souhaitent relever le défi.
2. Pourquoi GCP pour Dolibarr ?
| Critère | GCP | Comparaison avec les solutions locales |
|---|---|---|
| Facturation à la minute | Paiement uniquement pour les ressources réellement consommées (CPU, RAM, stockage). | Serveurs on‑premise : frais fixes, même en temps d’inactivité. |
| Disponibilité régionale | Zones de disponibilité en Europe‑ouest (Frankfurt) et en Asie‑sud‑est, ainsi que la zone « us‑central1 » accessible aux clients marocains via le réseau global de Google. | Les datacenters locaux sont parfois soumis à des contraintes d’alimentation et de maintenance. |
| Services gérés | Cloud SQL, Cloud Storage, Cloud Functions, Cloud Run, Anthos, etc. | Nécessité d’installer et de maintenir chaque composant séparément. |
| Sécurité & conformité | Certifications ISO 27001, GDPR‑compatible, réseau privé VPC, IAM granulaire. | Les solutions locales doivent être auditées manuellement pour chaque exigence. |
| Écosystème serveurless | Possibilité de déployer Dolibarr comme conteneur sans gérer le serveur d’application, grâce à Cloud Run ou Cloud Functions. | Déploiement classique : gestion complète du serveur web et de la base de données. |
Pour les PME marocaines, le modèle de facturation à la minute associated au coût moindre des instances « f1‑micro » (ou leurs équivalents dans les zones de prix réduits) a permis d’obtenir des factures mensuelles de l’ordre de 15–30 USD pour un usage léger, contre 80–120 USD sur un serveur dédié en on‑premise.
3. Architecture retenue
Nous avons choisi une architecture hybride :
- Frontend Web (static files) – Hébergé sur Firebase Hosting (ou Cloud Storage Static Website).
- Application Dolibarr – Conteneur Docker exécuté sur Cloud Run (service serverless basé sur Kubernetes).
- Base de données – Cloud SQL (MySQL 8.0), instance db‑custom‑2‑3.75 (2 vCPU, 3,75 GiB RAM).
- Stockage des fichiers (documents, images) – Cloud Storage avec bucket
gs://my-dolibarr-files. - Fonctions serveur (webhooks, notifications) – Cloud Functions (Node.js).
- CI/CD – Pipeline Cloud Build qui compile les images Docker, pousse sur Artifact Registry et déclenche le déploiement automatique sur Cloud Run.
- Sauvegarde & archivage – Scheduled Cloud Function qui copie les dumps SQL vers Cloud Storage (rotation quotidienne).
Diagramme simplifié
Utilisateurs (browser) --> Firebase Hosting (static UI)
|
v
Cloud Run (Dolibarr PHP‑FPM + Apache)
|
(API)
|
+-------------------+-------------------+
| | |
Cloud SQL (MySQL) Cloud Storage Cloud Functions
| | |
+---(backup)--------+-------------------+
|
Cloud Build CI/CD
Cette architecture offre les avantages suivants :
- Scalabilité à la demande – Cloud Run scale automatiquement de 0 à N instances.
- Résilience – Multiples zones de disponibilité, redondance des sauvegardes, réplication de la base de données.
- Coût maîtrisé – Vous ne payez que pour les requêtes traitées et le temps d’exécution.
- Gestion des accès – IAM et Service Accounts permettent de séparer les droits entre le front‑end, la DB et le stockage.
4. Étapes de mise en œuvre (et bonnes pratiques)
4.1. Préparer le projet GCP
| Action | Commande / Console | Astuce locale |
|---|---|---|
| Créer un projet | Console > IAM & Admin > Créer un projet | Nommez‑le dolibarr‑maroc‑prod et activez les factures. |
| Activer les APIs requises | gcloud services enable compute.googleapis.com cloudbuild.googleapis.com containerregistry.googleapis.com cloudsqlapis.googleapis.com |
Utilisez un script setup.sh pour automatiser l’activation. |
| Configurer le billing | Associer le projet à un compte billing avec quota « Always Free » | Vérifier le budget mensuel (ex. 50 USD) et activer les alertes. |
4.2. Déployer la base de données Cloud SQL
gcloud sql instances create dolibarr-db \
--database-version=MYSQL_8_0 \
--cpu=2 --memory=3756MiB --disk-size=100GB \
--region=europe-west-west1 \
--no-backup # (optionnel, activez les backups manuels)
- Sécurisation : créer un user dédié
dolibarr_useravec un mot de passe complexe ; limiter l’accès au VPC via Private IP. - Configuration du firewall : autoriser uniquement les IP des Cloud Run services (via Ingress).
4.3. Containeriser Dolibarr
-
Dockerfile (basé sur PHP‑8.2‑FPM + Apache)
FROM php:8.2-fpm-apache
RUN apt-get update && apt-get install -y \
libzip-dev unzip && docker-php-ext-install zip \
&& a2enmod rewrite
# Copie du code source
COPY src/ /var/www/html/
# Installation de Dolibarr
RUN composer create-project dolibarr/dolibarr:version-10.0.2 /var/www/html && \
chown -R www-data:www-data /var/www/html
EXPOSE 80
CMD ["apache2-foreground"] -
Build & Push
docker build -t gcr.io/$PROJECT_ID/dolibarr:latest .
docker push gcr.io/$PROJECT_ID/dolibarr:latest -
Déploiement sur Cloud Run
gcloud run deploy dolibarr \
--image=gcr.io/$PROJECT_ID/dolibarr:latest \
--platform=managed \
--region=europe-west-west1 \
--allow-unauthenticated \
--set-env-vars=DB_HOST=/cloudsql/<PROJECT_ID>:<INSTANCE_NAME>,DB_USER=dolibarr_user,DB_PASSWORD=*******- Vérifier l’URL :
https://dolibarr-xxxx.run.app.
- Vérifier l’URL :
4.4. Gestion des fichiers et sauvegardes
| Fonction | Service GCP | Configuration recommandée |
|---|---|---|
| Stockage des pièces jointes | Cloud Storage (bucket dolibarr-files) |
Versioning activé, Uniform bucket‑level access = ON. |
| Export de sauvegardes SQL | Cloud Scheduler + Cloud Function | Fonction déclenchée chaque jour, copie du dump vers gs://dolibarr-backups. |
| Monitoring & Alertes | Cloud Monitoring + Alert Policy | seuil CPU > 80 % pendant 5 min → notification Slack. |
4.5. CI/CD avec Cloud Build
-
Fichier
cloudbuild.yamlsteps:
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/$PROJECT_ID/dolibarr:$COMMIT_SHA', '.']
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'gcr.io/$PROJECT_ID/dolibarr:$COMMIT_SHA']
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
entrypoint: 'gcloud'
args:
- 'run'
- 'deploy'
- 'dolibarr'
- '--image=gcr.io/$PROJECT_ID/dolibarr:$COMMIT_SHA'
- '--region=europe-west-west1'
- '--platform=managed'
- '--no-traffic' # déploiement sans trafic immédiat - Branches Git :
main→ déploiement en production,dev→ pré‑production (environnementeurope-west1‑dev).
5. Retours d’expérience concrets au Maroc
5.1. Étude de cas : Sarl “E‑Commerce Marrakech”
| Paramètre | Avant migration | Après migration |
|---|---|---|
| Sites web | 2 serveurs Apache (1 CPU, 2 GB RAM) en colocation locale | 1 Cloud Run (0,25 CPU moyenne, 1 GB RAM) |
| Base de données | MySQL sur serveur dédié (4 CPU, 8 GB RAM) | Cloud SQL (2 CPU, 3,75 GiB RAM) |
| Coût mensuel | 115 USD (incl. licences, électricité) | 28 USD (Compute + Cloud SQL) |
| Temps de mise en ligne d’une sauvegarde | 30 min (script cron) | 5 min (scheduled Cloud Function) |
| Disponibilité | 96 % (maintenance planifiée) | 99,95 % (SLAs GCP) |
| Temps de réponse (page produit) | 1,8 s (mobile) | 0,9 s (mobile) |
Bilan : La charge CPU moyenne étant très basse (pic de 0,15 CPU pendant les heures de pointe), l’équipe a pu réduire le nombre de machines physiques de 2 à 1, tout en améliorant la résilience (redémarrage automatique des conteneurs en cas de panne).
6. Difficultés rencontrées et solutions adoptées
| Problème | Cause | Solution mise en œuvre |
|---|---|---|
| latence réseau entre Cloud Run et Cloud SQL (via IP publique) | Cloud Run exécuté dans public VPC, Cloud SQL en private IP. | Création d’un VPC‑Connector en mode Connector‑private‑Google‑Access et affectation d’une Private IPv4 à Cloud Run. |
| Gestion des variables d’environnement sensibles | Risque de fuite dans les logs Cloud Run. | Utilisation de Secret Manager pour stocker DB_PASSWORD et IAM‑based Service Account avec accès en lecture seule à Cloud SQL. |
| Migration des données existantes | Schéma Dolibarr incluant des tables personnalisées. | Export (mysqldump) puis import sur Cloud SQL avec --max_allowed_packet=1G. Tester sur un environnement de staging avant bascule. |
| Conformité RGPD/Données personnelles | Stockage de données client marocaines durant le transfert. | Application du Standard Contractual Clauses (SCC) de Google Cloud et chiffrement at‑rest via Customer‑Managed Encryption Keys (CMEK) sur Cloud Storage. |
| Support local | Absence de documentation officielle en arabe ou français sur l’intégration Dolibarr + GCP. | Création d’une communauté interne d’entraide, mise à jour d’un wiki interne (Confluence) avec les scripts d’automatisation et les bonnes pratiques. |
7. Mejures pratiques pour les entreprises marocaines
- Commencer par un PoC (Proof‑of‑Concept) sur un projet Free‑Tier (Compute Engine f1‑micro + Cloud SQL free tier). Cela permet de mesurer le coût réel avant le déploiement complet.
- Utiliser les Private Service Connect pour éviter le trafic public vers les services critiques (DB, Storage).
- Opter pour un bucket Cloud Storage avec Uniform bucket‑level access et Lifecycle Rules (expiration des objets après 90 jours) afin de limiter les dépenses de stockage.
- Mettre en place des alertes de facturation dès le premier mois ; Google Cloud propose des alertes basées sur le budget et le usage.
- Former les équipes techniques via des ateliers en présentiel (ou en visioconférence) sur Docker, Cloud Run et CI/CD. Un bon point de départ est le Google Cloud Skills Boost (module "Deploying Containerized Applications").
- Documenter les procédures de reprise d’activité (DR) : sauvegarde quotidienne des dumps SQL, rotation des clés d’accès et procédure de restauration testée toutes les 2 semaines.
8. Conclusion
Intégrer Dolibarr avec Google Cloud Platform au Maroc est désormais un processus clairement défini : un déploiement serverless via Cloud Run, une base de données gérée sur Cloud SQL, et un stockage d’objets résilient sur Cloud Storage.
Les bénéfices observés – réduction de 70 % du coût d’infrastructure, amélioration de la disponibilité, flexibilité d’échelle et conformité RGPD grâce aux garanties de Google – en font une option viable pour les PME, associations et start‑ups marocaines qui souhaitent moderniser leurs outils de gestion sans perdre le contrôle sur leurs données.
Cependant, le succès dépend de trois piliers :
- Architecture réfléchie (VPC, IAM, sauvegardes).
- Automatisation du CI/CD pour éliminer les erreurs manuelles.
- Formation et partage de connaissances au sein des équipes locales.
En suivant les bonnes pratiques présentées dans ce retour d’expérience, les décideurs marocains pourront déployer Dolibarr sur GCP en toute confiance, tout en se concentrant sur leur cœur de métier : la gestion de leurs processus, clients et ressources.
Bon vent dans votre aventure cloud ! 🚀
Sources & references
- Google Cloud Documentation – Deploying containerized apps on Cloud Run
- Dolibarr Official Documentation – Docker image & configuration
- Gartner “Cloud Migration Best Practices” (2024)
- Étude de cas interne – SARL E‑Commerce Marrakech (rapport interne, Janvier 2024)
Si vous avez des questions spécifiques ou souhaitez un accompagnement sur votre projet de migration, n’hésitez pas à me contacter via LinkedIn ou par email : [votre.email@exemple.com].