Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
technique:adminserv:mattermost:plugins [2021/01/17 20:12] – ↷ Page déplacée et renommée de technique:adminserv:mattermost_plugins à technique:adminserv:mattermost:plugins qduchemi | technique:adminserv:mattermost:plugins [2021/01/17 21:15] (Version actuelle) – qduchemi |
---|
{{indexmenu_n>5}} | {{indexmenu_n>5}} |
# Gestion des plugins sur Mattermost | # Gestion des plugins |
| |
## Résumé | <bootnote web>La documentation officielle des plugins [est disponible ici](https://docs.mattermost.com/administration/plugins.html).</bootnote> |
| |
La plupart des informations sur les plugins [sont disponibles ici](https://docs.mattermost.com/administration/plugins.html). | ## Installer et mettre à jour un plugin |
| |
Voici un résumé de ce qu'il faut retenir : | <bootnote warning> |
| Un plugin ne doit être installé que si le code source a été **audité**, car le plugin aura accès à l'ensemble du service, y compris les mots de passe de la base de données, et est par conséquent capable d'exfiltrer des informations personnelles. |
| </bootnote> |
| |
* Un plugin ne doit être installé que si le code source a été **audité**, car le plugin aura accès à l'ensemble du service, y compris les mots de passe de la base de données, et est par conséquent capable d'exfiltrer des informations personnelles. | Il existe trois manières d'installer et d'activer des plugins. |
* Certains plugins sont pré-installés (Jira, Zoom) ; il s'agit des plugins officiels et stables, en revanche ils sont désactivés. | |
* Les autres plugins peuvent être officiels ou communautaires mais demandent une procédure d'installation plus manuelle. | |
* Les plugins ne sont **pas mis à jour** automatiquement pour le moment. Il faut réinstaller le plugin afin de le mettre à jour. | |
* Les administrateurs peuvent configurer les plugins via la console système. Les membres du groupe `docker` peuvent configurer les plugins via les fichiers de configuration de Mattermost. (`/mattermost/config/config.json` pour le fichier principal, `/mattermost/plugins/<nom du plugin>/plugin.json` pour chaque plugin). | |
| |
## Installer un plugin | ### Pré-installés |
| |
Dans tous les cas, il faut télécharger une archive du plugin, souvent une release sur Github. | <bootnote>Certains plugins sont pré-installés (Jira, Zoom) ; il s'agit de plugins officiels et stables, en revanche ils sont désactivés par défaut.</bootnote> |
| |
1. Depuis la console système, importer l'archive depuis l'interface `Plugins (Beta)`, ou ; | La plupart du temps, ces plugins ne nous intéressent pas mais il n'est pas possible ni vraiment utile de les supprimer. Leur mise à jour se fait à travers les mises à jour de Mattermost. |
2. Copier l'archive dans le volume correspondant aux plugins de Mattermost (en mai 2019, il s'agit de `/DATA/docker/mattermost/mattermost-app/plugins`) et l'extraire. | |
| |
Enfin, redémarrer le conteneur. | ### Sur la place de marché |
| |
La mise à jour d'un plugin est similaire. | Mattermost maintient une [place de marché des plugins](https://github.com/mattermost/mattermost-marketplace). Cette place de marché contient essentiellement : |
| |
## Configurer un plugin | * Des plugins développés par l'équipe de Mattermost |
| * Des plugins développés par la communauté mais vérifiés par l'équipe de Mattermost |
| |
* Soit dans le fichier `plugin.json` évoqué plus haut (sauf cas particuliers comme le [Welcome Bot](https://github.com/mattermost/mattermost-plugin-welcomebot)) | <bootnote>Ces plugins sont considérés comme relativement stables et sécurisés.</bootnote> |
* Soit via la console système, dans le sous menu créé spécialement pour le plugin une fois Mattermost redémarré | |
| <bootnote>L'utilisation de la place de marché est sujette à la télémétrie de Mattermost, mais elle est désactivée chez nous.</bootnote> |
| |
| Lorsqu'elle est activée dans la console système, le menu y donne accès : |
| |
| {{ :technique:adminserv:mattermost:mattermost_marketplace.png?200 |}} |
| |
| Depuis la place de marché, il est possible d'installer des plugins depuis l'interface et de mettre à jour les plugins pris en charge. L'exemple ci-dessus montre bien les différences : |
| |
| {{ :technique:adminserv:mattermost:mattermost_plugins_marketplace.png?600 |}} |
| |
| * Jitsi, Matterpoll et Welcome Bot sont des plugins disponibles sur la place de marché. |
| * Matterpoll est maintenu par la communauté, Jitsi est maintenu par Mattermost **et** en version Beta, le Welcome Bot est maintenu par Mattermost. |
| * Welcome Bot peut être mis à jour directement depuis l'interface. |
| |
| <bootnote>Les plugins installés sont persistants au fur et à mesure des mises à jours, car les plugins sont stockés dans un [[technique:docker:general:volumes|volume Docker]].</bootnote> |
| |
| <bootnote warning>Le plugin Spoiler est listé, mais un tag `Local` lui est accroché : il n'est pas directement gérable depuis la place de marché (voir ci-dessous).</bootnote> |
| |
| ### Manuellement |
| |
| Les plugins qui ne sont pas disponibles sur la place de marché ou pré-installés peuvent s'installer manuellement. |
| Il faut pour ce faire télécharger une archive du plugin, souvent une release sur Github. |
| |
| <bootnote>Exemple pour le plugin spoiler : https://github.com/moussetc/mattermost-plugin-spoiler/releases. On récupérera l'archive au format `.tar.gz`.</bootnote> |
| |
| Il y a ensuite deux manière de l'installer : |
| |
| #### Depuis la console système |
| |
| On peut importer l'archive depuis la catégorie "Gestion des plugins" de la Console Système : |
| |
| {{ :technique:adminserv:mattermost:mattermost_manual_plugin.png?600 |}} |
| |
| Autrement, on peut copier l'archive dans le volume correspondant aux plugins de Mattermost. Pour ce faire, on se rend dans le conteneur Mattermost et on extrait l'archive dans le dossier `/mattermost/plugins`, puis on redémarre le conteneur. |
| |
| <bootnote>La mise un jour d'un plugin installé manuellement ne peut se faire qu'en suivant la procédure d'installation : on remplace les anciens fichiers par les nouveaux.</bootnote> |
| |
| ## Configuration des plugins |
| |
| ### Dans la console système |
| |
| La vaste majorité des plugins sont paramétrables graphiquement, depuis la catégorie plugins de la Console Système. Exemple pour Matterpoll : |
| |
| {{ :technique:adminserv:mattermost:mattermost_matterpoll.png?600 |}} |
| |
| Dans ce cas, les paramètres sont enregistrés dans le fichier `config.json` de façon transparente. |
| |
| ### Dans le fichier config.json |
| |
| Certains plugins demandent une modification manuelle du fichier `config.json`. |
| |
| <bootnote>C'est le cas du [Welcome Bot](https://github.com/mattermost/mattermost-plugin-welcomebot), où les messages d'accueil ne sont pas configurables dans l'interface.</bootnote> |
| |
| Dans ce cas, on se rendra dans le conteneur Mattermost et on éditera le fichier `/mattermost/config/config.json`. |
| |
| <bootnote critical>Une erreur de syntaxe empêchera Mattermost de redémarrer, et provoquera un downtime important. Il est préférable de tester ses modifications sur une machine de test.</bootnote> |
| |
| <bootnote warning>Un redémarrage du conteneur est nécessaire pour prendre en compte ces modifications.</bootnote> |
| |
| ### Via une commande dédiée |
| |
| Certains plugins configurables uniquement via le fichier `config.json` proposent également des commandes qui aident à la configuration. |
| |
| <bootnote>C'est le cas du [Welcome Bot](https://github.com/mattermost/mattermost-plugin-welcomebot), qui propose [des commandes](https://github.com/mattermost/mattermost-plugin-welcomebot/blob/master/README.md#usage) pour définir les messages d'accueil d'une équipe en particulier, via des commandes accessibles aux administrateurices d'équipe.</bootnote> |
| |
| Cette méthode est à préférer si elle est disponible car elle évite de devoir modifier le fichier `config.json` à la main et donc de redémarrer le conteneur/risquer des erreurs. |