APIs de table pour SQL Server

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

Download "APIs de table pour SQL Server"

Transcription

1 2013 D - Pratique APIs de table pour SQL Server Établissement: HEG Arc Haute école Arc Gestion Réalisé par: M. Informaticien de gestion S adresse à: M.Fabrice Camus Date de début et de fin du travail de Bachelor Dernière modification le: Date de création: Version du document: 1.0 Type de réalisation: Intra-muros

2 Sommaire 1 Introduction Avant-Projet Planification Planifié Réalisé Administration du projet Analyse des risques Technologies utilisées Convention de nommage Valeurs taguées utilisées Fonctionnement du plugin Principe de base Déclenchement du plugin Prérequis Utilisation Sélection des tables Schéma de fonctionnement L utilité concrète du plugin Avant exécution du plugin Résultat de l exécution Développement Génération des scripts d APIs de tables Génération des logs Exécution des scripts Tables de journalisation Tables de journalisation des exceptions Colonnes d audit Triggers Procédures stockées Abstraction des scripts Génération des procédures Génération du code SQL DDL Génération des triggers Paramétrage du plugin...30 Page 2 sur 42

3 7.6.1 Plugin.properties database.properties Script de déploiement Tests Tests unitaires Tests par l utilisation Gestion des erreurs Implémentation de la gestion des messages et logs Affichage de messages à l utilisateur Exceptions Ajout d un nouveau SGBDR Amélioration Récupérer une connexion de Visual Paradigm Affichage de popup Gérer les modifications incrémentales des APIs de table Revoir la séparation des fichiers de propriétés Conclusion...42 Page 3 sur 42

4 1 Introduction Ce document va présenter la démarche entreprise afin de parvenir à l aboutissement du travail. Les chapitres sont ordonnés de façon à ce que le premier corresponde à la première démarche entreprise et le dernier à la dernière démarche. Le premier chapitre présente la planification mise en place afin de réaliser ce projet ainsi qu une analyse des risques et une présentation des différentes technologies utilisées. Le deuxième chapitre présente les différentes conventions de nommage mises en place. Le suivant expose et explique les différentes valeurs taguées utilisées. Le chapitre 5 présente le fonctionnement du plugin dans son ensemble. Le sixième chapitre démontre l utilité de celuici. Le chapitre 7 présente quelques éléments concernant le développement propre du plugin. Le chapitre 8 explique la procédure d ajout d un nouveau SGBDR au sein du plugin. Le chapitre suivant présente les différentes améliorations possibles. Le dernier chapitre conclut ce projet. Page 4 sur 42

5 12 avril 19 avril 26 avril 3 mai 8 mai 17 mai 24 mai 31 mai 7 juin 21 juin 28 juin 5 juillet 2 Avant-Projet 2.1 Planification Ci-dessous, une présentation de l organisation des 12 semaines à dispositions afin de réaliser ce dit travail. Le but originel de cette planification était d organiser le travail plutôt que de déterminer que la tâche A doit être terminée en semaine 2. J ai pris la décision de ne pas utiliser de méthode de gestion de projet, à la mode, tel Agile car mon projet ne se prête que très peu à ce type d organisation. Effectivement, il m a été demandé de réaliser chaque tâche de façon complète et non incrémentale comme la méthode Agile le préconise. De plus, je suis seul sur ce projet. Je ne vois donc que très peu l intérêt d utiliser une telle méthode. Tout du moins, une organisation se basant sur des itérations a été utilisée. À la fin de chacune de celle-ci, il a été décidé, conjointement avec mon directeur de travail, de livrer le plugin. 2.2 Planifié Tâche Rédaction de la demande de ratification Analyse du plugin Itération 1 Itération 2 Itération 3 Itération 4 Rédaction des rapports Test global Page 5 sur 42

6 12 avril 19 avril 26 avril 3 mai 8 mai 17 mai 24 mai 31 mai 7 juin 21 juin 28 juin 5 juillet 2.3 Réalisé Tâche Rédaction de la demande de ratification Analyse du plugin Itération Itération 2 Itération 3 1 Itération 4 Rédaction des rapports Test global 1. Retard dû à l analyse de l architecture à mettre en place. Effectivement, initialement, il était prévu que je complète le plugin «Génération des APIs de table pour Oracle», malheureusement, après analyse, il s est avéré que cette tâche demandait trop d adaptation. Page 6 sur 42

7 2.4 Administration du projet Dans l optique d assurer un suivi efficace, le directeur de travail m a convié à mettre en place les éléments d administration de projet suivant: Hebdomadairement une séance est organisée avec mon directeur de Bachelor et de l assistant. Un rapport, également hebdomadaire, doit être réalisé afin de présenter le déroulement de la semaine, les éventuels problèmes ainsi que le déroulement de la semaine à venir. Ce rapport hebdomadaire de travail doit être envoyé en fin de semaine par émail à mon directeur de Bachelor. Cette gestion apporte, pour le candidat, l avantage d être immédiatement redirigé en cas de problème. D un autre côté, le directeur de travail, qui est également le représentant du mandat dans mon cas, peut s assurer que le produit qu il attend réponde au mieux à ses besoins. Bien entendu, l inconvénient de la mise en place de cette administration réside dans le temps dépensé par les deux parties, autant pour la préparation des documents à envoyer que pour la lecture de ceux-ci. Au final, chacun y trouve son compte. Page 7 sur 42

8 2.5 Analyse des risques Le but de ce chapitre est de présenter les différents risques pouvant entraver le bon déroulement de ce projet. L analyse suivante vise essentiellement à identifier les risques et non pas à la mise en œuvre de mesures permettant de les réduire. Ci-dessous, une identification des différents risques: 1. Impossibilité d accéder à certains éléments du référentiel. Effectivement, il est possible que l API Java fourni par Visual Paradigm ne permette pas l accès à certains éléments(s). Ceci entraverait voir rendrait impossible la réalisation du plugin. Cependant ce risque est actuellement très réduit, car d utilise les mêmes méthodes que le plugin «Génération des APIs de table pour Oracle». 2. Impossibilité de reproduire les fonctionnalités du plugin «Génération des APIs de tables pour Oracle» dû au langage Transact SQL. Effectivement, il se peut que le langage Transact SQL ne puisse offrir les mêmes possibilités que le langage PLSQL. La réalisation, au préalable, des APIs à la main, a rendu ce risque inexistant. 3. Manque fonctionnel dû à une erreur d analyse du plugin de «Génération des APIs de tables pour Oracle». Il se peut que lors de l analyse du plugin «Génération des APIs de table pour Oracle», des fonctionnalités aient été oubliées. 4. Une mise à jour de Visual Paradigm changeant profondément le fonctionnement de l Open API. Un risque pour pourrait mettre fin à l utilisation de plugin est que Visual Paradigm décide, comme Oracle l ont fait avec l outil Designer, d arrêter le maintien de l Open API. Page 8 sur 42

9 La matrice ci-dessous présente les risques en fonction de leur gravité et de leur vraisemblance. Elle se base sur les recommandations EBIOS. Le placement ayant été fait au début de ce projet. Page 9 sur 42

10 2.6 Technologies utilisées Ci-dessous une liste et un petit descriptif des différentes technologies utilisées. Il est également précisé les différentes versions des logiciels/technologies utilisées afin d éviter les problèmes d incompatibilités. NetBeans IDE (Build ) Java JDK 1.7.0_25 Java SE Runtime Environment 1.6.0_35-b10 Microsoft SQL Server 2008 R (Microsoft SQL Server Developer Edition) Visual Paradigm for UML Enterprise Edition (Build ) Page 10 sur 42

11 3 Convention de nommage Les conventions de nommage permettent de faciliter la compréhension des éléments ainsi que garder une unité au travers des différents documents/codes. J ai donc défini les éléments suivants: Concerne Détail Abréviation Trigger INSTEAD OF IOF Trigger AFTER AFTER Trigger Déclenchement avant PRE Trigger Déclenchement après POST Trigger Déclenchement pour chaque ligne ROW Trigger Déclenchement pour une ligne STMT Trigger Insert INS Trigger Update UPD Trigger Delete DEL Procédure Journal JN Il suffit de combiner ces différents éléments pour créer le nom des éléments que j ai utilisé. Exemple: Trigger INSTEAD OF UPDATE FOR EACH ROW = IOF_UPD_ROW Trigger AFTER DELETE = AFTER_DEL_STMT Page 11 sur 42

12 4 Valeurs taguées utilisées Les valeurs taguées permettent d indiquer au plugin les éléments à générer. Elles sont propres à chaque table. Voici une liste les décrivant: Valeurs taguées PRE_INS POST_INS PRE_UPD POST_UPD PRE_DEL POST_DEL JOURNAL CTRLAJUSER CTRLAJDATE CTRLMOUSER CTRLMODATE PROCEDURE PRE_BEFORE_INS_ROW PRE_BEFORE_INS_STMT PRE_BEFORE_UPD_ROW Explications avant chaque requête d insertion de données dans la base. après chaque requête d insertion de données dans la base. avant chaque requête de modification de données dans la base. après chaque requête de modification de données dans la base. avant chaque requête de suppression de données dans la base. après chaque requête de suppression de données dans la base. Permet de générer le mécanisme de journalisation des manipulations des données. Permet d ajouter la colonne CTRLAJUSER d information d audit de manipulation des enregistrements. Permet d ajouter la colonne CTRLAJDATE d information d audit de manipulation des enregistrements. Permet d ajouter la colonne CTRLMOUSER d information d audit de manipulation des enregistrements. Permet d ajouter la colonne CTRLMODATE d information d audit de manipulation des enregistrements. Permet d ajouter une procédure stockée personnalisée. avant une requête d insertion du trigger INSTEAD OF INSERT FOR EACH ROW. avant une requête d insertion du trigger INSTEAD OF INSERT STMT. avant une requête de mise à jour des données du trigger INSTEAD OF UPDATE FOR EACH ROW. Page 12 sur 42

13 PRE_BEFORE_UPD_STMT PRE_BEFORE_DEL_ROW PRE_BEFORE_DEL_STMT PRE_AFTER_INS_ROW PRE_AFTER_INS_STMT PRE_AFTER_UPD_ROW PRE_AFTER_UPD_STMT PRE_AFTER_DEL_ROW PRE_AFTER_DEL_STMT POST_BEFORE_INS_ROW POST_BEFORE_INS_STMT POST_BEFORE_UPD_ROW avant une requête de mise à jour des données du trigger INSTEAD OF UPDATE STMT. avant une requête de suppression de données du trigger INSTEAD OF DELETE FOR EACH ROW. avant une requête de suppression de données du trigger INSTEAD OF DELETE STMT. avant une requête d insertion du trigger AFTER INSERT FOR EACH ROW. avant une requête d insertion du trigger AFTER INSERT STMT. avant une requête de mise à jour des données du trigger AFTER UPDATE FOR EACH ROW. avant une requête de mise à jour des données du trigger AFTER UPDATE STMT. avant une requête de suppression de données du trigger AFTER DELETE FOR EACH ROW. avant une requête de suppression de données du trigger AFTER DELETE STMT. après une requête d insertion du trigger INSTEAD OF INSERT FOR EACH ROW. après une requête d insertion du trigger INSTEAD OF INSERT STMT. après une requête de mise à jour des données du trigger INSTEAD OF UPDATE FOR EACH ROW. POST_BEFORE_UPD_STMT après une requête de mise à jour des données du trigger INSTEAD OF UPDATE STMT. POST_BEFORE_DEL_ROW POST_BEFORE_DEL_STMT après une requête de suppression de données du trigger INSTEAD OF DELETE FOR EACH ROW. Page 13 sur 42

14 après une requête de suppression de données du trigger INSTEAD OF DELETE STMT. POST_AFTER_INS_ROW POST_AFTER_INS_STMT POST_AFTER_UPD_ROW POST_AFTER_UPD_STMT POST_AFTER_DEL_ROW POST_AFTER_DEL_STMT après une requête d insertion du trigger AFTER INSERT FOR EACH ROW. après une requête d insertion du trigger AFTER INSERT STMT. après une requête de mise à jour des données du trigger AFTER UPDATE FOR EACH ROW. après une requête de mise à jour des données du trigger AFTER UPDATE STMT. après une requête de suppression de données du trigger AFTER DELETE FOR EACH ROW. après une requête de suppression de données du trigger AFTER DELETE STMT. Page 14 sur 42

15 5 Fonctionnement du plugin 5.1 Principe de base L objectif de ce chapitre est de présenter les principes de base sur lesquels repose ce plugin. Il m a été expressément de développé un plugin pour Visual Paradigm et pour le SGBDR SQL Server. C est pourquoi aucune analyse n a été faite concernant le choix technologique. Effectivement, Visual Paradigm offre uniquement une API écrite en Java et SQL Server offre un langage de manipulation de ces objets: le Transact SQL. Les fonctionnalités qui ont été développées sont celles présentées dans le document théorique. Page 15 sur 42

16 5.2 Déclenchement du plugin Prérequis Quelques règles sont à appliquer afin de pouvoir générer les APIs de table: Avoir défini au moins un modèle dans le projet Visual Paradigm et le nommer «Model». Avoir une clé primaire par table. Avoir au moins une table marquée par le stéréotype «MLD». Avoir au moins une colonne par table. Ces contraintes ont été fixées, car elles représentent le seuil minimum d informations nécessaire au bon fonctionnement du plugin Utilisation Le plugin se déclenche de deux manières. La première consiste à utiliser l icône dans la barre des raccourcis. La deuxième est de passer par le menu. Page 16 sur 42

17 5.2.3 Sélection des tables Le stéréotype «MLD» permet de sélectionner uniquement les tables dont nous voulons générer les APIs de table. Voici comment ajouter ce stéréotype : Page 17 sur 42

18 5.2.4 Schéma de fonctionnement Ci-dessous un schéma représentant le fonctionnement global des APIs de tables.

19 6 L utilité concrète du plugin L utilité du projet a déjà été partiellement expliquée dans le document d introduction. Ce chapitre va donc uniquement illustrer son utilisation. 6.1 Avant exécution du plugin Voici les tables qui me serviront d exemple. Voici les valeurs targuées de la table «Employes». Voici les valeurs targuées de la table «Departements» Page 19 sur 42

20 6.2 Résultat de l exécution Voici le résultat après exécution du plugin. Comme vous pouvez le remarquer, les colonnes de valeurs d informations d audit de manipulation des enregistrements ont été ajoutées en fonction des valeurs taguées. Voici les différentes tables présentes après exécution du plugin. Vous pouvez remarquer, la table de journalisation de la table Employes, est apparue ainsi que les deux tables de journalisation des exceptions. Voici les différentes procédures stockées. Les 3 procédures de journalisation des exceptions ont bien été créées ainsi que la procédure de journalisation de la table «Employes». Page 20 sur 42

21 Lors d une insertion d un département : INSERT INTO [AGL_RH].[dbo].[Departements] ([Code],[Libelle]) VALUES ('Inf','Informatique') GO Voici le résultat : Page 21 sur 42

22 Lors d une insertion d un employé : INSERT INTO [AGL_RH].[dbo].[Employes] ([DEP_Numero],[Mnemo],[Nom],[Prenom],[RueNo],[CodePostal],[Localite]) VALUES (1,'as','Senft','Arnaud','Docteur Tièche 5A','2732','Reconvilier') GO Table «Employes»: Table de journalisation de l employé : Page 22 sur 42

23 Mise à jour de cet employé : UPDATE [AGL_RH].[dbo].[Employes] SET [Mnemo] = 'sa' WHERE Numero = 1 GO Table «Employes» Table de journalisation de l employé : Page 23 sur 42

24 Suppression de cet employé : DELETE FROM [AGL_RH].[dbo].[Employes] WHERE Numero = 1 GO Table «Employes» vide : Table de journalisation : Page 24 sur 42

25 7 Développement 7.1 Génération des scripts d APIs de tables Trois scripts sont générés lors de l exécution du plugin. Le premier (PROC_DDL_SCRIPT) regroupe toutes les procédures stockées à créer : Procédure de journalisation. Procédure de journalisation des exceptions. Le deuxième (SQL_DDL_SCRIPT) regroupe tous les scripts de définition des données dont : Ajout de champs d audit. Création de la table de journalisation. Création des tables de journalisation des exceptions. Le dernier (TRIGGER_DDL_SCRIPT) regroupe les différents triggers à créer. 7.2 Génération des logs Le dossier logs contient tous les logs, par jour, des exceptions levées lors du déclenchement du plugin. Voici un exemple de log : EXCEPTION IN CLASS 'ch.hearc.ig.generationapistablesqlserver.presentation.action.actioncontroller' : Exception: ch.hearc.ig.generationapistablesqlserver.exceptions.nostereotypeexception Message: Il n y a pas de stéréotype MLD Date: /09:29:18 Les logs contiennent donc la classe d où qui a généré l exception, l exception, le message et la date. Page 25 sur 42

26 7.3 Exécution des scripts Tables de journalisation Voici comment se présente les différentes tables de journalisation générées dans SQL Server : Tables de journalisation des exceptions Voici comment se présentent les tables de journalisation des erreurs générées: Colonnes d audit Voici comment se présentent les colonnes d audit générées: Page 26 sur 42

27 7.3.4 Triggers Voici comment se présentes les triggers générés: Procédures stockées Voici les différentes procédures stockées générées : Page 27 sur 42

28 7.5 Abstraction des scripts Le but est de s abstraire au maximum du SGBDR utilisé afin de réimplémenter le minimum d éléments lors de l ajout d un nouveau SGBDR Génération des procédures Étant donné que le but est de s abstraire au maximum du SGBDR utilisé sans pour autant rendre le plugin bloquant, une classe abstraite contenant les éléments «réutilisable» et indépendante du SGBDR a été créée. Cette classe a notamment le rôle de vérifier les valeurs taguées. Effectivement, celles-ci sont indépendantes du SGBDR utilisé. Ainsi pas besoin de réimplémenter ces tests lors de l ajout d un SGBDR. La définition des méthodes de génération des procédures est également un élément indépendant du SGBDR Génération du code SQL DDL Une classe abstraite contenant les éléments communs pour chaque SGBDR a également été créée pour les codes SQL DDL. Ces éléments communs sont les mêmes que pour les procédures. C est-à-dire, le test des valeurs taguées ainsi que la définition des méthodes de générations des codes SQL DDL. Page 28 sur 42

29 7.5.3 Génération des triggers Concernant la génération du code des triggers, très peu d éléments sont communs entre chaque SGBDR. Une classe abstraite est quand même présente, mais ne comprend que peu d éléments. Page 29 sur 42

30 7.6 Paramétrage du plugin Plugin.properties Ce fichier de configuration du plugin permet de modifier les différents éléments générés. J ai pris la décision de centraliser et d externaliser ces éléments afin de : Ne pas devoir recompiler le plugin lors d une modification dans le fichier. Centraliser l ensemble des éléments susceptible de changer. Ainsi ce fichier regroupe, en un seul endroit, des propriétés ayant potentiellement un risque de changer. Permet de définir le nom du projet : PROJECT.NAME=GenerationAPIsTableSQLServer Permet de définir la version du projet : PLUGIN.VERSION=0.0.0 Permet de définir la date de la version : PLUGIN.VERSIONDATE= Permet de définir le répertoire de Visual Paradigm qui contient les plugins : VP.PLUGINPATH=C:/Program Files (x86)/visual Paradigm for UML 10.1/plugins Permet de définir le nom du dossier des fichiers logs, le nom des fichiers et le niveau des logs : LOGSMANAGER.LOG_FOLDER=logs LOGSMANAGER.LOG_FILENAME_FORMAT=yyyy-MM-dd LOGSMANAGER.WARNING_LEVEL_TO_LOG=INFO Permet de définir le niveau des messages à afficher: MESSAGEMANAGER.WARNING_LEVEL_TO_SHOW=INFO Permet de définir le nom des Tagged Values à récupérer: TAGGEDVALUES.PRE_INS=PRE-INS TAGGEDVALUES.POST_INS=POST-INS TAGGEDVALUES.PRE_UPD=PRE-UPD TAGGEDVALUES.POST_UPD=POST-UDP TAGGEDVALUES.PRE_DEL=PRE-DEL TAGGEDVALUES.POST_DEL=POST-DEL TAGGEDVALUES.JOURNAL=JOURNAL TAGGEDVALUES.CTRLAJUSER=CTRLAJUSER TAGGEDVALUES.CTRLAJDATE=CTRLAJDATE TAGGEDVALUES.CTRLMOUSER=CTRLMOUSER TAGGEDVALUES.CTRLMODATE=CTRLMODATE TAGGEDVALUES.PROCEDURE=PROCEDURE TAGGEDVALUES.PRE_IOF_INS_ROW=PRE_IOF_INS_ROW TAGGEDVALUES.PRE_IOF_INS_STMT=PRE_IOF_INS_STMT TAGGEDVALUES.PRE_IOF_UPD_ROW=PRE_IOF_UPD_ROW TAGGEDVALUES.PRE_IOF_UPD_STMT=PRE_IOF_UPD_STMT TAGGEDVALUES.PRE_IOF_DEL_ROW=PRE_IOF_DEL_ROW TAGGEDVALUES.PRE_IOF_DEL_STMT=PRE_IOF_DEL_STMT TAGGEDVALUES.PRE_AFTER_INS_ROW=PRE_AFTER_INS_ROW TAGGEDVALUES.PRE_AFTER_INS_STMT=PRE_AFTER_INS_STMT TAGGEDVALUES.PRE_AFTER_UPD_ROW=PRE_AFTER_UPD_ROW TAGGEDVALUES.PRE_AFTER_UPD_STMT=PRE_AFTER_UPD_STMT TAGGEDVALUES.PRE_AFTER_DEL_ROW=PRE_AFTER_DEL_ROW TAGGEDVALUES.PRE_AFTER_DEL_STMT=PRE_AFTER_DEL_STMT Page 30 sur 42

31 TAGGEDVALUES.POST_IOF_INS_ROW=POST_IOF_INS_ROW TAGGEDVALUES.POST_IOF_INS_STMT=POST_IOF_INS_STMT TAGGEDVALUES.POST_IOF_UPD_ROW=POST_IOF_UPD_ROW TAGGEDVALUES.POST_IOF_UPD_STMT=POST_IOF_UPD_STMT TAGGEDVALUES.POST_IOF_DEL_ROW=POST_IOF_DEL_ROW TAGGEDVALUES.POST_IOF_DEL_STMT=POST_IOF_DEL_STMT TAGGEDVALUES.POST_AFTER_INS_ROW=POST_AFTER_INS_ROW TAGGEDVALUES.POST_AFTER_INS_STMT=POST_AFTER_INS_STMT TAGGEDVALUES.POST_AFTER_UPD_ROW=POST_AFTER_UPD_ROW TAGGEDVALUES.POST_AFTER_UPD_STMT=POST_AFTER_UPD_STMT TAGGEDVALUES.POST_AFTER_DEL_ROW=POST_AFTER_DEL_ROW TAGGEDVALUES.POST_AFTER_DEL_STMT=POST_AFTER_DEL_STMT Permet de définir le nom des triggers: TRIGGER.IOF_INS_ROW_NAME=IOF_INS_ROW TRIGGER.IOF_INS_STMT_NAME=IOF_INS_STMT TRIGGER.IOF_UPD_ROW_NAME=IOF_UPD_ROW TRIGGER.IOF_UPD_STMT_NAME=IOF_UPD_STMT TRIGGER.IOF_DEL_ROW_NAME=IOF_DEL_ROW TRIGGER.IOF_DEL_STMT_NAME=IOF_DEL_STMT TRIGGER.AFTER_INS_ROW_NAME=AFTER_INS_ROW TRIGGER.AFTER_INS_STMT_NAME=AFTER_INS_STMT TRIGGER.AFTER_UPD_ROW_NAME=AFTER_UPD_ROW TRIGGER.AFTER_UPD_STMT_NAME=AFTER_UPD_STMT TRIGGER.AFTER_DEL_ROW_NAME=AFTER_DEL_ROW TRIGGER.AFTER_DEL_STMT_NAME=AFTER_DEL_STMT Permet de définir le nom du stéréotype MLD: STEREOTYPE.SCHEMA_TO_TRANSFORM=MLD Permet de définir le nom des tables ou de leur extension : TABLE.DDL_EXCEPTION_JOURNAL_NAME=ERRORS_JN TABLE.DDL_EXCEPTION_TRACE_JOURNAL_NAME=ERRORS_JN_CALLS TABLE.DDL_JOURNAL_EXT_NAME=_JN Permet de définir le nom du dossier contenant les scripts et le nom de ceux-ci : SCRIPTS.FOLDER_NAME=scripts_apis SCRIPTS.SQL_DDL_SCRIPT=SQL_DDL_SCRIPT SCRIPTS.PROC_DDL_SCRIPT=PROC_DDL_SCRIPT SCRIPTS.TRIGGER_DDL_SCRIPT=TRIGGER_DDL_SCRIPT Permet de définir le nom des procedures: PROCEDURE.ERR_PROCESS=ERR_PROCESS PROCEDURE.ERR_SAVE_NEW=ERR_SAVE_NEW PROCEDURE.ERR_SAVE_CALL=ERR_SAVE_CALL PROCEDURE.JOURNAL_PREFIXE=ins_jn_ Page 31 sur 42

32 7.6.2 database.properties Ce fichier regroupe les différentes propriétés concernant la base de données. Permet d indiquer la base de données désirée : SGBDR=SQL_Server Permet de configurer les paramètres de connexion à la base de données : DB_URL=jdbc:sqlserver://AGL-SENFTA:1433;DatabaseName=AGL_RH DB_USERNAME=AGL_USER DB_PWD=AGL_USER Page 32 sur 42

33 7.7 Script de déploiement Voici le script ANT (build-vp.xml) qui a été utilisé afin de déployer automatiquement le projet dans le dossier «plugin» de Visual Paradigm. <?xml version="1.0"?> <project name="compileandcopytovp" default="doall"> </project> <property file="plugin.properties" /> <!-- Define folders --> <property name="srcpath" location="src" /> <property name="buildpath" location="classes" /> <!-- Run all targets --> <target name="doall"> </target> <echo message="starting Ant script" level="info" /> <antcall target="copytovp" /> <echo message="end Ant script" level="info" /> <!-- Deploy to Visual Paradigm --> <target name="copytovp"> </target> <echo message="deploying to VP plugins folder..." level="info" /> <delete dir="${vp.pluginspath}/${project.deployedfolder}" /> <mkdir dir="${vp.pluginspath}/${project.deployedfolder}"/> <copy todir="${vp.pluginspath}/${project.deployedfolder}/"> </copy> <fileset dir="." excludes="**/.project, **/.classpath, **/build.xml, **/build-vp.xml, **/manifest.mf, **/src/, **/.settings/, **/.externaltoolbuilders/, nbproject/" /> <mkdir dir="${vp.pluginspath}/${project.deployedfolder}/classes"/> <copy todir="${vp.pluginspath}/${project.deployedfolder}/classes"> </copy> <fileset dir="./build/classes"/> <delete dir="${vp.pluginspath}/${project.deployedfolder}/build"/> Si vous utilisez NetBeans, il faut ensuite importer ce fichier dans le script ANT build.xml. <import file="build-vp.xml"/> Puis indiquer au script build.xml quand le script buid-vp.xml doit être déclenché. <target name="-post-compile"> <antcall target="doall"/> </target> Le script doit être appelé après compilation. Page 33 sur 42

34 7.8 Tests Tests unitaires Malheureusement, aucun test unitaire n a pu être réalisé. Effectivement, s agissant d un plugin, il n est pas possible de tester l application du faite de la très forte liaison entre le plugin et Visual Paradigm Tests par l utilisation Du fait de la nécessité d avoir un référentiel complet ainsi que l environnement pour effectuer des tests, je suis très vite arrivé à la conclusion que je devais créer un deuxième projet me permettant d effectuer différents tests. Voici la procédure mise en place afin d effectuer ces tests : Page 34 sur 42

35 7.9 Gestion des erreurs Implémentation de la gestion des messages et logs Après avoir rapidement jeté un œil aux travaux effectués l année précédente, je me suis rapidement rendu compte que le travail [DOC-STB-02] traitait déjà de cette problématique. Tout au long de mon cursus, nous avons appris à créer des éléments réutilisables. Connaissant la qualité du travail effectué par ce Bachelier et après avoir confirmé ceci par ma propre étude, j ai consciemment pris la décision de réutiliser ces différents éléments. Les chapitres ci-dessous reprennent ces différents éléments et expliquent leurs fonctionnements Affichage de messages à l utilisateur Fenêtre message L Open API de Visual Paradigm offre la possibilité d envoyer des messages à l utilisateur au travers de la console que l on aperçoit ci-dessous : Pour ce faire, il est nécessaire de faire appel à l élément ViewManage du plugin : ViewManager viewmanager = ApplicationManager.instance().getViewManager(); L objet instancié offre plusieurs méthodes permettant d afficher des messages. La méthode la plus utilisée est : viewmanager.showmessage(string message); Page 35 sur 42

36 Il est également possible de communiquer avec l utilisateur grâce au framework SWING et AWT. Je n ai pas utilisé ces frameworks pour ce projet, car ceci n était simplement pas le but de celui-ci. Voici un extrait de la documentation officielle de Visual Paradigm qui soutient mes dires [VP-WEB-01]: Exceptions Voici la description des différentes exceptions mise en place au sein du plugin. Exception Raison Comment la résoudre ConnexionException Vérifier les données de connexion dans le fichier database.properties. FileException NoColumnException Aucune colonne n existe dans une table. Vérifier le chemin d écriture indiqué dans le fichier plugin.properties. Vérifier qu aucune table sans colonne n est présente dans le modèle. NoPkException Pas de clé primaire dans une table. Ajouter une clé primaire à la table. NoRessourceFoundException La ressource n a pas été trouvée. NoStereotypeException Aucune table avec le stéréotype MLD n est présente. Vérifier le nom de la ressource indiquée. Ajouter le stéréotype MLD aux tables voulues. NoTableException Aucune table n est présente dans le MLD. PersistException DatabaseNotSupported La base de données indiquée n est pas reconnue. Vérifier le nom de la base de données entrée dans le fichier Database.properties et que les tests permettant de déterminer la base de données sélectionnée soient correct. Page 36 sur 42

37 8 Ajout d un nouveau SGBDR Ci-dessous les étapes permettant l extension du plugin à d autres SGBDR. 1. Ajouter l importation de la librairie de connexion à la base de données au dossier Lib du projet. 2. Indiquer au plugin, au travers du fichier plugin.xml, où se trouve la nouvelle librairie à importer. 3. Étendre la classe AbsFactory pour votre SGBDR. Il faut récupérer les valeurs taguées suivantes et en créer une représentation correspondant à ce qui existe dans le SGBDR ajouté (tableau repris du chapitre «Valeurs taguées utilisées). Valeurs taguées PROCEDURE PRE_BEFORE_INS_ROW PRE_BEFORE_INS_STMT PRE_BEFORE_UPD_ROW PRE_BEFORE_UPD_STMT PRE_BEFORE_DEL_ROW PRE_BEFORE_DEL_STMT PRE_AFTER_INS_ROW PRE_AFTER_INS_STMT PRE_AFTER_UPD_ROW PRE_AFTER_UPD_STMT Explications Permet d ajouter une procédure stockée personnalisée. avant une requête d insertion du trigger INSTEAD OF INSERT FOR EACH ROW. avant une requête d insertion du trigger INSTEAD OF INSERT STMT. avant une requête de mise à jour des données du trigger INSTEAD OF UPDATE FOR EACH ROW. avant une requête de mise à jour des données du trigger INSTEAD OF UPDATE STMT. avant une requête de suppression de données du trigger INSTEAD OF DELETE FOR EACH ROW. avant une requête de suppression de données du trigger INSTEAD OF DELETE STMT. avant une requête d insertion du trigger AFTER INSERT FOR EACH ROW. avant une requête d insertion du trigger AFTER INSERT STMT. avant une requête de mise à jour des données du trigger AFTER UPDATE FOR EACH ROW. Page 37 sur 42

38 avant une requête de mise à jour des données du trigger AFTER UPDATE STMT. PRE_AFTER_DEL_ROW PRE_AFTER_DEL_STMT POST_BEFORE_INS_ROW POST_BEFORE_INS_STMT POST_BEFORE_UPD_ROW avant une requête de suppression de données du trigger AFTER DELETE FOR EACH ROW. avant une requête de suppression de données du trigger AFTER DELETE STMT. après une requête d insertion du trigger INSTEAD OF INSERT FOR EACH ROW. après une requête d insertion du trigger INSTEAD OF INSERT STMT. après une requête de mise à jour des données du trigger INSTEAD OF UPDATE FOR EACH ROW. POST_BEFORE_UPD_STMT après une requête de mise à jour des données du trigger INSTEAD OF UPDATE STMT. POST_BEFORE_DEL_ROW POST_BEFORE_DEL_STMT POST_AFTER_INS_ROW POST_AFTER_INS_STMT POST_AFTER_UPD_ROW POST_AFTER_UPD_STMT POST_AFTER_DEL_ROW POST_AFTER_DEL_STMT après une requête de suppression de données du trigger INSTEAD OF DELETE FOR EACH ROW. après une requête de suppression de données du trigger INSTEAD OF DELETE STMT. après une requête d insertion du trigger AFTER INSERT FOR EACH ROW. après une requête d insertion du trigger AFTER INSERT STMT. après une requête de mise à jour des données du trigger AFTER UPDATE FOR EACH ROW. après une requête de mise à jour des données du trigger AFTER UPDATE STMT. après une requête de suppression de données du trigger AFTER DELETE FOR EACH ROW. après une requête de suppression de données du trigger Page 38 sur 42

APIs de table pour SQL Server

APIs de table pour SQL Server 2013 E - Bibliographie APIs de table pour SQL Server Établissement: HEG Arc - Haute école Arc - Gestion Réalisé par: M. Informaticien de gestion 2009-2013 S adresse à: M.Fabrice Camus Date de début et

Plus en détail

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur Qu est ce que Visual Guard Authentification Vérifier l identité d un utilisateur Autorisation Qu est-ce qu un utilisateur peut faire dans l application Audits et rapports Fonctionnalités d Audit et de

Plus en détail

Visual Paradigm Contraintes inter-associations

Visual Paradigm Contraintes inter-associations Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor

Plus en détail

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes. Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger

Plus en détail

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

PROJET 1 : BASE DE DONNÉES REPARTIES

PROJET 1 : BASE DE DONNÉES REPARTIES PROJET 1 : BASE DE DONNÉES REPARTIES GESTION D UNE BANQUE Elèves : David Bréchet Frédéric Jacot Charles Secrétan DONNÉES DU PROJET SSC - Bases de Données II Laboratoire de Bases de Données BD réparties

Plus en détail

Création et Gestion des tables

Création et Gestion des tables Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5

Plus en détail

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ----------------------------------------------------------------------------------------------------

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ---------------------------------------------------------------------------------------------------- ORGANISME REFERENCE STAGE : 26587 20 rue de l Arcade 75 008 PARIS CONTACT Couverture : M. Frédéric DIOLEZ Paris, Lyon, Bordeaux, Rouen, Toulouse, Marseille, Tél. : 09 88 66 17 40 Strasbourg, Nantes, Lille,

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

PostgreSQL, le cœur d un système critique

PostgreSQL, le cœur d un système critique PostgreSQL, le cœur d un système critique Jean-Christophe Arnu PostgreSQLFr Rencontres Mondiales du Logiciel Libre 2005 2005-07-06 Licence Creative Commons Paternité - Pas d utilisation commerciale - Partage

Plus en détail

SQL Historique 1982 1986 1992

SQL Historique 1982 1986 1992 SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse

Plus en détail

Votre premier projet Android

Votre premier projet Android 3 Votre premier projet Android Maintenant que le SDK Android est installé, il est temps de créer votre premier projet. La bonne nouvelle est qu il n exige aucune ligne de code les outils Android créent

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

Gestion de stock pour un magasin

Gestion de stock pour un magasin Département d Informatique Université de Fribourg, Suisse http://diuf.unifr.ch Gestion de stock pour un magasin Stock online utilise ASP/MS-Access DO Thi Tra My No étudiant : 05-333-750 Travail de séminaire

Plus en détail

Documentation de conception

Documentation de conception Documentation de conception La présente documentation précise les choix de modélisation, détaille les fonctionnalités (en sus de la documentation utilisateur), documente la conception de la base de donnes

Plus en détail

Data Tier Application avec SQL Server 2008 R2

Data Tier Application avec SQL Server 2008 R2 Data Tier Application avec SQL Server 2008 R2 Article par David BARBARIN (MVP SQL Server) David BARBARIN est actuellement consultant en bases de données pour une entreprise Suisse GOLD Partner Microsoft

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction - 2007, Frédéric Peschanski

S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction - 2007, Frédéric Peschanski S T L - C P S - L e s p l u g i n s E c l i p s e - Une Introduction - 2007, Frédéric Peschanski L a p l a t e f o r m e E c l i p s e Aperçu de la plateforme Eclipse Runtime Composants OSGI Equinoxe Plugins

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

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

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Avant de commencer à travailler avec le produit, il est nécessaire de comprendre, à un haut niveau, les problèmes en réponse desquels l outil a été

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

Créer un rapport pour Reporting Services

Créer un rapport pour Reporting Services Créer un rapport pour Reporting Services Comment créer des rapports pour SSRS Maintenant que nous avons vu que la version de SQL Server 2005 Express Edition with Advanced Services intègre SQL Server Reporting

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

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

< Atelier 1 /> Démarrer une application web

< Atelier 1 /> Démarrer une application web MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE

Plus en détail

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers Programme détaillé Objectifs de la formation Les systèmes de gestion de bases de données prennent aujourd'hui une importance considérable au regard des données qu'ils hébergent. Véritable épine dorsale

Plus en détail

Windows Server 2008 R2

Windows Server 2008 R2 Installation de SQL Server 2008 R2 Express Bouron Dimitri 31/01/2015 Ce document sert de démonstration concise pour l installation et quelques bonnes pratiques pour un Windows SQL Server 2008 R2 Express.

Plus en détail

Construire des plug-ins pour SAS Management Console SAS 9.1

Construire des plug-ins pour SAS Management Console SAS 9.1 Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION

Plus en détail

Générer du code à partir d une description de haut niveau

Générer du code à partir d une description de haut niveau Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,

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

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Ce projet comporte trois parties sur les thèmes suivants : création de base de donnée, requêtes SQL, mise en œuvre

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

Développement de base de données Microsoft SQL Server 2012. Durée : 5 jours Référence : DPSQL12. Contenu

Développement de base de données Microsoft SQL Server 2012. Durée : 5 jours Référence : DPSQL12. Contenu Développement de base de données Microsoft SQL Server 2012 Durée : 5 jours Référence : DPSQL12 Cette formation permet aux participants de maîtriser les fonctionnalités de Microsoft SQL Server 2012 telles

Plus en détail

Manuel d utilisation du Guichet électronique V2

Manuel d utilisation du Guichet électronique V2 Service Informatique (D443) Equipe du Guichet Manuel d utilisation du Guichet Version 1.0 Alpha 0 du 18/02/2011 Classification : Peu sensible Objet : Ce document est un manuel d utilisation du portail

Plus en détail

Modélisation et Gestion des bases de données avec mysql workbench

Modélisation et Gestion des bases de données avec mysql workbench Modélisation et Gestion des bases de données avec mysql workbench par novembre 2011 Table des matières 1 Installation 3 1.1 Ecran de chargement 3 1.2 Page d accueil 3 2 Réalisation d une base de données

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

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

Restaurer des données

Restaurer des données Restaurer des données Pré-requis à cette présentation La lecture de ce guide suppose que vous avez installé l agent SFR Backup sur l équipement que vous souhaitez sauvegarder. Il est également nécessaire

Plus en détail

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

//////////////////////////////////////////////////////////////////// Administration bases de données

//////////////////////////////////////////////////////////////////// Administration bases de données ////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données

Plus en détail

Tutorial sur SQL Server 2000

Tutorial sur SQL Server 2000 Tutorial sur SQL Server 2000 Système d'exploitation est 2000 pro et Serveur 2000 Sommaire 1 - Installation... 2 2 - Mise à jour... 5 3 - Présentation... 7 3-1 - Service Manager (Démarrer/Programmes/Microsoft

Plus en détail

TUTORIEL Qualit Eval. Introduction :

TUTORIEL Qualit Eval. Introduction : TUTORIEL Qualit Eval Introduction : Qualit Eval est à la fois un logiciel et un référentiel d évaluation de la qualité des prestations en établissements pour Personnes Agées. Notre outil a été spécifiquement

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes

Plus en détail

Procédure d'installation complète de Click&Decide sur un serveur

Procédure d'installation complète de Click&Decide sur un serveur Procédure d'installation complète de Click&Decide sur un serveur Prérequis du serveur : Windows 2008 R2 or greater (64-bits) Windows 2012 (64-bits) - Le composant IIS (Internet Information Services) de

Plus en détail

Les déclencheurs. Version 1.0. Grégory CASANOVA

Les déclencheurs. Version 1.0. Grégory CASANOVA Les déclencheurs Version 1.0 Grégory CASANOVA 2 Les déclencheurs [09/07/09] Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les déclencheurs du DML... 5 3.1 Introduction... 5 3.2 Création d un déclencheur

Plus en détail

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année

Plus en détail

La réplication sous SQL Server 2005

La réplication sous SQL Server 2005 La réplication sous SQL Server 2005 Mettre en place la réplication sur SQL Server 2005 La réplication des bases de données est une problématique classique dans les systèmes d'information. En effet, dans

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

1.2 Genèse. 1.3 Version de Designer utilisée

1.2 Genèse. 1.3 Version de Designer utilisée Designer et l ingénierie du logiciel Notions élémentaires P.-A. Sunier, ISNet Neuchâtel avec le concours de C. Kohler et P. Ferrara 1 Propos liminaires... 1 1.1 Objectifs de publication... 1 1.2 Genèse...

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

PHP 4 PARTIE : BASE DE DONNEES

PHP 4 PARTIE : BASE DE DONNEES PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux

Plus en détail

Installation et compilation de gnurbs sous Windows

Installation et compilation de gnurbs sous Windows Installation et compilation de gnurbs sous Windows Installation de l environnement de développement Code::Blocks (Environnement de développement) 1. Télécharger l installateur de Code::Blocks (version

Plus en détail

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits Manuel d initiation du Planificateur 2 INTRODUCTION 5 CHAPITRE I : INSTALLATION

Plus en détail

Chapitre 10. Architectures des systèmes de gestion de bases de données

Chapitre 10. Architectures des systèmes de gestion de bases de données Chapitre 10 Architectures des systèmes de gestion de bases de données Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér

Plus en détail

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

CATALOGUE FORMATIONS 2015. DOMAINE Bases de données

CATALOGUE FORMATIONS 2015. DOMAINE Bases de données DOMAINE Bases de données Version 1.0 - Octobre 2014 1, 2, 3 juin 2015 1, 2, 3 octobre 2015 CATALOGUE Analyse et conception d une base de données Elaboration de fiches de collecte de données Techniques

Plus en détail

Bases de données avancées Introduction

Bases de données avancées Introduction Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)

Plus en détail

Armand PY-PATINEC 2010

Armand PY-PATINEC 2010 Armand PY-PATINEC 2010 EPREUVE PRATIQUE : TABLEAU SYNOPTIQUE Activités Inventaire de bières et de leur lieu de fabrication Gestion des clients pour un programme de facturation Emploi du ruban de l interface

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

Plus en détail

Historisation des données

Historisation des données Historisation des données Partie 1 : mode colonne par Frédéric Brouard, alias SQLpro MVP SQL Server Expert langage SQL, SGBDR, modélisation de données Auteur de : SQLpro http://sqlpro.developpez.com/ "SQL",

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

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

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 «Web. De l intégration de pages statiques HTML à un CMS, à la dynamisation d un site grâce au Javascript et l utilisation de nouvelles technologies

Plus en détail

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...) Avant-propos 1. À qui s'adresse ce livre? 15 2. Pré-requis 15 3. Objectifs du livre 16 4. Notations 17 Introduction à la Business Intelligence 1. Du transactionnel au décisionnel 19 2. Business Intelligence

Plus en détail

wxwidgets dans un environnement Microsoft Windows

wxwidgets dans un environnement Microsoft Windows 1/18 wxwidgets dans un environnement Microsoft Windows Ce document explique les démarches à suivre pour pouvoir utiliser «wxwidgets» à travers un environnement de développement. Normalement c est ce que

Plus en détail

Bases de données et sites WEB

Bases de données et sites WEB Bases de données et sites WEB Cours2 : Sécurité et contrôles d accès Anne Doucet 1 Authentification Autorisation Privilèges Rôles Profils Limitations de ressources Plan Audit Contrôle d accès via les vues

Plus en détail

Gestion de base de données

Gestion de base de données Université Libre de Bruxelles Faculté de Philosophie et Lettres Département des Sciences de l Information et de la Communication Gestion de base de données Projet : Take Off ASBL Cours de M. A. Clève STIC-B-505

Plus en détail

Manipulation 4 : Application de «Change».

Manipulation 4 : Application de «Change». Manipulation 4 : Application de «Change». Première partie : Cette manipulation a pour but d utiliser un service Web afin d obtenir les taux de change appliqués entre les différentes monnaies référencées

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

LA GOUVERNANCE, OU COMMENT RAPPROCHER LES ÉQUIPES DE DÉVELOPPEMENT ET D INFRASTRUCTURE

LA GOUVERNANCE, OU COMMENT RAPPROCHER LES ÉQUIPES DE DÉVELOPPEMENT ET D INFRASTRUCTURE Sébastien Levert & Julien Stroheker LA GOUVERNANCE, OU COMMENT RAPPROCHER LES ÉQUIPES DE DÉVELOPPEMENT ET D INFRASTRUCTURE La gouvernance technique, pourquoi? L enjeu premier pour le maintien de votre

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

FORMATION TALEND. Page 1 sur 9

FORMATION TALEND. Page 1 sur 9 FORMATION TALEND Ce livret contient et détaille les formulaires que vous devez nous retourner avec votre bon de commande. Vous y trouverez aussi toutes les informations susceptibles de vous aider à organiser

Plus en détail

SQL Server 2012 - Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

SQL Server 2012 - Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos) Présentation 1. Introduction 13 2. Présentation de SQL Server 14 2.1 Qu'est-ce qu'un SGBDR? 14 2.2 Mode de fonctionnement Client/Serveur 16 2.3 Les plates-formes possibles 17 2.4 Les composants de SQL

Plus en détail

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s) Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)

Plus en détail

RÉALISATION D UN SITE DE RENCONTRE

RÉALISATION D UN SITE DE RENCONTRE RÉALISATION D UN SITE DE RENCONTRE Par Mathieu COUPE, Charlène DOUDOU et Stéphanie RANDRIANARIMANA Sous la coordination des professeurs d ISN du lycée Aristide Briand : Jérôme CANTALOUBE, Laurent BERNARD

Plus en détail

Eclipse atelier Java

Eclipse atelier Java Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

ESPACE COLLABORATIF SHAREPOINT

ESPACE COLLABORATIF SHAREPOINT Conseil de l Europe Service des Technologies de l Information ESPACE COLLABORATIF SHAREPOINT DOSSIER D UTILISATEUR 1/33 Sommaire 1. Présentation de SharePoint... 3 1.1. Connexion... 4 2. Les listes...

Plus en détail

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn 1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse

Plus en détail

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. Connexion à 4D Server depuis une page ASP Par Noreddine MARGOUM, Technicien Contrôle Qualité, 4D S.A. Note technique 4D-200403-08-FR Version 1 Date 1 Mars 2004 Résumé Le propos de cette note technique

Plus en détail

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :

Plus en détail