Merci beaucoup pour votre réponse !
Je pense que c’est en partie ce qui me rend confus, j’ai du mal à trouver des références pour étendre Discourse en ajoutant mon propre JS.
Lorsque je fais une recherche sur DuckDuckGo pour « Discourse developer guide », le premier lien que j’obtiens est un lien vers le dépôt GitHub.
Le lien suivant mène au « Discourse Advanced Developer Install Guide ». Ce guide explique comment configurer Rails pour le développement, mais ne contient aucun lien sur la façon d’installer du JS personnalisé, d’après ce que j’ai pu voir. J’essaie d’éviter un processus de build compliqué, ce dont je me souviens de mon époque Rails. J’aimerais vraiment développer ce code d’extension JS en isolation, puis placer une balise script sur mon site. Donc, je ne veux vraiment pas avoir à configurer un environnement Rails localement pour pouvoir le construire ; peut-être que je manque l’utilité de cela ? Mais j’aime beaucoup pouvoir simplement mettre à jour un conteneur Docker qui utilise un thème avec quelques balises <script>.
Le lien suivant est un « Beginner’s guide to developing Discourse Themes » qui concerne le développement de thèmes, pas ce dont j’ai besoin, n’est-ce pas ?
Je vois des liens vers l’API Discourse, ce qui n’est évidemment pas ce que je veux.
Si je recherche « discourse javascript initializer », je vois ce lien datant de 5 ans : Execute JavaScript code from a plugin once after load Mais cela semble être une connexion à Rails, et j’ai l’impression qu’il devrait y avoir un moyen plus simple, et ce fil de discussion semble également non résolu ?
Un autre lien vers « discourse javascript initializer » suggère de faire ce que je fais pour installer le JS, mais ne donne pas de suggestions sur la façon de s’assurer que chaque fois que le contenu de la page change (soit par un rafraîchissement complet de la page, soit par une requête XHR de type « turbolinks ») : https://stackoverflow.com/questions/48611621/how-do-i-add-an-external-javascript-file-into-discourse
Est-ce que cette discussion est celle que je devrais examiner ? A versioned API for client side plugins
Ou, peut-être celle-ci ? À première vue, je ne comprends pas la syntaxe (ces annotations ne ressemblent pas à du JS, ce sont des conventions Rails ?) donc je ne suis pas sûr si c’est ce dont j’ai besoin : Using Plugin Outlet Connectors from a Theme or Plugin