Les nouveautés de Joomla! 4

15440 vues
19 novembre 2015
Cyril
joomla4

 

Un premier aperçu du futur de Joomla! 

Du 6 au 8 novembre 2015 au JWC15 (JOOMLA! WORLD CONFERENCE 2015) à Bangalore, en Inde deux éminents participants ont dévoilé un peu plus ce qui nous attend avec la prochaine version du CMS Joomla!
Marco Dings, membre de la PLT (Joomla Production Leadership Team), en charge de la gestion et de la coordination globale des projets autour de Joomla! et aussi responsable du projet Joomla! 4, ainsi que Chris Davenport (aussi membre de la Joomla PLT), responsable de la sortie de Joomla 3.6 et membre du groupe de travail sur l'architecture de Joomla!4 sont intervenus pour nous dévoiler les secrets de Joomla 4.

Les deux intervenants ont pris tout de même le soin de préciser qu'il est encore trop tôt pour confirmer telle ou telle fonction dans la prochaine version majeure du CMS mais ont donné un résumé le plus complet possible de la direction vers laquelle s'oriente très clairement Joomla!

Jooma! 3 et Joomla! 4

Il a été rappelé que Joomla! 3 sera supporté jusqu'en 2018. La version 3.6 qui arrivera dans quelques mois apportera la généralisation des web services. Ensuite les version 3.x débuteront l’intégration des fonctions nécessaires pour la version 4. 

Les grands objectifs de Joomla!4

  • Puissance et simplicité: l'idée est d'augmenter la puissance de Joomla! et sa facilité d'utilisation avec une meilleure expérience utilisateur, ce qui a été initié avec la version 3 du CMS. Tout en se différenciant d'autres solutions comme Wordpress, Drupal ou Typo3.
  • Résoudre les problèmes actuels
  • Augmenter la part de marché des particuliers aux entreprises. Il s'agit ici de proposer des modes d'usages différents selon les publics concernés. Fidèle à son moto d'origine Joomla! doit être une solution unique pour tous. Les études en cours - au travers de personnas (créateurs de sites, intégrateurs, développeurs; administrateurs, propriétaires de sites, contributeurs, visiteur, hébergeur ...) -  permettent de croiser les objectifs du groupe de travail "expérience utilisateur" et ceux du groupe "architecture technique" pour réussir à trouver les fonctions et les interfaces adaptées aux profils différents. 

Les évolutions vers Joomla!4 ?

Le passage de Joomla! 3 à Joomla! 4 s'accompagne d'évolutions majeures à différents niveaux:

  • Une nouvelle orientation du CMS avec sa nouvelle architecture et nouvelles fondations
  • Un focus encore plus marqué sur l'expérience utilisateur est centrale dans un CMS
  • Des actions marketing : mieux communiquer sur les nouvelles orientations pour fédérer
  • Des actions d'éducation et de formation pour aider les transitions vers J!4

Le support de standards informatiques de  Joomla! 4 ?

D'un point de vue programmation Joomla! 4 va apporter un véritable changement dans l'architecture technique avec :

  • Support de PHP 5.5.9 / 5.6-8
  • Génération des espaces de noms
  • Composition à la place d'héritage dans la façon de faire de la Programmation Orientée Objet pour une meilleure flexibilité du code
  • Domain Driven Design: un meilleur moyen de concevoir les logiciels avec une séparation entre le fonctionnel métier et la connectique avec les autres parties du logiciel
  • Flysystem: abstraction systeme de fichiers
  • Dépendances entre les extensions
  • Interaction de contexte des données
  • Harmonisation des standards avec le support de PHP Framework Interoperability Group (FIG) 
  • Les nouvelles fonctions et la nouvelle architecture de la version 4.x vont casser la compatibilité ascendante.
  • Scalabilité: support de bases de données multiples simultanées (CQRS: Command Query Reponsibility Segregation) pour une augmentation significative des performances pour les gros sites à gros trafic. J4! supportera naitvement CQRS
  • Base de données: Doctrine: abstraction de la base de données pour supporter plus facilement d'autres formats de bdd sans avoir à maintenir le développement de drivers entre Joomla et d'autres bdd que mysQL
  • Support de NoSQL pour des gains de performances
  • Ne pas utiliser les grosses librairies (Laravel, symfony ) mais des petites librairies dédiées comme Doctrine ou Tacktician ...

Les nouvelles fonctionnalités et approches de Joomla! 4

D'un point de vue plus fonctionnel (ce qui interesse la plupart d'entre nous) cette nouvelle version de Joomla! rompt avec beaucoup des fondamentaux du CMS pour évoluer et permettre d'atteindre les objectifs cités ci-dessus:

Tout est composant

Tout est un composant qui peut etre rendu dans n'importe quelle position sans passer par des modules qui disparaîtront (en front car on les retrouvera en back office). Aussi un même composant peut aussi être rendu dans différentes positions en même temps. On simplifie la publication de contenu en se passant de l'étape 'module'.

Design orthogonal: faciliter le développement de componsants

Joomla est une collection de composants trop indépendants actuellement. Les fonctions transverses comme  les tags, le versioning, ou le workflow doivent alors être renveloppés dans chaque extension dans j!3. Dans Joomla! 4 ces 3 éléments seront au contraire orthogonaux (voir schéma)design orthogonal pour Joomla! 4. Le but est de les simplifier et de factoriser les fonctions communes, c'est ce qu'on appelle le design orthogonal. Un composant dans Joomla! 4 doit ignorer ce qu'il a en entrée (web services, ligne de commande, navigateur...) et ce qu'il a en sortie (le type de rendu).

 Si dans le modèle MVC actuel le composant est autonome, dans Joomla! 4 un composant sera plus léger et ne devra traiter que les charges spécifiques. Le nouveau composant est ignorant du format d'entrée et de sortie. Dans les deux schémas suivants (l'un pour Joomla! 3 et l'autre pour Joomla! 4) on voit que la charge de travail du développeur de composant (zone jaune) est considérablement réduite par la factorisation de toutes les fonctions communes (entrée et sortie).

Architecture MVC des composants pour Joomla! 3Architecture MVC des composants pour Joomla! 4

Ligne de commande pour le back office

Une nouvelle API permet l'accès aux fonctions du back office (installation, configuration...) par ligne de commande. Cela permettra l'écriture de scripts de création ou de configuration de sites.

Standardiser les canaux d'entrée

Dans Joomla! 4 un composant pourra être indifféremment alimenté par le navigateur , un webservice ou la ligne de commande , en dehors du navigateur. 

Standardiser les formats de sortie

Multiples entrée et sorties pour Joomla! 4C'est ici le support de plusieurs formats de rendus (html, bs3, xml, json, pdf, ePub...) avec la possibilité d'ajouter son propre format de rendu des contenus. Encore une fois les composants peuvent être branchés sur n'importe quel format de rendu.

 

 

 

 




Workflow paramétrable

Actuellement un contenu suit un workflow assez figé (sauf a utiliser des extensions comme SEBLOD pour un workflow personnalisé). Dans Joomla! 4 il sera nativement possible d'ajouter des étapes entre la création de contenu et sa publication. 

Décentraliser Joomla des éléments de menu !!

Il s'agit ici peut-être de la plus profonde rupture avec l'héritage de Joomla! En effet depuis sa première version Joomla! est piloté et centré sur les éléments de menus. Il s'agit bien ici d'abandonner les fameux ItemId (identifiant d'éléments de menu) et par là aussi du contenu central dans la page. Dans Joomla! 4 on peut avoir une arborescence de contenus indépendamment d'une arborescence de menus. On abandonne aussi le chemin obligatoire mais souvent incompréhensible pour un débutant: le triptyque catégorie->article->élément de menu. Cette simplification aura aussi un impact positif très important pour le SEO des sites Joomla!

Un outil Page Builder

Une interface utilisateur "page builder" sera proposée en back office pour construire graphiquement ces pages maintenant qu'on s'est affranchi de l'itemID. Cette séparation du contenu et de la structure permet ainsi, selon les types d'utilisateurs, des usages différents: le simple blogueur pourra très simplement ajouter des contenus sans avoir à s'occuper des menus. On peut travailler selon 3 points de vue différents: structure / contenus / Menus selon la complexité et la richesse de l'application web développée.

 

Et Joomla! 4, c'est pour quand ?

C'est évidemment la grande question à laquelle les intervenants ont répondu (tout de même) qu'une version alpha était prévue pour le prochain Joomla&Beyond en mai 2016. En ce qui concerne la migration il y aura un outil de migration "1 clic" pour le cœur de Joomla! mais la compatibilité ascendante sera brisée. Pour les extensions un kit de migration sera fourni.



Les vidéos :