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 de longue durée, placez-le dans un Job.
Cela nécessitera un peu de Ruby dans un plugin ainsi que l’un des gems mentionnés ci-dessus.
Il n’est pas toujours facile de se lancer dans le développement de plugins pour Discourse : c’est une plateforme complexe, aux opinions bien arrêtées, mais il existe de bons guides officiels ici et BEAUCOUP de plugins open source existants à consulter (voir Customization > Plugin et les liens vers GitHub). Essayez de trouver un plugin qui fait quelque chose de similaire et examinez comment il est implémenté dans le code.
Si l’opération est superficielle, 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 at master · merefield/discourse-tc-quote-of-the-day (github.com)
d’accord @merefield, je m’en occupe. Merci pour ton retour.