📍 Article principal de la série : Mattermost 2026 : guide complet.
Vous avez 2 ans de discussions Slack et vous voulez basculer sur Mattermost auto-hébergé sans perdre l’historique. Ce tutoriel détaille la procédure validée chez plusieurs PME francophones avec workspaces 25-100 utilisateurs.
Prérequis
- Mattermost en production (voir tutoriel installation).
- Accès Owner ou Admin Slack workspace.
- Niveau attendu : intermédiaire/avancé.
- Temps estimé : 1 jour préparation + 30 jours bascule.
Étape 1 — Audit Slack actuel
Slack admin → Settings → Workspace settings. Documenter :
- Nombre utilisateurs actifs/désactivés.
- Nombre channels publics + privés.
- Nombre integrations actives.
- Volume historique (Slack Pro = illimité, Free = 90 jours derniers).
Étape 2 — Export Slack
Slack admin → Settings → Import/Export Data → Export → All Time. Génération en quelques heures (workspace large) ou minutes (petit).
L’export ZIP contient : channels.json, users.json, et un dossier par channel avec un JSON par jour.
Limite Slack Free : seulement 90 derniers jours. Si vous étiez sur Free, l’historique antérieur est perdu côté Slack.
Étape 3 — Préparer l’import Mattermost
Sur le serveur Mattermost :
# Copier le ZIP Slack export sur le serveur
scp slack-export.zip user@mattermost-server:/tmp/
# Convertir au format Mattermost JSONL
docker exec -it mattermost mmctl import slack TEAM_ID /tmp/slack-export.zip /tmp/mattermost-import.jsonl
Étape 4 — Inspecter le JSONL
Le JSONL contient toutes les données prêtes à importer. Vérifier :
head -20 /tmp/mattermost-import.jsonl
# Lignes type : {"type":"version","version":1}, {"type":"team",...}, {"type":"channel",...}, {"type":"user",...}, {"type":"post",...}
Étape 5 — Test sur staging
Lancer l’import sur instance Mattermost staging :
docker exec -it mattermost mmctl import process /tmp/mattermost-import.jsonl --apply
Vérifier dans Studio Mattermost que channels, messages, users sont présents. Spot-check 10 messages aléatoires.
Étape 6 — Mapping users Slack → Mattermost
Slack utilise des UID type U02ABC123. Mattermost crée des nouveaux UIDs. Le mapping est dans le JSONL.
Important : pour conserver la propriété des messages, l’email de l’utilisateur Slack doit correspondre à l’email Mattermost. Sinon, Mattermost crée un user inactif.
Étape 7 — Conserver l’ordre chronologique
Le JSONL préserve les timestamps Slack. Mattermost affiche correctement l’ordre dans les channels.
Étape 8 — Période de parallèle
Pendant 14-30 jours, garder Slack ET Mattermost actifs :
- Nouveaux messages : Mattermost only.
- Slack : lecture seule pour consultation historique récente.
Communication interne : « À partir d’aujourd’hui, on poste sur Mattermost. Slack reste consultable pour 30 jours ».
Étape 9 — Migration des integrations
Pour chaque intégration Slack (GitHub, Jira, Jenkins, Wave webhooks) :
- Identifier le webhook URL Slack.
- Créer un webhook entrant équivalent dans Mattermost (System Console → Integrations).
- Update la configuration côté service externe.
- Tester avec event de test.
Étape 10 — Décommissionnement Slack
Au jour J+30 :
- Annuler l’abonnement Slack Pro (data accessible 30 jours après).
- Désactiver les apps Slack côté employés.
- Supprimer les bookmarks et raccourcis.
- Notification finale : « Slack est désormais en archive uniquement ».
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| Import bloque sur fichier corrompu | Export Slack incomplet | Re-demander export Slack |
| Users en doublon | Email diffère entre Slack/Mattermost | Pré-créer users Mattermost avec emails matching |
| Fichiers attachés perdus | S3 storage différent | Configurer Mattermost storage avant import |
| Threads cassés | Export Slack ancien sans threading | Slack export récent obligatoire |
| Permissions channels privés perdues | Pas dans export | Recréer manuellement |
| Emojis custom absents | Pas dans export Slack standard | Re-uploader manuellement |
Adaptation au contexte ouest-africain
Trois précisions. Bande passante export : un workspace de 1 Go prend 30 minutes à uploader sur connexion partagée Casablanca. Faire upload depuis VPS Hetzner directement. Communication équipe : annoncer 7 jours à l’avance, formation 30 min sur Mattermost, FAQ dédiée. Économies : pour PME 30 personnes en CI, économie 2 600 USD/an (Slack Pro). Justifie l’effort migration.
Tutoriels frères
FAQ
Migration Discord à la place ? Discord plus orienté communautés. Mattermost plus pro. Outils export Discord similaires.
Tout l’historique requis ? Souvent non. 6-12 mois suffisent. Archive Slack reste consultable.
Combien de temps pour 100k messages ? Import : 15-30 minutes. Vérification manuelle 1 heure.
Slack workflows migrés ? Pas automatique. Recréer dans Mattermost via Plugins ou bot.
Voice/Video appels Slack ? Mattermost Calls plugin équivalent. Migration séamless.
Pour aller plus loin
- 🔝 Retour au guide général : Guide complet Mattermost 2026
- Documentation Migration : docs.mattermost.com/onboard/migrating-from-slack