Bonjour,
Je me demande s’il existe un moyen d’appeler une API personnalisée tierce créée en Node.js dans Discourse.
Toute remarque est la bienvenue.
Merci.
Bonjour,
Je me demande s’il existe un moyen d’appeler une API personnalisée tierce créée en Node.js dans Discourse.
Toute remarque est la bienvenue.
Merci.
Peu importe le langage dans lequel l’API est écrite, tant que toutes les interactions se font via HTTP.
Vous devrez probablement écrire quelques appels AJAX en JavaScript dans un composant de thème, ou, si cela s’avère approprié, effectuer des appels HTTP dans un nouveau code de plugin que vous rédigerez en Ruby en utilisant une gemme Ruby adaptée comme Excon ou Httparty.
Merci pour ta réponse @merefield, j’apprécie ton retour.
Je débute dans le développement Discourse. Auparavant, j’ai travaillé sur NodeBB, un CMS communautaire basé sur Node.js. J’y ai réalisé de nombreuses personnalisations (création d’API personnalisées pour récupérer des données de tickets Zoho, extraction de listes de vidéos Vimeo, et bien plus encore). Je souhaite donc effectuer la même chose ici, ou créer les mêmes API, puis afficher les données de réponse sur certaines pages statiques pour l’utilisateur.
Merci.
Utilisez le backend pour effectuer l’appel :
Si l’appel est long, placez-le dans un Job.
Cela nécessitera un peu de Ruby dans un Plugin et l’une des gems mentionnées ci-dessus.
Il n’est pas forcément si simple de se lancer dans le développement de plugins Discourse ; c’est une plateforme vaste, complexe et très orientée. Cependant, il existe de bonnes guides officiels ici, ainsi que de NOMBREUX plugins open source existants à consulter (voir #plugin et les liens vers GitHub). Essayez d’en trouver un qui réalise une fonction similaire et examinez comment le problème est résolu dans le code.
Si l’ajout est superficiel, envisagez un Composant de Thème. Consultez les guides de développement de thèmes ici.
Regardez des exemples, comme celui-ci : discourse-tc-quote-of-the-day/get-quote.js.es6 au master · merefield/discourse-tc-quote-of-the-day (github.com)
d’accord @merefield, je m’en occupe. Merci pour ton retour.