Apache Cocoon

Site officiel
Bookmark and Share

Introduction

Inventé par un stagiaire italien [1] de l’Apache Software Foudation (ASF) en 1998, Apache Cocoon est un framework [2] permettant de réaliser des applications Web flexibles et sophistiquées sur base de XML et XSLT.

Les deux caractéristiques majeures de Cocoon sont la publication des pages en de multiples formats (grâce à des transformations XML) et la séparation des tâches.

Cocoon nécessite un moteur de servlets (Tomcat, Jetty, etc.) pour fonctionner.

Formats multiples

Les données sources de l’information sont au format XML. Il suffit d’appliquer une transformation (XSLT) à celles-ci et de faire varier le module de présentation pour modifier l’apparence ou le format de rendu final : HTML, XHTML, PDF, WML, ZIP, SVG, etc.

Cette fonctionnalité est réellement pratique lorsque des données doivent être mises à disposition des utilisateurs sous différents formats.

Séparation des tâches

La séparation des tâches de Cocoon est une implémentation (adaptée) de l’architecture MVC (Model-View-Controller).

Elle consiste à séparer chaque contexte de travail différent. De cette manière, les infographistes, les développeurs Web et les rédacteurs de contenus peuvent travailler séparement avec un maximum d’indépendance.

En pratique

Pour créer une application Cocoon en pratique, il suffit de créer un fichier XML central (nommé le sitemap) qui va assurer le traîtement de chaque requête émise par le client.

Ces requêtes se présentent sous la forme d’URI (Uniform Resource Identifier) c’est-à-dire de chaînes de caractères tapées dans la barre d’adresse du navigateur.

Chaque traîtement d’une requête entraîne l’exécution d’un pipeline dans le sitemap.

Un pipeline se compose d’un matcher qui permet de correspondre avec une requête, un generator qui va créer du contenu (XML), un transformer qui va transformer ce contenu grâce à une feuille de style XSLT et un serializer qui va créer l’output final dans le format voulu.

Conclusion

Apache Cocoon permet donc de créer très rapidement des sites multi-supports et faciles à maintenir grâce à la séparation des aspects.

Il est à conseiller aux développeurs avertis ayant une connaissance prélable du langage XML et de ses dialectes. L’installation et la configuration de Tomcat et Cocoon pourront également rebuter les moins courageux. Enfin, il ne faut pas avoir peur de la langue de Shakespeare, passage obligé pour comprendre la documentation du site officiel.

[1] Stefano Mazzocchi

[2] Un framework est un ensemble de bibliothèques et d’outils qui permettent un développement plus rapide d’une application. Ces composants sont organisés pour être en interaction les uns avec les autres et pour fonctionner comme un tout.

Tags:
Ajouter des tags (séparés par des virgules ou des espaces) :
 
Attention: tous les caractères spéciaux sont interdits (sauf le .). Les tags n'apparaîtront qu'au prochain rafraichissement du cache (dans plusieurs heures).

<< Mettre à jour >>
:: lien mort :: orthographe :: nouveauté :: mise à jour ::

Vous souhaitez mettre à jour la notice ? La première chose à faire est de déterminer s'il s'agit d'une mise à jour mineure ou d'une mise à jour majeure Icone d'aide.

  • Mineure : un lien mort, des fautes d'orthographe, un lien à ajouter ou encore une petite précision.

    Veuillez renseigner les champs ci dessous :

  • Majeure : une nouvelle version avec des nouveautés, des changements majeurs.

    En cochant cette case, vous allez créer une page sur le wiki afin de mettre à jour la notice.

Commentaires

<< Poster un message >>
:: question :: précision :: avis :: commentaire :: bug ::

Informations complémentaires

Faire un don ? (défiscalisé)

Aidez-nous à atteindre notre objectif de 1080 donateurs récurrents pour assurer notre pérennité et notre développement !

Je soutiens Framasoft
pour 10€/mois

Dégooglisons Internet, l’an 2

Les services en ligne de géants tentaculaires comme Google, Apple, Facebook, Amazon ou Microsoft (GAFAM) mettent en danger nos vies numériques.

Pour cette 2e année, nous continuons le défi de vous proposer une alternative Libre, Éthique, Décentralisée et Solidaire à chacun de ces services.

Découvrez notre campagne
« Dégooglisons Internet »

Informations générales

Juste une image

Beethoven's Sixth Beethoven’s Sixth
Creative Commons BY