Vous êtes sur la page 1sur 27

Jahia

Guillaume Monnette
cole Ingnieurs 2000 Marne-La-Valle

IR3

Qu'est ce que c'est?

Jahia est une solution de portail internet et


de gestion de contenu destin aux
entreprises. (CMS and Enterprise Portal)
Il permet de crer et administrer un site
intranet / extranet
crit entirement en JAVA (J2EE)
Bas sur un serveur applicatif TOMCAT et
un serveur Web apache.

Sommaire

Prsentation
Installation
Utilisation

Dfinitions CMS

CMS (Content Management System)


Systme pour que les employs puissent
mettre en ligne du contenu, sans
connaissance techniques particulires.
Enterprise Portal : (Portail d'entreprise).
Permet une entreprise d'avoir un point
d'entre WEB unique pour toutes les
personnes (clients, employs), qui seront
ensuite rediriges

Caractristiques de Jahia

Edition facile du contenu des pages via


interface WEB
Bas sur des modles ( Templates )
Gestion des langues
Gestion de la scurit avance
Gestion du Versionning du site / validation
des pages
Gestion de sites virtuels
Moteur de recherche intgr
Entirement administrable

Qui l'utilise?

Exemple d'utilisateurs commerciaux :

Swiss Federal Institute of Technology


University of Lausanne
Education Network Australia
Isover (St Gobain)
Alstom
...

Cot

Sources disponibles gratuitement


Gratuit pendant les phases de
dveloppement et test du site MAIS...
Payant lorsque le serveur est en exploitation
normale
Possibilit de l'avoir gratuitement en
participant au dveloppement ( = produit
ouvert mais pas gratuit!)
Prix : 5000 par serveur + 49 par utilisateur
Actif + 5 / utilisateur passif
Pay or Contribute licence

Produits concurrents

Zope (Open Source et Gratuit)

Architecture de Jahia

Utilise beaucoup de projets apache :


Tomcat, Struts, Slide, Lucene, POI, Log4J,
Ant, Taglibs, Turbine JCS, Commons,
Regexp, ORO, Xerces, Xalan, Axis,
Velocity...

Architecture principale

On peut la dcouper
en 4 Grandes
parties :

Les fondations
Le systme de
gestion de contenu
Le serveur de portail
Le central
d'administration

Architecture (Fondations)

Noyau : services et laccs


aux BD
Personnalisation : gestion
des droits utilisateurs
Gabarits JSP
Cache HTML pour
conomiser accs aux DB
Gnrateurs de rendu final,
(dans HTML notamment)

Architecture (serveur de portail)

Permet d'intgrer
des web
applications crites
en JAVA

Archi. (Gestion de contenu)

Larchitecture du noyau du
CMS
Linterface graphique
utilisateur du CMS
La gestion de fichiers
lectroniques
Le moteur de recherche
Le traitement de donnes
(workflow, versioning,
contenu avant validation,
etc.)

Arch. (Console
d'administration)

Partie Applicative
qui gre
l'administration du
site
Utilise notamment
Struts (MVC/java) et
ResourceBundle
pour la gestion des
langues

Architecture complete
HTML
Java
Applet

MS
Word

ActiveX

Jahia Future

3rd
Party

Emails/
Forms
Input

Dynamic
XML
Export

Static HTML Files Generation

XML
Import
Filter

HTML Cache Proxy (Apache Jcache)

Web Authoring

(Estimates)

Default Templates

Dynamic Internal Link Checking /


HTML verification (Tidy)

Dreamweaver Plug-in

Jahia Scripting

Templates

GUI Engines (Apache Struts)

Dynamic Web Publishing


Dynamic Aggregation
Business Process Workflow

Web Page Workflow / Time Publishing

Jahia Doctor

Objects
Management

Upgrade
System

Repository of
Content

Cache
Management

User/Group
Management

Backups

System
Properties

Database
Settings

Installation
Wizard

Maintenance
Tools

Other
Devices
(WML;)

Virtual Site
Management

Admin
Tools

CMS

Portal

Indexing and searching (Apache Lucene / Apache POI)

Collaboration and Productivity Tools


Wizards

Web Apps
(Servlets)

Portlets

Web Services

Portlets API
(JSR 168)

Layout
Manager

My Settings
Engine

My Home Page
Management

CMS driven Features


(Navigation Tools, Sitemap, Content Filtering
and Sorting; Page splitting; )
Staging
(Draft Mode)

Versioning

Multilanguage
& I18N

J2EE
API

SOAP

Workflow
Engine
(BPML)
Workflow
Editor
(BPMN)

Third Party
Application

Jahia Foundation
Document Management

Full WebDAV
(Apache Slide)

Jahia Resources
(Apache Slide)

Objects Associations,
Categories and Perspectives
Global Repository of Objects
Style

Content

Events, Logging, Stats


And Notifications

Personalization,
Security (ACL),
action permissions
and user roles

WebApps

JSR
170
-

Third Party
Application

Conten
t API

Internal Cache Systems (Apache Jcache)


User, Admin and Development Documentation

JXTA
P2P

Debugging logs (Apache Log4j) / Development tool (Apache Ant)


Admin
Center

Database Layer (O/R Mapping)

High Availability / Load Balancing


Apache Web Server
J2EE Application Server
RDBMS

LDAP

File System

Third Party
Application

Connectivit

Par dfaut, les infos sont enregistres dans


une base HyperSonicSQL
Sinon les bases peuvent tre :

Oracle
Microsoft SQL Server
MySQL
PostgreSQL
Toute base compatible 99,999% SQL & JDBC3

Possibilit d'interconnecter plus de bases


grce JDBC
On peut aussi utiliser un serveur LDAP pour
rcuprer des donnes utilisateur

Installation

Je l'ai ralis sous Windows


Trs simple
Choix des portlets installer
Ncessite la mise jour de la variable
d'environnement HOME_JAVA
Prend du temps lors du premier lancement
-> compilation des sources

Installation (2)

Aprs le premier lancement de Jahia,


configuration de la plate forme.
d'administration.
Jahia entirement configurable via HTTP
A la fin, phase de compilation assez longue

Installation sous Linux

Dcompresser le package de Jahia dans un


repertoire chemin sans espaces!
Lancement d'un script qui lance les serveurs
Auparavant, il faut avoir supprim les
services qui peuvent utiliser le port 8080!

Gestion des Utilisateurs

6 rles d'utilisateurs principaux

Invit : utilisateur qui visite le site sans se logger.


(ex . : utilisateur web lambda)
Lecteur : Peut accder certains contenus privs
du site
Auteur : Peut modifier certains contenus du site
Manager : Valide les contenus modifis par
l'Auteur et les met en ligne
Administrateur de site : a tous les privilges +
gestion des utilisateurs
Super-administrateur : Peut faire des modification
bas niveau : accs BD, sauvegardes...

Un mme utilisateur peut cumuler plusieurs

Cration d'une page

Bas sur le principe de template (modle).


Tous les outils de cration de la page sont
disponibles via l'interface WEB.
Il est conseill par Jahia de crer une
arborescence cla

Etapes de publication d'une


page

Modification / ajout par un


utilisateur (Auteur) +
Traduction ventuelle.
Corrections + Validation
ventuelle par un
Manager .
Mise en ligne des
modifications. Conservation
des versions prcdentes
de la page.
Les tapes de validation et
Versionning peuvent tre
ventuellement retires.

Portlets

Un Portlet reprsente un contenu qui


change dynamiquement.
Quelques Portlets disponibles :

Forum

Administration du site

Deux panneaux
d'administration :

Au niveau de la
configuration du
serveur (paramtres
de bases de donne)
Au niveau de la
configuration du site
(gestion des
utilisateurs, etc...)

Scurit

Existence d'utilisateurs avec des droits


diffrents
Notion d'Access Control List pour dfinir les
droits par dfaut.
Par dfaut, les droits sont propags par
hritage travers l'arborescence des pages.

Performances

Trs dpendant du systme de base

Base de donnes
Serveur J2EE
Machine virtuelle Java

Qq conseils pour amliorer les


performances :

Prcompiler sources avec Jikes


Optimiser les bases de donnes

Pour plus d'info...

www.jahia.org / www.jahia.com
www.boomtchak.net

Comparaison de diffrents CMS et infos diverses