Chapitre: Migration depuis une version précédente de jelix
« Nouveautés | ^ Introduction |
− Table des matières
Lors d'une migration d'une version Jelix à une autre, il y a toujours au moins ces étapes à faire :
- Si vous utilisez Composer, changer la version de Jelix dans le fichier composer.json, et lancer Composer.
- Si vous n'utilisez pas Composer, récupérer les sources de la nouvelle version de Jelix et les installer.
- supprimer tous les fichiers dans le répertoire
votre_appli/temp/
- adapter votre code en suivant les instructions indiquées pour chaque ancienne version de Jelix. Voir ci-dessous.
- lancer l'outils de migration qui va faire les reorganisations des sources et modifications nécessaires
- sur chaque instance de l'application, lancer le configurateur et l'installateur de Jelix.
Mettre à jour depuis Jelix 1.7 et inférieur ¶
Suivez les indications de migration de chaque version intermédiaire pour migrer à la dernière version de Jelix 1.7, avant de mettre à jour pour jelix 1.8 puis 1.9.
Voir les instructions de migration des manuels de chacune de ces versions.
Mettre à jour depuis Jelix 1.8.x ¶
Voici les instructions à suivre dans l'ordre.
Prérequis ¶
Jelix 1.9 nécessite PHP 7.4 minimum. Vérifiez que votre serveur a bien cette version ou une version supérieure. Cependant, il est recommandé d'utiliser PHP 8.2, les versions 8.0 et précédentes n'étant plus maintenues par PHP à la date d'écriture de cette page.
Sauvegarde ¶
Tout d'abord, faites une sauvegarde de votre base de données, de vos fichiers de configuration etc.
Répertoires temporaires ¶
Comme d'habitude, vous devez vider le contenu de votre répertoire
temp/votreapp/
.
Installation des sources de Jelix ¶
Pour la migration, vous pouvez mettre à jour, soit via Composer, soit en téléchargeant l'archive comme pour les versions précédentes.
Si vous utilisez Composer ¶
Dans le répertoire de votre application, modifiez le fichier composer.json
en indiquant la version 1.8 pour le paquet jelix/jelix
ou jelix/jelix-standard
Exemple :
{
"name": "mycompany/myapp",
"type": "application",
"require": {
"jelix/jelix": "dev-jelix-1.9.x"
}
}
Exécutez ensuite en ligne de commande :
composer update
Sautez l'étape qui suit.
Si vous ne voulez pas utiliser Composer ¶
Téléchargez le paquet jelix sur le site de téléchargement de jelix.org, comme vous avez l'habitude de faire.
Remplacez le répertoire lib/
de jelix par celui contenu dans le paquet
jelix, en n'oubliant pas de remettre dans le nouveau répertoire lib/
vos
éventuelles bibliothèques personnelles si vous en aviez mis dans l'ancien.
Mise à jour des modules ¶
Mettez à jour les sources des modules tiers que vous avez installés, et qui sont compatibles avec Jelix 1.9.
Et pour vos propres modules, vous devez adapter le code source en faisant les modifications suivantes :
- Dans les fichiers
module.xml
, indiquez que le module est compatible avec Jelix 1.9 (changer l'attributmaxversion
). Exemple :
<jelix minversion="1.7" maxversion="1.9.*"/>
Changements d'API ¶
Lisez la liste détaillée des changements pour savoir la liste des nouvelles classes et méthodes que vous pouvez utiliser.
Il n'y a pas d'API et modules supprimés depuis Jelix 1.8.
Mise à jour des instances de l'application ¶
Maintenant que les sources de Jelix et de votre application ont été mise à jour, vous pouvez sauvegarder tout cela dans votre gestionnaire de code source, et déployer les sources sur vos serveurs de tests (en particulier votre serveur local si vous en avez un).
Comme à chaque fois que déployez les sources d'une application Jelix sur un serveur, il faut lancer le configurateur local et l'installateur de Jelix.
Dans le cas présent, le configurateur local terminera le paramétrage et la migration des informations de configuration spécifiques au contexte du serveur. Et l'installateur lancera les scripts de mises à jour des données si il y en a.
Supprimez tout ce qu'il y a dans le répertoire temp/ de votre application, puis lancez :
php install/configurator.php
php install/installer.php
Fin ¶
Après cela, votre application est de nouveau opérationnelle.