Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [MIGRATION] Jelix 1.2b1pre.1458

Posted by RoYaLSleT on 07/02/2019 15:18

Bonjour, Je reprends actuellement les évolutions d'une énorme application que j'avais réalisé avec Jelix 1.2b1pre.1458, j'ai plusieurs problématique.

1, je souhaiterais migrer le client vers une version supérieur de Jelix, minimum 1.5-1.6, sachant que la 1.7 sort bientôt... Je reprends le PHP, je pense pouvoir le faire tranquillement. Cela dit, je serais preneur de tout conseil pour le faire. J'ai regardé et j'ai trouvé les doc de migrations, simplement j'aimerais savoir les avantages à le faire aussi, etc ;)

2, je souhaiterais pouvoir faire comprendre à mon client l'avantage de migrer vers une version supérieur, sachant que c'est un énooooorme outil accessible en local (type ERP) et que si je veux pouvoir lui proposer une mise à jour, il me faudrait des arguments solides pour qu'il y trouve un intérêt...

Le 2ème point est un bonus, l'important pour moi et d'avoir un plan de migration vers une nouvelle version qui gérerait mieux certaines choses, type date, optimisation sur une grosse DB, etc sachant que la rapidité n'est pas leur priorité.

Merci d'avance !

  [Opened] [MIGRATION] Jelix 1.2b1pre.1458

Reply #1 Posted by laurentj on 07/02/2019 18:07

Bonjour,

Les avantages pour ton client à migrer vers une version plus récente de Jelix :

1) déjà, la possibilité de pouvoir faire fonctionner l'application sur un système plus récent, avec une version de PHP plus récente. En effet, Jelix 1.2b1pre ne fonctionnera pas très bien avec PHP 5.6, et pas du tout PHP 7.2.

Mettre à jour PHP inclus les avantages suivants :

  • plus de rapidité
  • moins de bug PHP
  • beaucoup moins de trous de sécurité (j'imagine que l'application doit être sur un vieux système avec un PHP 5.3 ou quelque chose comme ça, non ?)

Rappel : les versions PHP 7.0 et inférieurs ne sont plus maintenues !

2) l'application profitera des améliorations sous-jacentes de Jelix 1.6 ou 1.7 : nouvelles fonctionnalités, nouvelles possibilités de configuration, des bugs corrigés etc..

L'application a 9 ans (age de la 1.2b1). Ne pas la maintenir pendant un aussi long moment, avec des vieux serveurs, c'est accumuler de la dette technique.

Avoir de la dette technique, c'est prendre des risques, d'autant plus gros que la dette technique est ancienne :

  • risque de voir le serveur ou l'application se faire pirater (même de l’intérieur), et donc d'avoir une application indisponible
  • risque de ne plus trouver personne pour faire évoluer l'application (pertes de compétences)
  • risque de se priver d'améliorations pouvant accroître la productivité

Au final, risque qu'un jour, les "réparations" coûtent bien plus chères qu'une amélioration continue.

Tu peux aussi argumenter que les dernières versions de Jelix ont des fonctionnalités qui te permettront de développer plus vite les nouvelles et futures fonctionnalités de l'application (peut-être que cela ne sera pas forcément le cas, mais on peut mentir un peu pour le bien du client :))

Tu peux également argumenter qu'installer une configuration serveur sur ta machine de développement, qui soit identique au vieux serveur, est plus compliqué que d'avoir la configuration récente que propose les outils de ton système aujourd'hui. Et donc cela va prendre plus de temps, donc coûter plus.

Au final donc, la facture sera la même que la migration soit faite ou pas. Seulement le temps passé à la migration sera plus bénéfique sur le court et long terme, que le temps passé à travailler avec un vieux truc et à essayer de le rapiécer.

Enfin bref, voilà quelques arguments :)

Concernant la migration :

  • suit bien la doc de migration de chaque version, en testant une à une chaque version suivante. Tu suivra donc la doc de migration de la 1.2 (puisque tu avais une beta, donc incomplète), puis la 1.3, puis 1.4, 1.5, et enfin 1.6. Si tu as du temps, continue à la 1.7.
  • Fais des backups à chaque passage de version.
  • Tests à chaque passage de version
  • lit les nouveautés de chaque version : il y aura des choses probablement intéressantes qui peuvent simplifier du code. Fait une première lecture des nouveautés de toutes les versions, pour savoir quand tu vas toucher à telle ou telle partie du code, sans avoir à revenir dessus plusieurs fois.

  [Opened] [MIGRATION] Jelix 1.2b1pre.1458

Reply #2 Posted by RoYaLSleT on 07/03/2019 09:58

Bonjour, merci pour la réponse complète. Je vais déjà réaliser ce que j'ai à faire et je vais essayé de les pérenniser sur ce framework :-)

Les arguments sont très bons, je pense pouvoir m'en servir !

  [Opened] [MIGRATION] Jelix 1.2b1pre.1458

Reply #3 Posted by RoYaLSleT on 07/03/2019 13:57

laurentj a dit :

Concernant la migration :
- suit bien la doc de migration de chaque version, en testant une à une chaque version suivante. Tu suivra donc la doc de migration de la 1.2 (puisque tu avais une beta, donc incomplète)

Si je te comprends, il faut que je commence par : https://docs.jelix.org/fr/manuel-1.2/installation/migration

Migrer l'application en 1.2 full fonctionnel, puis 1.3 etc?

Pour info, je n'avais pas choisis le framework ni sa version, du coup il me manque certains éléments de compréhension :-)

Merci encore pour ton support

  [Opened] [MIGRATION] Jelix 1.2b1pre.1458

Reply #4 Posted by laurentj on 07/26/2019 11:48

Bonjour,

Migrer l'application en 1.2 full fonctionnel, puis 1.3 etc?

Oui, tout à fait.

C'est un peu long, mais c'est indispensable.

Laurent

PS : désolé du retard de la réponse

  [Opened] [MIGRATION] Jelix 1.2b1pre.1458

Reply #5 Posted by RoYaLSleT on 07/31/2019 11:31

J'aurais une question subsidiaire, puisque je vais entamer la migration : Grosso modo, le premier dev qui était sur le projet que j'ai à migrer avait modifier des fichiers du core (dans jControllerDaoCrud par exemple). Pour corriger le tir, il faudrait que je puisse comparer les sources de ma lib avec les sources de la lib original j'imagine et voir les différences qui sont présentes pour les externaliser.

Du coup, il faudrait que j'arrive à chopper la lib 1.2b1pre.1458 pour pouvoir effectuer mes comparaisons. J'ai choppé la version taggé RELEASE_JELIX_1_2_BETA1 sur le git, mais il y a des certaines modifs qui ont été réalisé et qui font que je ne suis pas sur que mes comparaisons vont être efficaces.

Ya t'il un moyen de recuperer la lib 1.2b1pre.1458 précisement? J'ai vu qu'il y avait des versions dev & prod, comment savoir celle sur laquelle je bosse?

  [Opened] [MIGRATION] Jelix 1.2b1pre.1458

Reply #6 Posted by laurentj on 08/01/2019 15:06

Ouch, ça ne va pas être évident ça. Le "1458" dans le numéro de version représente le 1458ieme commit dans le dépôt ... Mercurial ! Qui existait à l'époque.. Avec la migration vers Git, les commits doivent correspondre mais pas sûr.

D'après mes "calculs", cela correspondrait au commit ea7be463f029b70e0f7b756a79b58eec787136c5.

Je t'ai fais des builds, qui sont dispo ici : https://download.jelix.org/jelix/nightly/1.2.x/ . Voir fichiers jelix-1.2b1pre.1458-*, télecharge celui qui correspond. Pour savoir quelle édition tu as, va voir dans ton fichier lib/jelix/BUILD, tu as un champs EDITION_NAME qui te l'indiques.

Après téléchargement, fais un diff de l'actuelle lib/ et de celui téléchargé/. Tu ne devrais pas avoir trop de différence. Si il y en a beaucoup, envoi moi un zip ou tar.gz de ton lib/ (en enlevant les éventuelles libs propres à ton appli, si tu vois des répertoires en plus de ceux qu'il y a dans le lib/ original). pour me l'envoyer, met le moi à dispo quelque part sur le web et envoi moi le lien par mail : laurent@jelix.org. Ainsi je regarderais les différences et te dirais ce qui doit être adapté ou pas, si il y a l'équivalent dans les futures versions etc... Et éventuellement j'inclurai les modifs dans les sources officielles si elles sont intéressantes.

  [Opened] [MIGRATION] Jelix 1.2b1pre.1458

Reply #7 Posted by RoYaLSleT on 08/01/2019 23:26

Je t'ai envoyé un mail avec ma lib... j'ai essayé dans tout les sens mais... Rien, aucune comparaison ne me parait logique... :/

Merci Laurent, c'est vraiment top :-)

 
Page
  1. [MIGRATION] Jelix 1.2b1pre.1458