technique:adminserv:mattermost:comptes_inactifs

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
technique:adminserv:mattermost:comptes_inactifs [2024/03/26 11:20] – créée rdelaagetechnique:adminserv:mattermost:comptes_inactifs [2024/03/26 16:00] rdelaage
Ligne 3: Ligne 3:
 Créer `export_inactive.sql` avec Créer `export_inactive.sql` avec
 ```sql ```sql
-SELECT json_agg(exp) FROM (+SELECT json_agg(user_export) FROM (
 SELECT u.id as userid, u.username as username, u.email as email, to_timestamp((lastlogin.lastlogin/1000)) as last_login_date, userteams.nameteams as teams SELECT u.id as userid, u.username as username, u.email as email, to_timestamp((lastlogin.lastlogin/1000)) as last_login_date, userteams.nameteams as teams
 FROM users u FROM users u
Ligne 24: Ligne 24:
 ON ON
    u.id = userteams.userid    u.id = userteams.userid
-WHERE u.deleteat = 0) exp;+WHERE u.deleteat = 0) user_export;
 ``` ```
  
Ligne 30: Ligne 30:
 ```bash ```bash
 cat export_inactive.sql | docker exec -i mattermost-db psql -qAtX -U mattermost > result.json cat export_inactive.sql | docker exec -i mattermost-db psql -qAtX -U mattermost > result.json
 +```
 +
 +générer les mails
 +
 +On utilise gomplate à télécharger sur la machine dans le répertoire utilisateur afin de générer des mails personnalisés
 +
 +```bash
 +curl -o gomplate -L https://github.com/hairyhenderson/gomplate/releases/download/v3.11.7/gomplate_linux-amd64
 +chmod +x gomplate
 +```
 +
 +On va utiliser ce script
 +
 +```bash
 +#!/bin/env bash
 +
 +jq -c '.[]' inactive.json | while read i; do
 + echo $i > entry.json
 + ./gomplate -c ".=entry.json" -f inactive.tpl > entry.eml
 + rcpt_to=$(echo $i | jq -r .email)
 + # TODO: provide password
 + curl -v --mail-from mattermost@picasoft.net --ssl --mail-rcpt "$rcpt_to" --user mattermost --upload-file entry.eml smtp://mail.picasoft.net:587/team.picasoft.net
 + rm -f entry.json entry.eml
 +done
 +```
 +
 +Utilisation de ce template `inactive.tpl`
 +```
 +From: Picateam <mattermost@picasoft.net>
 +To: {{ .email }}
 +Date: {{ (time.Now).Format time.RFC1123Z }}
 +Subject: Votre compte sur Picateam va être desactivé - Your account on Picateam will be deactivated
 +List-Unsubscribe: mailto:picasoft@assos.utc.fr?subject=désabonnement
 +
 +**English version below**
 +
 +Cher utilisateur·ice de Picateam,
 +
 +Tu reçois ce message car tu possèdes un compte ({{ .username }}) sur l'instance Mattermost de Picasoft (team.picasoft.net) et tu ne t'es pas connecté dessus depuis au moins 3 ans (dernière connexion le {{ (time.Parse time.RFC3339 .last_login_date).Format "02/01/2006" }}).
 +
 +Afin de prendre soin de notre instance, nous désactivons l'ensemble des comptes n'ayant pas eu d'activité au cours des 3 dernières années. Cette opération sera effectuée 1 mois après l'envoi de ce mail.
 +
 +Tu es actuellement membre des équipes suivantes :
 +{{- range .teams }}
 +- {{ . }}
 +{{- end }}
 +
 +Si tu n'as plus besoin de ton compte, tu n'as aucune action à réaliser, mais si tu souhaites le conserver on t'invite à te connecter sur https://team.picasoft.net.
 +
 +Amicalement,
 +Picasoft
 +
 +===
 +
 +Dear Picateam user,
 +
 +You're receiving this message because you have an account ({{ .username }}) on Picasoft's Mattermost instance (team.picasoft.net) and haven't logged in for at least 3 years (last login {{ (time.Parse time.RFC3339 .last_login_date).Format "01/02/2006" }}).
 +
 +To take care of our instance, we're deactivating all accounts that haven't been active in the last 3 years. This operation will be carried out 1 month after this e-mail is sent.
 +
 +You are currently a member of the following teams:
 +{{- range .teams }}
 +- {{ . }}
 +{{- end }}
 +
 +If you no longer need your account, you have no action to take, but if you wish to keep it, we invite you to log on to https://team.picasoft.net.
 +
 +Best regards,
 +Picasoft
 ``` ```
  • technique/adminserv/mattermost/comptes_inactifs.txt
  • de rdelaage