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 - Dossier d'architecture (V2.4) Auteurs : Relecteurs Michel ETIENNE, Luc DONNET,

Plus en détail

Application Chouette V3.0 Imports, exports et validation

Application Chouette V3.0 Imports, exports et validation CHOUETTE Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales Application Chouette V3.0 Imports, exports et validation Utilisation en mode ligne de commandes Auteurs

Plus en détail

Format du fichier de résultat de validation

Format du fichier de résultat de validation CHOUETTE Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales Format du fichier de résultat de validation Auteurs : Relecteurs Zakaria BOUZIANE, Marc FLORISSON

Plus en détail

Documentation technique

Documentation technique MEEVY Documentation technique Juillet 200 MEEVY a pour but de fournir aux artistes des outils pour promouvoir leur musique sur internet et proposer à l auditeur une plateforme de musique en ligne gratuite

Plus en détail

Fonctionnement du serveur Z39.50

Fonctionnement du serveur Z39.50 Fonctionnement du serveur Z39.50 Table des matières 1 Configuration du serveur...2 1.1 Comportement du serveur...2 1.2 Configuration de la traduction z39.50 -> base de données...2 1.3 Configuration du

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Table des matières Système d'exploitation... 3 Environnement de développement intégré... 3 Le workspace... 3 Le

Plus en détail

Club utilisateurs Logiciels Chouette et Irys

Club utilisateurs Logiciels Chouette et Irys Club utilisateurs Logiciels Chouette et Irys 22 janvier 2015 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

Plus en détail

Guide d'installation et d'utilisation de l'application «client de test SIRI-Validator»

Guide d'installation et d'utilisation de l'application «client de test SIRI-Validator» CHOUETTE Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales Guide d'installation et d'utilisation de l'application «client de test SIRI-Validator» Auteurs : Relecteurs

Plus en détail

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

Formation développement Java, Spring et Hibernate

Formation développement Java, Spring et Hibernate L institut de formation continue des professionnels du Web Formation développement Java, Spring et Hibernate Référence formation : Durée : Prix conseillé : DJSH 10 jours (70 heures) 4 500 HT (hors promotion

Plus en détail

Club utilisateurs Logiciels Chouette et Irys

Club utilisateurs Logiciels Chouette et Irys Club utilisateurs Logiciels Chouette et Irys 27 mai 2015 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

application Chouette -

application Chouette - CHOUETTE Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales application Chouette - Format d'échange d'arrêts V2.5 Auteurs : Relecteurs Michel ETIENNE (CityWay)

Plus en détail

Club utilisateurs Logiciels Chouette et Irys

Club utilisateurs Logiciels Chouette et Irys Club utilisateurs Logiciels Chouette et Irys 22 Octobre 2015 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

Plus en détail

application Chouette -

application Chouette - CHOUETTE Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales application Chouette - Utilisation en mode ligne de commandes (V2.4) Auteurs : Relecteurs Michel ETIENNE,

Plus en détail

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes Génération de codes à partir d un modèle UML sous PowerAMC Véronique Deslandres, IUT, Département Informatique Université de Lyon MàJ: 8/10/2013 Introduction La génération de code, ça n est pas immédiat

Plus en détail

DEVELOPPEMENT LOGICIEL

DEVELOPPEMENT LOGICIEL DEVELOPPEMENT LOGICIEL LE FRAMEWORK WEB RUBY ON RAIL REF : WELA010 DUREE : 4 JOURS TARIF : 2 060 HT Public Développeurs d applications web, Chefs de projet techniques, Architectes. Pré-requis Programmation

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

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

Zend Framework 2 Industrialisez vos développements PHP

Zend Framework 2 Industrialisez vos développements PHP Avant-propos 1. Lectorat 15 2. Contenu du livre 15 3. Pré-requis 17 Introduction 1. Un peu d histoire 19 1.1 Petite histoire de l informatique 19 1.2 Petite histoire des langages informatiques 20 1.3 Petite

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

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

projet Chouette Note Technique

projet Chouette Note Technique Objet du marché Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales Agence française pour l'information multimodale et la billettique projet Chouette Note Technique

Plus en détail

Etude d amélioration de la fonction Validation. dans Chouette. NOT - Chouette-Irys Etude Validation- V 1.2 12/06/2014

Etude d amélioration de la fonction Validation. dans Chouette. NOT - Chouette-Irys Etude Validation- V 1.2 12/06/2014 Etude d amélioration de la fonction Validation dans Chouette NOT - Chouette-Irys Etude Validation- V 1.2 12/06/2014 SOMMAIRE AIntroduction... 4 BFormat de restitution des rapports de validation... 4 Export

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

Gestion du service des enseignements Analyse détaillée. Gestion du service des enseignements. Ce document est la propriété exclusive du groupe GSE

Gestion du service des enseignements Analyse détaillée. Gestion du service des enseignements. Ce document est la propriété exclusive du groupe GSE 1 sur 54 Projet Émetteur du Document Groupe GSE Destinataire du Document J.L. Massat Titre Nom Du Fichier O_Analyse_Detaillee_v2.1.pdf Version v2.1 Historique Des Versions Version Date Création Date Validation

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

[ Hornet ] Guide de migration d'un projet Acube vers Hornet

[ Hornet ] Guide de migration d'un projet Acube vers Hornet [ Hornet ] Guide de migration d'un projet Acube vers Hornet 3.6B Cette création est mise à disposition selon le Contrat Paternité - Pas d'utilisation Commerciale - Partage des Conditions Initiales à l'identique

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

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

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

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

Java Spring Le socle technique des applications JEE

Java Spring Le socle technique des applications JEE Avant-propos 1. Préambule 15 2. Introduction 17 3. Organisation du livre 19 4. Public visé 19 5. Pourquoi Spring 20 6. Prérequis pour aborder sereinement la lecture de ce livre 20 7. Objectifs du livre

Plus en détail

Spring par la pratique

Spring par la pratique Spring par la pratique 2 e édition Spring 2.5 et 3.0 Arnaud Cogoluègnes Thierry Templier Julien Dubois Jean-Philippe Retaillé avec la contribution de Séverine Templier Roblou et de Olivier Salvatori Groupe

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

JAVA. (Java-sans objet) (Dernière édition) Programme de formation. et (Java - Hibernate &Spring) France, Belgique, Suisse, Roumanie - Canada

JAVA. (Java-sans objet) (Dernière édition) Programme de formation. et (Java - Hibernate &Spring) France, Belgique, Suisse, Roumanie - Canada JAVA (Java-sans objet) et (Java - Hibernate &Spring) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser

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

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

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript...

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Projet Web Tim Burton Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Par Omar EDDASSER L3 ISC parcours MIAGE Sous l enseignement

Plus en détail

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org Scub Foundation Socle technique Java Open Source http://www.scub-foundation.org Présentation de Scub Présentation de Scub Scub est une société de service en informatique qui a pour but de fournir du conseil

Plus en détail

VBA Access 2013 Programmer sous Access

VBA Access 2013 Programmer sous Access Avant-propos 1. Introduction 15 2. Objectifs du livre 15 Généralités 1. Rappels 19 2. Principes fondamentaux de VBA 20 3. Passage des macros à VBA 21 3.1 Conversion de macros dans un formulaire ou un état

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

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

Serveur d'archivage 2007 Planning réel du projet serveur d'archivage

Serveur d'archivage 2007 Planning réel du projet serveur d'archivage Type du document Auteur(s) Planning Danielle Drillon Date de création 20/02/2007 Domaine de diffusion Validé par Interne Équipe Versions Auteur(s) Modifications 1.0 Danielle Drillon Création 1.1 Danielle

Plus en détail

Architecture applicative de l application Web

Architecture applicative de l application Web Architecture applicative de l application Web Principes d organisation de l application PHP Gsb-AppliFrais Les principes d'organisation de l'application s'inspirent des travaux réalisés autour du contexte

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

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

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

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

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

Documentation technique

Documentation technique Documentation technique Documentation technique Résumé Ce document s adresse aux membres du labeip et à toute personne qui voudrait prendre connaissance des caractéristiques techniques de Medley (développeur,

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

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

Présentation du projet:

Présentation du projet: : Le but du projet est de réaliser le fonctionnement d'un jeu d échec valide. Plus spécifiquement, il consiste à implémenter l'organisation générale du jeu, et le suivi des règles du mouvement des pièces.

Plus en détail

GUIDE UTILISATEUR NQI ORCHESTRA V.2.9.5 BIRT V.2.2.2

GUIDE UTILISATEUR NQI ORCHESTRA V.2.9.5 BIRT V.2.2.2 GUIDE UTILISATEUR NQI ORCHESTRA V.2.9.5 BIRT V.2.2.2 Table des Matières 1. INTRODUCTION...3 1.1 SUJET...3 1.2 OBJECTIFS...3 1.3 DÉFINITION DE TERMES, ACRONYMES...3 1.4 RÉFÉRENCE...3 2. CONFIGURATION...4

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

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

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

la réalisation d'un site d'inscriptions

la réalisation d'un site d'inscriptions Rapport du projet la réalisation d'un site d'inscriptions Réaliser par : Fatimaezzahra Yazough Année :2014 /2015 1/9 Yazough INTRODUCTION Le but de ce projet et de réaliser une maquette de site web pour

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

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

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

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

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

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

Spring IDE. Mise en œuvre. Eclipse

Spring IDE. Mise en œuvre. Eclipse A Spring IDE Bien que Spring mette à disposition d intéressants mécanismes afin d améliorer l architecture des applications Java EE en se fondant sur l injection de dépendances et la programmation orientée

Plus en détail

Serveur d'archivage 2007 Serveur Archivage : Manuel Utilisateur

Serveur d'archivage 2007 Serveur Archivage : Manuel Utilisateur Type du document Manuel utilisateur Auteur(s) Eric Bouladier Date de création 26/03/2007 Domaine de diffusion Illimité Validé par Versions Date Auteur(s) Modifications 1.0 26/03/2007 Eric Bouladier Création

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

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

Plugin Payment-OnLine

Plugin Payment-OnLine Plugin Payment-OnLine Le plugin "Payment-Online" est un plugin technique dont l'objectif est de faciliter l'utilisation du paiement en ligne dans des applications Lutèce. Il se compose d'une librairie

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

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

Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3

Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3 Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3 Présentation de la formation Cette formation s'inscrit dans le cadre des formations d'été assurées par la société Inovia Information

Plus en détail

TOPCASED UML Génération de la couche d accès aux données via Acceleo. Atos Origin Communauté D2I. Version : 1.0.Révision (1) Date : 30/10/2007

TOPCASED UML Génération de la couche d accès aux données via Acceleo. Atos Origin Communauté D2I. Version : 1.0.Révision (1) Date : 30/10/2007 TOPCASED UML Génération de la couche d accès aux données via Acceleo Atos Origin Communauté D2I Version : 1.0.Révision (1) Date : 30/10/2007 Atos Origin Intégration Les Miroirs C Tél. : +33 (0)1 55 91

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 11 Le langage HQL Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire National

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

Application web. Saisies des frais

Application web. Saisies des frais Cahier des charges Définition du besoin : Définition de l'objet : Le suivi des frais est actuellement géré de plusieurs façons selon le laboratoire d'origine des visiteurs. On souhaite uniformiser cette

Plus en détail

Modélisation de l'offre multimodale. Application à un outil d'analyse de l'accessibilité multimodale

Modélisation de l'offre multimodale. Application à un outil d'analyse de l'accessibilité multimodale Direction Territoriale Méditerranée Modélisation de l'offre multimodale Application à un outil d'analyse de l'accessibilité multimodale Patrick GENDRE CEREMA Direction Territoriale Méditerranée Aix-en-Provence

Plus en détail

JAXB pour le XML-Binding

JAXB pour le XML-Binding JAXB pour le XML-Binding Eric BELLARD JAXB pour le XML-Binding... 1 Introduction...1 But du document...1 Lexique... 1 Articles liés... 2 JAXB (Java Architecture for XML Binding)...2 Utilisation de JAXB...3

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

Le farming dans DokuWiki, intérêt et mise en œuvre

Le farming dans DokuWiki, intérêt et mise en œuvre Le farming dans DokuWiki, intérêt et mise en œuvre Etienne MELEARD Comité Réseau des Universités Université de Rennes 1, Campus Beaulieu 35042 Rennes Cedex Résumé DokuWiki est une plateforme de Wiki souple

Plus en détail

Dossier de conception

Dossier de conception Dossier de conception Sujet : Gestion de Stock-Pharma Réaliser par : FADIL Ghizlane ECH CHARFAOUY Abdelouahad Encadré par : M. LACHGAR Mohammed Développement d une application JAVA EE Cadre réservé à l

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

Sites web MVC Damien Nouvel

Sites web MVC Damien Nouvel Sites web MVC Plan Architecture MVC Vues / interface Contrôleur / application 2 / 17 Plan Architecture MVC Vues / interface Contrôleur / application 3 / 17 Architecture MVC MVC Méthode de conception d'interface

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

MEGA Administration-Supervisor. Guide de l administrateur

MEGA Administration-Supervisor. Guide de l administrateur MEGA Administration-Supervisor Guide de l administrateur MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient

Plus en détail

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas être considérés

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

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

Exemple de projet. «Gestion de contacts»

Exemple de projet. «Gestion de contacts» Université Paul Valéry Montpellier 3 Antenne universitaire de Béziers L3 AES parcours MISASHS ECUE «Logiciels spécialisés» Exemple de projet «Gestion de contacts» G. Richomme Table des matières 1. Introduction...

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

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

StreamServe Persuasion SP4 Control Center

StreamServe Persuasion SP4 Control Center StreamServe Persuasion SP4 Control Center Manuel utilisateur Rév. PA23 StreamServe Persuasion SP4 Control Center - Manuel utilisateur Rév. PA23 2001-2009 STREAMSERVE, INC. TOUS DROITS RESERVES Brevet américain

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

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