I. Vidéos

I-A. Gestion des formats de sortie

Dans les vidéos précédentes, nous avons découvert que Jahia se sert de « vues » pour gérer le contenu, et/ou lui appliquer des traitements avant de le retourner, mis en forme, à un utilisateur.

Les « vues » sont des scripts écrits (par défaut) en JSP, mais d'autres langages de script peuvent être utilisés, c'est d'ailleurs préférable dans certains cas en termes de performances, tels que les menus, dont les scripts sont volontairement écrits en Groovy.

Le même principe peut être utilisé pour réaliser des sorties en utilisant des formats autres que le HTML, mais toujours en suivant la même logique, ce qui rend leur mise en place souple et aisée.


Cliquez pour lire la vidéo



I-B. Création de contenu via l'API REST

Mis à part si vous étiez coincé dans une grotte ou sur une île déserte ces dernières années, vous savez ce qu'est REST. Cette technologie est devenue incontournable et les CMS sont particulièrement propices à la mettre en œuvre. Jahia est pourtant un des seuls CMS à le faire (correctement). Cette vidéo vous présente quelques cas concrets d'appels de web services REST.


Cliquez pour lire la vidéo



I-C. Composants liés (bound components)

On a vu également qu'un composant est un type de contenu manipulable par les éditeurs et les webmasters en drag and drop dans les interfaces de Jahia.

Un composant peut représenter un objet simple (un chien, une news, un article) ou un objet plus complexe qui dispose de sa propre logique (un sondage, un formulaire de recherche, un formulaire de login, etc.)

L'une des originalités de Jahia est de permettre la création de composants liés, c'est-à-dire de composants qui ne vont pas fonctionner de manière autonome, mais exécuter une logique en fonction d'informations en provenance d'un autre objet, sur lequel le webmaster (dans un template) ou un éditeur (dans un page) l'aura lié. Un exemple permet de comprendre leur fonctionnement. Imaginez que vous souhaitiez ajouter un plan d'accès dans chaque page de la section « nos bureaux » de votre site, avec pour chaque bureau des informations classiques comme ses cordonnées, son responsable, etc. Vous avez deux solutions : fournir un composant autonome de map (pour chaque bureau l'éditeur devra manuellement configurer ce plan) ou insérer un composant lié (de mapping) qui va (tout seul) récupérer l'adresse du bureau et afficher le plan en conséquence.

L'intérêt premier des composants liés est leur souplesse d'utilisation. Ils s'insèrent à volonté dans les pages et permettent donc d'enrichir celles-ci de fonctions avancées sans faire appel à un développeur, notamment lorsqu'on n'a pas prévu la fonction X sur la page Y. Le second avantage est la réutilisabilité d'un projet à l'autre. Avec certains CMS les fonctions sont très intriquées dans les pages et la réutilisation de code, ou de fonctions prêtes à l'emploi est quasi nulle. Avec Jahia, un même composant peut être réutilisé à l'identique (hormis peut-être la CSS qui peut avoir besoin d'être adaptée). On peut d'ailleurs étendre un même composant pour un projet donné, mais toujours en réutilisant le composant initial, ce qui constitue un gain de temps appréciable.


Cliquez pour lire la vidéo



I-D. Interaction avec les visiteurs

Afficher du contenu saisi par les éditeurs est bien entendu une tâche de base d'une CMS, mais en 2013 rares sont les sites qui ne proposent pas d'interaction avec les visiteurs, que ce soit pour échanger des informations, recueillir leur avis, leur permettre de définir des préférences…

À partir du composant de sondage fourni par défaut, cette vidéo explique les principes de fonctionnement d'un composant interactif. Après une petite démonstration de l'utilisation du composant, toute la mécanique est expliquée et fournit une base solide pour créer d'autres composants de même nature.


Cliquez pour lire la vidéo



I-E. Remontées de contenu et queries

Jahia est un CMS flexible qui permet à la fois de gérer de façon manuelle son contenu (organisation en arbre, placement des contenus à l'endroit désiré par les éditeurs), mais aussi de fonctionner de façon plus automatisée en se basant sur des requêtes, de sorte que certains contenus apparaissent en fonction des critères totalement prédéfinis par le développeur (pour un composant prêt à l'emploi sans aucun paramètre, comme l'affichage des cinq dernières news par exemple), partiellement prédéfini (certains des critères peuvent être laissés au choix de l'éditeur : affichage des N dernières news) ou même de façon totalement libre (saisie directe d'une requête dans l'interface d'édition). Jahia permet d'utiliser des requêtes Xpath ou SQL-2.


Cliquez pour lire la vidéo



II. Les douze vidéos de cette série

  • Introduction à Jahia ;
    • introduction, découverte de Jahia,
    • création de la structure d'un module,
  • Jahia et les composants ;
    • définitions de composants,
    • vue par défaut,
    • enrichissements et vues additionnelles,
  • Travailler avec le CMS;
    • gestion des formats de sortie,
    • création de contenu via l'API REST,
    • composants liés (bound components),
    • interaction avec les visiteurs,
    • remontées de contenu et queries,
  • Aller plus loin avec Jahia ;
    • mise en place de composants de recherche,
    • découverte du cache et impact sur le développement.

III. Liens