Les nouveautés de Joomla! 4

15569 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 :



Pulsar présente le job board du nouveau site web Dynamique Emploi
Developpements pour la Bibliotheque Mazarine
Comprendre les droits et niveaux d'accès de Joomla!
Nouveau site de Pulsar avec Seblod!
L'agence Pulsar sponsorise le JoomlaDay 2015
Advanced module manager et page d'accueil
Indiegogo: contrôle de version avancé avec SEBLOD
Les solutions multi sites avec Joomla!
Pulsar au JoomlaDay 2014: Chaine de production
Entrées grisées avec la mention [extrait] dans DOCMAN
Un nouveau routeur pour Joomla!
JoomlaDay 2015: Joomla! pour les applis pro
Workflows généralisés avec Joomla! et Seblod (partie 4)
Pulsar sponsor du Joomladay
Chargement Joomla avec Mootools de Google
Multisites, multilangues et multidevices pour la SORBONNE
Pulsar, le JoomlaDay et Israël
Joomla! fête ses 10 ans!
Joomla! présent au salon AGORA CMS 2016
Comprendre le stockage des données avec SEBLOD
Joomla meilleur cms open source 2011
Plugin de cache Joomla : les images ne s'affichent pas
Joomla! à nouveau élu meilleur CMS 2017
Gestion Electronique de Documents sur mesure
l'AFUJ exposant au salon Open Source Summit 2015
SEBLOD: supprimer un script à moindre coût
Ajouter le bouton DOCLINK avec Jevents et SobiPro
Développement multi sites avec Joomla et Seblod
SEBLOD et J2store au JoomlaDay Israël 2017
Override joomla du template 'category' lié à un menu
Pulsar sponsor OR du JoomlaBusiness 2015
Paramètres hikashop des items de menu
sh404SEF: URLs n'apparaissent pas
Pulsar developpe la passerelle Joomla LUCENE SOLR
Monétisez votre workflow avec Joomla!
Critère de correspondance pour la recherche SEBLOD
Workflow et formulaires faciles avec Joomla! et Seblod 3/4
Pulsar forme au CCK SEBLOD pour Joomla!
Pulsar certifie ses formateurs Joomma!
Edition front end avec Hikashop et Virtuemart
Chasse aux bugs des templates Warp
Job board intégré à votre site Joomla!
Une agence web Joomla! au Drupagora
Extensions Joomla: accessibilité, menu vertical et réseaux sociaux
Virtuemart: flèches quantité ne fonctionnent pas
com_search joomla 2.5 recherche sans accents
Pulsar au JoomlaDay Israel 2016
E-commerce avec Seblod
Astuces PHP lazy load sous joomla seblod warp
Sommaire automatique pour Joomla
Projets multi langues et multi sites avec Seblod
CMS Day: Joomla pour les projets du secteur public
Soirée CMS open-source en PHP
Pulsar présente JOOMLA à AGORA CMS
JoomlaDay 2015: Pulsar y était!
Les solutions e-commerce avec Joomla!
Transformer un article en contenu SEBLOD
Quelles extensions choisir pour son site joomla ?
Pulsar présente son expertise SEBLOD au JoomlaDay 2013
Joomla 4 : professionnalisation et performance
GED Open Source simple pour les PME
Pulsar présente le CMS Joomla! au club STARINUX
Pulsar et Joomla pour les sites évolués au JoomlaDay 2014
Super BreadCrumb for Joomla 1.5 1.6 & 1.7
Pulsar présente le projet pour la Sorbonne au JoomlaDay!
Pourquoi nous avons ajouté WordPress à notre offre
Workflow Joomla! évolué avec Seblod 2/4
Pulsar primé pour le site de la Sorbonne
Sites multi langues mobiles avec Joomla et Seblod
Joomla et les CCK
3 nouvelles extensions Joomla! de Pulsar dans la JED
Personnalisation du backoffice de Joomla!
Workflows évolués pour Joomla! avec Seblod 1/4
Pulsar présente le JoomlaBusiness à l'AFUP
Correctif de Pulsar dans le routeur de Joomla
Ajouter Cufon à votre site Joomla!:
Joomla! meilleur CMS PHP Open Source
Pulsar, sponsor OR du JoomlaDay 2017
Astuce: suppression des éléments Seblod
Référencement naturel, cocons sémantiques et Joomla!
Import shipping pour hikashop
SOBI Pro: le menu principal ne s'affiche pas
JCEmediabox et css js compress
Elections 2016 ... le CMS Joomla! encore
Plugin merge css/js pour Joomla
Optimisation et vitesse de votre site Joomla!
Ajouter une icône d'édition dans une liste SEBLOD
Fenêtre coulissante avec Joomla et Seblod
Pulsar gagne l'appel d'offre de la Sorbonne
Comparaison des CCKs pour Joomla!
Les avantages de Joomla! face à Drupal