Sélectionnez votre langue

Le département de production de Joomla partage le résultat des discussions générées par le dernier article de Joomla 5.

Sommaire

Nous avons entendu les commentaires de la communauté et pris des décisions concernant la version Joomla 5 et le cycle de publication en général.

Si vous ne lisez rien d'autre, voici ce que vous devez savoir :

  • Joomla 5 n'inclura pas les changements de rupture pour les modèles et les extensions tierces.
  • Ne supprimera aucun code marqué comme obsolète dans Joomla 4.
  • Joomla 5 aura une version PHP minimale de PHP 8.1.
  • Les composants qui fonctionnent dans Joomla 4 devraient également fonctionner dans Joomla 5, tant qu'ils prennent en charge PHP 8.1.
  • Joomla 5 sortira en octobre 2023. En raison des points ci-dessus, ce ne sera pas une mise à jour importante et douloureuse comme les versions précédentes.
  • Les versions mineures resteront sur un calendrier de 6 mois, mais toutes les versions seront décalées aux mois d'avril et d'octobre, à commencer par la version 4.3 en (avril 2023).

Si vous voulez en savoir plus sur le raisonnement et les détails de ces décisions, continuez à lire.

Prélude

Il y a eu beaucoup de discussions au cours des dernières semaines suite à l' annonce de Joomla 5 Joomla! 5.0 Audacieux en un an - Mais pouvons-nous le faire ?

demandant s'il est possible de sortir Joomla 5 en un an. L'article a été conçu pour stimuler l'intérêt et les commentaires et le service de production apprécie cet échange vivant d'idées, de demandes et de commentaires. Les membres du département de production ont participé à la discussion via plusieurs canaux pour obtenir des opinions personnelles et mieux comprendre comment les gens voient Joomla 5 affecter leur monde.

Sur la base de ces commentaires, nous avons eu plusieurs motions et pris de nombreuses décisions au cours des derniers jours concernant l'avenir de Joomla 5.

Nous avons identifié les deux principales préoccupations à surmonter, qui coûtent à la fois du temps et de l'argent :

  • Une mise à jour vers Joomla 5 sera à nouveau une migration douloureuse (puis vers 6 à nouveau, etc.)
  • Les extensions fonctionnant sur Joomla 4 ne sont à nouveau pas compatibles avec Joomla 5

Il y avait aussi d'autres préoccupations, telles que:

  • Le code marqué comme obsolète n'avait pas de documentation indiquant aux développeurs quoi faire à la place.
  • Le calendrier de diffusion actuel est perturbateur pour nos bénévoles et notre communauté, en particulier pendant l'été pour les deux hémisphères.
  • Une version majeure doit avoir quelque chose pour que la mise à niveau « en vaille la peine »
  • L'utilisation du noyau (par exemple, les remplacements de modèles) ne devrait pas pénaliser les développeurs lors du passage à de nouvelles versions, les forçant à reconstruire.
  • Les délais sont trop serrés

À la suite de ces discussions, le service de production a pris plusieurs décisions.

Cycles de publication

  • Nous resterons sur un cycle de publication de 6 mois pour les versions mineures. La raison est de protéger les responsables de publication de l'épuisement car une version représente beaucoup de travail, ils commencent 6 mois avant la sortie et travaillent ensuite 6 mois supplémentaires lorsque la version est sortie. Avoir des mois fixes fiables aide tout le monde à planifier.
  • Nous resterons également avec des versions de deux ans pour les versions majeures. Ainsi, Joomla 5 sortira en 2023, Joomla 6 en 2025 et ainsi de suite. La raison en est de garder les étapes aussi petites que possible, afin d'éviter des mises à niveau douloureuses et majeures comme par le passé.

Les nouvelles versions majeures se concentreront sur le nettoyage des dépréciations, le maintien des dépendances et la simplification des étapes de mise à niveau.

La quatrième version mineure de chaque cycle de vie (par exemple 4.4, 5.4, 6.4) est une "version intermédiaire", où l'accent est mis sur le raffinement du vérificateur de mise à jour, la correction des bogues restants et la production d'un produit stable comme base pour la prochaine majeure.

Nous travaillons à une mise à niveau fluide et transparente. De nombreuses personnes impliquées dans la prise de décision sont elles-mêmes des développeurs de sites Web, alors comprenez la douleur que cela implique. Des délais plus longs signifient des étapes plus importantes, et des délais plus courts conduisent à des étapes plus fluides. L'objectif du service de production est de créer un processus fluide et de fournir aux développeurs et aux agences Web plus de contrôle sur le moment où ils effectuent les modifications.

Nouveaux mois de sortie

  • Les versions majeures seront publiées sur un cycle de deux ans - Joomla 5 en 2023, Joomla 6 en 2025, etc. Cela réduira les étapes requises lors de la mise à niveau vers une nouvelle version majeure.
  • Les versions mineures continueront d'être publiées selon un cycle de six mois. Cela évite l'épuisement professionnel du gestionnaire de versions et fournit une date de publication fiable.
  • Les mois de sortie seront déplacés vers avril et octobre pour éviter les vacances d'été dans les deux hémisphères. (résultat direct des commentaires reçus)

Dépréciations

Pour faire court :

Nous ne supprimerons pas le "framework MVC hérité", le "framework plugin hérité", le "framework module hérité" et la classe "Factory". Cela signifie que les composants exécutés dans Joomla 4 devraient également fonctionner avec Joomla 5 (à condition qu'ils prennent en charge PHP 8.1).

La longue histoire est :

La production a adopté une motion selon laquelle toutes les dépréciations peuvent être supprimées, au plus tôt, +2 versions majeures après avoir été déclarées obsolètes. Cela signifie que si le code est déclaré obsolète dans la version 4.x, le plus tôt qu'il puisse être supprimé est Joomla 6. Cette motion couvre (entre autres) :

  • Cadre MVC hérité
  • Cadre de plugin hérité
  • Cadre de module hérité
  • Usine

et permet la suppression la plus précoce du code obsolète en 2025.

Au lieu d'étendre le cycle de publication à 3 ans pour Joomla 5, nous donnons aux développeurs tiers au moins 4 ans au total pour mettre à jour leur extension. Cela atténue également la nécessité de prendre en charge trois versions de l'extension.

N'oubliez pas que "le plus tôt" ne signifie pas que le code obsolète sera supprimé à ce moment-là, cela ouvre simplement la possibilité.

Nous avons commencé à commenter et à clarifier les dépréciations avec cette pull request, qui sera mise à jour dans les prochains jours.

VersionPHP

Joomla 5 nécessitera une version PHP minimale de 8.1.

Lorsque Joomla 5 sera publié, PHP 7.4 sera en fin de vie (EOL) sans mises à jour de sécurité ni corrections de bugs ( voir versions de PHP ).

Joomla 5 nécessitera PHP 8.1. Si votre hébergeur ne prend pas en charge la version 8.1 au moment de Joomla 5, vous pouvez soit changer d'hébergeur, soit continuer avec Joomla 4 pendant encore deux ans.

PHP 8.1 apporte, entre autres nouveautés, la possibilité d'exécution « parallèle » de parties de code, ce qui peut entraîner une immense augmentation des performances. Passer à PHP 8.1 pour Joomla 5 nous permet d'écrire du code qui utilise cette fonctionnalité et même si nous n'avons pas le temps de l'utiliser en 5.0, cette exigence nous laisse la porte ouverte pour l'utiliser dans une version mineure plus loin sur toute la ligne, accélérant le CMS et permettant aux développeurs d'extensions de récolter également les bénéfices.

Versions SQL

Joomla 5 prendra en charge MySQL 8.0.11+, MariaDB 10.4+ et PostgreSQL 12+.

Nous séparerons les pilotes de base de données pour MySQL et MariaDB, car les deux systèmes deviennent de plus en plus éloignés l'un de l'autre. Des pilotes séparés nous permettent de prendre en charge les systèmes de gestion de base de données (SGBD) respectifs de la meilleure façon possible.

En tant que développeurs, vous pouvez continuer à envoyer un fichier MySQL tant que vous n'utilisez que les fonctions prises en charge par les deux pilotes. Si vous avez besoin de fonctions spécifiques à MariaDB, vous pouvez fournir un fichier MariaDB.

Optimisations

PHP 8.1 nous permet de rendre les opérations d'E/S (lecture et écriture) asynchrones, c'est-à-dire de s'exécuter en arrière-plan. Cette possibilité sera rendue disponible pour les extensions Joomla 5.

Les systèmes de base de données modernes fournissent des requêtes récursives. Cela permettra de remplacer les ensembles imbriqués. Les ensembles imbriqués sont utilisés pour le contrôle d'accès, les catégories, etc., mais, s'ils sont très rapides en lecture, ils sont très longs à écrire. Pour les sites avec des milliers d'articles dans des catégories ou des utilisateurs et des groupes d'utilisateurs, cela entraîne parfois des problèmes de performances. Par conséquent, dans Joomla 5, les ensembles imbriqués seront remplacés par des requêtes récursives.

Plugin de compatibilité (Early adopters)

Le code obsolète est obsolète pour une raison ; la plupart du temps, il existe un code meilleur, plus rapide et plus utilisable qui donne un coup de pouce à votre site Web. La prise en charge d'un code obsolète pendant une longue période est une chose négative pour les propriétaires de sites Web qui souhaitent utiliser uniquement du code à la pointe de la technologie (ou uniquement le cœur). Pour eux, le code obsolète est un fardeau. Comment pouvons-nous les aider?

L'objectif est de déplacer autant de code obsolète que possible vers un plugin système qui est activé par défaut lors de la mise à niveau. Cette idée a été utilisée pour la première fois dès Joomla 1.0 et a fonctionné. Avec des avancées telles que l'espacement des noms, l'idée peut être rendue encore plus puissante pour aider à redonner du pouvoir au propriétaire d'un site. Les propriétaires de sites qui savent qu'ils ne s'appuient pas sur ce code peuvent désactiver le plug-in et bénéficier de performances améliorées et d'un code plus propre. Par exemple, nous allons déplacer les alias de classe comme JDatabase (qui n'existe que virtuellement) vers ce plugin système.

Ce plugin a quelques règles quant au moment où il peut être modifié :

  • Le plugin ne contient que le code obsolète de la version majeure précédente
  • Il ne peut être mis à jour que lorsqu'une nouvelle version majeure est publiée

Ainsi, avec Joomla 5, le plugin contiendrait toutes les dépréciations (possibles) de Joomla 4, mais aucune dépréciation de Joomla 5.

Lorsque nous publierons Joomla 6, nous supprimerons toutes les dépréciations provenant de Joomla 4 du plugin (et s'il en reste) du noyau. Nous pourrions alors également déplacer toutes les dépréciations possibles du noyau Joomla 5 vers le plugin. Lors de la mise à jour vers Joomla 6, le plugin sera à nouveau activé, pour assurer une mise à jour fluide.

Les nouvelles installations seront livrées avec le plugin désactivé et les développeurs d'extensions pourront, si besoin, activer le plugin lors de l'installation de leur extension. Lorsque le plugin est activé, un message dans le tableau de bord du backend sera affiché à l'utilisateur pour l'informer.

Nous avons écouté les craintes de beaucoup que les mises à niveau affectent l'adoption de Joomla et rendent la vie des agences Web et des développeurs difficile, et nous avons entendu d'autres dire que nous devions rester sur la courbe de la vitesse et de la sécurité. Nous espérons que cette solution fournira un chemin de mise à niveau plus fluide, plus de temps en cas de besoin et nous permettra également d'offrir le package de construction le plus récent, le plus rapide et le plus sécurisé pour ceux qui en ont besoin.

Documentation

Un problème important pour Joomla est la documentation. Nous avons besoin d'une documentation solide. La production ne peut pas le gérer seule. Ici, nous pouvons diriger et fournir des ressources, mais nous dépendons absolument de l'aide de la communauté pour y parvenir.

  • Nous avons lancé un nouveau projet : manual.joomla.org que nous prévoyons de remplir avec une documentation détaillée et pratique destinée aux développeurs pour le développement d'extensions. Cette année, nous prévoyons d'organiser des sprints communautaires où tout le monde peut participer pour en savoir plus sur la nouvelle documentation et aider à la remplir de contenu. Nous vous tiendrons au courant.
  • La production a adopté une motion selon laquelle les nouvelles fonctionnalités ne peuvent désormais être fusionnées que lorsqu'il existe une documentation écrite pour les développeurs ( manual.joomla.org ) et les utilisateurs finaux ( docs.joomla.org ).
  • Le code ne peut être obsolète que lorsqu'un guide de migration est écrit pour manual.joomla.org . Cela permettra à toute personne intéressée de suivre ces dépréciations en s'abonnant au référentiel de documentation. On peut fournir des commentaires avant que la dépréciation ne soit finalement effectuée.

Avec ces nouvelles motions adoptées, la documentation est requise lorsque de nouvelles fonctionnalités sont ajoutées et que le code est obsolète avec les guides de migration, une assistance est également fournie pour aider les développeurs à rédiger leur documentation. Même si l'anglais n'est pas votre langue maternelle, ou si l'écriture n'est pas votre point fort, vous pouvez toujours contribuer au code et obtenir de l'aide pour écrire des documents d'un "Documentation Buddy". Un compagnon de documentation vous guidera vers des ressources pour rédiger vos documents ou vous aidera à rédiger vos documents.

Pour trouver un compagnon de documentation, Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser..

Êtes-vous un forgeron mais pas un codeur et pouvez-vous devenir un compagnon de documentation ? Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.et nous allons vous aider à démarrer.

Le développeur, le compagnon de documentation et la communauté bénéficieront d'une documentation plus abondante et de meilleure qualité tout au long du processus de développement. Cela aidera tout le monde à comprendre, apprécier et utiliser les nouvelles fonctionnalités et à s'éloigner de l'utilisation de code obsolète.

Modèles/interface utilisateur

Ce qui suit devient plus technique et pour ceux qui ne sont pas développeurs, le résumé est que nous mettons les choses au point afin que les changements de base aient moins d'impact sur les développeurs de modèles.

Dans les discussions sur la nouvelle version, des craintes ont été exprimées que tous les modèles doivent être adaptés à grands frais pour les développeurs. Cela résulte de l'expérience des versions majeures précédentes, qui devaient casser des modèles afin d'améliorer la structure interne.

Heureusement, dans Joomla 4, nous avons le WebAsset Manager , qui nous permet de limiter ces interruptions dans les futures versions. Nous prévoyons également de tirer pleinement parti de la nouvelle fonctionnalité de Joomla 4 " Modèles enfants " pour réduire encore plus la douleur.

L'objectif à long terme est que les dispositions de base et Cassiopée soient découplées (autonomes et ne dépendent plus l'une de l'autre).

Le découplage nous permettrait de prévoir d'avoir un "modèle d'amorçage" comme référence où tout le code dépendant de l'amorçage est inclus en tant que remplacement. Tout ce qui est spécifique au modèle de quelque manière que ce soit est déplacé des mises en page de base vers Cassiopeia. Cassiopeia devient alors un modèle enfant de ce nouveau modèle "bootstrap 5" ou reste autonome avec tous les remplacements inclus. Cela permet de créer des modèles parents supplémentaires basés sur d'autres frameworks tels que Tailwind ou UIKit.

Pour les concepteurs de modèles, cela signifie que leurs personnalisations de mise en page et leurs remplacements deviennent moins sensibles aux changements dans le CMS et que les remplacements n'ont pas besoin d'être reconstruits avec chaque nouvelle version majeure.

Le modèle de backend restera sur bootstrap 5 et ne devrait recevoir que des modifications mineures pour améliorer la convivialité.

Un engagement renouvelé envers l'expérience utilisateur

Nous sommes tous conscients que les deux modèles de base ont encore leurs défauts et ont encore beaucoup à faire. Nous sommes donc très heureux de vous annoncer qu'une nouvelle équipe est en formation : The Joomla Experience Team (JXT) .

L'objectif de l'équipe est d'améliorer l'expérience utilisateur globale dans Joomla, qui inclut également les modèles et bien plus encore. Nous avons tous de grands espoirs que cette équipe nous donnera, en coopération avec l' équipe d'accessibilité Joomla (JAT) , un grand coup de pouce dans la bonne direction.

Nous avons besoin de votre aide! Nous prévoyons de créer très prochainement des événements Pizza, Bugs & Fun, mais n'hésitez pas à contacter les équipes et à vous impliquer dès maintenant ! Pour aller mieux, nous avons besoin de beaucoup d'esprits et de doigts travaillant ensemble

Nouvelles fonctionnalités

La tâche essentielle d'une version majeure est de fournir de nouvelles fonctionnalités qui n'étaient pas réalisables avec la base de code existante.

Dans le peu de temps dont nous disposons pour sortir Joomla 5, nous n'obtiendrons probablement pas toutes les nouvelles fonctionnalités intéressantes que nous aimerions inclure (multi-domaines). Cependant, Joomla 5 apportera tout ce qui est nécessaire pour les implémenter dans une version ultérieure, si vous le souhaitez.

Cela ne devrait pas vous empêcher de contribuer vous-même à de nouvelles fonctionnalités. Nous bénéficierons également, une fois de plus, de fonctionnalités développées lors du Google Summer of Code, et qui sont presque prêtes, comme l'amélioration de l'optimisation pour les moteurs de recherche (SEO).

Et qui sait, peut-être que nous aurons plus de fonctionnalités... c'est à vous, la communauté Joomla.

Assistance aux développeurs d'extensions

Nous fournirons un ensemble (complet) de règles Rector à temps pour la première version candidate de Joomla 5 afin de prendre en charge la réécriture automatique du code obsolète. ( Rector est un outil de développement relativement nouveau qui peut réécrire du code basé sur des ensembles de règles). Ces règles seront à la disposition des développeurs d'extensions pour adapter leurs composants, modules et plugins à Joomla 5 avec un appel en ligne de commande. Il ne sera probablement pas possible d'éliminer tous les changements manuels mais, avec Rector, cela peut être réduit au minimum.

Cela ne peut arriver qu'avec votre aide

Nous sommes une grande communauté. Il convient de rappeler les réalisations de ce projet, les entreprises qu'il soutient et les emplois qu'il crée. Pour beaucoup dans les équipes, ce sont leurs soirées et leur temps libre qu'ils consacrent au projet semaine après semaine. Ils, autant que n'importe qui, veulent bien faire les choses.

Les articles que nous avons publiés demandaient des commentaires, puis mettaient en évidence une voie possible.

Il y a eu beaucoup de commentaires, parfois contradictoires et sur plus d'une plate-forme, nous avons donc dû prendre le temps de distiller, d'affiner et de faire des recherches supplémentaires pour recueillir plus de faits, puis de discuter des solutions aux idées avancées.

C'est un processus vraiment utile, tout le monde n'obtiendra pas ce qu'il voulait en particulier, mais la production espère qu'avec un travail acharné et la collaboration de la communauté, nous pourrons tous bénéficier de ce dialogue ouvert et utile, que le produit que nous transmettrons évoluera en un meilleur produit, plus conçu, capable de prendre en charge les futures générations de sites Web et de créateurs de sites Web.

Joomla est entièrement bénévole et communautaire. Sans les personnes si passionnées par les diverses idées qui s'engagent pour transformer les idées en code, cela n'arrivera pas. Plusieurs se sont déjà mobilisés et ont accepté de former des équipes et de travailler ensemble, ce qui est brillant et inspirant, mais il y a toujours de la place pour plus.

S'il vous plaît, si vous êtes un codeur, un rédacteur de documents, un spécialiste du marketing ou un utilisateur désireux de tester et de rendre compte de ce que vous trouvez, contactez-nous via le bénévoles et la de contribution à joomla , impliquez-vous et faites passer Joomla au niveau supérieur. !

Aucun commentaire