application Chouette -

Dimension: px
Commencer à balayer dès la page:

Download "application Chouette -"

Transcription

1 CHOUETTE Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales application Chouette - dossier d'architecture (V2.3) Auteurs : Relecteurs Michel ETIENNE, Luc DONNET, Marc Florisson (CityWay) Patrick GENDRE (CEREMA), Jean SENG (AFIMB) Version/révision Date d application Action Description des changements 13/12/2010 Création /11/2011 Diffusé Refonte de l'architecture /02/2013 Diffusé Intégration IHM V /04/2013 Difusé Ajout import NeTEx et plateforme Windows /02/2014 Diffusé Reprise de la validation /03/2014 Relecture Migration technique Agence française pour l'information multimodale et la billettique

2 Table des matières 1Introduction...3 2vue d'ensemble Principes Notation utilisée dans les schémas Vue d'ensemble de l'application...5 3Les composants de l'architecture IHM Import/Export/Validation Librairies et logiciels (dépendances) Frameworks utilisés Base de données contraintes techniques Cas d'utilisation Contraintes matérielles Contraintes de déploiement Annexe 1 : Modèle de données Annexe 2 : Organisation des sources Chouette Ninoxe Chouette Librairies complémentaires...32

3 1 INTRODUCTION CHOUETTE est un logiciel libre développé à l'initiative du ministère français chargé des transports (et du développement durable), dans le but de faciliter l'échange de données d'offre (théorique) de transport collectif (TC), en s'appuyant pour cela sur la norme NFP 99506, dite Neptune, qui spécifie un profil d'échange XML. Les utilisateurs visés sont les collectivités locales Autorités Organisatrices de Transport (AOT), les exploitants des réseaux TC,et leurs prestataires (bureaux d'étude ou société de services). D'autres utilisateurs potentiels sont néanmoins identifiés : services de l'état, éditeurs de logiciels, opérateurs de services d'information, chercheurs... Le principal cas d'utilisation est celui de Systèmes d'information Multimodale regroupant dans un référentiel commun l'ensemble de l'offre TC d'un territoire, néanmoins l'échange de données de référence d'offre TC est également utile pour d'autres applications : information temps réel, gestion de patrimoine, analyse de l'offre, études socio-économiques et géographiques... Ce document décrit l'architecture de l'application Chouette avec l'ensemble des composants logiciels, les données métier, les services, les interfaces externes, des indications sur l'intégration des composants. Ce document est avant tout destiné au développeur qui doit comprendre l'application en vue de l'adapter ou modifier son code. Les parties introductives peuvent donner une vision d'ensemble de l'application à des responsables techniques. L'introduction 1 décrit le plan du document. Le chapitre 2 donne une vue d'ensemble de l'architecture cible (en justifiant les choix), le chapitre 3 détaille chaque composant, par grande fonction. Le chapitre 4 précise les librairies utilisée et le chapitre 5 détaille les contraintes techniques dans l'implémentation du logiciel.il manque encore dans ce document une description : (1) de l'organistion du code, pour aider un développeur à s'y retrouver (2) des méthode, processus et outils de développement utilisés (permettant à des tiers à de contribuer au code et devenir 'committers'

4 2 VUE D'ENSEMBLE 2.1.Principes L'architecture de Chouette est centrée sur le modèle des données. Pour cela un service dit de "CRUD-IEV" (Create, Read, Update, Delete, Import, Export, Validate) est mis en place pour chacun des objets du modèle, chacun de ces services pouvant solliciter les autres pour gérer les relations entre objets. Cette architecture apporte une modularité naturelle vis à vis des objets de Chouette et permet de l'étendre simplement : à de nouveaux objets (Neptune puis Netex) à des attributs spécifiques externes à Chouette (exemple Potimart pour des fonctions SIG Transport) par héritage sur les objets existants, ces développements n'ayant pas à être intégrés à Chouette. Des règles pour apporter ces extensions sont décrites plus loin. 2.2.Notation utilisée dans les schémas L'utilisation de la notation UML pour présenter les diagrammes de composants étant peu lisible, une autre symbolique est utilisée : une boite rectangulaire représente un composant; le nom du composant est fourni dans la boite; une flèche arrivant sur une barre représente une interface; la barre symbolise l'interface implémentée dans la boite à laquelle elle est accolée, le nom de l'interface est fourni le long de la flèche et la flèche vient d'un ou de plusieurs composants utilisant cette interface; Exemple : Composant X Interface A Composant Y Figure 1: symbologie des schémas Le composant Y implémente l'interface A, le composant X sollicite le composant Y en utilisant les méthodes de l'interface A. La notion d'interface dans ce document étend celle de Java aux autres langages utilisés dans l'application. Dans le cas de ces langages, il faut comprendre que les éléments présentés disposent de fonctions ou de méthodes pouvant être activées de l'extérieur.

5 2.3.Vue d'ensemble de l'application Chouette est organisée selon une architecture multi-processus : Figure 2: Vue d'ensemble L'application Chouette est bâtie sur autour d'une IHM CRUD standard utilisant les modèles classiques MVC. Les fonctionnalités d'import/export et validation sont déportées dans un programme séparé car celles-ci sont fortement consommatrices de ressources (mémoire et CPU). L'IHM est composée de 2 parties séparées : le modèle de données TC et sa persistance (partie Modèle du MVC) (entité NINOXE) la logique CRUD (Partie Contrôleur et Vue du MVC) incluant aussi une gestion des utilisateurs (entité Chouette2) Les fonctions d'import/export/validation s'appuient sur l'architecture de la V1.7 en mode commande ; (cet ensemble est regroupé dans l'entité chouette) module de gestion des données du modèle (core) modules de gestion de la persistance (hibernate-dao et jdbc-dao) modules d'imports/export (exchange-neptune, exchange-netex, exchange-csv et exchange-gtfs ) module de validation (validation) module d'interface IHM v2 (gui-command)

6 3 LES COMPOSANTS DE L'ARCHITECTURE 3.1.IHM Eléments du contexte Déploiement en libre-service L'application Chouette est destinée à des collectivités qui ne disposent pas toujours d'un service informatique leur permettant de déployer Chouette dans leur propre infrastructure réseau et matérielle. Le site public chouette.mobi offre d'ailleurs un accès à une instance de Chouette prête à l'emploi. Néanmoins entre l'inscription et la mise à disposition du service à l'utilisateur, le traitement n'est pas immédiat actuellement et nécessite une intervention d'administration. Depuis quelques années déjà, les architectures Saas ("Software As A Service") sont apparues sur le WEB pour offrir un service de manière immédiate à un utilisateur qui s'inscrit (le selon le niveau de service attendu l'inscription peut être payante). Il est évident que l'architecture Saas répond parfaitement à la mise à disposition de l'application Chouette qui est attendue. Fonctionnalités disponibles à travers l'ihm Sans revenir dans le détail des fonctionnalités, celles-ci peuvent se résumer ainsi: - éditer les données NEPTUNE - échanger des données au format NEPTUNE ainsi que dans d'autres formats - valider les données 1. Les acteurs du système Même s'il s'agit d'une application WEB conçu pour des utilisateurs au travers d'ihm, l'application sera aussi en mesure de fournir des interfaces pour des systèmes externes. 2. Le framework L'IHM est développée à partir du framework RoR en version 3.x Afin de tirer le meilleur parti de ce framework et de son principe "Convention over configuration", l'essentiel de l'application IHM se conforme aux conventions qui s'appliquent au développement Web. Ce document détaille uniquement les seuls éléments d'architecture qui ne relèvent pas des conventions.

7 Les modèles L'application définit les modèles (au sens d'une application Ruby on Rails) suivants: - les modèles qui couvrent le périmètre de la norme NEPTUNE - les modèles dédiés au mode Saas (softwate as a service) - les modèles pour l'affichage cartographique Les modèles NEPTUNE Ces modèles permettent de modéliser toutes les données qui peuvent être échangées dans le cadre de la norme NEPTUNE. Autrement dit, les modèles NEPTUNE permettre de définir une offre de transport théorique. Parmi ces modèles se trouvent: le réseau (Network), la ligne (Line), l'itinéraire (Route), etc... Ces modèles sont rassemblés une librairie (GEM) "ninoxe". Cette librairie permet d'isoler cet ensemble de tout ce qui est spécifique à l'application WEB (les droits d'accès, la notion d'utilisateur, les aspects Saas, etc...) Pour plus de lisibilité les modèles de cette librairie sont placés dans un module "Chouette". Par ailleurs cette librairie met aussi à disposition des modèles dédiés aux fonctionnalités d'import, export et validation qui existent déjà dans les versions précédentes de Chouette. Ces modèles dédiés n'ont bien sûr pas de persistance. En interne ces modèles utilisent les interfaces existantes en ligne de commande de l'application Chouette. Les modèles liés au Saas Le modèle User permet de gérer les inscriptions à l'application. Une fois inscrit, l'utilisateur peut créer autant d'espace de données qu'il le souhaite. Le modèle DataSpace représente cette notion d'espace de données. Un objet DataSpace permet : de gérer/éditer une offre de transport théorique. d'importer/valider/exporter cette offre de transport Les offres de transport n'ont aucune posibilité de relation entre 2 objets DataSpace. Il y a donc une séparation complète entre les offres de transport. Si utilisateur (a) reçoit un export d'offre de transport (rb) d'un autre utilisateur (b), l'utilisateur (a) peut l'importer dans un référentiel (ra) déjà existant.

8 Seulement après import, c'est une copie de (rb) qui s'ajoute dans (ra). Les modifications de l'utilisateur (a) ne peuvent donc pas avoir d'incidence sur les référentiels de l'utilisateurs (b). Cette séparation se retrouve également au niveau de la persistance en base. Un objet DataSpace correspond à un schema Postgres spécifique. Les modèles pour l'affichage cartographique Contrairement aux modèles précédents, les modèles de l'affichage cartographique n'ont pas de persistance. Ces modèles ne servent pas à stocker de nouvelles données mais simplement à faciliter la présentation cartographique des données existantes. Il existe en effet plusieurs données NEPTUNE qui sont susceptibles d'offrir une présentation cartographique: les arrêts, les réseaux, les lignes, les itinéraires, les correspondances et qui correspondent aux modèles suivants StopAreaMap, NetworkMap, LineMap, etc... Le framework Open Source utilisé pour la présentation cartographique est OpenLayers (http://openlayers.org/). Il s'agit d'un ensemble de librairies Javascript. Les données qui sont affichées par dessus le fond cartographique sont intégrées dans une couche spécifique au format KML. Au lieu d'une intégration directe en javascript, les modèles pour l'affichage cartographique permettent de générer le code javascript directement à partir des modèles de l'application Web. Par exemple, un modèle NEPTUNE StopArea et un modèle DataSpace permettent d'instancier un modèle StopAreaMap et d'en produire un affichage cartographique. Pour plus de lisibilité, les modèles d'affichage cartographique sont rassemblés dans un répertoire spécifique (qui ne correspond à aucune convention Rails) : app/maps API de l'application IHM Chouette 1. Introduction L'API de l'application se définit par la structure RESTful des urls qui sont gérées (dont les urls sont est listées en annexe). En plus d'une structure RESTful, le framework Rails facilite l'usage de plusieurs formats dans les applications Web. L'application utilise les format suivants: JSON, KML, HTML. 2. Le format JSON Le format JSON a plusieurs intérêts.

9 D'une part, ce format est bien géré au niveau des frameworks Javascript et permet d'intégrer des fonctionnalités AJAX dans les vues HTML. D'autre part, ce format permet aussi de formaliser des échanges inter-systèmes. Par exemple, la fonction de recherche d'un arrêt à partir d'une chaine de caractères peut faire l'objet d'une API à destination d'un système externe. Dans le cas, le format JSON fourni en réponse à une requête est bien adapté pour structurer le résultat. Evolutivité de l'application Pour l'instant l'usage du format JSON se réduit aux besoins des fonctionnalités attendues sur l'ihm. Selon les interfaces que l'application IHM pourra offrir à des systèmes externes, les vues au format JSON pourront être ajoutées ou complétées. 3. Le format KML Le format KML est essentiellement utile au composant OpenLayer. 4. Les vues HTML Le layout des pages : Les pages sont toutes construites sur un même modèle appelé layout. Cette approche permet de mutualiser les éléments de présentation qui sont communs entre les pages, tels que l'en-tête, le pied de page, la position du menu... Les pages de l'aide en ligne : Chaque page de l'aide en ligne est produite à partir d'un fichier de contenu en textile. Le langage textile offre une palette de possibilités de présentation (http://redcloth.org/textile). Les pages de l'aide en ligne sont rassemblées dans app/views/help L'usage de JavaScript: Les vues HTML de l'application suppose que le navigateur de l'utilisateur puisse disposer de l'exécution du Javascript. Les principales librairies utilisées sont les suites JQuery (widget et composants AJAX) ainsi que OpenLayer.

10 3.2.Import/Export/Validation Ce programme est développé en JAVA en exploitant au mieux les possibilités du framework SPRING. Etant modulaire, ses différents modules peuvent servir à réaliser des applications utilisant la base Chouette pour réaliser d'autres fonctionnalités (exemple : logiciel IRYS implémentant des services SIRI sur une base de données d'offre TC théorique Chouette complétée de tables dédiées au temps réel) Les modules (unités de compilation) sont les suivants : le module 'core' contenant le cœur de l'application : le modèle de données les managers les interfaces des autres modules le module 'hibernate-dao' : accès aux données via le framework Hibernate le module 'jdbc-dao' : accès aux données via JDBC (optimisation utile pour les imports) le module 'jaxb-neptune' contient les classes produites par le framework JAXB à partir de la XSD d'échange Neptune et les classes de validation de niveau 1 (conformément aux règles définies sur le site chouette.mobi) le module 'exchange-neptune' contenant l'instanciation des plugins d'import/export Neptune et de validation de niveau 2 (conformément aux règles définies sur le site chouette.mobi : cf. le module 'exchange-netex' contenant l'instanciation des plugins d'import/export NeTEx le module 'exchange-csv' contenant l'instanciation des plugins d'import/export selon le format CSV de chouette le module 'exchange-gtfs' contenant l'instanciation du plugin d'export GTFS (Google Transit) le module 'export-geoportail' contenant l'instanciation du plugin d'export Géoportail (IGN) (ce module n'est plus connecté à l'application, et est conservé pour mémoire) le module 'validation' contenant l'instanciation des plug-ins de validation selon les règles définies sur le site chouette.mobi (phase 3) le module 'command' contenant l'ihm de chouette en mode 'ligne de commande'. le module 'gui-command' contenant l'api en ligne de commande utilisée par l'ihm V2

11 Figure 3: Organisation des modules les Managers Le Manager est un service élémentaire d'accès à un des objets du modèle (gestionnaire) ; il y a un service par type d'objet (classe) ; tous les services Manager offrent la même API devant répondre à l'ensemble des besoins de manipulation de cet objet. Ce service manipule les objets du modèle en mémoire et s'il est associé à deux gestionnaires de DAO, il assure aussi la persistance. Il est le seul service autorisé à dialoguer avec l'implémentation de la DAO. Les DAO sont : manipulation interactive des objets du modèle (utilisation d'un framework CRUD évolué, ex : Hibernate) alimentation massive de données (utilisation d'accès simplistes et rapide à la base) Afin d'assurer la sécurité, chaque méthode demande en argument l'utilisateur connecté; celui-ci pourra être 'anonyme', ce qui permet d'accepter - sous réserve des droits définis pour ce profil- l'accès aux fonctionnalités sans connexion préalable. L'API offre les services suivants (telle que documentée il s'agit d'une API java, une API interne de l'application pour bâtir des programmes de type Webapp, ligne de commande, webservices,... par exemple, une API REST pourra aussi être rendue disponible à travers le service IHM):

12 Note : les services nécessitant la présence du module de DAO sont repérés par le mot-clé dao entre parenthèses Création : Lecture : getnewinstance(user) : crée un nouvel objet (sans mise en base) setobjectid(user,object,prefix) : affecte un ObjectId à un objet s'il n'en a pas déjà un. addnew(user,object) : (dao) sauve un nouvel objet ; si celui-ci dispose de dépendances, celles-ci seront prises en compte. exists(user,object) : (dao) retourne un indicateur d'existence de l'objet (ce contrôle s'effectue sur tous les attributs ayant une contrainte d'unicité). get(user,filter) : (dao) retourne l'objet répondant à un critère d'unicité getall(user,filter) : (dao) retourne la liste des objets répondant à un filtre (syntaxe du filtre à préciser) getall(user) : (dao) retourne la liste des objets. getbyobjectid(user,objectid) : (dao) retourne un objet selon son ObjectId (filtre prédéfini) getbyid(user,id) : (dao) retourne un objet selon son id (base) (filtre prédéfini) Mise à jour : update(user,object) : (dao) enregistre les modifications sur un objet (dentique à cidessous pour niveau de détail ATTRIBUTE) Suppression : Import *: isremovable(user,object) : (dao) vérifie si l'objet peut être supprimé sans transgresser des règles de dépendance (utile pour des objets dont la politique de suppression en cascade n'est pas définissable); retourne la liste des contraintes interdisant la suppression. remove(user,object, propagate) : (dao) supprime un objet et éventuellement ses dépendances. removeall(user, filter) : (dao) supprime des objets selon un critère de filtre. removeall(user,objectlist, propagate) : (dao) supprime des objets et éventuellement leurs dépendances. getimportformats(user) : retourne la liste des formats d'import que ce service sait gérer

13 Export *: doimport(user,format,importparameters, importreport, validationreport) : retourne la liste des objets du modèle extraits du fichier d'import (pas de sauvegarde dans la base). save(user,objectlist, propagate) : (dao) sauve les objets dans la base (ne supprime pas les anciennes dépendances, mais crée les nouvelles) saveall(user, objects, propagate, fast) : (dao) sauve les objets et leur dépendances (si propagate) en mode dao lente ou rapide (selon fast) saveorupdateall(user,objectlist) : (dao) sauve les modifications sur les objets dans la base (n'effectue pas de suppression) getexportformats(user) : retourne la liste des formats d'export que ce service sait gérer doexport(user,objectlist, format, exportparameters, report) : exporte les objets du modèle au format demandé; ces objets auront été préalablement constitués par exemple par un import ou une lecture base. getdeleteexportformats(user) : retourne la liste des formats d'export de suppression que ce service sait gérer doexportdeleted(user, objectidlist, format, exportparameters, report) : exporte l'état supprimé des objets au format demandé; cet export est indépendant de la suppression en base. Validation **: canvalidate() : indique si le manager dispose d'un plug-in de validation validate(user,objectlist, parameters, report, propagate) : applique un ensemble de contrôles sur une liste d'objets et leur dépendances jusqu'au niveau demandé, retourne la liste des contrôles effectués et leur état (NOCHECK, OK, WARNING, ERROR,) les différents codes sont détaillés au chapitre. getvalidationsteps(user) : retourne la liste des contrôles disponibles validatestep(user,objectlist, parameters) : effectue une étape de validation sur une liste d'objets, retourne l'état. Gestion des greffons (plug-in) : addimportplugin(plugin) enregistre un plug-in d'import dans le manager. addexportplugin(plugin) enregistre un plug-in d'export dans le manager. addexportdeletionplugin(plugin) enregistre un plug-in d'export pour suppression dans le manager.

14 addvalidationplugin(plugin) enregistre un plug-in de validation dans le manager. setdao(dao) enregistre la DAO Crud dans le manager. addjdbcdao(dao) enregistre la DAO rapide dans le manager. * Les imports et exports sont implémentés dans le service sous la forme de greffons (plug-ins) ; chaque greffon est associé à un format et se connecte sur un ou plusieurs services, aussi bien en import qu'en export; ce qui permet d'enrichir l'application de formats d'échange au niveau de chaque type d'objets; ces formats pouvant être spécifiques à une application et de ce fait être développés et greffés à Chouette par l'utilisateur de ce format pour son usage interne. Les exports de suppression sont disponibles pour pouvoir transmettre,,lors d'échanges différentiels entre deux référentiels, l'information de suppression d'un objet du référentiel alimentant. ** Les étapes de validation sont implémentées dans le service sous la forme de greffons; ceux-ci assurent un contrôle spécifique sur le modèle et s'insèrent dans un enchainement géré par les managers. Figure 4: Organisation des managers

15 Accès aux données (DAO) Présentation : La persistance des données est assurée par un framework externe d'accès aux Données (Data Access Object); afin d'isoler les développements internes des spécificités de ce framework, une interface est définie pour permettre aux services Manager de solliciter la persistance en toute indépendance. L'API imposée par cette interface offre les méthodes suivantes : exists(id) : retourne l existence dans la base d'un objet portant l'identifiant technique demandé exists(objectid) : retourne l existence dans la base d'un objet portant l'identifiant Neptune demandé get(id) : retourne l'objet dont l'identifiant technique est fourni getbyobjectid(objectid) : retourne l'objet dont l'identifiant Neptune est fourni getall() : retourne l'ensemble des objets d'un type donné select(filter) : retourne les objets répondant à un critère donné save(object) : enregistre un nouvel objet update(object) : enregistre les modifications sur un objet saveorupdateall(objects) : crée ou modifie les instances des objets dans la base. remove(id) : supprime un objet removeall(objects) : supprime un ensemble d'objets removeall(filter) : supprime des objets selon un critère. Note : cette API étant un modèle (template), chaque instance qui la réalise est attaché à un type d'objet Neptune particulier; c'est par ce mécanisme que le type d'objet est imposé dans les signatures de méthode. Les critères de sélection sont construits à l'aide d'une classe Filtre; celle-ci se base sur les noms des classes et des données membres des objets Neptune. Un ensemble de méthodes permettent d'élaborer des requêtes simples ou combinées : getnewequalsfilter(attributename, value) : crée une clause d'égalité stricte sur la valeur d'un attribut getnewlessfilter(attributename,value) : crée une clause d'infériorité stricte sur la valeur d'un attribut de type ordonné. getnewlikefilter(attributename,value) : crée une clause de comparaison avec un template SQL de chaine de caractères pour un attribut de type textuel. getnewandfilter(filter1,filter2,...,filtern) : crée une clause de type ET Logique entre plusieurs autres filtres. la liste des méthodes n'est pas exhaustive.

16 Diagramme de classes partiel Figure 5: diagramme de classe partiel des managers Modèle de données Transport en Commun Modélisation Diagramme de classe partiel (seuls quelques objets et dépendances sont présentés afin de ne pas surcharger le schéma) Chaque objet du modèle Neptune est mappé par les annotations JPA sur une structure de base de données. Ces annotations sont exploitées par le module DAO (exemple Hibernate)

17 Figure 6: diagramme de classes partiel du modèle de données NeptuneObject L'objet racine du modèle des objets TC permet une manipulation générique des objets au niveau des interfaces; il porte aussi des mécanismes génériques qui sont répercutés sur l'ensemble des objets du modèle : un identifiant technique : clé primaire servant à identifier l'objet de manière unique dans la base; cet identifiant n'est pas transporté dans les échanges externes. NeptuneIdentifiedObject L'objet principal du modèle des objets TC contient les attributs communs à tout objet ayant une identification Neptune (Trident) un identifiant Neptune (ObjectId, ObjectVersion) assurant l'identification lors des échanges un créateur (creatorid, creationtime) un mécanisme de comparaison et de copie.

18 XXXBean Chaque objet de Neptune possédant un ObjectId est modélisé par un 'Bean' héritant de NeptuneObject. Il met à disposition des services clients du modèle les moyens d accéder en lecture et en écriture à ses attributs et à ses relations. Les différents Beans seront nommés du nom de l'objet Neptune sans extension 'Bean' Note : le terme Bean est ici utilisé de manière théorique : un bean est un objet sans intelligence directe qui possède donc uniquement des données membres accessibles par des méthodes 'accesseurs' (getxxx, setxxx, isxxx) Chaque bean doit implémenter en plus des accesseurs les méthodes : clean() : l'objet doit verifier que ses fils directs sont valides; dans le cas contraire, il doit les retirer de ses dépendances; en final,il doit retourner sa propre validité. Exemple: une ligne regarde si ses routes sont valides et retire celle qui ne le sont pas; en final, si la ligne n'a plus de route, elle se déclare invalide. Cette opération est utilisée pour les exports afin de n'exporter que des objets valides. complete() : complète les informations sur un objet en vue d'un export (récursif sur les dépendances). dans le cas où le bean dispose d'attributs de type liste, il doit pour chaque attribut, implémenter les méthodes : addyyyy(yyyy) : ajoute un item à la liste des YYYY. removeyyyy(yyyy) : ajoute un item à la liste des YYYY. Certains objets peuvent implémenter des méthodes évoluées comme par exemple dans Route : rebuildptlinks() : reconstruit les PTLinks à partir des StopPoints de la Route. swapstoppoints(stoppoint1,stoppoint2) : échange la position de 2 stoppoints avec propagation sur les JourneyPattern et les VehicleJourney PLUG-INs Les plug-ins d'échange et de validation sont réalisés séparément dans des modules propres, ces modules pouvant être intégrés au projet Chouette ou satellites (chouette_contrib). Ils respectent les interfaces présentées ci-après et s'intègrent aux managers par l'intermédiaire d'un injecteur de plug-ins : PluginInjector possédant 5 données membres : manager : le manager à renseigner importplugins : liste des plug-ins d'import exportplugins : liste des plug-ins d'export

19 exportdeletedplugins : liste des plug-ins d'export de suppression (Les exports de suppression sont disponibles pour pouvoir transmettre, lors d'échanges différentiels entre deux référentiels, l'information de suppression d'un objet du référentiel alimentant.) validationplugins : liste des plug-ins de validation Note : le rôle de l'injecteur de plug-in est de faciliter l'intégration des plug-ins dans une architecture utilisant un assembleur de composants tel que le framework Spring. En effet, le simple fait d'ajouter l'archive jar du plug-in à l'application Chouette doit suffire à l'intégrer dans l'architecture. Chaque plug-in doit retourner en fin d'exécution de traitement un rapport composé d'une liste arborescente d'éléments de rapport, chaque élément étant modélisé sous forme de clé afin d'appliquer les mécanismes d'internationalisation. Le plug-in doit fournir les fichiers textes d'internationalisation de ces éléments selon l'organisation suivante : Le rapport doit hériter de la classe abstraite fr.certu.chouette.plugin.report.report L'élément de rapport doit hériter de la classe abstraite fr.certu.chouette.plugin.report.reportitem Les fichiers d'internationalisation associés doivent être réalisés en Français et en Anglais. plug-ins d'échange Figure 7: Diagramme de classe d'un plug-in d'échange

20 Présentation générale : Chaque plug-in d'échange implémente une interface d'échange : IExchangePlugin qui définit l'api d'échange : getdescription() : retourne le format et la description des paramètres d'appel de l'échange la structure FormatDescription donne le nom du format et le détail des paramètres attendus : ParameterDescription. La structure ParameterDescription fournit pour chaque paramètre les informations nécessaires à l'habillage de valeurs correspondantes (ParameterValue) : name : le nom du paramètre type : le type de paramètre parmi une liste énumérée fixe : (exemple : numérique, date, chaine de caractères, nom de fichier, booléen..) collection : (booléen) la cardinalité : simple ou liste mandatory : (booléen) obligatoire : oui ou non defaultvalue : la valeur par défaut si optionnel allowedextensions : la liste des suffixes autorisés (type = nom de fichier) le nom du format et des paramètres servent de clé pour récupérer les textes descriptifs dans des fichiers de propriété internationalisés; FormatDescription et ParameterDescription offrent la méthode getdescription(locale) : retourne la description de l'objet dans la langue demandée Lors de l'appel aux méthodes d'échange, une liste de valeurs de paramètres sera envoyée au plug-in, ces valeurs sont définies dans la structure ParameterValue portant le nom du paramètre (attribut name) et dérivée en SimpleParameterValue pour les paramètres de cardinalité 1 et ListParameterValue pour les paramètres de cardinalité multiple : SimpleParameterValue : integervalue : valeur de type numérique booleanvalue : valeur de type booléen... ListParameterValue : integerlist : liste des valeurs de type numérique booleanlist : liste des valeurs de type booléen... Le plug-in d'import dispose d'une interface IImportPlugin<T> dérivée de IExchangePlugin (où T représente un type d'objet Neptune identifié), lui ajoutant la méthode :

application Chouette -

application Chouette - CHOUETTE Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales application Chouette - manuel d'installation (V2.5) Auteurs : Relecteurs Michel ETIENNE, Luc DONNET,

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

Club utilisateurs Logiciels Chouette et Irys

Club utilisateurs Logiciels Chouette et Irys Club utilisateurs Logiciels Chouette et Irys 28 mai 2014 La Défense Agence française pour l information multimodale et la billettique - AFIMB Ministère de l'écologie, du Développement durable et de l Energie

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

Les évolutions des méthodes de développement de logiciels. Depuis Merise de l'eau est passée sous les ponts

Les évolutions des méthodes de développement de logiciels. Depuis Merise de l'eau est passée sous les ponts Les évolutions des méthodes de développement de logiciels Depuis Merise de l'eau est passée sous les ponts Programmation Orientée Objets Encapsulation des données et des traitements Polymorphisme Modularité

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 Introduction 1. Présentation du cas d étude 13 1.1 Présentation générale 13 1.2 Présentation des applications 13 2. Déroulement du projet 14 3. Pré-requis et fondamentaux techniques à connaître 15 3.1

Plus en détail

AFIMB. IRYS Server v2.0.0. PRESENTATION et INSTALLATION. Février 2013. Agence Française pour l'information Multimodale et la Billettique

AFIMB. IRYS Server v2.0.0. PRESENTATION et INSTALLATION. Février 2013. Agence Française pour l'information Multimodale et la Billettique AFIMB IRYS Server v2.0.0 PRESENTATION et INSTALLATION Février 2013 Agence Française pour l'information Multimodale et la Billettique Informations sur ce document : Organisme commanditaire : AFIMB Titre

Plus en détail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

Plus en détail

Développer de nouvelles fonctionnalités

Développer de nouvelles fonctionnalités 19 Développer de nouvelles fonctionnalités Chaque site e-commerce est unique. Bien que Magento soit une application riche, des besoins spécifiques apparaîtront et l ajout de modules deviendra nécessaire.

Plus en détail

Refonte front-office / back-office - Architecture & Conception -

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

CQP Développeur Nouvelles Technologies (DNT)

CQP Développeur Nouvelles Technologies (DNT) ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,

Plus en détail

Rapport d'architecture

Rapport d'architecture Romain Alexandre Cécile Camillieri Rapport d'architecture 1 / 12 Table des matières I) Description du projet p. 3 1) Canaux de communication p. 3 2) Diagrammes de cas d'utilisation p. 3 II) Gestion des

Plus en détail

Préface. Avant-propos. Chapitre 1 Introduction

Préface. Avant-propos. Chapitre 1 Introduction Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage EPAPEX dans la zone de recherche et validez.

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Lisez-Moi Version 14.1.2

Lisez-Moi Version 14.1.2 Lisez-Moi Version 14.1.2 Version 14.1.2 Version 14.1.1 Version 14.1.0 Version 14.0.0 Version 14.1.2 (01/12/2014) Corrections... Zones dynamiques : la modification des paramètres de présentation pouvait

Plus en détail

Zend Framework 2 Développez des applications web mobiles (PHP, HTML5, JavaScript, NoSQL)

Zend Framework 2 Développez des applications web mobiles (PHP, HTML5, JavaScript, NoSQL) Avant-propos 1. À qui s adresse ce livre? 13 2. Comment cet ouvrage est-il structuré? 15 Premiers pas avec Zend 1. Objectif 19 2. Quoi de neuf chez Zend? 20 2.1 Zend Framework 2 20 2.2 Les nouveaux composants

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Programmation en C# avec Visual Studio 2010

Programmation en C# avec Visual Studio 2010 CATALOGUE DE FORMATION Année 2011 Sommaire Programmation en C# avec Visual Studio 2010... 3 Introduction au développement Web avec Visual Studio 2010... 4 Développement d'applications Web avec Microsoft

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

Retek Data Warehouse Web 3.0 Notes de publication

Retek Data Warehouse Web 3.0 Notes de publication Retek Data Warehouse Web 3.0 Notes de publication AIDER LA DISTRIBUTION A CREER, GERER ET SATISFAIRE LA DEMANDE DE SES CLIENTS Retek Data Warehouse Le logiciel décrit dans cette documentation est fourni

Plus en détail

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server Sébastien Boutard Thomas David Le plan de la présentation Petit retour sur les environnements de développement ArcGIS Server

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

L INFORMATION GEOGRAPHIQUE

L INFORMATION GEOGRAPHIQUE Champs sur Marne ENSG/CERSIG Le 19-nove.-02 L INFORMATION GEOGRAPHIQUE Archivage Le Système d information géographique rassemble de l information afin de permettre son utilisation dans des applications

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Linux....................................................................

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................

Plus en détail

Auguria_PCM Product & Combination Manager

Auguria_PCM Product & Combination Manager Auguria_PCM Product & Combination Manager Guide utilisateurs v1.5 Auguria 9, rue Alfred Kastler 44300 NANTES FRANCE +33251135012 contact@auguria.net Plan 1 Description générale du module...3 2 Mise en

Plus en détail

1. QCM (40 points) (1h)

1. QCM (40 points) (1h) Examen 1ère session 2012-2013 page 1 NSY 102 - AISL IPST-CNAM Intranet et Designs patterns NSY 102 Vendredi 26 Avril 2013 Durée : 3 heures Enseignants : LAFORGUE Jacques 1. QCM (40 points) (1h) Mode d'emploi

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Extrait 183 Chapitre 7 Gérer les formulaires 1. Vue d'ensemble Gérer les formulaires 1.1 Petit rappel

Plus en détail

Pia Murgat, Christophe Duquesne, Aurige. Marc Florisson, Michel Etienne, Patrick Gendre

Pia Murgat, Christophe Duquesne, Aurige. Marc Florisson, Michel Etienne, Patrick Gendre CHOUETTE Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales Agence française pour l'information multimodale et la billettique Le processus de validation de données

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

Edutab. gestion centralisée de tablettes Android

Edutab. gestion centralisée de tablettes Android Edutab gestion centralisée de tablettes Android Résumé Ce document présente le logiciel Edutab : utilisation en mode enseignant (applications, documents) utilisation en mode administrateur (configuration,

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

Mercredi 15 Janvier 2014

Mercredi 15 Janvier 2014 De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information loic.thomas@anteagroup.com 02 38 64 26 41 Architecture Il est

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

PROSOP : un système de gestion de bases de données prosopographiques

PROSOP : un système de gestion de bases de données prosopographiques PROSOP : un système de gestion de bases de données prosopographiques Introduction : Ce document présente l outil en développement PROSOP qui permet la gestion d'une base de donnée prosopographique de la

Plus en détail

Expert technique J2EE

Expert technique J2EE EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Communiqué de Lancement

Communiqué de Lancement Direction du Marketing Produits Sage - Division Mid Market Communiqué de Lancement Rapprochement Bancaire 1000 Produit : Rapprochement Bancaire 1000 Bases de Données : Oracle - MS/SQL Server Microsoft

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

M2PLS - M2EID TP SPRING

M2PLS - M2EID TP SPRING M2PLS - M2EID TP SPRING Référence du document : Http://www-lipn.univ-paris13.fr/M2PLS/tp_spring.pdf Dernière modification : 25/11/11 Type de document : Travaux pratiques Rédacteur : Fortier Michael fortier@univ-paris13,fr

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Un serveur d'archivage

Un serveur d'archivage Un serveur d'archivage destiné au Service Commun de Documentation de l'université de la Méditerranée Encadrement : Noël Novelli Représentants client (S.C.D.) : Axelle Clarisse Ronan Lagadic Equipe Projet

Plus en détail

RESUME DU PROFIL COMPETENCES TECHNIQUES

RESUME DU PROFIL COMPETENCES TECHNIQUES RESUME DU PROFIL Maîtrise des serveurs d application et environnements de développement Java/J2EE Maîtrise des environnements techniques de développement, d intégration et d exploitation Réalisation des

Plus en détail

les techniques d'extraction, les formulaires et intégration dans un site WEB

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

SITE WEB E-COMMERCE ET VENTE A DISTANCE

SITE WEB E-COMMERCE ET VENTE A DISTANCE Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : aitnasser.btissam123@gmail.com GSM : Organisme

Plus en détail

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011 1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...

Plus en détail

Documentation technique. [EIP] TransLSF. Henri HARDILLIER - Thomas MOREL - Florian JOUSSEAU Alexis MONNIER - Keo KHEMARA - Leo MARTIN Stéphane RICARDO

Documentation technique. [EIP] TransLSF. Henri HARDILLIER - Thomas MOREL - Florian JOUSSEAU Alexis MONNIER - Keo KHEMARA - Leo MARTIN Stéphane RICARDO Documentation technique [EIP] TransLSF Henri HARDILLIER - Thomas MOREL - Florian JOUSSEAU Alexis MONNIER - Keo KHEMARA - Leo MARTIN Stéphane RICARDO Résumé Ce document présente la partie technique de TransLSF.

Plus en détail

Demande d information

Demande d information RFI Demande d information Réf. : RFI_OMAT_final.doc DIT - SIAM Page 1/14 Request For Information - Outil de Modélisation des ArchiTectures SOMMAIRE 1. OBJET DE LA DEMANDE D INFORMATION... 3 2. PÉRIMÈTRE

Plus en détail

Nos offres de stages pour 2013

Nos offres de stages pour 2013 Nos offres de stages pour 2013 Les sujets de stage que nous vous proposons sont des projets à très forte valeur ajoutée, mêlant recherche amont, algorithmique et implémentation. Ils touchent à des domaines

Plus en détail

Développement XPages : Cursus standard

Développement XPages : Cursus standard Développement XPages : Cursus standard Modules Pré requis Développeur Notes 2 jours Développeur Web 2 jours Module principal Développeur XPages 3 jours Modules spécialisés 2 jours par module dojo et dijit

Plus en détail

Espace numérique de travail collaboratif

Espace numérique de travail collaboratif Espace numérique de travail collaboratif 1/10 Présentation Agora Project est un espace de travail collaboratif complet et intuitif. Cette application est accessible partout et à tout moment, via un simple

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe

Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe Tony Galmiche le 28 février 2011 (modifiée alb) Sommaire 1 - Accès au portail de l'application GED...3

Plus en détail

Gestion collaborative de documents

Gestion collaborative de documents Gestion collaborative de documents ANT box, le logiciel qui simplifie votre GED Les organisations (entreprises, collectivités, associations...) génèrent chaque jour des millions de documents, e-mails,

Plus en détail

Fonctionnalités de développement

Fonctionnalités de développement 163 Chapitre 5 Fonctionnalités de développement 1. Optimisation des applications ASP.NET Fonctionnalités de développement 1.1 Présentation de ASP.NET ASP.NET est un ensemble de technologies créé par Microsoft

Plus en détail

KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04

KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04 KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04 Environnement : Ce projet a été réalisé en deuxième année de BTS, il s'agit d'un travail de groupe

Plus en détail

ERP5. Gestion des Services Techniques des Collectivités Locales

ERP5. Gestion des Services Techniques des Collectivités Locales Gestion des Services Techniques des Collectivités Locales Cte 1 2 P 3 s tio T 4 m ilg h trc c n p.o 5 re u fe ro a le tio c M S tw u aa c e O 2 Relation Citoyen Interventions Patrimoine Core Ressources

Plus en détail

Programmation orientée objet et interfaces web en PHP

Programmation orientée objet et interfaces web en PHP Programmation orientée objet et interfaces web en PHP La programmation objet avec PHP5 Bases de données et interfaces web Fonctionnement des sessions Nicolas Moyroud Cemagref - UMR TETIS 26 Juin 2008 Programmation

Plus en détail

SITools2, un système d'accès aux données scientifiques web 2.0

SITools2, un système d'accès aux données scientifiques web 2.0 SITools2, un système d'accès aux données scientifiques web 2.0 Jean-Christophe Malapert CNES 18 Av. Edouard Belin 31400 Toulouse Cedex 9 Hervé Ballans IAS Centre universitaire d Orsay, Bât 120 121, 91405

Plus en détail

1 JBoss Entreprise Middleware

1 JBoss Entreprise Middleware 1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications

Plus en détail

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90. Analyste et développeur pendant plus de 10 ans, Thierry GROUSSARD s est ensuite orienté vers la formation et plus particulièrement dans le domaine du développement. Sa connaissance approfondie des besoins

Plus en détail

Brevet de Technicien Supérieur. Services Informatiques aux organisations option : SLAM. Session 2014

Brevet de Technicien Supérieur. Services Informatiques aux organisations option : SLAM. Session 2014 Brevet de Technicien Supérieur Services Informatiques aux organisations option : SLAM Session 2014 Centre épreuve : CCI LAVAL 5 Boulevard de l industrie Saint Berthevin(53) Numéro de la commission (sur

Plus en détail

TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES

TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES 2008 UFR Ingénieurs 2000 Vivien Boistuaud Julien Herr TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES Ce document a été réalisé par V. Boistuaud et J. Herr dans le cadre des travaux

Plus en détail

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

Formation GWT. www.objis.com - Formation GWT 1

Formation GWT. www.objis.com - Formation GWT 1 Formation GWT www.objis.com - Formation GWT 1 Sommaire Formation GWT Introduction Qu'est ce qu'une application GWT? Méthodologie et étapes clés gestion projet GWT Interface utilisateur : widgets, panels,

Plus en détail

WebSSO, synchronisation et contrôle des accès via LDAP

WebSSO, synchronisation et contrôle des accès via LDAP 31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot Thomas Chemineau Sommaire général Synchronisation d'identités WebSSO et contrôle des accès Démonstration

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Failles web : Les bases

Failles web : Les bases Failles utilisant les sites web comme support Ciblant soit les serveurs soit les visiteurs Dangereuses car simples à assimiler Objectifs : Vol de données Défaçage Rendre indisponible un site Utiliser le

Plus en détail

DOSSIER DE CONCEPTION Projet CAR

DOSSIER DE CONCEPTION Projet CAR DOSSIER DE CONCEPTION Projet CAR Maître d ouvrage (enseignant responsable) : Titulaire (équipe de conception) : William BOHER-COY Jonathan FAVIER Robin HAIDER Samuel ROLLET Date de rédaction : 27/01/2008

Plus en détail

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com 1 Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies

Plus en détail

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24 Guide Utilisateur Titre du projet : Sig-Artisanat Type de document : Guide utilisateur Cadre : Constat : Les Chambres de Métiers doivent avoir une vision prospective de l'artisanat sur leur territoire.

Plus en détail

Rapport d'audit. «Librairie Informatique»

Rapport d'audit. «Librairie Informatique» GL51 Rapport d'audit «Librairie Informatique» Code : BATSPETA-000 Maîtrise d'oeuvre Maîtrise d'ouvrage Responsables de l'audit M. Fischer M. Petrequin Melle Bats, M. Petazzoni Date rédaction : 05/01/04

Plus en détail

Modélisation Principe Autre principe

Modélisation Principe Autre principe Modélisation Principe : un modèle est une abstraction permettant de mieux comprendre un objet complexe (bâtiment, économie, atmosphère, cellule, logiciel, ). Autre principe : un petit dessin vaut mieux

Plus en détail

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

Le meilleur de l'open source dans votre cyber cafe

Le meilleur de l'open source dans votre cyber cafe Le meilleur de l'open source dans votre cyber cafe Sommaire PRESENTATION...1 Fonctionnalités...2 Les comptes...3 Le système d'extensions...4 Les apparences...5 UTILISATION...6 Maelys Admin...6 Le panneau

Plus en détail

L'application WinForm et le composant d'accès aux données

L'application WinForm et le composant d'accès aux données L'application WinForm et le composant d'accès aux données Vous disposez d'un squelette de l'application AntoineVersion0- ainsi que de la base de données à restaurer dans SqlServer Bd_Antoine.dat-. Travail

Plus en détail

MODULE 3 Analyses thématiques

MODULE 3 Analyses thématiques MODULE 3 Analyses thématiques Ce module a pour objectif d approfondir les différents modes de représentation cartographique des données attributaires à l'aide de la gestion des styles. - la nouvelle symbologie

Plus en détail

Groovy & Grails. Langage de script basé sur Java appliqué dans un environnement JEE

Groovy & Grails. Langage de script basé sur Java appliqué dans un environnement JEE Groovy & Grails Langage de script basé sur Java appliqué dans un environnement JEE Martin Le Bas 1 Xposé 2010 Plan Introduction Groovy Grails Conclusion Références Plan de la présentation Introduction

Plus en détail