| Résumé | Ajoute un formulaire de contact en haut de tout sujet marqué contact. Les informations soumises via le formulaire seront envoyées au groupe ou à la catégorie configuré pour les recevoir. |
|
| Lien vers le dépôt | \u003chttps://github.com/jericson/discourse-contact-plugin\u003e | |
| Guide d’installation | Comment installer des plugins dans Discourse |
Fonctionnalités
Une fois activé, le plugin Formulaire de contact place un formulaire de contact en haut de tout sujet marqué contact. Les données soumises via le formulaire sont envoyées à une catégorie ou un groupe configuré pour recevoir les e-mails de contact_form_email.[1] Comme les formulaires de contact traditionnels, il n’est pas nécessaire d’avoir un compte sur le site pour soumettre.
Voici ce qu’un visiteur pourrait voir :
Notez qu’il s’agit d’une publication ordinaire 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 d’e-mails pour 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 la réception d’e-mails. (Cela dit, la réponse par e-mail est une fonctionnalité utile !)
En particulier, ce plugin nécessite :
email_inetenable_staged_users
d’être activés.
Une fois activé, tout sujet marqué contact aura un formulaire de contact ajouté à l’outlet de plugin topic-above-posts.
Envoyer à un groupe
Étant donné que les gens utiliseront ce formulaire pour soumettre leurs informations personnelles, l’envoi des résultats à un groupe fermé est l’option la plus sûre.
- Créez un nouveau groupe pour les personnes qui traiteront les contacts. (Je l’appelle généralement « Contact » pour simplifier, mais cela pourrait être n’importe quoi, y compris un groupe existant.)
- Ajoutez les membres qui recevront les informations de contact.
- Ne cochez pas les options d’accès. Il doit s’agir d’un groupe fermé.
- Modifiez la visibilité du groupe de manière raisonnable pour votre organisation.
- Définissez l’« Adresse e-mail entrante personnalisée » comme étant la même 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 de catégorie « Adresse e-mail entrante personnalisée ». Assurez-vous également d’activer « Accepter les e-mails des utilisateurs anonymes sans compte ».
Il n’est cependant pas recommandé d’envoyer à une catégorie pour les informations de contact ! Si, par hasard, les autorisations d’accès à la catégorie sont modifiées, cela pourrait exposer des informations personnelles à des personnes (ou à des moteurs de recherche) qui ne devraient pas y avoir accès. Il est beaucoup moins probable que cela se produise si les contacts sont envoyés à des messages de groupe à la place.
Limiter qui peut ajouter des formulaires de contact
Il pourrait être assez étrange d’avoir des formulaires de contact qui apparaissent partout, vous pourriez donc vouloir limiter qui peut utiliser le tag contact. Pour ce faire, créez un nouveau groupe de tags :
- Depuis la page
/tags, sélectionnez la clé à molette en haut à droite. - Sélectionnez « Gérer les groupes de tags » puis «
Nouveau groupe ». - Remplissez un nom approprié (par exemple, « Personnel uniquement »), ajoutez le tag
contactet sélectionnez « Les tags 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 « personnel » ou « administrateurs ») et enregistrez le groupe de tags.
JOURNAL DES MODIFICATIONS
- 25 avril 2024 : Version alpha.
À FAIRE
- J’aimerais mettre en place des tests pour m’assurer que rien ne casse lorsque je fais des modifications. Je veux en particulier vérifier que les personnes sans compte peuvent soumettre leurs données.
- Lors des tests, j’ai découvert une fuite de données majeure. J’ai supprimé cette vulnérabilité particulière, mais j’aurais vraiment besoin d’aide pour les tests.
- Le formulaire n’effectue aucune validation. La seule véritable exigence est que le champ e-mail ressemble à un 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 de qualité « mon-premier-plugin » basé sur des exemples qui utilisaient des conventions obsolètes. Toutes suggestions de style sont les bienvenues.
- J’aime associer le formulaire de contact à un sujet marqué « contact », mais c’est compliqué et probablement inutile. J’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é quant aux champs qu’il demande.
Ce paramètre est défini par défaut sur « contact@example.com » mais peut être configuré pour accepter de vrais e-mails. ↩︎
Il est même possible de répondre au formulaire de contact, pour le meilleur ou pour le pire. ↩︎





