Raccourcis : Contenu - rubriques - sous rubriques
EN FR

Principes de fonctionnement

Le système d'installation de Jelix, permet de distinguer trois étapes :

  1. l'installation des sources des modules et la modification de la configuration système du framework pour régler leurs comportements. C'est une étape effectuée par le développeur. Elle n'est pas liée à l'environnement d'execution.
  2. La modification de la configuration au niveau local, une fois que l'application est copiée avec sa configuration système sur un serveur. C'est lors de cette étape que l'on va modifier les paramètres qui sont directement liés à l'environnement d'execution, donc liés au serveur. Il s'agit ainsi de régler les paramètres d'accés aux bases de données et autres services (profiles.ini.php), de modifier certains paramètres comme des paramètres de debuggage etc.
  3. La finalisation de l'installation ou mise à jour de l'application. Cette étape concerne l'initialisation des bases de données (création des tables...), des données, ainsi que la migration de toutes ces données.

Dans Jelix 1.6, ces trois étapes étaient indistinctes. Ce n'est plus le cas depuis Jelix 1.7+.

Nous avons ainsi d'un coté, pour la première et deuxième étape, l'utilisation du configurateur Jelix, et de l'autre l'utilisation de l'installateur Jelix à la troisième étape.

La configuration système du framework

La première étape est réalisée par le développeur de l'application. Cette étape est indépendante de l'environnement d'execution. C'est le développeur qui intègre et paramètre les modules et le framework pour obtenir le comportement voulu.

Il va donc intégrer les sources d'un module et lancer le configurateur pour ce module (commande php dev.php module:configure).

Au final, les fichiers du répertoire app/ et en particulier les fichiers de configuration dans app/system seront modifiés, et probablement des fichiers seront installés à certains endroits de l'application, comme des fichiers CSS et JS dans www/ etc. Cela arrive uniquement si le module fourni un configurateur, une classe spécifique pour le configurateur Jelix. Si cette classe n'existe pas, peut-être devrez vous installer des fichiers et modifier la configuration vous-même. Reportez-vous à la documentation du module.

Quoi qu'il en soit, le configurateur de Jelix modifiera au minimum le fichier principal de la configuration, afin d'activer le module.

Le contenu résultant du répertoire app/ et autres fichiers à installer doivent être sauvegardés dans le dépôt de code source, et devront être déployés sur les serveurs.

La configuration locale

Cette deuxième étape est réalisée par la personne qui installe l'application sur un serveur.

Il peut être le développeur sur un serveur web local sur sa machine, ou un administrateur système ou devops sur une machine de recette ou de production.

Après l'installation des sources de l'application, cet utilisateur devra lancer le script install/configurator.php de l'application, ce qui lancera la méthode localConfigure() des configurateurs de tous les modules activés lors de la configuration système.

Ces méthodes se chargeront alors de finaliser la configuration, comme demander des paramètres d'accés à une base de donnée pour remplir le fichier "profiles.ini.php" (mais peut-être faudra-t-il faire cela à la main), ou encore modifier d'autres fichiers dans var/config.

Notez que le lancement de install/configurator.php n'est pas obligatoire, si les fichiers dans var/config sont paramètrés via un système de configuration ou de déploiement externe (Puppet, Ansible, scripts d'une image Docker etc). À la condition toutefois que ce paramétrage soit fait comme attendu par les modules.

L'installation

Cette troisième étape, elle aussi réalisée par la personne qui installe l'application sur un serveur, consiste au lancement de l'installateur Jelix, le script install/installer.php de l'application.

L'installateur va executer les scripts d'installation ou de mise à jour de chaque module. Ces scripts sont chargé de créer et migrer les tables en bases de données, d'initialiser des données etc.. En clair, ils sont chargés de finaliser la mise en place de tout ce qui permet à l'application de fonctionner correctement dans l'environnement courant.

En pratique

Voyez la section sur l'installation d'un module qui détails les commandes et actions à réaliser pour configurer et installer un module tiers.

Voyez le chapitre sur le déploiement d'une application pour apprendre à utiliser l'installateur.

Et quand vous serez à l'aise dans le développement d'un module, vous réaliserez des scripts de configuration et d'installation.