Bonjour,
Je suis nouveau dans l’administration et le développement de Discourse, et je ne parle pas encore Ruby (mais je suis tout à fait disposé à apprendre). Ma première tâche consistait à installer une instance de Discourse, ce que j’ai réussi à faire sur Digital Ocean en utilisant l’image Docker officielle. Jusqu’ici, tout va bien — un grand merci aux personnes qui ont rendu cela si simple !
Ma prochaine tâche est plus délicate (pour moi). Je me suis porté volontaire pour mettre en place ce Discourse au profit d’une organisation à but non lucratif qui souhaite restreindre l’inscription et la participation aux seuls membres de ladite organisation. Je dois donc modifier, intégrer (ou peut-être remplacer ?) le processus de création de nouveaux utilisateurs afin de vérifier programmatiquement si l’adresse e-mail soumise correspond à celle d’un membre actuel de l’organisation, et si la date d’expiration de son adhésion est dans le futur.
L’organisation utilise NeonCRM, qui propose une API facilitant grandement cette vérification. Discourse, si je comprends bien, offre également une API permettant d’effectuer toute action réalisable manuellement. Il est donc plus que théoriquement possible de réaliser ce que je souhaite, n’est-ce pas ? La question est de savoir quelle est la meilleure approche.
Par exemple, si Discourse permet d’écrire un écouteur d’événements (ou un plugin ?) qui observe l’inscription d’un nouvel utilisateur, exécute cette logique de vérification, et peut annuler l’inscription avec un message informatif que je pourrais afficher (« Désolé, vous devez être membre de l’Association XYZ »), ce serait idéal.
Sinon, je pourrais imaginer créer ma propre page d’inscription utilisateur (en PHP, un langage que je maîtrise bien) qui utiliserait les deux API. Mais dans ce cas, je devrais modifier ma configuration Discourse pour que la page d’inscription redirige l’utilisateur vers ma version personnalisée.
J’aimerais donc beaucoup entendre vos suggestions sur la stratégie globale à adopter, ainsi que sur les ressources à consulter pour commencer à apprendre comment réaliser cela.
Merci beaucoup !