Business Digital

SSO Authentik avec Mattermost et conformité RGPD/ARTCI : tutoriel 2026

10 دقائق للقراءة

📍 Article principal de la série : Mattermost 2026 : guide pratique.

Une PME de 30 personnes utilise déjà Authentik pour SSO Vaultwarden, Forgejo, Outline, Plausible. Brancher Mattermost complète l’écosystème : un seul login pour tout. Bonus : audit logs structurés pour conformité ARTCI/CDP/NESA. Ce tutoriel détaille la configuration complète.

Prérequis

Limitations Mattermost Team Edition

Important : Mattermost Team Edition (open source) supporte GitLab OAuth et Google OAuth. SAML SSO et OpenID Connect requièrent Mattermost Enterprise (10 USD/user/mois). Workaround pour Team Edition : utiliser le mode GitLab OAuth pointé sur Authentik (Authentik émule GitLab OAuth via OIDC).

Étape 1 — Provider OIDC Authentik (mode GitLab compat)

Authentik admin → Providers → Create → OAuth2/OpenID Provider :

Name: mattermost-provider
Authentication flow: default-authentication-flow
Authorization flow: default-provider-authorization-explicit-consent
Client type: confidential
Redirect URIs: https://chat.votre-entreprise.com/signup/gitlab/complete
Scopes: openid email profile
Subject mode: based on user's email

Note client_id et client_secret.

Étape 2 — Application Authentik

Applications → Create :

Name: Mattermost
Slug: mattermost
Provider: mattermost-provider
Launch URL: https://chat.votre-entreprise.com

Étape 3 — Configurer Mattermost (mode GitLab OAuth)

System Console → Authentication → GitLab :

Enable GitLab OAuth: True
Application ID: client_id Authentik
Application Secret: client_secret Authentik
GitLab Site URL: https://auth.votre-entreprise.com
User API URL: https://auth.votre-entreprise.com/application/o/userinfo/
Authorize Endpoint: https://auth.votre-entreprise.com/application/o/authorize/
Token Endpoint: https://auth.votre-entreprise.com/application/o/token/

Étape 4 — Adapter Authentik pour répondre comme GitLab

Mattermost s’attend au format GitLab user JSON. Authentik nécessite un Property Mapping custom.

Authentik admin → Customisation → Property Mappings → Create OAuth2/OpenID Property Mapping :

Name: gitlab-compat
Scope name: openid
Expression:
return {
    "id": user.pk,
    "email": user.email,
    "username": user.username,
    "name": user.name,
}

Lier ce mapping au Provider Mattermost.

Étape 5 — Tester

Mode incognito → https://chat.votre-entreprise.com → bouton « Sign in with GitLab » apparaît. Cliquer.

Redirection auth.votre-entreprise.com → login + MFA → consent → retour Mattermost connecté.

Étape 6 — Restreindre par groupe Authentik

Authentik → Application Mattermost → Policy bindings → Group : chat-users (employés). Seuls membres peuvent ouvrir Mattermost.

Étape 7 — Désactiver email/password login

Une fois SSO testé : System Console → Authentication → Email → Enable Sign Up With Email : OFF. Tous forcés au SSO.

Conformité ARTCI / CDP / NESA

Étape 8 — Activer audit logs

System Console → Logging → Enable File Logging : ON. Format : JSON. Path : /var/log/mattermost/audit.log.

Logs incluent : login, logout, message_post, message_edit, message_delete, channel_create, channel_join, file_upload.

Étape 9 — Ingestion Loki

Promtail collecte /var/log/mattermost/audit.log et envoie vers Loki. Dashboard Grafana custom pour visualisation.

# Promtail config
scrape_configs:
  - job_name: mattermost
    static_configs:
      - targets: [localhost]
        labels:
          job: mattermost-audit
          __path__: /var/log/mattermost/audit.log

Étape 10 — Rétention 1 an minimum

Loki retention : 1 an pour audit logs. Coût : ~ 5 GB stockage / 30 personnes / an, négligeable.

Étape 11 — Export pour audit annuel

Préparer requête LogQL pour audit annuel :

{job="mattermost-audit"} | json | event_type="login" | __error__=""

Export CSV via Grafana Explore. À fournir à l’auditeur ARTCI/CDP sur demande.

Erreurs fréquentes

Erreur Cause Solution
« GitLab user not found » Property Mapping manquant Configurer mapping gitlab-compat
Boucle redirection Cookie domain Vérifier base domain partagé
Email pas pré-rempli Scope email manquant Ajouter scope email Provider Authentik
Logs pas générés Logging désactivé System Console enable logging
Loki ne reçoit pas Promtail mal configuré Vérifier path access
Disk plein logs Pas de logrotate Configurer logrotate hebdo

Réalités opérationnelles à Dakar et alentours

Trois précisions. Mattermost Enterprise vs Team Edition : pour < 50 users, Team Edition + GitLab OAuth Authentik suffit. Pour > 50 users + SAML obligatoire, Enterprise. Audit ARTCI : ARTCI demande typiquement 1 an de logs incluant qui s’est connecté quand. Loki retention 1 an + export CSV répond. Confidentialité dossiers clients : channels privés Mattermost + 2FA Authentik = sécurité équivalente avocat/médecin.

Tutoriels frères

FAQ

SAML possible Team Edition ? Non. Workaround GitLab OAuth via Authentik fonctionne pour 95% des cas.

Migration vers Enterprise ? Possible plus tard. Données conservées.

Multi-IdP ? Mattermost supporte un IdP à la fois.

Audit retention 5 ans ? Loki ou Postgres archive cold storage. ~ 25 GB pour 5 ans.

Compliance HIPAA ? Mattermost Enterprise inclut HIPAA-compliant features.

Sur un angle proche

Pourquoi Mattermost SSO Authentik change la donne en 2026

En Afrique de l’Ouest francophone, beaucoup d’equipes tech improvisent encore leurs process. Cet article propose un fil d’execution clair, teste sur des projets reels a Dakar, Abidjan, Cotonou et Lome, pour passer de l’idee a la mise en production sans bricolage. Vous repartez avec un workflow reproductible, des commandes verifiees et des reperes de cout en FCFA (1 EUR = 655,957 FCFA).

Avant de plonger dans les etapes, posez le contexte : quelle equipe, quel budget mensuel en FCFA, quels outils deja en place (Mixx by Yas pour les paiements mobiles, Wave, Orange Money). C’est ce cadrage qui evite les detours couteux.

Etape 1 : verifier les prerequis techniques

Avant tout, alignez votre poste de travail. Verifiez que vous disposez d’un acces internet stable (au minimum 10 Mbps en download), d’un compte Google Workspace ou equivalent pour la collaboration, et d’une carte bancaire internationale ou d’un compte Wave Business pour les souscriptions outillage.

# Verifier la version de Node.js (cible 22 LTS)
node --version
# Verifier git
git --version

Si la sortie affiche v22.x ou superieure pour Node et git 2.40+, vous etes pret. Sinon, installez la derniere version LTS depuis nodejs.org. Ce signal indique que les outils CLI modernes (Make CLI, Plausible CLI, etc.) tourneront sans warning.

Etape 2 : preparer l’environnement de travail

Creez un dossier de projet dedie pour isoler vos fichiers. Cette discipline evite les conflits de configuration entre clients ou demos. La convention recommandee : un dossier par cluster, versionne sur un git prive (Gitea auto-heberge ou GitHub).

mkdir -p ~/projets/Mattermost SSO Authentik
cd ~/projets/Mattermost SSO Authentik
git init
echo "node_modules/" > .gitignore

Apres cette commande, vous obtenez un repo git initialise avec un .gitignore minimal. C’est le point de depart de toute industrialisation : tracer les changements, revenir en arriere si besoin, partager avec un collegue a Abidjan ou Cotonou sans envoyer un zip par WhatsApp.

Etape 3 : configurer la brique principale

C’est l’etape de fond. Vous allez parametrer le composant central de Mattermost SSO Authentik. Procedez par couches : d’abord la configuration minimale qui marche, puis les options avancees une fois le flux nominal valide. Cette discipline evite les debug interminables.

# Exemple de config minimale (adapter selon outil)
cat > config.yaml <<'EOF'
project: Mattermost SSO Authentik
locale: fr-SN
currency: XOF
timezone: Africa/Dakar
EOF

Le fichier config.yaml regroupe les parametres regionaux : locale francaise senegalaise, devise XOF (franc CFA), fuseau Africa/Dakar. Ces trois lignes evitent 80% des bugs d’affichage de prix et de dates pour vos utilisateurs ouest-africains.

Etape 4 : integrer les services tiers

Ajoutez les connecteurs vers vos outils existants. Pour la majorite des projets ouest-africains, cela inclut un agregateur de paiement compatible Mixx by Yas et Wave (PayDunya, CinetPay, ou IntouchPay), un CRM (HubSpot Free ou EspoCRM auto-heberge), et un canal de communication (WhatsApp Business API ou Mattermost).

# Tester un endpoint webhook (exemple)
curl -X POST https://votre-domaine.io/webhook/test \
  -H "Content-Type: application/json" \
  -d '{"event":"ping","source":"manual"}'

La reponse attendue est un HTTP 200 avec un JSON de confirmation. Si vous recevez un 404, votre route n’est pas exposee. Si vous recevez un 401, votre header d’authentification manque. Ce test simple valide la chaine de bout en bout avant de brancher les vrais flux.

Etape 5 : tester en conditions reelles

Ne deployez jamais en production sans test smoke. Creez un jeu de donnees de test minimal (3 a 5 cas representatifs) qui couvre le chemin nominal et au moins deux cas d’erreur (paiement refuse, timeout reseau). Lancez-le sur l’environnement de staging.

# Lancer la suite de tests smoke
npm test -- --grep "smoke"

Tous les tests doivent passer en vert. Si un test echoue, lisez le message complet : 90% du temps, il pointe vers une variable d’environnement manquante ou une URL de webhook mal copiee. Corrigez puis relancez.

Etape 6 : passer en production

Une fois la phase de test validee, deployez sur votre serveur de production (VPS Hetzner, OVH, ou serveur local a Dakar pour les contraintes de souverainete des donnees). Activez les sauvegardes automatiques quotidiennes et le monitoring (Uptime Kuma auto-heberge fait tres bien le job pour 0 FCFA).

Cout typique pour un setup pro : VPS 4 vCPU/8 Go RAM environ 25 EUR/mois soit ~16 400 FCFA, nom de domaine .io ou .sn ~20 000 FCFA/an, certificat SSL Let’s Encrypt gratuit. Total mois 1 : autour de 36 400 FCFA tout compris.

Etape 7 : suivre les KPIs et iterer

Mesurez ce qui compte vraiment. Pour Mattermost SSO Authentik, les indicateurs cles sont generalement : taux de conversion, temps de reponse, taux d’erreur, cout d’acquisition. Mettez en place un tableau de bord simple (Grafana, Metabase ou Umami selon le cas).

Revue hebdomadaire de 30 minutes le lundi matin avec votre equipe : on regarde les chiffres, on identifie une seule action d’amelioration pour la semaine, on l’execute. Cette discipline a impact plus fort que dix outils empiles.

Sur le même thème

Approfondissez avec nos guides connexes : l’index complet du blog regroupe les tutoriels pas a pas, et la page contact permet d’echanger sur votre projet specifique. La methodologie ci-dessus s’applique aussi bien a un solo dev qu’a une equipe de 10 personnes.

Prochaine etape concrete : bloquez 2 heures dans votre agenda cette semaine pour executer les etapes 1 a 3 sur un projet pilote. C’est le seul moyen d’ancrer la methode.

Pourquoi Mattermost SSO Authentik change la donne en 2026

En Afrique de l’Ouest francophone, beaucoup d’equipes tech improvisent encore leurs process autour de Mattermost SSO Authentik. Cet article propose un fil d’execution clair, teste sur des projets reels a Dakar, Abidjan, Cotonou et Lome, pour passer de l’idee a la mise en production sans bricolage. Vous repartez avec un workflow reproductible, des commandes verifiees et des reperes de cout en FCFA (1 EUR = 655,957 FCFA).

Avant de plonger dans les etapes, posez le contexte : quelle equipe, quel budget mensuel en FCFA, quels outils deja en place (Mixx by Yas pour les paiements mobiles, Wave, Orange Money). C’est ce cadrage qui evite les detours couteux et les outils empiles sans usage reel.

Etape 1 : verifier les prerequis techniques

Avant tout, alignez votre poste de travail. Verifiez que vous disposez d’un acces internet stable (minimum 10 Mbps en download), d’un compte Google Workspace ou equivalent pour la collaboration, et d’une carte bancaire internationale ou d’un compte Wave Business pour les souscriptions outillage. Sans ces bases, vous perdrez du temps a chaque etape suivante.

# Verifier la version de Node.js (cible 22 LTS)
node --version
# Verifier git
git --version

Si la sortie affiche v22.x ou superieure pour Node et git 2.40 ou plus, vous etes pret. Sinon, installez la derniere version LTS depuis nodejs.org. Ce signal indique que les outils CLI modernes tourneront sans warning de compatibilite et que les dependances npm s’installeront proprement.

Etape 2 : preparer l’environnement de travail

Creez un dossier de projet dedie pour isoler vos fichiers. Cette discipline evite les conflits de configuration entre clients ou demos. La convention recommandee : un dossier par projet, versionne sur un git prive (Gitea auto-heberge sur VPS Hetzner ou GitHub Free).

mkdir -p ~/projets/mattermost-sso-authentik
cd ~/projets/mattermost-sso-authentik
git init
echo "node_modules/" > .gitignore

Apres ces commandes, vous obtenez un repo git initialise avec un .gitignore minimal. C’est le point de depart de toute industrialisation : tracer les changements, revenir en arriere si besoin, partager avec un collegue a Abidjan ou Cotonou sans envoyer un zip par WhatsApp.

Etape 3 : configurer la brique principale

C’est l’etape de fond. Vous allez parametrer le composant central de Mattermost SSO Authentik. Procedez par couches : d’abord la configuration minimale qui marche, puis les options avancees une fois le flux nominal valide. Cette discipline evite les debug interminables et les regressions silencieuses.

cat > config.yaml <<'EOF'
project: mattermost-sso-authentik
locale: fr-SN
currency: XOF
timezone: Africa/Dakar
EOF

Le fichier config.yaml regroupe les parametres regionaux : locale francaise senegalaise, devise XOF (franc CFA), fuseau Africa/Dakar. Ces trois lignes evitent 80 pourcent des bugs d'affichage de prix et de dates pour vos utilisateurs ouest-africains, du Senegal au Benin en passant par la Cote d'Ivoire.

Etape 4 : integrer les services tiers

Ajoutez les connecteurs vers vos outils existants. Pour la majorite des projets ouest-africains, cela inclut un agregateur de paiement compatible Mixx by Yas et Wave (PayDunya, CinetPay, ou IntouchPay), un CRM (HubSpot Free ou EspoCRM auto-heberge), et un canal de communication (WhatsApp Business API officielle ou Mattermost auto-heberge).

curl -X POST https://votre-domaine.io/webhook/test   -H "Content-Type: application/json"   -d '{"event":"ping","source":"manual"}'

La reponse attendue est un HTTP 200 avec un JSON de confirmation. Si vous recevez un 404, votre route n'est pas exposee correctement. Si vous recevez un 401, votre header d'authentification manque ou est invalide. Ce test simple valide la chaine de bout en bout avant de brancher les vrais flux de production.

Etape 5 : tester en conditions reelles

Ne deployez jamais en production sans test smoke. Creez un jeu de donnees de test minimal (3 a 5 cas representatifs) qui couvre le chemin nominal et au moins deux cas d'erreur (paiement refuse, timeout reseau). Lancez-le sur l'environnement de staging avant tout passage en prod.

# Lancer la suite de tests smoke
npm test -- --grep "smoke"

Tous les tests doivent passer en vert. Si un test echoue, lisez le message complet : 90 pourcent du temps, il pointe vers une variable d'environnement manquante ou une URL de webhook mal copiee. Corrigez puis relancez avant de continuer plus loin.

Etape 6 : passer en production

Une fois la phase de test validee, deployez sur votre serveur de production. Pour la majorite des projets ouest-africains, un VPS Hetzner CX22 (4 vCPU, 8 Go RAM) en datacenter europeen offre la meilleure latence. Si vos donnees doivent rester au Senegal, regardez les offres Sonatel Cloud ou un serveur dedie a Dakar. Activez les sauvegardes automatiques quotidiennes et le monitoring (Uptime Kuma auto-heberge fait tres bien le job pour 0 FCFA).

Cout typique pour un setup pro : VPS 4 vCPU/8 Go RAM environ 25 EUR/mois soit ~16 400 FCFA, nom de domaine .io ou .sn entre 12 000 et 25 000 FCFA/an, certificat SSL Let's Encrypt gratuit. Total mois 1 : autour de 36 400 FCFA tout compris, sans surprise.

Etape 7 : suivre les KPIs et iterer

Mesurez ce qui compte vraiment. Pour Mattermost SSO Authentik, les indicateurs cles sont generalement : taux de conversion, temps de reponse moyen, taux d'erreur, cout d'acquisition par utilisateur final. Mettez en place un tableau de bord simple (Grafana, Metabase ou Umami selon le contexte technique).

Revue hebdomadaire de 30 minutes le lundi matin avec votre equipe : on regarde les chiffres, on identifie une seule action d'amelioration pour la semaine, on l'execute. Cette discipline a impact plus fort que dix outils empiles sans gouvernance.

Sur un angle proche

Approfondissez avec nos guides connexes : l'index complet du blog regroupe les tutoriels pas a pas, et la page contact permet d'echanger sur votre projet specifique. La methodologie ci-dessus s'applique aussi bien a un solo dev qu'a une equipe de 10 personnes.

Prochaine etape concrete : bloquez 2 heures dans votre agenda cette semaine pour executer les etapes 1 a 3 sur un projet pilote. C'est le seul moyen d'ancrer la methode et de mesurer le gain reel sur votre contexte.

مشاركة