Tope là ! eZ Platform est désormais compatible avec Symfony 5 et PHP 7.4
Les deux derniers mois ont été une période exceptionnelle pour beaucoup d'entre nous. En raison de l'épidémie de coronavirus, de nombreuses personnes ont dû modifier leurs routines quotidiennes : au travail et à la maison. Chez Ibexa, nous ne faisons pas exception, mais nous avons déjà de nouvelles habitudes de travail. Nos routines se sont adaptées et notre travail n'a jamais été interrompu.
Nous ne nous sommes donc pas reposés sur nos lauriers et nous avons peut-être même travaillé plus dur que jamais ces derniers mois. C'est pourquoi j'ai pensé qu'il serait opportun de partager avec vous, certains points forts techniques de notre dernière version, eZ Platform version 3.0.0. Cette version apporte de nombreuses nouvelles fonctionnalités destinées aux utilisateurs et beaucoup de travail a été effectué en coulisses.
eZ Platform fonctionne désormais sur Symfony 5
eZ Platform 3 est le fruit d'un effort d'ingénierie majeur pour permettre de créer un produit encore meilleur dans le futur. Alors que dans eZ Platform 2, nous avions réorganisé l'architecture frontale, dans la version 3, nous avons laissé les concepts d'interface utilisateur inchangés. Pour la version 3, nous avons entrepris une refonte de nos composants internes, certaines modifications de l'API et des améliorations du référentiel.
Une énorme tâche globale qui a touché de nombreuses parties de notre base de code a été la mise à niveau du framework Symfony. Le processus a été détaillé dans un article de blog (disponible ici en anglais) en novembre dernier par Maciej Kobus, qui a dirigé notre migration de Symfony 3.4 :
Je pense que le plus gros problème que nous ayons eu est simplement de maintenir une quantité de de pack aussi importante. Cela a été mentionné dans la réponse précédente, mais je vais me répéter : ce n'est pas facile de faire face à autant de dépendances du produit.
eZ Platform v3.0 fonctionne sur Symfony 5.0. Il s'agit de la dernière version du framework PHP à usage général. L'utiliser comme base nous permet d'accélérer le développement en interne, mais en raison d'une approche plutôt "retour aux sources" dans Symfony 4, je pense que nos partenaires pourront également bénéficier d'une vitesse de développement plus élevée dans les projets de déploiement avec eZ Platform 3.x . De plus, les développeurs ont accès aux dernières fonctionnalités de l'écosystème Symfony.
Préparez-vous à passer à PHP 7.4
En plus d'avoir effectué de nombreuses retouches en interne pour rendre eZ Platform compatible avec Symfony 5, notre équipe d'ingénieurs a passé beaucoup de temps à rendre le code compatible avec (et à tirer parti des nouvelles fonctionnalités des) dernières versions du runtime PHP qui alimente des millions de sites internet à travers le monde. L'utilisation des dernières versions du runtime PHP n'est pas seulement pour nous mettre en valeur, elle offre des avantages réels : débloquer des gains de performances et permettre d'écrire du code plus propre avec une nouvelle syntaxe et l'ajout de nouvelles fonctionnalités.
Au moment de la sortie d'eZ Platform 3.0.0 début avril, nous ne prenions pas encore officiellement en charge la dernière version de PHP, 7.4. Il s'agit de la dernière version mise en ligne pour la série 7.x, avant le prochain bond vers le monde nouveau et ambitieux de PHP 8. La dernière version stable est livrée avec des améliorations de fonctionnalités de vitesse et de langage comme l'Interface de Fonction Etrangère (FFI) et le préchargement OPCache. Dans eZ Platform, l'ajout de la prise en charge de PHP 7.4 était une question de validation. J'ai été heureux de constater que cet effort est maintenant terminé et que la dernière mise à jour du patch, eZ Platform v3.0.2 est compatible avec PHP 7.4. Bien que je n'aie pas encore essayé par moi-même.
La fonctionnalité la plus intéressante de PHP 7.4 est pour moi le préchargement OPCache. Il permet des améliorations significatives des performances pour les applications complexes (comme eZ Platform), nous permettant de faire plus avec moins de ressources informatiques. Mes premières expériences avec OPCache Preloading ont montré que la compatibilité n'est pas simple. L'équipe Symfony a travaillé sur la compatibilité et Nicolas Grekas a fait une mise à jour lors de la conférence Symfony Live Online.
Comme vous pourriez l'imaginer, avoir eZ Platform approuvé par OPCaching et à jour avec ce dernier est une inconnue à ce stade. Je suis un simple paysan du marketing, je ne peux donc faire aucune promesse dans les délais d'ingénierie, mais j'explorerai certainement le type d'amélioration des performances qu'OPCache Preloading peut permettre à nos partenaires et clients.
Nous utilisons désormais nos propres produits en interne
Vous pouvez donc constater que nos équipes d'ingénierie ont connu un début d'année chargé. Mais comme vous l'avez peut-être remarqué, nous avons connu une transformation plus importante encore en tant qu'entreprise, en changeant notre nom : eZ Systems devient Ibexa. Pour moi et certains autres membres de l'entreprise, cela semble une éternité que nous travaillions sur le renouvellement du site.
L'ancien site eZ Systems n'était plus tout jeune. Ses débuts remontent à 2009. L'ancien site avait fait l'objet d'un certain nombre de modifications de navigation et de rafraîchissements visuels. Vous connaissez la chanson. Donc, dans le cadre du renouvellement de la marque, nous voulions revoir complètement notre présence en ligne. De toute évidence, nous avons crée nos sites internet avec eZ Platform, mais sur quelle version ? Nous avions une version testée sur le ring, mais nous étions aussi tentés par les versions plus récentes.
Au moment où nous avons décidé d'aller de l'avant vers un replatforming technique d'eZ Platform 3.0.0, la version bêta 5 venait de sortir fin janvier 2020. Après quelques prototypes initiaux pour déterminer la stabilité, j'ai décidé que nous visions une version avec 3.0, tout en gardant une une porte ouverte sur eZ Platform 2.5 LTS, au cas où il y aurait des éléments bloquants. Dans les mois qui ont suivi, il y a eu quelques surprises, mais le développement du site s'est poursuivi sans accrocs techniques majeurs.
Le développement a mené au lancement des améliorations de la documentation finale 3.0.0 (un gros coup de main a été donné par l'équipe de documentation à Cracovie !) et à une stabilité accrue qui a rendu le travail plus rapide. Mais nous avions toujours des problèmes avec les dépendances clés (Netgen Tags et Novactive SEO Bundle) dont je préfère toutefois ne pas me passer. Nous avons collaboré avec nos partenaires Netgen et Novactive sur ces packages et ensemble nous avons réussi à obtenir des versions de ces deux packages compatibles et stables avec eZ Platform v3 lors du lancement de ce site.
Aujourd'hui, nous sommes donc live sur ce site internet avec la dernière version d'eZ Platform, hébergée sur eZ Platform Cloud. Nous utilisons donc nos propres produits en internes. Des produits qui sont même à la pointe de la technologie. Un grand merci à tous ceux qui ont rendu cela possible.
P.S. Les high fives sont toujours tolérés, n'oubliez simplement pas de vous laver les mains :)
eZ Platform devient Ibexa DXP
Ibexa DXP a été annoncé en octobre 2020. Il remplace la marque eZ Platform, mais dans les coulisses il s'agit en fait d'une évolution de la technologie. Lisez l'article de blog concernant l'annonce Ibexa DXP v3.2 et vous saurez tout sur notre nouvelle famille de produits : Ibexa Content, Ibexa Experience et Ibexa Commerce