Modifications du code de test de l'application en direct non reflétées dans le front-end

Salut,

Venant du développement sur joomla/wordpress, je suis curieux du fonctionnement de la modification des fichiers backend de Discourse via Docker.
J’ai lu la documentation sur la création d’un plugin (How can I make my own Discourse plugins? - #2 by merefield), mais je ne veux pas encore le faire, je veux juste pouvoir tester du code en direct.

Sur une installation MVC non Docker, en modifiant un fichier via FTP, il était instantanément reflété et bien qu’avec Docker je comprenne la nécessité de reconstruire l’application pour appliquer des modifications permanentes, qu’en est-il si l’on veut tester des choses en direct ?

Les modifications de code pour des tests en direct ne semblent pas fonctionner :

Par exemple, je veux désactiver les recherches pour les utilisateurs anonymes, j’ai donc modifié :
/var/www/discourse/app/controllers/search_controller.rb en ajoutant “if current_user.present?” après “def show” avec un “end” en bas de la fonction.

J’ai été surpris que cela n’ait aucun effet sur le front-end, et même renommer le contrôleur en search_controllerold n’aurait aucun effet sur les recherches.

Mais d’une manière ou d’une autre, renommer une image dans /var/www/discourse/public/images# cacherait l’image sur le front-end :slight_smile: !

Quelqu’un peut-il m’expliquer comment cela fonctionne ici, existe-t-il une autre version mise en cache du système, au-delà de l’application qui démarre à partir de son image ?

Merci

Ok, j’ai constaté que le code est modifié si je modifie les fichiers dans ./javascripts/discourse/node_modules/.embroider/rewritten-app/
Ça me semble mieux :slight_smile:

1 « J'aime »

Cela ressemble plus à un anti-pattern.

Cela sera probablement remplacé à chaque compilation.

Regardez le matériel dans Documentation > Developer Guides et les innombrables exemples réels open source pour voir comment modifier le front-end via Theme component et le front et le back via Plugin

2 « J'aime »

Merci pour le partage ! Je vais vérifier cela et peut-être m’y impliquer plus sérieusement à un moment donné, pour le moment je voulais juste tester les modifications en direct et je ne comprends pas pourquoi elles ne s’affichent pas en front-end aussi facilement qu’avec un ftp sur joomla/wordpress même si je suis à l’intérieur de l’application.