1. Home
  2. Langages
  3. Comment servir le contenu statique de votre application

Comment servir le contenu statique de votre application

Cet article explique comment faire en sorte que le contenu statique de votre application Node.js, Ruby ou Python soit servi par le serveur.

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

Prérequis

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

Introduction

Les serveurs N0C utilisent Passenger afin de faire fonctionner vos applications web Node.js, Ruby et Python. 

L’une des philosophies de Passenger est de tenir compte du fait qu’en pratique, de nombreuses applications web partagent les mêmes conventions en regard des caractéristiques structurelles. Entre autres choses, la plupart des applications web ont un répertoire dans lequel elles stockent les fichiers statiques.

Pour vous faciliter la vie, Phusion Passenger « assume » ces conventions par défaut de sorte que, si votre application s’y conforme, vous obtiendrez de nombreuses fonctionnalités clés en mains, sans aucune configuration. Ainsi, dans le cas de Node.js par exemple, Passenger part du principe que le répertoire de votre application possède la structure suivante :

répertoire de votre application
  |
  +-- app.js
  |
  +-- public/
  |
  +-- tmp/

Où :

  • app.js est le point d’entrée de votre application Node.js. Phusion Passenger démarre votre application en chargeant ce fichier. Il doit enregistrer un gestionnaire de requêtes, comme on le verra plus loin;
  • le répertoire public contient des fichiers statiques qui sont automatiquement servis par le serveur web. Par exemple, s’il y a un fichier public/image.jpg, toutes les requêtes vers /image.jpg seront traitées par le serveur web et ne seront jamais transmises à l’application;
  • le répertoire tmp peut être utilisé par l’application, mais il est également utilisé par Phusion Passenger pour redémarrer l’application.

Dans le cas de Ruby, config.ru est le point d’entrée de votre application. Dans le cas de Python, run.py est le point d’entrée à utiliser.

Tous les fichiers statiques de votre application doivent être conservés dans le répertoire public comme, par exemple, les images, les fichiers css, les fichier js, etc. En outre, il faut y placer un fichier .htaccess dans lequel on est en mesure de spécifier d’ajouter des headers de cache et leur temps d’expiration. De fait, si le htaccess reste dans public_html, il ne sera pas utilisé pour votre application.

Pour y parvenir, il faut avant tout préparer Phusion Passenger à servir le contenu statique de votre application. C’est là l’objet de cet article.

Préparation automatique de Passenger

Certaines étapes sont automatiques et exécutées dans le Panneau MG, à savoir :

  • la création de la structure du répertoire;
  • la définition de app.js, config.ru ou run.py comme le point d’entrée de votre application.

Les autres étapes sont manuelles.

Préparation manuelle de Passenger

Voici les étapes manuelles à suivre pour que Phusion Passenger serve et gère votre application.

Étape 1 — Configurez et redémarrez votre application

Après avoir configuré votre application selon le langage de votre choix, il suffit de la redémarrer. Cela déclenche la mise en marche de votre application Phusion Passenger.

Veuillez vous référer aux articles suivants, qui expliquent comment configurer et redémarrer votre application :

Étape 2 — Créez le répertoire public pour les fichiers statiques

Créez le répertoire public et déplacez-y tous les fichiers statiques.

Veuillez vous référer au paragraphe expliquant comment déplacer un fichier dans l’article intitulé « Comment utiliser le gestionnaire de fichiers ».

Étape 3 — Placez le fichier .htaccess dans le répertoire public

Par défaut, N0C storage contient un répertoire public. Il vous suffit d’y placer le fichier .htaccess.

Vous pouvez retrouver le dossier qui contient le .htaccess de l’application en allant sur l’option « Gestionnaire de fichiers » de votre panneau N0C. Sur cette page, vous allez pouvoir retrouver tous vos domaines ainsi que la racine du document relié à ce domaine.

Veuillez vous référer à l’article Comment utiliser le gestionnaire de fichiers.

Si un framework était utilisé et qu’il n’avait pas de dossier publicgénéré (ou si celui-ci portait un nom différent comme, par exemple, « browser »), il vous faudrait créer un symlink nommé public qui pointerait vers le dossier public généré par le framework.

Documentation

On peut trouver de la documentation sur le sujet sur le Web, en particulier à l’adresse : https://github.com/phusion/passenger/wiki/Phusion-Passenger%3A-Node.js-tutorial#prepare-your-app.

Updated on novembre 20, 2024

Related Articles