Module
Un module est l’unité de code, livrée en paquet, qu’une équipe installe sur Jahia pour lui ajouter des fonctions ou un rendu. Une équipe technique livre ainsi les briques d’un projet, des nouveaux types de contenus au rendu des composants, en passant par les intégrations et les extensions de l’interface de contribution. Les fonctions complémentaires de Jahia elles-mêmes, comme Forms, sont aussi livrées ainsi.
Définition et fonctionnement
Ce mode de livraison a une conséquence pratique. On fait évoluer un site en déployant ou en mettant à jour un paquet. Un paquet a son propre cycle de version, ce qui permet de livrer une évolution ciblée et de garder la maîtrise de ce qui tourne en production.
Un module peut porter les templates et les vues qui rendent les pages, les définitions de type de contenu qui structurent les formulaires de saisie, des extensions de l’interface de Jahia, des ressources statiques et du code serveur. Le développement se fait en Java ou, depuis Jahia 8.2, en JavaScript. Un module JavaScript est alors un projet JavaScript classique (de type Node.js), où templates et vues s’écrivent en JSX ou TSX, la syntaxe de balisage utilisée avec React, puis sont transformés en HTML par le serveur. Pour l’instant, les actions s’écrivent en Java. Les contenus éditoriaux vivent dans le référentiel (Content Repository).
Documentation Academy : introduction aux modules JavaScript de Jahia
Sources : (Upcoming) Server-side actions & tooling, Jahia Academy (Jahia 8.2, page datée du 2 juin 2025) ; About Jahia JavaScript Modules, Jahia Academy (Jahia 8.2, page datée du 8 octobre 2024) ; dépôt javascript-modules, Jahia, GitHub (typages de la bibliothèque : accès à OSGi depuis le JavaScript côté serveur), consulté le 19 octobre 2026.
Termes liés : Jeu de modèles · Définition de type de contenu · Content item · Type de contenu · Content Repository
Ressources sur ce terme
- Comment j'ai utilisé l'ia pour développer un module jahia en javascript en un temps record
- L’accessibilité numérique, première étape de la personnalisation
- Les performances de votre site web sont un élément clé à surveiller
- CMS Java headless - Guide pour les développeurs
- Comment aborder le processus de migration de Jahia 7 à Jahia 8
- Comment connecter Salesforce à votre CMS : défis & enjeux
Le module et le jeu de modèles : les différences
Un module apporte du code et des définitions. Les contenus créés par les contributeurs s’appuient sur ces définitions, mais restent des données distinctes, stockées dans le référentiel.
| Notion | Ce qui la distingue |
|---|---|
| Jeu de modèles | Un jeu de modèles (template set) est un paquet particulier, celui qui fournit la base utilisée pour créer un site. |
| Définition de type de contenu | Une définition déclare un type de contenu dans un fichier texte au format .cnd. Elle est l’un des éléments qu’un paquet de code peut contenir. |
| Content item | Un contenu est une donnée saisie par un contributeur, fondée sur une définition. Il ne fait pas partie du code livré. |
Le module en pratique
Une équipe marketing a besoin d’un bloc de témoignage. Les développeurs créent un module qui contient la définition du type, sa vue et ses libellés, le testent sur un environnement de recette, puis le déploient en production. Une fois le module activé sur le site, le nouveau composant apparaît dans les outils des contributeurs. Le reste du code et les contenus existants ne bougent pas. Avant chaque déploiement, il reste à vérifier les dépendances du paquet et sa compatibilité avec la version de Jahia en place.
Questions fréquentes
Que fait arriver le déploiement d’un module ?
Des fonctions, des définitions et du rendu. Les contenus se créent ou se migrent par la contribution, un import ou un processus de migration distinct. À l’inverse, retirer ou modifier une définition livrée dans le code peut affecter des contenus existants. Ce type de changement se prépare avec un plan de reprise des données.
Dans quels langages peut-on créer des modules Jahia ?
En Java et, depuis Jahia 8.2, en JavaScript. Pour le front-end, les modules JavaScript couvrent templates, vues, définitions de type de contenu et libellés. Pour l’instant, les actions s’écrivent en Java, et les modules JavaScript peuvent accéder aux services OSGi depuis le code côté serveur. La page de l’Academy sur les outils serveur à venir annonce davantage de prise en charge de JavaScript. Le choix dépend des compétences de l’équipe et de la nature du besoin.