Dolibarr : comment réussir HTTPS au Maroc

Guide complet pour sécuriser votre ERP/PG en ligne, respecter la réglementation locale et offrir une connexion fiable à vos utilisateurs marocains.

TL;DR : Obtenez un certificat SSL/TLS valide (Let’s Encrypt ou CA marocaine), configurez votre serveur web (Apache/Nginx, etc.) pour rediriger tout le trafic HTTP → HTTPS, activez HSTS, testez les failles TLS, et veillez à la conformité aux exigences de la CNSS / ANRT.


1. Pourquoi passer à HTTPS en 2025 ?

Raison Impact sur votre activité Marocaine
Confidentialité Les données bancaires, clients et comptabilité sont chiffrées, protégées des interceptions (eavesdropping).
Conformité RGPD/ANPD La loi 09‑08 sur la protection des données personnelles (Loi 09‑08) impose le chiffrement des données en transit.
SEO Google pénalise les sites non‑HTTPS, ce qui affecte la visibilité locale.
Confiance Un cadenas vert rassure vos partenaires marocains (clients, fournisseurs, banques).
Facilité de paiement Les passerelles de paiement marocaines (PayZen, Stripe Maroc, etc.) exigent obligatoirement HTTPS.

En bref, le passage en HTTPS n’est plus une option : c’est un prérequis technique et juridique pour tout site fonctionnel au Maroc.


2. Le cadre juridique et technique au Maroc

Institution Rôle Implications pour votre certificat
ANRT (Autorité Nationale de Régulation des Télécommunications) Attribution des numéros IP et contrôle des services internet. Les certificats doivent être délivrés par une autorité reconnue (CA publique ou Let’s Encrypt).
CNCTA Contrôle des contenus et des pratiques commerciales en ligne. Pas de restriction directe sur le certificat, mais le site doit rester conforme aux exigences de sécurité TLS 1.2+.
CNSS / Banque Al-Maghrib Nécessitent le chiffrement pour les transactions financières. Les formulaires de paiement doivent être protégés par TLS avec un certificat valide.
Loi n°09‑08 (Protection des données personnelles) Imposent la sécurité des données en transit. Le chiffrement est obligatoire, le certificat doit être signé par une CA de confiance.

En pratique : aucun certificat local ne doit être auto‑signé lorsqu’il s’agit de protéger les données sensibles. Préférez un certificat trusté (Let’s Encrypt, OVH, GlobalSign, Sectigo…).


3. Choisir le type de certificat SSL/TLS adapté

Type Avantages Quand le choisir
Domain Validation (DV) – Exemple : Let’s Encrypt Gratuit, délivré rapidement, suffit pour la plupart des sites internes. Sites d’entreprise, intranet public, test.
Organization Validation (OV) Authentifie juridiquement votre entité, ajoute la confiance. Portail client avec paiement, services financiers.
Wildcard / Multi‑Domain (SAN) Sécurise plusieurs sous‑domaines avec un seul certificat. erp.maroc.example.com, shop.maroc.example.com
EV (Extended Validation) Affichage du nom légal complet dans la barre d’adresse. Banques, administrations publiques marocaines.

Astuce : Pour la plupart des PME marocaines qui hébergent Dolibarr sur un serveur dédié ou cloud, le certificat DV de Let’s Encrypt suffit amplement, à condition de bien configurer les options TLS.


4. Processus d’obtention du certificat dans le contexte marocain

4.1. Méthode la plus simple : Let’s Encrypt (DV gratuit)

  1. Créer un compte sur un serveur d’étape (ex. certbot ou acme.sh).
    sudo apt-get install certbot python3-certbot-nginx   # Debian/Ubuntu
    sudo apt-get install certbot python3-certbot-apache # pour Apache
  2. Vérifier la reprise du domaine

    • Le DNS doit pointer vers votre serveur public.
    • Le serveur doit exposer le port 80 (ou 443 en mode http-01 avec DNS‑01).
    • Exemple de commande HTTP‑01 :
      « `bash sudo certbot –nginx -d www.votre-erp.maroc.tn -d api.maroc.tn

  3. Renouvellement automatique – Let’s Encrypt expire après 90 jours.

    • Ajoutez une tâche cron :
      0 2 * * * /usr/bin/certbot renew --quiet && systemctl reload nginx
  4. Enregistrement du certificat dans Dolibarr

    • Les fichiers générés par Certbot sont généralement /etc/letsencrypt/live/.
    • Dans l’interface Admin → Server → SSL, remplacez les chemins par :

      • tls.cert_file = /etc/letsencrypt/live/www.votre-erp.maroc.tn/fullchain.pem
      • tls.key_file = /etc/letsencrypt/live/www.votre-erp.maroc.tn/privkey.pem

4.2. Utiliser une CA marocaine (ex. MarocTrust ou GlobalSign Maroc)

  1. Demande de certificat (CSR)
    openssl req -new -newkey rsa:2048 -nodes -keyout dolibarr.key -out dolibarr.csr \
    -subj "/C=MA/ST=Marrakech/L=Marrakech/O=VotreEntreprise/CN=erp.vote-entreprise.com"
  2. Soumission via le portail de la CA (la plupart des CAs marocaines offrent un processus en ligne).
  3. Installation

    • Déposez les fichiers crt et intermediate sur votre serveur.
    • Dans Dolibarr, indiquez le .pem contenant la chaîne complète. > Note : Les CA marocaines peuvent facturer un montant modeste (10‑30 DHS) pour un certificat DV, mais offrent un support technique en arabe et français.


5. Configuration du serveur web (exemples pratiques)

5.1. Apache (mod_ssl)

<VirtualHost *:80>
ServerName erp.maroc.tn
# Redirection permanente vers HTTPS
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
</VirtualHost>
<VirtualHost *:443>
ServerName erp.maroc.tn
DocumentRoot /var/www/dolibarr
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/erp.maroc.tn/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/erp.maroc.tn/privkey.pem
# Sécurisation TLS
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!aNULL:!MD5
SSLHonorCipherOrder on
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
<Directory /var/www/dolibarr>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
LogLevel info
CustomLog ${APACHE_LOG_DIR}/erp_maroc_access.log combined
ErrorLog ${APACHE_LOG_DIR}/erp_maroc_error.log
</VirtualHost>

5.2. Nginx (Let’s Encrypt)

« `nginxserver {
listen 80;
server_name erp.maroc.tn;
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
server_name erp.maroc.tn;

ssl_certificate      /etc/letsencrypt/live/erp.maroc.tn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/erp.maroc.tn/privkey.pem;
# TLS 1.2+ only, ciphers modernes
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
# HSTS (30 jours en prod, 6 mois en test)
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
root /var/www/dolibarr;
index index.php index.html;
# Références aux scripts PHP-FPM
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
access_log /var/log/nginx/erp_maroc_access.log;
error_log /var/log/nginx/erp_maroc_error.log;

}


> **Conseil** : Assurez-vous que les modules `mod_headers` (Apache) ou `add_header` (Nginx) sont activés pour le **HSTS**. Le préfixe `preload` doit être envoyé uniquement en **production**, après validation via *https://hstspreload.org*.
---
## 6. Tester la configuration TLS au Maroc
| Outil | Ce qu’il vérifie | Exemple de résultat attendu |
|-------|------------------|------------------------------|
| **Qualys SSL Labs** | Niveau de sécurité TLS, protocoles supportés, chaîne de certificats. | Grade “A+” (aucun support TLS 1.0/1.1). |
| **testssl.sh** | Analyse en ligne de commande, détection de faiblesses. | “Elliptic Curve DH (ECDH) support: yes”. |
| **Mozilla Observatory** | Scan complet (HSTS, CSP, Referrer). | “Strict-Transport-Security header correctly set”. |
| **cURL** | Test rapide de la redirection 301. | `curl -I http://erp.maroc.tn` → `HTTP/1.1 301 Moved Permanently → https://erp.maroc.tn/`. |
> **Astuce locale** : Utilisez un serveur VPN ou un proxy dans le pays (ex. *Orange Maroc*) pour vérifier la propagation du certificat et éviter les blocages par les FAI (rare mais parfois observé avec des certificats auto‑signés).
---
## 7. Bonnes pratiques spécifiques au marché marocain
1. **Adresse DNS publique** : Assurez-vous d’utiliser un suffixe **.ma** ou **.tn** si vous êtes hébergé dans un datacenter local (ex. `erp.maroc.tn`). Cela évite les problèmes de *Name‑Server* qui ne résolvent pas correctement les sous‑domaines internationaux.
2. **Proxy inverse marocain** : Si votre serveur est hébergé chez un provider étranger (AWS, OVH), pensez à placer un **reverse‑proxy** dans le pays (ex. serveur Nginx sous *Maroc Telecom Cloud*). Cela améliore la latence et renforce la résilience face aux politiques de filtrage.
3. **Stockage des données sensibles** : Si vous stockez des données personnelles côté serveur, activez le **chiffrement au repos** (ex. LUKS ou BitLocker) et respectez la **mise à jour de la loi 09‑08** (consentement, droit à l’effacement).
4. **Mise à jour du TLS** : La version TLS 1.2 est obligatoire depuis 2023 ; prévoyez une migration **vers TLS 1.3** dès que votre fournisseur le supporte pleinement.
5. **Page d’erreur personnalisée** : Proposez une page d’erreur en **arabe** et **français** lorsqu’une connexion échoue (ex. certificat expiré) afin d’éviter la perte d’utilisateurs non-anglophones.
6. **Log de connexion** : Conservez des logs d’accès HTTPS (date, IP, User‑Agent) pour les audits CNSS/ANPD. Créez un script de rotation de logs (`logrotate`) pour éviter la surcharge du disque.
---
## 8. Checklist de déploiement « HTTPS Marrakech‑Ready » | ✅ | Action |
|----|--------|
| 1 | **Vérifier le DNS** : `dig erp.maroc.tn` → pointage vers votre IP publique. |
| 2 | **Obtenir le certificat** : Let’s Encrypt ou CA marocaine, valider le domaine. |
| 3 | **Configurer le serveur web** : redirection 301, TLS 1.2+, HSTS. |
| 4 | **Mettre à jour Dolibarr** : `Admin → Server → SSL` → chemins vers `.pem`. |
| 5 | **Activer HTTPS dans Dolibarr** : préférence “Force SSL” à “Oui”. |
| 6 | **Tester** : Qualys SSL Labs → note ≥ A+ ; `curl -I https://erp.maroc.tn`. |
| 7 | **Renouvellement automatisé** : crontab pour `certbot renew`. |
| 8 | **Surveiller les logs** : alerter toute tentative d’accès HTTP persistant. |
| 9 | **Vérifier la conformité** : chiffrement au repos, politique de données personnelles. |
| 10| **Informer les utilisateurs** : message de bienvenue avec lien sécurisé en français. |
---
## 9. Exemple de migration sans interruption de service
| Étape | Durée approximative | Script / Commande |
|-------|---------------------|-------------------|
| 1. Sauvegarde du serveur Dolibarr (DB + fichiers). | 5 min | `mysqldump dolibarr > dolibarr.sql` |
| 2. Installation du nouveau certificat Let’s Encrypt. | 10 min | `certbot certonly --nginx -d erp.maroc.tn` |
| 3. Ajouter balise de redirection dans Apache/Nginx (mode **test**). | 5 min | Modifier le VirtualHost `*:80` pour renvoyer en HTTP → HTTPS. |
| 4. Purger le cache du navigateur (CTRL+F5) ou forcer le clearing via le serveur de cache. | 2 min | `cache-cleaner.php` (si disponible). |
| 5. Désactiver temporairement le **compressor** (gzip) pour éviter les erreurs TLS. | 1 min | `a2dismod deflate` (Apache). |
| 6. Tester sur 3-4 postes clients (Mac, Windows, Android, iOS). | 10 min | `curl -k https://erp.maroc.tn` |
| 7. Activer HSTS & redirection 301 permanente. | 5 min | Modifier le VirtualHost pour le faire en **301** définitif. |
| 8. Surveiller les logs pendant 48 h. | 2 j | `tail -f /var/log/apache2/erp_maroc_error.log` |
> **Conseil de sécurité** : ne retirez pas la redirection HTTP tant que vous n’êtes **pas sûr** que **tous** les terminaux (PC, mobiles, POS) redirigent correctement.
---
## 10. FAQ rapide
| Question | Réponse |
|----------|----------|
| **Do I need a separate certificate for each sub‑domain?** | Non, un **wildcard** (`*.maroc.tn`) ou un certificat multi‑domaines couvre tous les sous‑domains que vous spécifiez. |
| **Est‑ce que Let’s Encrypt fonctionne derrière un pare‑fire MTNL ou Maroc Telecom ?** | Oui, tant que le port **80** (ou **443** pour DNS‑01) est ouvert depuis l’extérieur. |
| **Quel port faut‑il ouvrir sur le firewall du serveur ?** | **80** (HTTP) pour la validation, **443** (HTTPS) pour la navigation. Vous pouvez fermer 80 après le renouvellement si vous passez à DNS‑01 uniquement. |
| **Puis‑je héberger plusieurs sites Dolibarr sur le même serveur ?** | Oui, créez des VirtualHost distincts, chaque site possède son propre certificat (ou utilisez SNI). |
| **Comment forcer le refresh du cache de Dolibarr après la migration ?** | En Dolibarr, aller dans *Setup → Parameters → URLs* et sauvegarder la page pour ré‑générer les URLs absolues avec `https`. |
---
## 11. Conclusion
Passer **Dolibarr** en HTTPS au Maroc n’est pas seulement une question technique : c’est un impératif juridique (RGPD/Maroc 09‑08), une nécessité commerciale (paiement, confiance) et un gage de performance (SEO, latence locale). En suivant les étapes décrites – obtention d’un certificat valide, configuration du serveur web, mise en place de HSTS et tests rigoureux – vous assurez :
1. **Sécurité** : chiffrement TLS 1.2/1.3 sans failles reconnues.
2. **Conformité** : respect des exigences de la CNSS, de l’ANRT et de la loi 09‑08.
3. **Continuité** : migration sans interruption grâce à la redirection 301 et au renouvellement automatisé.
En adoptant ces bonnes pratiques, votre ERP Dolibarr sera non seulement **prêt pour le futur** mais aussi parfaitement aligné avec les attentes des utilisateurs marocains, des partenaires financiers et des autorités de régulation.
**Bon succès dans votre transition vers le HTTPS !**
---
*Sources* :
- Let’s Encrypt Documentation (certbot). - ANRT – *Guide de la Sécurité des Services Cloud* (2023).
- Loi n°09‑08 portant protection des données à caractère personnel au Maroc.
- Qualys SSL Labs Test Results (2024).
---
**Auteur** : *[Nom du rédacteur]*, consultant en sécurité des systèmes d’information spécialisé dans les solutions ERP pour le secteur marocain. 🛡️

Publications similaires