Bonjour,

J’hérite d'une application en symfony 2.8.
Votre avis: je fait un upgrade vers version 3.4 puis ensuite vers 4 ... ou je repars d'une version 4 vierge à laquelle j’ajoute progressivement des fonctionnalités en reprenant une partie du code existant.

A votre avis qu'elle sera la plus rapide des méthodes ? ou y a t il une autre solutions ?
Je n'ai pas encore vu le code ...

Merci de m'avoir lu.

9 réponses


Salut,

Je pense que si le code n'est pas trop gros, trop complexe à reprendre (et comprendre) tu gagnerais du temps à repartir de zéro sur une V4 et y intégrer les fonctionnalitées source.
Je n'ai jamais eu à faire d'upgrade de version personellement mais j'ai vu que c'était jamais simple, alors devoir en faire 2..

dev@ynot
Auteur

merci, oui je pense comme toi.
Je ferai un retour d'expérience une fois l'obstacle franchi.

Bonjour,

Il y a eu des gros changement entre la 2.x et 3.x, c'est pour ça que les Symfony 2 sont dfficiles à upgrade.
Du plus, sur Symfony 4 tu vas avoir de base l'autowiring et d'autres choses qui vont faire en sorte que tu codes beaucoup plus rapidement.
Je te conseil vivement de partir sur une base saine.

Je partage le même avis. Tu repars sur du propre !

dev@ynot
Auteur

Impossibe de repartir sur du propre vu l'etat d'avancement du projet. Je vais etre obligé de migrer/upgrader vers une version supérieur. Je ferai un retrour d'expérience.

Un upgrade de la 2.8 à la 5.1 ? tu vas prendre des mois! je te deconseille fortement la mise a jour mais plutot copier le code bout a bout sur la 5.1 avec modification/adaptation du code biensur.

Il y a peut-être possibilité de migrer par étape en tenant compte des éléments deprecated avant de faire la migration 2=>3 puis à nouveau remplacer les éléments deprecated puis 3=>4. Après, si l'application est bien faite avec des tests unitaires c'est un plus pour éviter les régressions :)

Si tu ne peux pas recommencer un nouveau projet directement sur 4.4 ou 5.1, d'expérience je conseille de faire une première migration vers 3.4, tu auras pas mal de job, enfin tout dépend de l'état du code. Si il était maintenu et qu'un maximum de fonctions dépréssiées ont été retirées, le job est déjà bien maché. Une fois la version 3.4 opérationnelle il faudra refaire le même travail de 3.4 à 4.4.
Faire le saut de 2.8 à 4.4 ouch je m'y lance pas personnellement.

Le meilleure point d'entrer pour faire des migration reste les upgrade guide de Symfony, il y en pour chaque version, ex : https://github.com/symfony/symfony/blob/3.4/UPGRADE-3.0.md

dev@ynot
Auteur

Désolé, j'ai laissé tombé l'affaire et mis fin à ma période d'essai. L'ampleur de la tâche était au dessus de mes compétences et de mon énergie.
En tout cas merci pour toutes vos suggestions.