JoomlaDagen 2018

JoomlaDagen Nederland

Site des JoomlaDagen NL (en Néerlandais)

Lors du week-end du vendredi 13 et samedi 14 avril 2018, les JoomlaDagen aux Pays-Bas ont eu lieu à Eindhoven. Marc Dechèvre et Christophe Avonture s’y sont rendus pour la troisième année consécutive.

Table des matières

Avant d’aller plus loin

L’article ci-dessous est un compte-rendu écrit par Christophe, concernant les sessions auxquelles il a pris part. La publication de ce compte-rendu vise à partager avec le lecteur des liens et quelques informations relatives aux informations reçues.

Un peu d’histoire

Avec ses douze JUGs, la Hollande est l’un des pays ayant la plus grande densité de JUGs; les aficionados pouvant probablement assister à plusieurs rencontres en une semaine ! Et cela en s’y rendant à vélo ;-)

JUGs

https://community.joomla.org/user-groups/europe/netherlands.html

La communauté hollandaise est tellement vigoureuse qu’ils en sont à leur troisième JoomlaDay, ayant commencé un an avant la France (JoomlaDays – l’historique). C’est même eux qui ont “inventé” le concept en étant les tout premiers à proposé un tel évènement en 2006 !

Les JoomlaDagen se tiennent en Néerlandais bien sûr mais, grâce à son rayonnement internationnal, plusieurs conférences se font en anglais et vous ne trouverez aucun (ou presque) hollandais ne parlant pas l’anglais.

Téléchargement des présentations

Les présentations sont déposées par les conférenciers au fur et à mesure sur le site des JDagen.

Vous pouvez les retrouver dans la page du programme : https://www.joomladagen.nl/programma#zaterdag-14-april

Accès aux présentations

Lorsque vous voyez l’icône avec les quatre carrés, cela signifie que la présentation est disponible.

Vendredi 13 avril

Keynote d’ouverture avec Sander Potjer qui, comme chaque année, excelle dans le rôle de chef d’orchestre.

jd18nl intro

La première journée avait des thèmes plus accessibles à un public non familier à Joomla, les sessions plus techniques ont pris place le samedi. L’idée étant de permettre à un public moins technique de prendre part aux JDagen.

Daarom Joomla

Quatre sessions ayant pour thème “Daarom Joomla” (que l’on pourrait traduire par “Voilà pourquoi (choisir) Joomla”) ayant pour objectifs de pouvoir répondre à un prospect en quoi Joomla! peut répondre à son besoin.

Les thèmes furent :

(Je n’ai assisté qu’aux deux premières sessions)

Lors de chaque session, plusieurs conférenciers se sont succédé afin de faire des mini-présentations d’une quinzaine de minutes chaque (une forme plus allongée du concept des Lightning Talks que l’on aura au JDay 2018 FR).

Chacun venant expliquer pourquoi Joomla est un excellent choix pour répondre au besoin exprimé.

Een fantastiche basis (un noyau fantastique)

Description NL

Plusieurs intervenants, dont Sander Potjer, Rachel Walreven (web agency), Peter Martin Pe7er (qui sera présent à Paris)

Présentation de quelques fonctionnalités du core de Joomla permettant de répondre à des questions du type Je veux un ... (site rapide, un site qui soit bien référencé, simple à maintenir, polyvalent, extensible, multilingue ...)

La présentation de Sander pouvant servir d’arguments à des questions posées par un futur prospect et lui répondre “Oui, Joomla le fait”.

Par exemple, Je veux de la liberté, question à laquelle on peut répondre que Joomla est gratuit, libre, le code est ouvert, on peut l’adapter à ses propres besoins. Aucun coût en licence; tout est libre et accessible depuis la base de données (p.ex. la table #__content).

Rachel insiste pour sa part sur le fait que Joomla est très flexible, qu’il est très aisé de développer des designs (templates) sur mesure et de développer des écrans précis qui, selon les utilisateurs connectés, pourront afficher exactement ce qu’ils souhaitent voir (ne pas afficher le contenu du site p.ex. à la fleuriste qui est essentiellement intéressée de savoir combien de commandes elle doit délivrer).

Peter Martin souligne la robustesse de Joomla qui est solide comme une maison et donne quelques bonnes pratiques comme :

Makkelijk content publiceren (publier du contenu facilement)

Description NL

Plusieurs intervenants dont Sander Potjer, Maarten Blokdijk, Anja Hage, ...

La seconde session vise l’éditeur, l’utilisateur du site et de lui donner des moyens simples pour ajouter du contenu et mettre son site aisément à jour.

Sander cite quelques manières d’ordonner les informations comme celles d’utiliser les tags ou les catégories dans Joomla et, p.ex., de gérer l’affichage des informations au travers de pages de type catégorie ou d’entrée de menu.

Il suggère aussi de veiller à la réutilisation d’un contenu comme p.ex. le texte et la photo de description d’une catégorie qui pourra être utilisés dans un module sur la page d’accueil du site, mais aussi dans une page reprenant la liste des catégories et dans la page blog de la catégorie : ainsi, avec un seul contenu (la photo et la description de la catégorie), l’information pourra être affichée à différents endroits et pourra même être légèrement différente avec un peu de personnalisation des différents affichages.

Workshop : Extensions for Joomla 4

George Wilson

Description NL

George Wilson

Les organisateurs des JoomlaDagen firent le choix cette année d’avoir une session Daarom Joomla dans l’auditorium et de workshops dans d’autres salles.

L’un de ces workshops auquel j’ai participé fût Extensions for Joomla 4 donné par George Wilson qui est le chef d’orchestre, en plus d’être un développeur hyper actif sur le core, de la version 4 de Joomla.

L’objectif du workshop fut de donner des pistes aux développeurs pour leur permettre de prendre en considération les changements à prévoir dans leur code pour que leurs extensions puissent être compatible avec Joomla 4.

Note : la dernière version de J4 se trouve sur le dépôt GitHub de Joomla

Quelques changements majeurs

J4 vient avec plusieurs grosses nouveautés, dans le code, dont :

Modèle HMVC

Extension de l’approche MVC de Joomla vers une approche HMVC

Un nouveau venu : le dispatcher qui est le point d’entrée et qui donne ordre aux différentes actions de s’exécuter (auparavant, pris en charge par le seul contrôleur).

Lire plus sur le modèle HMVC

Un exemple du HMVC Joomla : le dispatcher de com_contact

Joomla 4 revient aussi sur des choix posés avant comme le Legacy MVC qui ne l’est plus : Legacy MVC is no more legacy but, once again, the future

Un des avantages avancé pour l’utilisation des namespace est de permettre une plus grande aisance dans le partage du code entre le frontend et le backend. L’utilisation des namespace réduit également le risque de conflit (p.ex. deux fonctions, programmées par des personnes différentes, se nommant de la même manière).

Dépréciations

Un très grand nombre de classes “historiques” de Joomla disparaissent dans l’architecture J4 :

Namespacing et DIC

DIC for Dependency Injection Container

Joomla’s DIC remplace la classe JFactory.

En apprendre plus sur DIC

Une nouvelle approche pour la ligne de commande

The current CLI package is flawed (l’actuel CLI est un échec)

Déjà présent dans J3, il est possible de lancer des scripts en ligne de commandes (prompt) comme p.ex. vider le cache de Joomla; toutefois cette fonctionnalité CLI est jugée comme étant un échec parce que :

J4 implémente une nouvelle CommandInterface (de 21 méthodes) et une implémentation abstraite qui permet de simplifier la programmation en requérant de, juste, surcharger deux méthodes Initialise et Execute. Cette simplification vise à étendre les possibilités du prochain CLI et d’automatiser encore plus Joomla.

Joomla 4

George Wilson

Coming to a Website near you !

Présentation de ce que sera le futur J4 qui pourrait sortir fin 2018 (selon le temps disponible aux différentes équipes pour refondre Joomla et coder J4)

Target points (objectifs)

Problèmes

George mentionne quelques “reproches” fait à Joomla :

Autres

Migration

La plus grande difficulté dans la migration consistera probablement à la migration de Bootstrap 2 vers Bootstrap 4 ce qui aura un impact important sur quantité de templates existants.

Remarque : Joomla 3.9 sera supporté encore deux ans (bugs fixing et patch sécurité) une fois que Joomla 4 sera accessible. Aucune nouvelle fonctionnalité ne sera proposée sur Joomla 3.9 dès que J4 sera disponible.

L’administration de Joomla propose, déjà, d’un écran “Joomla 4.0 compatibility check” qui reprend des indicateurs visuels (rouge, vert, ...) afin de mettre en évidence les extensions qui sont installées sur votre site et qui sont compatibles ou pas.

Prévision pour les mois à venir

Samedi 13 avril

Ce deuxième jour est celui qui reprend les sessions plus techniques.

Les champs personnalisés

Description EN

Marc Dechèvre

L’implémentation des champs personnalisés a été une avancée majeure permettant d’enrichir, nativement !, les contenus dans Joomla.

Marc Dechèvre - Les champs personnalisés

Il existe pour l’instant 15 types de champs (calendrier, sélection d’un utilisateur, image, bouton radio, SQL, ...) permettant de répondre à une grande variété de besoins. L’ajout d’un nouveau type est quelque chose de très simple puisque, in fine, il ne s’agit jamais que d’un type de plugin : il est aisé de créer ses propres types; ses propres plugins.

Note : il existe une catégorie spécifique sur la JED reprenant une liste de ce qui existe.

La présentation de Marc consiste alors en la présentation de différents sites internet démontrant la puissance des champs personnalisés, par exemple :

AA rating avec GTMetrix

Description NL

René Kreijveld

Comment atteindre un score A/A avec GTMetrix ?

Note : atteindre un score A/A ne doit pas devenir une obsession; il faut balancer cela avec l’investissement que cela demande (temps, argent).

René fait confiance à Digital Ocean, basé à Amsterdam. La gestion VPS se faisant grâce à ServerPilot. Pour les templates, il utilise Helix 3.

Quick wins

Réduire le nombre de requêtes http

Le Waterfall de p.ex. GTMetrix permet de se rendre compte du nombre de requêtes émises avant d’afficher la page. Moins il y en a plus la page s’affichera rapidement.

Le template Helix Ultimate permet de faire cela simplement, depuis son interface d’administration. Il y a deux options permettant de comprimer et de fusionner les .css et les .js.

Leverage browser caching

Il s’agit ici de spécifier la durée de vie des fichiers (.css, .js, .png, ...) afin que ceux-ci soient stockés sur l’ordinateur de l’utilisateur et ne soient plus téléchargés à nouveau à chaque affichage.

Cela se fait en ajoutant du code au fichier .htaccess pour implémenter les ExpiresByType.

Serve scale images

Il convient d’analyser le code source des pages mentionnées par GTMetrix car certaines images sont affichées à une taille réduite dans la page alors que leurs tailles sur le disque sont plus grandes.

Il suffit alors de juste redimensionner les images directement sur le disque (si les images ne sont jamais affichées à une plus grande taille)

Server Cookies free domains

Voir la présentation de René qui propose une vidéo. L’objectif étant de délivrer les fichiers statiques (.css, .js, .png, .woff, ...) depuis un nom de domaine pour lequel aucun cookie ne sera envoyé.

Hackez vous-même votre site ! Avant qu’un hackeur ne le fasse.

Description NL

Peter Martin

Peter montre quelques outils permettant de mettre à l’épreuve la sécurité des sites comme p.ex. la distribution Linux nommée Kali.

La démo se fait en local sur des machines virtuelles (utilisation de Vagrant pour cela).

La recherche dans Joomla 4

Description EN

Hannes Papenberg

Finder

Le “finder” de Joomla est une recherche basée sur une indexation de mots et il est capable, de manière autonome, de faire des recherches sur les versions singulières et plurielles des mots (note : seules 3 langues sont supportées pour cette fonctionnalité (anglais, chinois et français)).

Inconvénient actuel dans J3 : Finder est vraiment lent et consomme beaucoup de mémoire afin de créer ses index (la table des index peut être 7 fois plus grande que la table des contenus !).

Évolution J4

La version de Finder prévue pour J4 devrait être plus rapide et supporter toutes les langues. Cette version devrait également moins “polluer” la base de données en créant moins de tables (#__finder_links_termsX-tables).

En travaillant sur la réduction du nombre de fois où un même terme est indexé, la consommation de mémoire pourra être réduite de 50% voire plus.

Note : pour les besoins vraiment très complexes en possibilités de recherche (pour les entreprises p.ex.), il existe une solution nommée Solr qui permet d’aller plus loin que ce que Finder pourra faire.

Téléchargement pour J3.8

Une version du composant Finder pour J4 est disponible et pourrait être intégrée à un site 3.8 : Télécharger Finder pour J3.8

Clap de fin

jd18nl/clap_fin.jpg