1. Home
  2. Langages
  3. Comment gérer les applications Ruby

Comment gérer les applications Ruby

Introduction

Ruby est essentiellement du code exécuté sur nos serveurs et permettant d’héberger, de créer et de contrôler des applications web utilisant ce type de langage.

Dans les lignes qui suivent, nous insisterons sur les renseignements pour débutants. Nous commencerons par expliquer comment accéder à Ruby dans N0C et nous fournirons un exemple détaillé de lancement et de modification d’une application au moyen de cette interface.

Par après, pour les utilisateurs plus avancés, nous expliquerons comment faire ces mêmes opérations en ligne de commande.

Note : Le glossaire contient  des explications sur de multiples sujets et peut être consulté pour clarifier certains termes.

Documentation

On peut trouver sur le Web de la documentation sur Ruby, en particulier sous : https://www.ruby-lang.org/fr/documentation/.

Vous pouvez vous référer à ce site pour obtenir davantage d’information sur les commandes du Ruby Selector : https://docs.cloudlinux.com/command-line_tools/#ruby-selector.

Débogage d’une application

Lorsqu’une erreur survient, une page comme celle ci-dessous s’affiche :

Cette page n’est pas très explicative. L’activation du mode de développement permet d’investiguer (comment).

Prérequis

Saisissez dans votre navigateur web l’adresse suivante : https://mg.n0c.com/fr/.

Accès à Ruby dans N0C

  1. Dans le menu contextuel, choisissez Langages > Ruby.
  2. Les applications déjà mises en place sont affichées dans l’interface :

Mise en place d’une nouvelle application Ruby avec N0C

Pour expliquer l’approche avec davantage de clarté, nous procéderons avec un exemple. 

Admettons que vous vouliez créer l’application coderuby qui permette d’afficher les mots « Hello World! ». Quatre étapes sont nécessaires :

  1. En premier lieu, il faut créer une application dans le répertoire destiné à la contenir (nous appellerons ce répertoire « coderuby » pour les besoins de l’exemple, l’usager pouvant lui-même donner au répertoire le nom voulu). Lorsqu’elle est exécutée, l’application affiche les mots « It works ! ».
  2. Il faut ensuite la programmer de manière adéquate (dans notre exemple, pour qu’elle affiche « Hello World! »).
  3. Il faut par après appeler l’environnement de l’application.
  4. Enfin, il faut activer l’application dans l’environnement Ruby.

Étape 1 – Création de l’application Ruby

Assurez-vous que le répertoire coderuby est créé (comment).

  1. Cliquez sur le bouton Créer :
  1. Sélectionnez la VERSION de Ruby voulue :
  1. Indiquez dans quel RÉPERTOIRE D’APPLICATION vous souhaitez que l’application soit créée (dans notre exemple, on inscrirait coderuby).
  2. Indiquez sous DOMAINE/URL D’APPLICATION depuis quelle URL l’application devrait être accessible (dans notre exemple, on inscrirait coderuby)1.
  3. Cliquez sur le bouton CRÉER.
  4. Confirmez la création de config.ru en ouvrant le répertoire coderuby dans le Gestionnaire de fichiers (comment).
  5. Testez l’application Ruby en tapant dans votre navigateur https://DOMAINE/coderuby, où il faut remplacer DOMAINE par votre nom de domaine.
  6. Le résultat devrait être (comme on s’y attendait) : « It works ! ».

Étape 2 – Programmation de l’application

Maintenant que l’application Ruby est installée dans le répertoire à utiliser et fonctionnelle, on peut la programmer à notre guise. L’application doit être démarrée de nouveau pour voir les modifications s’afficher au navigateur au moment de l’exécution.

Voici les étapes pour programmer :

  1. Dans le Gestionnaire de fichiers, ouvrez le répertoire (dans notre exemple, coderuby) et éditez le code config.ru (comment).
  2. Programmez config.ru. Dans notre exemple, copiez le code suivant dans la fenêtre de programmation du Gestionnaire de fichiers (comment), de sorte que les mots « Hello World! » soient affichés lorsque l’usager exécutera coderuby sur votre domaine :
app = proc do |env|
    message = "Hello world!\n"
    version = "Ruby %s\n" % RUBY_VERSION
    response = [message, version].join("\n")
    [200, {"Content-Type" => "text/plain"}, [response]]
end


run app
  1. Après avoir sauvegardé le code, fermez N0C et ouvrez-le de nouveau pour appliquer les changements.
  2. Testez l’application Ruby en tapant dans votre navigateur https://DOMAINE/coderuby, où il faut remplacer DOMAINE par votre nom de domaine. 
  3. Le résultat devrait maintenant être « Hello World! ».

Étape 3Appel de l’environnement de l’application

Avant d’effectuer toute autre commande (par exemple,gem install ou rake, vous devez appeler l’environnement de l’application en lançant à la racine de votre application la commande suivante, qui va ajuster les variables d’environnement et vous permettre de configurer votre application :

La commande doit être copiée dans le shell du compte en question. Il est possible de se connecter en SSH.

Pour voir la commande, vous devez éditer l’application (veuillez vous référer au paragaphe Modification des paramètres d’une application Ruby).

Donc, dans notre exemple, la commande copiée est :

source /home/fbkfdayw/rubyvenv/coderuby/2.6/bin/activate

Où :

  • « fbkfdayw » doit être remplacé par votre Nom d’utilisateur;
  • « coderuby » doit être remplacé par le nom de votre application; et
  • « 2.6 » doit être remplacé par le numéro de version de Ruby de l’application.

Étape 4 – Activation de l’application dans l’environnement Ruby  

Il importe de s’assurer que votre application ait les bonnes versions d’extensions (plugins).

  1. Cliquez sur l’icône Redémarrer vis-à-vis de l’application à activer (dans notre exemple, coderuby) :
  1. Le message Commande exécutée avec succès doit être affiché pour confirmer le succès de l’activation.

Vous pouvez consulter la documentation disponible sur https://www.ruby-lang.org/fr/documentation/ si vous avez besoin d’éliminer les bogues que vous pourriez avoir dans votre code.

Exécution d’actions sur l’application avec N0C

Redémarrage d’une application Ruby

Parfois, il est nécessaire de redémarrer une application comme, par exemple, lorsque vous modifiez le code.

  1. Cliquez sur l’icône Redémarrer vis-à-vis de l’application :
  1. Un message doit être affiché pour confirmer le succès de l’exécution de la commande.

Modification de la version d’une application Ruby

  1. Identifiez l’application à modifier et cliquez sur l’icône Modifier la version :
  1. Sélectionnez la VERSION RUBY voulue :
  1. Cliquez sur le bouton MODIFIER.

Modification des paramètres d’une application Ruby

  1. Identifiez l’application à modifier et cliquez sur l’icône Modifier :
  1. Modifiez les paramètres souhaités :
  1. Cliquez sur le bouton MODIFIER pour enregistrer vos changements.
  2. Exécutez la commande pour saisir l’environnement de l’application.

Suppression d’une application Ruby

  1. Identifiez l’application et cliquez sur l’icône Supprimer :
  1. À l’invite de commande, confirmez la suppression.

Mise en place d’une nouvelle application Ruby en ligne de commande

Pour les usagers plus avancés, l’approche par ligne de commande peut être employée.

Les étapes suivantes doivent être suivies dans l’ordre :

  1. Se connecter en SSH;
  2. Retrouver les versions de Ruby disponibles;
  3. Créer l’application de base fonctionnelle au niveau de CloudLinux.

Étape 1 – Se connecter en SSH

Connectez-vous en SSH (comment).

Par exemple, si vous utilisez l’environnement MacOSX de Apple, vous pouvez entrer:

ssh < USAGER >@ < DOMAINE > -p PORT

Où :

  • USAGER :  Votre nom d’utilisateur.
  • DOMAINE : Le nom du domaine (assurez-vous qu’il pointe sur l’hébergement).
  • PORT : Port à utiliser pour les hébergements (à moins que vous en soyez autrement informé, utilisez 5022).

À l’invite de commande, fournissez votre mot de passe.

Étape 2 – Retrouver les versions Ruby disponibles

Cette commande retournera les versions disponibles de Ruby sur le serveur :

$~ /usr/bin/selectorctl --json --interpreter=ruby --list | python -m json.tool

Étape 3 – Créer l’application Ruby de base fonctionnelle au niveau de CloudLinux

La commande suivante permet de créer une base fonctionnelle :

/usr/bin/selectorctl --interpreter=ruby --version=VERSION --domain DOMAINE —user=USAGER --print-summary --json --create-webapp REPERTOIRE ‘/’ APP_URI

Où :

  • VERSION : Une version disponible (d’après le retour de la commande que nous avons vue auparavant). Par exemple : 2.6.
  • DOMAINE : Le nom du domaine sur lequel vous voulez rouler votre application. Par exemple : domaine.com.
  • USAGER : Votre nom d’utilisateur World. Par exemple : user11.
  • REPERTOIRE : Le répertoire dans lequel vous voulez installer votre application. Par exemple : repertoireruby2.
  • APP_URI : Le chemin de votre application après votre domaine. Par exemple : coderuby2.

Dans notre exemple, il faudrait programmer : 

/usr/bin/selectorctl --interpreter=ruby --version=2.6 --domain domaine.com --user=user11 --print-summary --json --create-webapp repertoireruby2 ‘/’coderuby2

Vous avez maintenant une application Ruby de base fonctionnelle si « status=Ok » est affiché.

Sinon, il faut voir le message d’erreur et corriger la commande en conséquence.

Exécution d’actions sur l’application en ligne de commande

Il est possible de stopper ou redémarrer une application, et encore plus. Il suffit d’entrer la commande appropriée, selon le cas. 

Ainsi, vous pouvez saisir cette commande :

selectorctl --interpreter ruby --user USAGER --domain DOMAINE --COMMANDE-webapp APP_URI

COMMANDE doit être remplacée par:

  • stop : pour interrompre.
  • restart : pour redémarrer.
  • destroy : pour supprimer.

Ainsi, pour redémarrer, il faudrait entrer :

selectorctl --interpreter ruby --user USAGER --domain DOMAINE --restart-webapp APP_URI

Déconnexion en ligne de commande

Pour se déconnecter, il suffit d’entrer la commande suivante :

exit

1L’URL de l’application peut rester vide. Ainsi, l’application sera accessible seulement via le domaine.

Updated on février 26, 2024

Related Articles