Aller au contenu
EnglishFrançais

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

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.

Le module face aux notions voisines
NotionCe qui la distingue
Jeu de modèlesUn 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 contenuUne 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 itemUn 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.