Guide de Configuration de Mercator
Ce document décrit l’ensemble des options de configuration disponibles dans Mercator, notamment l’intégration LDAP, la prise en charge des groupes imbriqués pour Active Directory, la configuration du mail, le cache et les fonctionnalités optionnelles.
1. Variables d’Environnement
Mercator utilise des variables d’environnement (.env) pour configurer les fonctionnalités essentielles :
authentification, LDAP, auto-provisionnement, mail, sécurité, etc.
Vous trouverez ci-dessous la liste complète des paramètres pris en charge.
2. Configuration LDAP
Mercator supporte l’authentification locale et l’authentification LDAP. Les comptes locaux restent toujours disponibles en fallback si vous les activez.
Activer / désactiver l’authentification LDAP
LDAP_ENABLED=true
Autoriser la connexion locale si l’authentification LDAP échoue
LDAP_FALLBACK_LOCAL=true
Créer automatiquement un utilisateur Mercator à partir du LDAP
Si un utilisateur LDAP existe mais n’a pas de compte Mercator associé, Mercator peut créer automatiquement le compte local correspondant.
LDAP_AUTO_PROVISION=true
2.1 Paramètres de Connexion LDAP
LDAP_HOST=ldap.example.com
LDAP_USERNAME="CN=ldap-reader,OU=Service Accounts,DC=example,DC=com"
LDAP_PASSWORD="secret"
LDAP_PORT=389
LDAP_SSL=false
LDAP_TLS=false
Ces valeurs sont transmises à la couche LDAPRecord de Laravel.
2.2 Base de Recherche des Utilisateurs
Définit où les utilisateurs doivent être recherchés :
LDAP_USERS_BASE_DN="OU=Users,DC=example,DC=com"
Si vide, Mercator recherchera dans tout l’annuaire.
2.3 Attributs LDAP Utilisés pour le Login
Définit les attributs LDAP pouvant servir d’identifiant :
LDAP_LOGIN_ATTRIBUTES=sAMAccountName,uid,mail
Mercator testera ces attributs avec un filtre OR.
2.4 Restriction par Groupe LDAP
Vous pouvez limiter l’accès à Mercator aux membres d’un groupe LDAP spécifique :
LDAP_GROUP="CN=Mercator-Users,OU=Groups,DC=example,DC=com"
Si vide, tous les utilisateurs authentifiés via LDAP pourront se connecter.
3. Support des Groupes Imbriqués (Active Directory uniquement)
Mercator peut vérifier l’appartenance récursive (groupes imbriqués) lors de l’utilisation de Microsoft Active Directory.
Ce support est désactivé par défaut.
Activer les groupes imbriqués :
LDAP_NESTED_GROUPS=true
Fonctionnement
Lorsque cette option est activée, Mercator utilise la règle de correspondance AD :
1.2.840.113556.1.4.1941 (LDAP_MATCHING_RULE_IN_CHAIN)
Exemple de filtre LDAP généré :
(memberOf:1.2.840.113556.1.4.1941:=CN=Mercator-Users,OU=Groups,DC=example,DC=com)
Cela permet de reconnaître :
- L’appartenance directe
- L’appartenance indirecte
- Les groupes imbriqués multi-niveaux
Limitations importantes
- Fonctionne uniquement avec Microsoft Active Directory
- Ne fonctionne pas avec OpenLDAP ou d’autres annuaires
- Si activé sur un annuaire non AD, l’authentification LDAP échouera
4. Configuration Email
Mercator utilise le système d’e-mails de Laravel pour envoyer :
- les notifications
- les réinitialisations de mot de passe (comptes locaux)
- les alertes système
MAIL_MAILER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USERNAME=mailer@example.com
MAIL_PASSWORD=secret
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@example.com
MAIL_FROM_NAME="Mercator"
5. Paramètres Applicatifs
Nom de l’application
Ce nom s'affiche en haut a gauche de chaque page de l'application.
APP_NAME="Mercator"
URL de l’application
APP_URL=https://mercator.example.com
Utilisé dans les liens, notifications, exports, etc.
Mode Debug
APP_DEBUG=false
En mode debug, les erreurs sont affichées. Ne jamais activer en production.
Durée de Session
SESSION_LIFETIME=120
En minutes.
6. Logs
Mercator s’appuie sur le système de logs de Laravel.
Activer les logs LDAPRecord :
LDAP_LOGGING=true
Les logs apparaissent dans :
storage/logs/ldap.log
Si le fichier n’est pas généré, vérifiez les permissions du dossier.
7. Export / Import de Fichiers
Mercator prend en charge l’export Excel, CSV, Word et PDF via :
maatwebsite/excelphpoffice/phpword
Veillez à ce que storage/ et bootstrap/cache/ soient accessibles en écriture.
8. Configuration Docker
Si vous utilisez Docker :
Surcharger les variables dans docker-compose.yml
environment:
- LDAP_ENABLED=true
- LDAP_HOST=ad.example.com
- LDAP_GROUP=CN=Mercator-Users,OU=Groups,DC=example,DC=com
- LDAP_NESTED_GROUPS=true
Volumes recommandés :
volumes:
- ./storage:/var/www/mercator/storage
- ./bootstrap/cache:/var/www/mercator/bootstrap/cache
9. Recommandations pour la Production
Recommandé :
- Désactiver
APP_DEBUG - Toujours utiliser HTTPS
- Mettre un reverse proxy (Traefik, Nginx)
- Sauvegarder régulièrement la base de données
- Protéger
.envetstorage/par des permissions strictes - N’activer les groupes imbriqués que si vous utilisez Active Directory
10. Tableau Récapitulatif
| Fonction | Variable | Défaut | Notes |
|---|---|---|---|
| Activer LDAP | LDAP_ENABLED |
false | Active la connexion LDAP |
| Fallback local | LDAP_FALLBACK_LOCAL |
false | Permet le login local si LDAP échoue |
| Auto-provision | LDAP_AUTO_PROVISION |
false | Crée automatiquement l’utilisateur |
| Groupes imbriqués | LDAP_NESTED_GROUPS |
false | AD uniquement |
| Groupe requis | LDAP_GROUP |
“” | Restreint l’accès |
| Base LDAP | LDAP_USERS_BASE_DN |
“” | DN de recherche |
| Attributs login | LDAP_LOGIN_ATTRIBUTES |
sAMAccountName |
Liste CSV |
| Logs LDAP | LDAP_LOGGING |
false | Fichier ldap.log |