Outils / Analyse de montée de version

Préparer vos montées de version en fonction des dates de support

Un logiciel vieillit avec le temps sans que rien ne casse. Les dates de fin de support sont la plupart du temps connues à l'avance, mais organiser leur mise à jour dans de bonnes conditions tout en maîtrisant votre budget reste un challenge !

Analyse basée sur notre calendrier de suivi interne des dates de support éditeurs des technologies Symfony, Vue.js, Tailwind, PHP, MySQL, Node.js.

Step 1 of 0

Étape 1 / 1

Vos versions en production

Les six briques du socle, telles qu'elles tournent aujourd'hui : pas celles déclarées dans le projet. Répondez « Non utilisé » pour une brique que le projet n'embarque pas.

Hébergement

Ce qui fait tourner le projet : le langage, la base de données et l'environnement de build du front. Ces versions se montent par configuration, sans toucher au code.

Frameworks

Ce dont le code dépend directement. Une version majeure introduit des ruptures de compatibilité : la monter demande du développement.

Le vocabulaire utilisé

Les quatre états de support

Une version n'est pas « à jour » ou « périmée ». Elle se trouve dans l'un de ces quatre états, et l'écart entre deux d'entre eux change la nature du chantier.

Support actif
Bugs et failles de sécurité corrigés par l'éditeur.
Sécurité seule
Les failles sont corrigées, plus les bugs : les anomalies connues restent en production.
Remplacée
Une mineure plus récente est sortie sur la même branche, et seule celle-ci reçoit des correctifs. La branche reste maintenue : la mise à jour est peu coûteuse.
Fin de vie
Plus aucun correctif publié, y compris pour les failles de sécurité.

La distinction qui se perd le plus souvent est celle entre remplacée et fin de vie. Chez Vue.js et Tailwind CSS, une mineure remplacée garde sa branche maintenue : la ranger avec les versions hors support afficherait Vue 3.2 en critique, ce qui serait faux et alarmiste. Elle a donc son propre niveau, et sa recommandation ne porte aucune date obligatoire.

Le périmètre

Les six briques mesurées.

Le découpage suit qui monte la brique et ce que la montée casse, pas la distinction habituelle entre infrastructure et code.

PHP, MySQL et Node.js sont fournis par l'hébergeur : ils se montent par configuration, sans toucher au code. Symfony, Vue.js et Tailwind CSS sont des dépendances du code : une majeure casse la compatibilité, et la monter demande du développement. C'est cette distinction qui compte pour chiffrer un chantier.

Le tableau ci-dessous publie le référentiel de versions que nous tenons en interne, celui qui nous sert à suivre les mises à jour de l'ensemble des projets gérés par SmartBooster : dates de sortie, fins de support, versions recommandées. C'est lui qui alimente l'analyse ci-dessus, et chaque ligne renvoie au calendrier publié par l'éditeur.

Le périmètre s'arrête aux technologies que nous pratiquons, et il n'a pas vocation à s'élargir. Doctrine, les bundles Symfony et les paquets npm n'y figurent pas : ils suivent la version du framework qui les porte et ne se pilotent pas séparément.

Brique Cycle des mineures Cible recommandée Calendrier officiel
Logo PHP PHP
Montée de version
Chaque mineure a son propre cycle et sa vraie date de fin de vie. 8.5
Support actif jusqu'en déc. 2027.
Source de l'éditeur
Chaque mineure a son propre cycle et sa vraie date de fin de vie. 8.4 LTS
Support actif jusqu'en avr. 2029.
Source de l'éditeur
Logo Node.js Node.js
Chaque mineure a son propre cycle et sa vraie date de fin de vie. 24 LTS
Support actif jusqu'en oct. 2026.
Source de l'éditeur
Montée de version Chaque mineure a son propre cycle et sa vraie date de fin de vie. 7.4 LTS
Support actif jusqu'en nov. 2028.
Source de l'éditeur
Montée de version Seule la dernière mineure reçoit des correctifs. Les précédentes sont remplacées, pas abandonnées. 3.5
Aucune fin de support annoncée.
Source de l'éditeur
Seule la dernière mineure reçoit des correctifs. Les précédentes sont remplacées, pas abandonnées. 4.x
Aucune fin de support annoncée.
Source de l'éditeur

Ce tableau est construit au moment où la page est publiée, depuis le même référentiel que l'analyse et que nos pages technologies. Il ne peut pas dire autre chose qu'elles. Les bonnes pratiques que nous suivons pour tenir ce calendrier sur les projets que nous maintenons sont détaillées dans notre article sur le suivi des mises à jour.

La fraîcheur des données

Pourquoi un résultat porte sa date.

Les états de support ne sont stockés nulle part : ils se dérivent des dates publiées, au moment où cette page est construite.

Le même formulaire, rejoué dans six mois sur les mêmes réponses, ne dira pas la même chose. C'est la thèse de l'analyse, et c'est pourquoi sa restitution affiche sa date : un document daté est plus crédible qu'un document qui prétend être de maintenant.

Pour rester à jour, notre référentiel est contrôlé chaque mois contre le calendrier public des éditeurs. Une dérive lève une alerte en interne et nous intégrons la mise à jour dès que possible. L'écart possible entre ce qui est affiché et la réalité peut donc évoluer chaque mois.

Après l'analyse

Ce que le résultat ouvre comme conversation.

L'analyse dit où vous en êtes aujourd'hui. Ce qu'elle ne peut pas prédire, c'est combien de temps et de budget ce chantier représente, car cela dépend de paramètres qu'il est impossible de calculer en ligne : qualité du code, outillage en place, taille et historique du projet...

Quatre situations sont possibles et nous pouvons vous proposer des solutions adaptées :

1

Rien n'est hors support, bravo !

Le socle est couvert. La question devient la date de la prochaine échéance et le moment où l'inscrire au budget, pas d'urgence à gérer.

2

L'hébergement est en retard

PHP, MySQL ou Node.js font tourner le code de votre projet. C'est le chantier le plus court, et souvent celui qui ferme le plus de failles.

3

Un framework a une majeure de retard

Symfony ou Vue.js demandent du développement : les changements incompatibles se traitent un par un en suivant la procédure de l'éditeur.

4

Tout le socle est hors support

C'est le cas où aucun budget de mise à jour n'a été prévu. En fonction du retard, une refonte peut être envisagée pour être plus efficace.

Si vous souhaitez une analyse plus personnalisée de l'état de santé de votre projet, nous pouvons vous proposer un audit plus complet et un plan d'accompagnement adapté à votre situation : amélioration de la qualité du code, gestion de projet, déploiement.

FAQ

Les réponses à vos questions

Et si vous ne trouvez pas ce que vous cherchez, nous serons ravis de vous répondre en direct lors d'un rendez-vous entre humains !

Non. L'analyse fonctionne sur n'importe quel projet dont vous connaissez les six versions en production. Elle a simplement été conçue pour des projets que nous suivons, et sa restitution est écrite pour servir de base factuelle pour prévoir un plan de mise à jour.

Celles qui tournent en production, pas celles déclarées dans le projet. Les deux diffèrent souvent, et l'analyse est fausse si on prend la mauvaise. Le choix se fait au niveau de la mineure pour Symfony (8.4, pas 8.4.3) : c'est à ce niveau que se situe le travail de mise à jour.

Le périmètre s'arrête à ce que nous pratiquons. Mesurer une brique que nous ne maîtrisons pas reviendrait à promettre un conseil que nous ne saurions pas tenir. Doctrine, les bundles et les paquets npm suivent la version du framework qui les porte et nous ne les pilotons pas séparément.

Ni l'un ni l'autre, et c'est délibéré. Il constate : six faits datés se montrent mieux qu'ils ne se notent. Chiffrer supposerait de connaître plus précisément votre code, l'outillage déployé et l'organisation de votre équipe, ce qui se fait en rendez-vous.

Des calendriers publiés par les éditeurs eux-mêmes, repris dans notre référentiel de versions et contrôlés chaque mois contre la source publique. Aucune date n'est écrite dans l'outil : elles sont dérivées au moment où la page est construite.

Non. Vos réponses restent dans votre navigateur, rien n'est envoyé ni conservé. Le résultat se partage seulement par lien si vous le décidez.

Vous avez un projet ?

Contactez-nous pour savoir comment nous pouvons vous aider.