Compatibilité Symfony 7.0 des CMS que nous utilisons souvent

Ibexa Content

Commençons par notre spécialité, La dernière version actuelle d'Ibexa Content est la version 4.5 (la Long Term Support [LTS] 4.6 sortira début 2024) est installé avec Symfony 5.4 et supporte PHP 7.4 à 8.2 et donc théoriquement avec PHP 8.3 lors de sa sortie.

Même si le choix de la version LTS en cours peut sembler surprenant, c'est un bon choix dans le sens ou la version 5.4 de Symfony est maintenue jusqu'en novembre 2025 et qu'elle est la dernière version LTS.

Cependant à partir de novembre 2024 il n'y aura plus de "bug fix" ce qui rend la compatibilité avec PHP 8.4 qui sortira fin novembre 2024 hasardeuse.

Savez-vous qu'Ibexa autrefois appelé eZ Publish, puis eZ Platform est un HCMS (Headless Content Management System ou Hierarchical Content Management System). Son éditeur a toujours offert la possibilité de migrer depuis de très vielle version vers la dernière version d'Ibexa Content ?

Contactez-nous pour plus d'information.

 

Bolt CMS

La version 5.1 de Bold CMS partage de nombreux point commun avec Ibexa Content. Contrairement à Ibexa, l’existence de thème permet un démarrage rapide pour des sites multilingue de petite taille. 

Il est basé sur Symfony 5.4 ce qui lui permet de fonctionner sur des versions de PHP entre 7.2 et 8.2 et peux être PHP 8.3.

L'usage des versions LTS de Symfony vous permet de garder votre installation de Bolt CMS à jour pendant quelques années avant de prévoir une mise à jour (avant la fin de la maintenance de Symfony et Bolt c'est mieux).

Bolt CMS est utilisé pour le projet Keremma.org et nous assurons des actions régulière de maintenance sans soucis.

 

Sylius

Classer Sylius dans les CMS (Content Management System) peut avoir du sens même s'il est généralement classé dans les Framework E-Commerce. Réaliser un projet avec Sylius implique des développements pour l'adapter à votre métier.

La version actuelle de Sylius, la version 1.12, est compatible avec Symfony 6 et nécessite PHP 8.1 minimum. Elle sera donc compatible avec la version 6.4 de Symfony lors de sa sortie.

La compatibilité avec Symfony 7.0 et suivante sera apportée dans une version ultérieure, le temps de rendre compatible tous les bundles qui composent Sylius. La philosophie de Sylius est d'être le plus proche possible des dernières versions de Symfony et par conséquent des dernières versions de PHP.

Cela demande certe de la maintenance mais pour des sites e-commerce c'est vital. Les règles changent en permanence, répondre aux attentes des clients n'est pas chose aisé et demande de modifier régulièrement le site et par conséquent réaliser la maintenance.

Avec Sylius, vous n'aurez pas l'impression d'être en retard et vous pourrez exploiter rapidement les nouveautés de Symfony.

Tout comme Ibexa Content, la montée en version de Sylius est réalisable avec un bon accompagnement pour éviter les pièges et subtilités de certaine versions.

Contactez-nous pour vous accompagner dans votre projet Sylius.

 

EasyAdmin Bundle

Cette extension pour Symfony, est elle réellement un CMS ? Heueueu et bien pas vraiment, mais ce bundle est très utilisé pour gérer simplement des données dans une base de données. Très pratique pour démarrer rapidement et gérer beaucoup de données différentes simplement (comprenez sans trop de logique métier) cet outil peut tout à fait être utilisé pour gérer des contenus.

Mais qu'en est t'il de sa compatibilité avec Symfony 7.0 ? Contrairement aux outils précédents, la compatibilité est en cours de réalisation si l'on en croit l'activité sur le dépôt de code source. Il est même probable que la compatibilité sera assurée lors de la sortie de Symfony 7.0.

Comme pour les précédents outils, la migration depuis des versions anciennes est possible mais demande un peu de réflexion pour trouver le meilleur chemin de migration entre les versions PHP, Symfony et EasyAdminBundle.

Contactez-nous pour trouver le chemin de migration le plus adaptée à votre application.

 

Pourquoi migrer vers Symfony 7.0 ?

Cette question est tout à fait légitime et le choix peut avoir des implications importantes pour l'application.

Commençons par éliminer les cas où votre application est basée sur un framework ou un CMS basé sur Symfony. Dans ce cas, vous devez attendre la nouvelle version de votre application qui sera compatible avec Symfony 7, puis réaliser la montée de version.

Éliminons également les applications qui ont un petit budget de maintenance. Nous avons tous des applications internes, ou accessoire à l'application principale de l'entreprise. Ces applications sont entretenues de temps en temps (c'est une réalité du terrain malgré toute la bonne volonté pour les maintenir à jour). Le choix de passer d'une version LTS à une autre est le plus judicieux.

Pour les autres applications, voici les arguments en faveur d'une montée de version :

  1. Le premier est le retrait de la couche de rétro-compatibilité de Symfony. La version majeure suivante (7.0) est identique à la version LTS (6.4) avec une différence : la version majeure n'est pas rétro-compatible mais plus performante. Cette suppression impose un préalable : avoir corrigé toutes les alertes de dépréciations avant la monter de version.
  2. Le deuxième est la possibilité de recevoir les nouvelles fonctionnalités de Symfony au fur et à mesure des versions mineures.
  3. Le troisième est la certitude de toujours être sur une version maintenue tant pour les bugs que pour la sécurité.
  4. Le quatrième est plus lié à la communication, pouvoir dire à ces utilisateurs que l'on utilise les dernières versions des outils, que l'on est toujours à jour, que la sécurité est un enjeux pour vous et vos clients ... Ce sont autant d'arguments marketing.

Vous songez à migrer votre application vers Symfony 7 ? Contactez-nous pour en parler avec nos experts.