123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <p><style>
- figure img {
- max-width: 30rem;
- }
- </style></p>
- <h1>Gestion des abonnements aux listes mail</h1>
- <p>Coin offre un module optionnel pour que les adhérent·e·s puissent
- s'abonner/désabonner aux listes mail de l'asso. de manière autonome (listes de
- discussions et/ou de diffusion).</p>
- <p>Coin n'est pas lui-même un serveur de listes mail. Il se contente de
- s'interfacer avec ce dernier pour lui pousser des liste d'inscrit·e·s.</p>
- <p>Il existe une interface membre pour auto-gérer ses propres abonnements, et une
- interface admin pour gérer l'ensemble des abonnements lorsqu'on possède les
- droits admin dans coin.</p>
- <p><figure>
- <img src="../_img/user-maillists.png" alt="vue adhérent" title="" />
- <img src="../_img/admin-maillists.png" alt="vue admin" title="" />
- <figcaption>Vues adhérent·e et admin</figcaption>
- </figure></p>
- <h2>Fonctionnement</h2>
- <p>Coin stocke les abonnements des membres aux listes dans sa base de données, en
- utilisant l'adresse mail de la fiche membre.</p>
- <p>Il synchronise ensuite ces listes vers le serveur de listes mail en appelant
- une commande pour chaque liste gérée. Cette commande est configurable, et
- reçoit sur son entrée standard la liste des emails inscrits (une adresse mail
- par ligne).</p>
- <p>Si le serveur de base données est sur une machine différente du serveur Coin,
- il est possible d'utiliser la commande ssh qui appelle un script distant.</p>
- <p>La synchronisation sera faite :</p>
- <ul>
- <li>à l'abonnement/désabonnement à une liste via l'interface admin de Coin
- (section « Listes mail »).</li>
- <li>à l'abonnement/désabonnement à une liste via l'interface membre dee coin </li>
- <li>au changement d'adresse mail d'un·e adhérent·e</li>
- </ul>
- <p>À la suppression d'un·e adhérent·e.</p>
- <h2>Avertissements</h2>
- <ul>
- <li><p>En l'état, tout membre avec un accès de base à coin aura pouvoir d'auto-gérer
- son inscription à toute liste gérée par coin. Il n'est cependant pas
- obligatoire donner à Coin la main sur les abonnements à toutes les listes d'un
- serveur de listes.</p></li>
- <li><p>Il est préférable que les listes mail gérées par Coin le soient totalement. Si
- des inscriptions sont faites par d'autres moyens (mail, interface du serveur de
- liste de discussions… etc), ces modifications risquent d'être écrasées par la
- gestion d'abonnements de Coin.</p></li>
- </ul>
- <h2>Mise en place</h2>
- <h3>1. Activer l'app <em>maillist</em></h3>
- <p>Il faut activer l'app <em>maillists</em>, cela fonctionne <a href="../README.md#using-optional-apps">comme les autres apps optionelles</a>. Il
- faut ensuite lancer la commande suivante pour mettre à jour la base de données :</p>
- <pre><code>./manage.py migrate
- </code></pre>
- <h3>2. Configurer la synchronisation.</h3>
- <p>Il y a un paramètre obligatoire à renseigner dans votre fichier.
- <em>settings_local.py</em> : <code>MAILLIST_SYNC_COMMAND</code>.</p>
- <p>Il s'agit de la commande à lancer pour « pousser » la d'emails inscrits à une
- liste mail donnée. Vous pouvez utiliser des variable dans la commande à lancer :</p>
- <ul>
- <li><code>{short_name}</code> : l'identifiant court de la liste (ex: <em>discussion</em>)</li>
- <li><code>{email}</code>: l'email de la liste (ex: <em>discussion@example.com</em>)</li>
- </ul>
- <p>Si par exemple votre serveur de listes attend un bête fichier texte
- avec une adresse par ligne dans <em>/etc/lists/nomdelaliste</em> :</p>
- <pre><code>MAILLIST_SYNC_COMMAND = 'cat /etc/lists/{short_name}'
- </code></pre>
- <p>Si le ce même serveur se situe sur un autre serveur, on pourra utiliser par
- exemple :</p>
- <pre><code>MAILLIST_SYNC_COMMAND = "ssh coin@mail.example.com 'cat /etc/lists/{short_name}'"
- </code></pre>
- <p>Des cas d'usages plus complexes (ex: inscription via une API HTTP). sont
- envisageables en recourant à un petit script sur mesure.</p>
- <h3>3. Renseigner les listes</h3>
- <p>Se rendre dans l'admin de coin et dans la nouvelle catégorie « Listes mail »,
- renseigner les listes mail que l'on souhaite voir gérées par coin.</p>
- <p>La synchronisation devrait se faire à chaque (dé)inscription que vous faites à
- une liste.</p>
|