Introduction Présentation Cumgha3 Sommaire 1. Présentation 1.1. Qu’est-ce qu’un CMS? 1.2. Un CMS basé sur XML 1.3. Spécificités et originalités 2. Architecture.

Slides:



Advertisements
Présentations similaires
Master SIR (M2) Année Développement en environnement J2EE de Web services pour l'interopérabilité du projet CASTORE ce stage de fin d’étude a.
Advertisements

Les technologies décisionnelles et le portail
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
ACubeOLAP Client Olap en ACube.
Cycle de vie de documents web
Plan Portlets La norme JSR-168 Qu'est-ce qu'une Portlet ?
SITools Présentation de l’outil (1/2)
Le developpement web  Préparé par : ASSAL Lamiae JAMALI Zakarya
Une solution personnalisable et extensible
INTRODUCTION INTRODUCTION ERGONOMIE Tri par cartes Formulaires Interface Installation Lanceur Documentation TECHNOLOGIES XML + XSL CSS Formulaires génériques.
Gestionnaires de contenu en ligne TER BN1 Mario Di Miceli, Maxime Lamure, Damien Mandrioli, Romain Raugi.
Virtualisation dorchestration de services TER Master 1 Infomatique 4 Avril 2008 Encadrant : Philippe Collet.
Exposé de Système - Informatique et Réseau
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
Architecture Technique de la plate-forme CASTOR Projet Castor © Ecole des Mines de Nantes
Présentation Mars 2007 Organet II: service de gestion du déroulement des épreuves dans les établissements centres d’examen Organet II est un produit pour.
TP 3-4 BD21.
Gestion de la persistance des objets
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
PROJET HANDICAPS Certificat de Qualification Professionnelle
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Gaselys Trading Confirmation
N. Le Gall A. Jaouën E. Morin C. Coelo Cuzon D. Le Toux
Une base de données XML sur le net
Projet JAVA EE Approfondi
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Gestion des bases de données
Projet Génie Logiciel & UML, Bases de Données & Interfaces
Initiation aux bases de données et à la programmation événementielle
Projet de Master première année 2007 / 2008
Formation TYPO3 Lecture par « rôle » janvier 2010.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Un outil paramétré sur mesure !
Visio. Copyright© 2012 Microsoft CorporationConfidentiel Les défis pour l'entreprise Environnement complexe Explosion du volume de données Un monde plus.
Projet métier du travail
PHP & My SQL.
A L I M E N T A T I O N A G R I C U L T U R E E N V I R O N N E M E N T Présentation d’un site « clé en main »
Transformation de modèles Kick Off Motor Jean Marc Jézéquel & Didier Vojtisek La vision Triskell : Umlaut NG.
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
GESTION DE CONTENU Content Management System.
Outil de gestion des cartes grises
eVinci-XP | Portail de services
Présentation du produit
Découverte des Framework : SPRING & JAXB
09/11/2006 CMS Content Management System Système de Gestion de Contenu.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Gapi est un logiciel créé par la Société ALLNET. Le Gapi permet de générer et de gérer des sites Internet/Intranet à distance.
Soutenance ProJet Individuel
Application de gestion des retards
GESTION DE COMPOSANTS ELECTRONIQUES
Conférence Technique Java 2 Frédéric Jacquet. Au programme  Présenter les différents outils  Découverte - Java coté serveur  Appréhender l ’existant.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
© WYNIWYG / Communication, reproduction interdite sauf autorisation.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Struts.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Présentation ESTRABOX
EPREUVE E6 : PARCOURS DE PROFESSIONNALISATION
Initiation à Oracle Server
Plan de la présentation
Introduction à SVG Scalable Vector Graphic. Informations ● Plus d'informations ici (draft, tutoriaux, outils... ): –
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Introduction Module 1.
Les formulaires Les calques Les comportements Les scénarios Les modèles Les feuilles de styles (CSS) La mise en ligne Les formulaires permettent à l’utilisateur.
1 CEC A.-CHAVANNE Sites Web et bases de données. 2 UNE BASE DE DONNÉES : POURQUOI ? Manipulation de grandes quantités d’information – représentation des.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

Introduction

Présentation Cumgha3 Sommaire 1. Présentation 1.1. Qu’est-ce qu’un CMS? 1.2. Un CMS basé sur XML 1.3. Spécificités et originalités 2. Architecture et technologies utilisées 2.1. Technologies du système d’information 2.2. Structure en couche

Présentation Cumgha4 Sommaire 3. Détail des spécificités 3.1. Déploiement: fichier de configuration 3.2. Les schémas: Structure d’une collection 3.3. Gestion des caches 3.4. Validation des schémas 3.5. Authentification et droits 3.6. Mécanismes de transaction utilisateurs 3.7. Back-office 3.8. Front-office 4. Méthodologie employée 5. Bilan

1. Présentation

Présentation Cumgha Qu’est ce qu’un CMS ? Le C.M.S. ( Content Management System ) permet de stocker de L’information, de la présenter et de la mettre à jour. Contenu sécurisé Gestion facile du contenu (JuS, + general)

Présentation Cumgha Un CMS Basé sur XML Le stockage des données se fait sous la forme de collections de documents XML dans une base de données relationnelle. Les documents d'une collection respectent le même schéma Le schéma permet de vérifier la validité des documents et de fournier à l’utilisateur la possibilité de stocker du texte, des binaires Stockage de documents XML

Présentation Cumgha Un CMS Basé sur XML

Présentation Cumgha9 Un CMS Basé sur XML Un Front Office pour la présentation Des feuilles de styles permettent la présentation des documents XMLfournis à la demande par la base. Un Back Office pour la gestion des document Un utilisateur authentifié peut visualiser ses documents, les mettre à jour à l’aide de formulaires dynamiques

Présentation Cumgha Fonctionnalités L’authentification au Back Office se fait à l’aide d’un document XML authentifiant Intervenants.jl.massat **** Authentification

Présentation Cumgha11 Fonctionnalités Visualisation des collections présentent dans le CMS

Présentation Cumgha12 Fonctionnalités Gestion d’un document

Présentation Cumgha Spécificités et originalité Utilisation d’un document XML authentifiant pour la connexion d’un utilisateur au Back Office Gestion des droits sur les documents et les collections Utilisation d’un cache de documents pour augmenter la rapidité d’accès Utilisation d’un robot de validation Particularité: CMS basé entièrement sur XML

2. Architecture et technologies employées

Présentation Cumgha Technologies du système d’information CMS développé sur la plate-forme Java J2EE CMS développé sur la plate-forme Java J2EE Langage de programmation: Servlets, JSP et Java Langage de programmation: Servlets, JSP et Java Moteur de servlets Tomcat Moteur de servlets Tomcat

Présentation Cumgha16 Principe d’un outil de persistance de données Base de données MySQL API de persistance de données Bean Java 1 Bean Java 2 Bean Java 3 XML Requêtes SQL via JDBC Un Bean java Ou une liste de beans Ensemble de lignes

Présentation Cumgha17 Choix de l’outil de persistance de données Ibatis développé par le consortium Apache Ibatis développé par le consortium Apache Facilité de prise en main Facilité de prise en main Les requêtes sont écrites en SQL – ANSI 92 (SQL Standard) Les requêtes sont écrites en SQL – ANSI 92 (SQL Standard) Les requêtes sont centralisées dans le fichiers de mapping XML des tables Les requêtes sont centralisées dans le fichiers de mapping XML des tables

Présentation Cumgha18 Les autres outils utilisés La librairie DOM4J pour le traitement des fichiers XML au sein du code Java La librairie DOM4J pour le traitement des fichiers XML au sein du code Java Taglib Xtags pour transformer les fichiers XML rendus par le CMS afin de les afficher dans les vues JSP. Taglib Xtags pour transformer les fichiers XML rendus par le CMS afin de les afficher dans les vues JSP.

Présentation Cumgha Structure en couches Application structurée en 5 couches Application structurée en 5 couches Couche physique (bas niveau) Couche physique (bas niveau) Couche de stockage Couche de stockage Couche métier Couche métier Couche XML Couche XML Couche présentation (programmation haut niveau) Couche présentation (programmation haut niveau) Toute couche s’appuie sur sa couche inférieure Toute couche s’appuie sur sa couche inférieure

Base de données relationnelles Couche Physique Abstraction de la base de données Mise à disposition (à l’aide d’IBATIS et DOM4J) de : - la structure complète de la base - lecture/écriture de documents Couche de stockage Prise de pouvoir, envoi de mails Gestion des transactions / accès concurrent Gestion des documents, collections et binaires Robot de validation des documents Authentification utilisateur Couche métier Modèle MVC - Génération des vues Utilisation d’un navigateur Web Présentation du site Web de la base pour tout utilisateur Front Office non connecté Back Office connecté Couche Présentation Génération en arbre de pages de documents XHTML Production et modification de documents XML Couche XML Flux d’entrées/sorties XML Accés direct

3. Détail des spécificités

Présentation Cumgha Déploiement : fichier de configuration

Présentation Cumgha Les schémas : structure d’une collection (1/4) Collection associée à un schéma Collection associée à un schéma Un schéma donne Un schéma donne une structure fixe aux documents de la collection une structure fixe aux documents de la collection Un moyen d’interroger ces documents Un moyen d’interroger ces documents Un moyen de les présenter (par xsl) Un moyen de les présenter (par xsl) Format XML Format XML Inspirée des schémas du W3C (bien plus simplifié) Inspirée des schémas du W3C (bien plus simplifié) Ex : schéma ‘unités’ -> spécifie la structure des documents des unités du Master d’informatique Ex : schéma ‘unités’ -> spécifie la structure des documents des unités du Master d’informatique

Présentation Cumgha Les schémas : structure d’une collection (2/4) Les schémas sont : Les schémas sont : Des suites de propriétés (pas d’imbrication) Des suites de propriétés (pas d’imbrication) Peuvent être déclarée facultatives Peuvent être déclarée facultatives Chaque propriété possède: Chaque propriété possède: Une cardinalité (une ou plusieurs valeurs) Une cardinalité (une ou plusieurs valeurs) Un type Un type D’autres attributs spécifiques selon les types D’autres attributs spécifiques selon les types

Présentation Cumgha Les schémas : structure d’une collection (3/4) 3 types de propriétés: 3 types de propriétés: Type « Texte » Type « Texte » Texte CourtTexte Court Texte Riche (codes stylistiques)Texte Riche (codes stylistiques) Liste de valeursListe de valeurs (valeurs imposées dans le schéma)

Présentation Cumgha Les schémas : structure d’une collection (4/4) Type « Référence » Type « Référence » précise la collection de référenceprécise la collection de référence dans le schéma Type binaire Type binaire Propriétés encodés en base64 dans le document XMLPropriétés encodés en base64 dans le document XML Tout type de fichiers (images,.pdf,.doc,.zip)Tout type de fichiers (images,.pdf,.doc,.zip) Référence à cardinalité « plusieurs »

Présentation Cumgha Gestion des caches  Problème: lenteur de traitement du XSL, lourdeur du XML  Objectif du cache: prévenir d’éventuels problèmes d’efficacité  Modèle LRU (Least Recently Used): cache récent+ ancien 6

Présentation Cumgha Gestion des caches  Cache de structure  Cache de documents  Cache des collections

Présentation Cumgha Validation des documents Au lancement du système Système lancé XSL de validation XSL génériqueschémaDocument à valider Fichier d’erreur

Présentation Cumgha Validation des documents  Vérifier l’intégrité des données du CMS  Informer les utilisateurs d’éventuels problèmes  Robot de validation

Présentation Cumgha Authentification et droits  Gestion des droits évoluée  3 types d’utilisateurs  Administrateur  Tous les droits  Ajouter/supprimer des collections  Gestionnaire de collection  Droits d’un simple utilisateur  Peut accorder des droits sur les documents de sa collection  Utilisateur  Créer des documents  Modifier les documents (propriétaire et gestionnaire)

Présentation Cumgha Authentification et droits  Collections authentifiantes  Contient les documents authentifiants  Ces documents permettent de s’identifier

Présentation Cumgha Mécanisme de transaction Authentification d’un utilisateur Authentification d’un utilisateur Création de la liste de documents en cours de modification Création de la liste de documents en cours de modification Modification sur différents documents XML Modification sur différents documents XML Conservation des modifications effectuées dans la liste créé (mais pas dans la base de données) Conservation des modifications effectuées dans la liste créé (mais pas dans la base de données) Validation des modifications apportées sur les documents XML Validation des modifications apportées sur les documents XML

Présentation Cumgha34 La servlet de production XML url :get La structure de la table toutes les collections tous les documents Récupération des informations Le contenu d’une collection url :get/unite XML url :get/unite.M16 Le contenu d’un document précis XML Appel de l’url

Présentation Cumgha Back Office Caractéristiques Caractéristiques Interface graphique permettant de manipuler les documents du CMS Interface graphique permettant de manipuler les documents du CMS Authentification Authentification Basé sur le modèle MVC Basé sur le modèle MVC Vues basées sur la couche XML Vues basées sur la couche XML Relier à la couche XML Relier à la couche XML Permettent la gestion des documents du CMS Permettent la gestion des documents du CMS Insertion, mise à jour, suppression… Insertion, mise à jour, suppression…

Présentation Cumgha Back Office illustré par un exemple Un utilisateur authentifié visualise un de ses documents et veut le modifier Un utilisateur authentifié visualise un de ses documents et veut le modifier

Présentation Cumgha Back Office Back Office Couche Métier Cache des collections XSL Validation Col Schéma Col BDR XSL Formulaire dynamique XML

Présentation Cumgha Front Office Interface WEB Interface WEB Accès non sécurisé Accès non sécurisé Présentation des informations du CMS Présentation des informations du CMS

4. Méthodologie

Présentation Cumgha Conduite de projet Apprentissage du travail en groupe Projet à 7 personnes Application de règles de gestion de projet Génie Logiciel

Présentation Cumgha Organisation Réunion hebdomadaire Documents produits :  Planning  Cahier des charges  Cahier des spécification  Cahier des conceptions méthode UML Projet en cycle de vie incrémentale

Présentation Cumgha42 Chronologie du projet Cahier des chargesSpécification Conception Programmation 2 semaines 1/21 semaine2 semaines

Présentation Cumgha43 Bilan Les difficultés rencontrées Mise en place laborieuse d’un environnement de développement Un CVS a cruellement manqué. les points positifs Une vision professionnelle du déroulement d’un projet Apprentissage du travail en équipe