{{indexmenu_n>1}} # Administration de Mattermost L'administration de Mattermost se fait soit via la ligne de commande (depuis les machines de Picasoft ou en local), soit via [[technique:adminserv:mattermost:api|l'API REST.]] Les outils présentés ici permettent de réaliser toutes les opérations possibles et inimaginables, contrairement à la [Console Système](https://team.picasoft.net/admin_console/) qui reste limitée. Au vu des évolutions récentes de Mattermost (début 2020), la méthode préférée et recommandée par Mattermost est la première (`mmctl`). Quoi qu'il arrive, cet article présente une façon d'utiliser des commandes **directement sur le serveur de production**, il est **indispensable** d'essayer toute commande destructrice ou massive sur un serveur de test. ## mmctl, comme à la maison Le nouvel outil recommencé pour administrer Mattermost depuis la ligne de commande se nomme `mmctl`. Il est inclus dans l'image Docker, mais on préférera l'utiliser depuis son ordinateur personnel, dans la mesure où il demande des identifiants ou jetons d'accès personnels. Les méthodes d'installations évoluant, on conseille de suivre le [dépôt officiel](https://github.com/mattermost/mmctl). Aujourd'hui, la méthode préférée utilise le binaire `go` pour récupérer l'outil : ```bash $ go install github.com/mattermost/mmctl@latest ``` Parfois, cette commande échoue ; on télécharge alors directement [l'exécutable](https://github.com/mattermost/mmctl/releases). Une fois `mmctl` récupéré, on s'authentifie. Je conseille d'utiliser un jeton d'accès personnel pour éviter un leak d'identifiants sur votre machine. On crée un jeton d'accès dans les paramètres du compte : {{ :technique:adminsys:mattermost:jeton_mattermost.png?600 | Création d'un jeton d'accès personnel sur Mattermost }} L'avantage, c'est que ce jeton vous permettra de faire ce que vous voulez dans la mesure de vos droits, que vous soyez administrateur ou non ! Ce peut être un bonne outil si vous administrez seulement une équipe. :) Ensuite, vous pouvez vous authentifier avec la commande suivante : ```bash $ mmctl auth login https://team.picasoft.net --name Picasoft --access-token ``` À ce stade, toutes les commandes [listées dans la documentation](https://docs.mattermost.com/administration/mmctl-cli-tool.html) sont utilisables. Exemple : ```bash $ mmctl user search quentinduchemin@tuta.io id: h59n84k9jbgu78ob75wubbgxwr username: quentinduchemin nickname: position: Guignol de Picasoft first_name: Quentin last_name: Duchemin email: quentinduchemin@tuta.io auth_service: ``` ## mattermost, sur le serveur Outil déprécié : ne plus utiliser! Un autre outil d'administration s'appelle ```mattermost```, et sera [bientôt déprécié](https://docs.mattermost.com/administration/command-line-tools.html). Cet outil est disponible à l'intérieur du conteneur Docker du serveur Mattermost, et ne nécessite **pas d'authentification**. Notez que pour une raison obscure, les commandes sont très longues à s'exécuter, raison de plus d'utiliser le premier outil. La documentation des commandes est accessible [[https://docs.mattermost.com/administration/command-line-tools.html|sur le site de Mattermost]]. On se rend sur [[technique:graph_services|la machine virtuelle hébergeant Mattermost]] et on rentre dans le conteneur Docker : ```bash $ docker exec -it mattermost-app sh # cd bin/ ``` Exemple d'utilisation de la commande, pour lister les canaux de l'équipe Picasoft : ```bash $ ./mattermost channel list picasoft ```