| Résumé | Ajoute un formulaire de contact en haut de tout sujet étiqueté contact. Les informations soumises via ce formulaire seront envoyées au groupe ou à la catégorie configuré pour les recevoir. |
|
| Lien vers le dépôt | https://github.com/jericson/discourse-contact-plugin | |
| Guide d’installation | Comment installer des plugins dans Discourse |
Fonctionnalités
Lorsqu’il est activé, le plugin Formulaire de contact place un formulaire en haut de tout sujet étiqueté contact. Les données soumises via ce formulaire sont envoyées à une catégorie ou un groupe configuré pour recevoir les courriels de contact_form_email.[1] Comme pour les formulaires de contact traditionnels, il n’est pas nécessaire de posséder un compte sur le site pour soumettre un message.
Voici à quoi un visiteur pourrait être confronté :
Notez qu’il s’agit d’un message standard qui peut contenir toutes les instructions que vous souhaitez inclure dans le corps.[2] Actuellement, les noms des champs sont codés en dur et aucune validation réelle n’est effectuée, mais consultez la section TODO ci-dessous. Une fois le message envoyé, il apparaîtra dans le flux de messages du groupe configuré :
Selon la configuration de leurs notifications par e-mail, les membres du groupe configuré peuvent également recevoir un e-mail de Discourse :
Configuration
Pour utiliser ce plugin, vous devez configurer la réception des e-mails afin de créer de nouveaux sujets ou des messages de groupe. Il n’est pas nécessaire de configurer la réponse par e-mail car le plugin n’envoie pas réellement d’e-mails. Il détourne l’API pour simuler l’arrivée de courriels. (Cela dit, la réponse par e-mail est une fonctionnalité utile !)
En particulier, ce plugin nécessite que :
email_inetenable_staged_users
soient activés.
Une fois activés, tout sujet étiqueté contact aura un formulaire de contact ajouté à l’emplacement topic-above-posts du plugin.
Envoyer à un groupe
Puisque les gens utiliseront ce formulaire pour soumettre leurs informations personnelles, envoyer les résultats à un groupe fermé est l’option la plus sûre.
- Créez un nouveau groupe pour les personnes qui géreront les contacts. (Je l’appelle généralement “Contact” pour simplifier, mais cela peut être n’importe quoi, y compris un groupe existant.)
- Ajoutez les membres qui recevront les informations de contact.
- Ne cochez aucune des options d’accès. Il s’agit d’un groupe fermé.
- Modifiez la visibilité du groupe en fonction des besoins de votre organisation.
- Définissez l’“Adresse e-mail entrante personnalisée” sur la même valeur que le paramètre
contact_form_email. (Par défaut, il s’agit de “contact@example.com”.)
…
Envoyer à une catégorie
L’envoi à une catégorie est également possible en utilisant le paramètre “Adresse e-mail entrante personnalisée” de la catégorie. Assurez-vous également d’activer “Accepter les e-mails d’utilisateurs anonymes sans compte”.
Cependant, l’envoi à une catégorie n’est pas recommandé pour les informations de contact ! Si par hasard les permissions d’accès sur la catégorie sont modifiées, cela pourrait exposer des informations personnelles à des personnes (ou des moteurs de recherche) qui n’y ont pas accès. Il est beaucoup moins probable que cela se produise si les contacts sont envoyés sous forme de messages de groupe.
Limiter qui peut ajouter des formulaires de contact
Il pourrait être assez étrange de voir des formulaires de contact apparaître ici et là, vous voudrez peut-être donc limiter qui peut utiliser l’étiquette contact. Pour ce faire, créez un nouveau groupe d’étiquettes :
- Depuis la page
/tags, sélectionnez la clé à molette en haut à droite. - Sélectionnez “Gérer les groupes d’étiquettes”, puis sélectionnez "
Nouveau groupe". - Remplissez un nom approprié (par exemple, “Personnel uniquement”), ajoutez l’étiquette
contactet sélectionnez “Les étiquettes sont visibles par tout le monde, mais seuls les groupes suivants peuvent les utiliser”. - Choisissez le groupe que vous souhaitez autoriser à ajouter un formulaire de contact (généralement “staff” ou “admins”) et enregistrez le groupe d’étiquettes.
JOURNAL DES MODIFICATIONS
- 25 avril 2024 : Version alpha.
À FAIRE
- J’aimerais mettre en place des tests pour m’assurer que rien ne se brise lorsque j’apporte des modifications. Je souhaite particulièrement vérifier que les personnes sans compte peuvent soumettre leurs données.
- Lors des tests, j’ai découvert une fuite majeure de données. J’ai supprimé cette vulnérabilité spécifique, mais j’aurais vraiment besoin d’aide pour les tests.
- Le formulaire ne fait aucune validation. La seule exigence réelle est que le champ e-mail ressemble à une adresse e-mail. Si quelqu’un laisse une réponse sans ajouter d’e-mail, le formulaire échoue silencieusement.
- Il n’y a aucune protection contre le spam ou les abus.
- Le code est très de qualité
mon-premier-pluginbasé sur des exemples utilisant des conventions obsolètes. Toute suggestion concernant le style est la bienvenue. - J’aime avoir le formulaire de contact associé à un sujet étiqueté “contact”, mais c’est compliqué et probablement inutile. Je envisage d’ajouter une nouvelle route qui ne serait que le formulaire de contact pour plus de simplicité.
- Les données de contact sont stockées dans la base de données, mais il pourrait être utile d’avoir un panneau d’administration pour voir une liste des contacts.
- Le formulaire est figé selon mes exigences actuelles, mais il serait pratique d’avoir une certaine flexibilité concernant les champs qu’il demande.
Ce paramètre est défini par défaut sur “contact@example.com”, mais peut être configuré pour accepter de véritables adresses e-mail. ↩︎
Il est même possible de répondre au formulaire de contact, pour le meilleur ou pour le pire. ↩︎





