Entrer dans l’application et la console rails

En utilisant certaines options de Discourse, il vous est parfois demander d’entrer dans la console pour exécuter une commande spécifique. La plus connue était le posts rebake qui permet à Discourse de recharger les messages. Comment entrer dans l’application ? Comment exécuter ces commandes ? Voyons ça !

Quelques options faisant référence à la fonction rake

 

Entrer dans l’application

Il faudra tout d’abord vous connecter à votre serveur comme vous devez le faire pour installer Discourse ou un plugin. Si vous êtes sur PC, vous pouvez suivre ce guide sur l’utilisation de putty.

Comment utiliser putty (Windows)

Une fois connecté au serveur, voici les commandes à effectuer

cd /var/discourse
./launcher enter app

Et si on vous demander d’entrer dans la console rails, il faut entrer une nouvelle commande :

rails c

Et c’est tout ! Vous pouvez l’application ou la console rails à tout moment en entrant la commande exit (une fois si vous n’êtes que dans l’application, deux fois si vous étiez dans la console rails)

 

Exécuter une commande

Prenons quand même deux exemples. Dans ce premier cas on va entrer dans l’application uniquement pour faire un rebake des messages.

cd /var/discourse
./launcher enter app

Si vous exécutez pour la première fois la commande enter app, vous aurez un petit téléchargement de la base image. C’est normal et ça ne prendra que quelques secondes.

rake posts:rebake

Après l’exécution de cette commande, un compteur va se mettre en marche. Si vous avez un forum très animé, cela peut prendre quelques heures. Dans mon exemple, j’ai utilisé un petit forum qui ne possédait que 368 messages, cela a duré quelques secondes uniquement.

Voici comment faire un rake posts:rebake

Les posts ont été rechargé, vous pouvez quitter l’application en tapent exit et fermer le terminal en tapant à nouveau exit.

 

Deuxième exemple, pour une raison ou une autre, vous devez entrer dans la console rails et y exécuter une action. J’ai pris le premier exemple que j’ai trouvé : si on veut déconnecter tous les utilisateurs : https://meta.discourse.org/t/how-to-logout-all-users-through-the-rails-console/93239

cd /var/discourse
./launcher enter app
rails c

On entre dans l’application puis la console rails

Et je tape la commande suggérée :

UserAuthToken.destroy_all

Une fois la commande exécutée, vous pouvez quitter la console en tapant exit. Une seconde fois pour quitter l’app, et une troisième pour fermer le terminal.

On est entré dans l’application pour exécuter une action.

Avant de jouer avec ces commandes, soyez sûrs de la fiabilité de celles-ci. Une mauvaise commande pourrait causer des dégâts à votre forum ou sa base de données.

Auteur de l’article : Steven

Webmaster depuis 2003, j'ai œuvré en particulier sur des forums tournant sur phpBB avant de prendre le virage plus moderne avec Discourse en 2013 sur les conseils de mon associé sur iunctis.fr où je gère l'aspect technique. Ayant pas mal galéré au début, je propose des guides et mes services pour aider les débutants.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *