Raccourcis : Contenu - rubriques - sous rubriques
EN FR

Votre application tourne déjà sur votre serveur en production. Et maintenant, vous voulez mettre à jour votre application. Les principales étapes sont:

  1. Fermer l'application
  2. Sauvegarder les données et fichiers
  3. Mettre à jour les fichiers
  4. Lancer la mise à jour système de Jelix
  5. Supprimer tous les fichiers de /temp
  6. Ouvrir l'application

Fermer et ouvrir l'application

Il est souvent mieux d'avoir une simple page web qui dit que l'application n'est pas disponible, pendant le processus de mise à jour. Les utilisateurs ne pourront donc plus exécuter l'application, et c'est une bonne chose, pour que les modules ne puissent modifier la base de données ou d'autres fichiers (en effet, un processus de mise à jour n'est jamais instantané).

Il y a deux possibilités pour fermer une application.

Votre administrateur pourrait reconfigurer le serveur web pour rediriger toutes les requêtes http vers la page montrant le message ou alors pour changer le document root.

Une autre solution est d'utiliser un mécanisme Jelix qui permet de fermer l'application. Cela fonctionne seulement si vous appelez checkAppOpened() dans le point d'entrée, juste avant l'appel à jCoordinator.

Pour effectivement fermer l'application, vous devez créer un fichier, var/config/CLOSED, vide ou avec un message à l'intérieur.

Ensuite, Jelix affiche la page lib/jelix/installer/closed.html. Vous pouvez proposer votre propre page closed.html, en la plaçant dans l'un des répertoires suivant de l'application, parcouru dans cet ordre :

  • var/themes/<le theme courant>/closed.html ou var/themes/default/closed.html
  • var/themes/closed.html
  • install/closed.html

Pour ré-ouvrir l'application, supprimez simplement le fichier var/config/CLOSED.

Vous pouvez manipuler ce fichier manuellement (si vous avez seulement un accès FTP à votre site web, c'est la solution), ou, si vous avez un accès à la ligne de commande, vous pouvez appeler les commandes jelix : app:open and app:close.


$ php console.php app:close
$ php console.php app:open

Vous pouvez donner un message à la commande app:close. Cela va remplacer le tag %message% dans le fichier closed.html.


$ php console.php app:close "Sorry, we are closed for the moment, a new version is coming."

Sauvegarder les données

Avant de procéder à une mise à jour, il est fortement recommandé de faire une sauvegarde. Cette sauvegarde doit concerner :

  1. toute base de donnée utilisée par l'application
  2. le contenu du dossier var de l'application, en particulier les fichiers de configuration.
  3. les sources de l'application, avant de les remplacer par une version plus récente

Il se peut qu'il y ait d'autres sauvegardes à faire, en fonction de l'application. Il faut lire la documentation correspondante, si elle existe, fournie avec l'application.

Mettre à jour les fichiers

La deuxième étape est de mettre à jour les fichiers de votre application. Vous pourriez uploader les fichiers dans le répertoire, par FTP, SCP ou d'autres outils comme des outils de déploiement automatique. Vous pourriez aussi faire la mise à jour avec votre gestionnaire de source favoris (svn update, hg pull -u, git pull -u...).

Si vous faite la mise à jour manuellement, n'oubliez pas de supprimer les fichiers obsolètes.

Lancer la mise à jour

Maintenant que les fichiers sources sont OK, vous devez mettre à jour l'application elle-même (base de données, configuration...).

IL faut d'abord lancer le configurateur, testapp/install/configurator.php. Il va probablement modifier la configuration de l'application : des modules modifieront des choses et vous demanderont peut-être des informations.

Puis vous lancez l'installateur, comme vous l'avez fait lorsque vous avez installé votre application pour la première fois.

L'installateur Jelix (utiliser par un assistant ou un script d'installation d'application), peut installer et mettre à jour les modules.

Avec un assistant

Si vous avez installé l'application avec un assistant, cela ne va probablement pas fonctionner pour une mise à jour, sauf si la documentation de l'application dit que vous pouvez l'utiliser. Dans ce cas, lancez le script correspondant avec votre navigateur, et supprimez le fichier après la mise à jour.

Avec l'installateur d'application

Si il y a un script install/installer.php, lancez le simplement: ouvrez une console, allez dans le répertoire install/, et ensuite tapez php installer.php.

À la main

C'est le cas quand le système d'installation est désactivé dans des projets spécifiques (voir la rubrique précédente sur l'installation). Dans ce cas, vous devez mettre à jour "à la main" ou avec des scripts "maison", tout ce qu'il faut pour que l'application fonctionne.

Nettoyer le répertoire temp

  • *Vous devez toujours supprimer tous les fichier stockés dans le répertoire temp/.**, après une installation ou une mise à jour, et avant de lancer l'application application.