Section: Principes de fonctionnement
^ Configurateur et installateur de Jelix | Installer un module » |
− Table des matières
Principes de fonctionnement ¶
Le système d'installation de Jelix, permet de distinguer trois étapes :
- 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.
- 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.
- 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.