Cycle de vie de documents web Utilisation de Cocoon, Webdav, J2EE Projet inJAC : brique CMS open source pour ESUP-portail {Pierre.Gambarotto, Brigitte.Sor}@enseeiht.fr JRES2003
Web Content Management System Pourquoi ? Pallier les inconvénients des sites statiques Obligation de ressaisir des contenus publiés à plusieurs endroits Pas ou peu d ’outils de gestion de la qualité de l ’information (workflows) Difficultés pour réorganiser le site, faire évoluer son architecture Délégation illusoire de production de contenus (html) 19 Novembre 2003 jres2003
Web Content Management System Pour répondre à ces difficultés ? Chronologiquement 2 approches Organisation des sites à travers des bases de données reliées aux pages web par des scripts (perl, php, asp, …) Utilisation de logiciels CMS permettant aux utilisateurs de produire des contenus à travers un navigateur et automatisant leur intégration dans le site web 19 Novembre 2003 jres2003
Web Content Management System Objectifs, caractéristiques fonctionnelles principales Permettre à chacun de mettre en ligne de l ’information Gestion automatisée des liens amont et aval d ’une page Fournir des auxiliaires de gestion de qualité de l ’information (versions, validation, durée de vie, …) Permettre à une information saisie une fois d ’être publiée en plusieurs endroits Uniformiser gabarits et navigation Permettre de changer facilement graphisme et ergonomie 19 Novembre 2003 jres2003
CMS : caractéristiques fonctionnelles Séparation gestion de contenu/publication Séparation forme et fond Fixer format des docs ou pas Structure des documents : quelconque ou fixée 19 Novembre 2003 jres2003
CMS : caractéristiques fonctionnelles 2 Différencier organisation interne/ externe Exemple : page de news Gestion des contributions : Rôle Contexte : hiérarchie et délégation de droits Workflow de publication, cycle de vie des documents Publication 19 Novembre 2003 jres2003
CMS : caractéristiques fonctionnelles 3 Restitution Personnalisation de la restitution 19 Novembre 2003 jres2003
CMS : caractéristiques fonctionnelles 4 Gestion de versions Indexation, recherche : contenu des documents et métadonnées Syndication Mesures d’audience Intégration à un portail 19 Novembre 2003 jres2003
inJAC Développement incrémental Indépendance des fonctionnalités Socle de base permettant des ajouts Stricte séparation des différents éléments Développement par composant (J2EE) Notre modèle : WebDAV + Cocoon contenu présentation 19 Novembre 2003 jres2003
Content Management Document : Contexte : CMS: fichier + méta-données { documents} + méta-données CMS: gérer les contenus présenter les contenus contexte document 19 Novembre 2003 jres2003
Organisation des contenus Stockage non classique : fichier + méta-données Plusieurs versions possibles pour un document : format, langue, historique, ... Accès contrôlés : utilisateur, groupe, contexte, date, origine de la requête, ... 19 Novembre 2003 jres2003
Présentation des contenus Nom du contexte document 1 document 2 .... Navigation 19 Novembre 2003 jres2003
Rendu document non transformé Site titre auteur ... autres méta-données lien vers le fichier Navigation 19 Novembre 2003 jres2003
Rendu document transformable (XML, XHTML, LaTeX, RTF, ..) Site <Titre> par <auteur> Navigation <liens vers autres formats> 19 Novembre 2003 jres2003
Publication généré dynamiquement document 1 document 2 .... généré Nom du contexte document 1 document 2 .... Navigation généré dynamiquement 19 Novembre 2003 jres2003
L’avenir du CM est au libre WebDAV : gestion de fichiers et de métadonnées au dessus de HTTP Cocoon : framework de publication XML 19 Novembre 2003 jres2003
Protocole WebDAV Distributed Authoring and Versionning Extension au protocole http1.1 permettant l ’édition collaborative sur internet : lecture ET écriture (RFC2518) Indépendant du type de document et du contenant (BD,SF, ...) Méta-données : propriétés par fichier Collection : regroupement Requêtes/Réponses sur les méta-données en XML 19 Novembre 2003 jres2003
Protocole WebDAV Extensions DeltaV : gestion des versions (RFC3253) ACL : RFC du 6/11/2003 DASL: indexation et recherche 19 Novembre 2003 jres2003
Authentification préalable Content Management response request Conditions Engine authentication WebDav DAV Interface File Container MetaData Container UserDB Groupes Authentification préalable Requête WebDAV authentifiée Accès au MétaDonnées Conditions complexes Infos pour ACL, test ACL Résultat ou erreur 19 Novembre 2003 jres2003
Cocoon est une servlet J2EE Exécution dans un conteneur d’applications OpenSource Chaîne configurable de traitement de documents 19 Novembre 2003 jres2003
Cocoon : Philosophie de base Séparation des tâches Contenus, styles et logique de présentation de documents souvent créés par différents individus ou groupes Séparation complète des 3 couches : conception, création, gestion créées et gérées indépendamment Réduit la charge de la gestion, augmente la ré-utilisation du travail et réduit le temps de développement 19 Novembre 2003 jres2003
Cocoon : Principes de fonctionnement Séparation contenu-présentation-traitement Génération de documents XML initiaux Transformation successives du document : XSLT Transformation finale vers un format définitif : HTML, PDF, WML … 19 Novembre 2003 jres2003
Sequence of interactions Pipeline Cocoon Sequence of interactions Cocoon pipeline 19 Novembre 2003 jres2003
inJAC : en bref ok req resp Connect auth Auth req Pres resp auth ? 19 Novembre 2003 jres2003
Services à offrir Workflow Interface de configuration/administration Interface de publication/dépôt de documents Interface de consultation : recherche, index, gestion de favoris, navigation 19 Novembre 2003 jres2003
Workflow : suivi de la publication Etat Actions Ex: brouillon a valider publié brouillon public Cycle de vie d’un document : Doit être simple dans les cas simples Transitions automatiques Workflows type : Ex : auteur=éditeur=rédac-chef Etat courant: méta-donnée d’un document Action : modification d’un état 19 Novembre 2003 jres2003
Contraintes de développement Interopérabilité : choix de formats standards pour une intégration à un portail : flux XML Approche composant : développement modulaire Coopérons ! Réutilisation maximale de briques existantes (stockage, présentation, droits d’accés) 19 Novembre 2003 jres2003
RoadMap WebDAV : en liaison avec le groupe stockage d’ESUP Workflow Rendu cocoon : modèles de bases Navigation Rendu de document Workflow ACL avancée Interfaces : workflow, admin, configuration 19 Novembre 2003 jres2003