PROJET M1 SIGE (Inscription automatique au C2i) DOCUMENT D ANALYSE. Laurent BRIDELANCE Nicolas CAZIN Nicolas DOROTTE

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

Download "PROJET M1 SIGE 2005-2006 (Inscription automatique au C2i) DOCUMENT D ANALYSE. Laurent BRIDELANCE Nicolas CAZIN Nicolas DOROTTE"

Transcription

1 PROJET M1 SIGE (Inscription automatique au C2i) DOCUMENT D ANALYSE Laurent BRIDELANCE Nicolas CAZIN Nicolas DOROTTE

2 2 Table des matières 1 Analyse Présentation du problème Environnement Contraintes Choix des technologies et outils Technologies Outils Modèle à 3 couches Conception et Modélisation Cas d utilisation Point de vue Etudiant (Figure 3) Point de vue Correspondant UFR (Figure 4) Point de vue Administrateur (Figure 5) Diagrammes d activité Diagrammes de classes Diagramme préliminaire (Figure 10) Diagramme final (Figures 11 et 12) Diagrammes entité/association Diagramme préliminaire Diagramme final Implémentation Base de données Passage du schéma conceptuel à la création de la base Gestion des droits Procédures stockées Sauvegarde/Restauration Noyau c2i mail db daemons utils Interface Web Plan du site Gestion des requêtes Gestion de session

3 Connexion sécurisée Tests et Intégration du système Tests Organisation Tests des guides utilisateurs et d installation Performance du système Corrections et mises au point Driver JDBC Utilitaires Déploiement Limitations - Evolutions Interface Serveur Web Base de données Noyau Project management Development platform Development platform Security Problems Communication Meetings Mails, IM Wiki Tasks distribution and Gantt chart Analysis and modelling Implementation Documentation and tests Encountered difficulties A Appendix 51 B References 65 B.1 Bases de données B.2 J2EE B.3 J2SE B.4 Méthodologie UML

4 Analyse 4 1 Analyse 1.1 Présentation du problème Il s agit de concevoir et d écrire une application web permettant l inscription en ligne d étudiants à l examen du C2I et la gestion des horaires des sessions d examens auxquels ils s inscriront Environnement L environnement dans lequel va fonctionner notre application est le réseau local de l université de Cergy-Pontoise et par extension, l Internet. Plus exactement, l application va être hébergée sur un serveur HTTP. Nous verrons plus loin que le choix des technologies utilisées pour le développement va nous amener à modifier de façon mineure cet environnement, en particulier, le côté serveur Contraintes 1. Réutilisabilité La principale contrainte à respecter est celle de réutilisabilité. En effet, il est stipulé dans le cahier des charges que le système développé sera maintenu par des développeurs internes à l UCP les années suivantes. On veillera donc à utiliser des noms de variables pertinents, commenter abondamment le code, rédiger des documents et manuels propres et fonctionnels. Il est également important de concevoir de manière ouverte cette application et de ne pas faire d hypothèses simplificatrices concernant son l utilisation future. 2. Modularité Ce projet est à réaliser en groupe. Il est donc évident qu une structure modulaire est plus appropriée. De plus, une telle structure permet une maintenance aisée et facilite grandement la réutilisation. 3. Généricité L application doit être utilisable par n importe quel navigateur web. Ceci implique certains choix concernant les technologies utilisées et ne permet aucune hypothèse côté client. Nous considérerons le plus petit diviseur commun de ce que peut être un client web, à savoir un terminal léger minimaliste (faible résolution, peu de mémoire, peu de puissance de calcul et faible débit de transmission de données). La seule hypothèse que nous ferons est celle concernant le support de SSL par le navigateur (cf. HTTPS) qui n en est pas vraiment une étant donné que la très grande majorité des navigateurs supportent SSL (même les anciennes version).

5 Analyse Choix des technologies et outils Technologies 1. Servlets JAVA L utilisation d un langage objet s est imposée tout naturellement. La preuve de l utilité et de l efficacité de la conception objet n est plus à faire. L interface de notre logiciel se devant d être une interface web, nous nous sommes tournés vers JAVA et ses classes utilisables rapidement. Nous aurions pu utiliser des Applets, mais ce choix trop coûteux et lourd pour une application aussi simple a vite été rejeté. D une manière plus pragmatique, les Applets nécessitent l installation d un environnement JAVA sur chaque poste client. Ce qui est en contradiction avec la contrainte selon laquelle l application doit être accessible à partir de n importe quel navigateur. Les Servlets JAVA et JSP nous permettent toute la flexibilité et l efficacité dont nous avons besoin. Tant au niveau de l écriture des classes que de celle des pages web de l interface. La navigation est alors transparente, tout se passe comme si la page visitée était une page ordinaire. Les CGI quant à eux, malgré le fait qu ils permettent d utiliser divers langages de programmation, possèdent toutefois certains désavantages par rapport aux Servlets : on retiendra le fait qu un CGI est exécuté à chaque requête et que les CGI ne permettent pas les optimisations mises en œuvre par les Servlets : Mettre en cache des calculs précédents, garder une connexion avec une base de donnée ouverte. Notons qu il est également possible de partager des données entre Servlets. Un dernier point : l exécution d un Servlet JAVA se fait à l intérieur d une SANDBOX. Lorsqu un Servlet ou un Applet exécute une opération potentiellement dangereuse, l environnement demande au gestionnaire de sécurité l autorisation d exécuter son code. Si le code n est pas en adéquation avec la politique de sécurité de l environnement, l accès aux ressources systèmes n est plus autorisé. 2. Base de données et JDBC Il est fondamental pour une telle application de pouvoir assurer d une part la pérennité des données et d autre part l efficacité du traitement de ces dernières. Il est en effet impensable qu une inscription validée se retrouve erronée ou que les performances de l application s effondrent à cause du nombre d inscrits. L utilisation des pilotes JDBC se justifie quant à elle par le fait que la base de donnée installée sur le serveur n est pas définie. Les requêtes sont donc exécutées de manière standard, via le driver JDBC installé sur le système. Si la base de donnée venait à changer pour une raison ou pour une autre, seule la base de donnée serait à configurer. Aucune modification de l application ne serait nécessaire. De cette manière, les contraintes de réutilisabilité et de modularité sont respectées. Il est important de noter que la persistence des données peut être gérée d une manière bien différente. Avec les EJB, il est possible d implementer des classes JAVA et de faire en sorte que l accès à la base de données sous-jacente se fasse de manière transparente. En interne, les attributs de la classe sont mis en correspondance avec des attributs d une table de base de données. Dès lors qu une modification est opérée sur la classe, elle est répercutée sur la base de données. Bien qu à priori élégante, cette solution à deux inconveneant majeurs : l extrême lourdeur de la mise en oeuvre

6 Analyse 6 L utilisation des EJB nécessite d installer un service de plus (JONAS pour n en citer qu un), 4 fichiers supplémentaires par classe (2 fichiers JAVA, 2 fichiers XML) les performances Du fait de l utilisation d un service supplémentaire, les performances se voient déjà diminuées. Vient à s ajouter à cela la mise à jour instantanée de la base de données. Si pour une utilisation simple ceci encore acceptable, il est en revanche hors de question d utiliser des méthodes de mise à jour de manière intensive. Utiliser exclusivement des classes impose de traiter toutes les données au sein même de ces classes, dans les méthodes (services proposés à l interface utilisateur). Nous verrons plus loin qu il existe une autre alternative bien plus performante, taillée sur mesure et pas forcement moins élégante ou générique (notamment grâce à JDBC, le mécanisme d héritage de JAVA et les procédures stockées SQL). On se reportera à la section implementation. Un dernier choix que nous avons examiné puis rejeté est celui d utiliser ZOPE. Ce serveur est en fait un serveur d applications, capable évidemment de fonctionner avec des pages statiques et des bases de données relationnelles, mais aussi avec des bases de données objet. Chaque objet est stocké directement dans la base interne de ZOPE et les pages se programment d un façon peu commune. Cette technologie repose sur le langage PYTHON et nécessite donc un certain temps voir un temps certain de prise en main. Étant donné que nous n avons absolument aucune experience de programmation, encore moins de debugging sous PYTHON et que le temps imparti est limité, nous avons rejeté cette solution. 3. HTTPS Les données traitées sont à caractère personnel. Il est donc nécessaire de sécuriser l accès aux données. HTTPS permet de créer un canal sécurisé entre le client et le serveur. L utilisation de HTTPS est transparente. Toutes les requêtes sont traitées comme des requêtes ordinaires alors que les données transmises sont chiffrées grâce à un système de clefs. De plus, HTTPS est supporté par la grande majorité des serveurs HTTP. L utilisation de ce protocole reste en accord avec la contrainte de modularité. Les pages web et les Servlets sont ainsi développées indépendamment de la sécurisation des données. Bien que sécurisé, le protocole HTTPS est tout de même vulnérable aux attaques du type Man in the Middle : Ce genre d attaque est connu depuis un certain nombre d années et il existe bien Fig. 1 Schéma de l attaque Man in the middle

7 Analyse 7 évidemment un moyen de contourner ce genre d attaque. Grâce au SSL, le serveur Web est authentifié via un certificat X509 (l équivalent d une identité numérique). Ce certificat est signé par une autorité de certification (Certification Authority ou CA) reconnue internationalement et surtout par les navigateurs. Ainsi lorsqu un certificat n est pas conforme ou signé par une CA connue, le navigateur émet une alerte. 4. UML L intérêt d un tel formalisme est tout d abord de concevoir une application sans se soucier des détails d implémentation inhérents au langage de programmation utilisé. UML permet aussi de décrire avec beaucoup de pertinence une application, aussi bien aux programmeurs, concepteurs et utilisateurs, ce qui est assez rare et très utile. UML va donc nous permettre de nous concentrer sur la conception de notre application, tout en allant à l essentiel concernant sa documentation. D un point de vue plus pratique, UML va nous permettre de créer des diagrammes : bullet de cas d utilisation pour structurer les besoins des utilisateurs et les objectifs correspondant du système bullet d activité pour représenter graphiquement le comportement d une méthode ou d un cas d utilisation. (variante des états transition) bullet de déploiement pour présenter l architecture technique retenue. bullet de classes pour passer facilement à l implémentation avec un langage objet. De plus, le diagramme UML complet devant figurer dans la documentation, il est d autant plus judicieux de s appuyer sur UML pour concevoir notre application Outils 1. NetBeans En plus d être un IDE moderne et libre, NetBeans permet d implémenter, documenter du code JAVA avec une grande aisance ainsi que de tester des Servlets sans configurer explicitement un serveur HTTP adapté. Aussi, NetBeans propose un système de greffons (plugins), qui permettent entre autre de générer certaines parties de code à partir de diagrammes UML (squelettes des classes). 2. Visual Paradigm Ce logiciel qui se présente aussi sous la forme d un plugin de NetBeans, permet de Créer des diagrammes UML, de transformer du code JAVA en diagramme UML et inversement. Ceci nous permet de nous concentrer sur la conception du logiciel et de ne pas s attarder sur des interminables déclarations de classes et de variables. Ceci ne change en rien l écriture des méthodes en général, si ce n est le fait que tous les cas d utilisation sont prévus et gérés. Ce genre d outil présente un intérêt indéniable pour la conception et la réalisation de logiciels robustes. 3. Ant Ant est un outil qui permet de compiler du code source de manière efficace en gérant les dépendances vis à vis des fichier entre eux et ne recompilant que si nécessaire. C est un outil à la Make, basé sur JAVA, avec un certain nombre d inconveneants en moins. Pour n en citer qu un, les extensions de Make se font via le shell, qui est lui même dependant du système hôte. Ant quant à lui s étend grâce aux classes JAVA qui sont portables par définition. Un autre avantage est la souplesse dont fait preuve le parser de fichiers de configuration à l égard des fichiers :

8 Analyse 8 ceux de Ant sont Basés sur XML, ce qui implique la souplesse d utilisation liée à XML ainsi que l absence d apprentissage d un nouveau format de fichier. Enfin, Ant est intégré à NetBeans ce qui nous confère une utilisation efficace et unifiée de l IDE que nous avons choisi. Nous nous servirons donc de Ant pour écrire des scripts de déploiement de notre application. 4. JMeter JMeter est un outil JAVA de tests de montées en charge bien connu et éprouvé depuis plusieurs années (1998). Afin de prouver que nos choix technologiques sont pertinents et que notre application est parfaitement utilisable dans un cas réel, nous avons utilisé JMeter pour simuler différents types d utilisations avec plusieurs utilisateurs qui sont autant de Threads (processus légers) 5. JCrontab JCrontab est ni plus ni moins une version webapp du célèbre daemon UNIX : CRON. Il fonctionne exactement de la même manière, à la difference prêt que le contexte d execution est le conteneur de Servlet Tomcat. JCrontab est donc une application web au même titre que la notre. Elle nous permet d executer des tâches périodiques (maintenance ou avertissements par mail) et ceci quelque soit le système sur lequel est déployée notre application. 1.3 Modèle à 3 couches Suite à la lecture du sujet, 3 grandes parties se sont dégagées. Une première partie faisant office d interface entre l utilisateur et le système. Le sujet spécifie que l application doit être accessible depuis un navigateur internet, nous avons décidé de monter un site web remplissant cette fonction. La deuxième partie regroupe le stockage et l accès aux informations du système. La solution la plus efficace et rapide pour ce type de traitement est la mise en place d une base de données. Enfin, il nous fallait un moyen d encapsuler les requêtes transitant entre le serveur web et la base de données, nous avons donc développer une API servant d interface entre ces deux entités. Le diagramme suivant résume ce modèle à 3 couches : A partir de là,la répartition des tâches devient évidente. Chaque niveau n accédant à un autre que par le biais d une interface, nous avons décider d implémenter un niveau par personne. Remarque : nous n avons utilisé qu une seule machine pour notre système, regroupant le serveur web et le serveur de base de données, mais on voit bien que ces deux entités sont indépendantes et peuvent très bien être déployées sur des machines différentes (pour faciliter la maintenance ou minimiser les inconvénients en cas de panne par exemple).

9 Conception et Modélisation 9 Fig. 2 Modèle à 3 couches 2 Conception et Modélisation Nous avons vu plus haut que nous avons choisi UML lors de la phase de conception. C est donc tout naturellement que nous allons présenter ici notre conception sous forme de diagrammes qui sont autant de vues différentes du problème. Nous avons utilisé une démarche que l on pourrait qualifier de hiérarchique. Nous allons vous en présenter les couches successives. 2.1 Cas d utilisation Après plusieurs lectures attentives de l énoncé, la première étape de conception à été de définir clairement et définitivement les besoins des utilisateurs et les relations d interdépendances entre fonctionnalités. C est ici qu interviennent les diagrammes de cas d utilisation (Use case). Dans le soucis d une meilleure lisibilité, le diagramme d utilisation à été découpé en trois parties (un diagramme par rôle d utilisateur). Ils ne sont volontairement pas exhaustif, le but étant d avoir une idée claire du problème et non une implémentation directe Point de vue Etudiant (Figure 3) Point de vue Correspondant UFR (Figure 4) Point de vue Administrateur (Figure 5)

10 Conception et Modélisation 10 Fig. 3 Cas d utilisation pour l étudiant

11 Conception et Modélisation 11 Fig. 4 Cas d utilisation pour le correspondant

12 Conception et Modélisation 12 Fig. 5 Cas d utilisation pour l administrateur

13 Conception et Modélisation 13 On voit déjà apparaître une certaine structure redondante en observant ces diagrammes : 1 acteur 1 système d inscription 1 base de données Détaillons maintenant quelques unes de ces activités et tentons de dégager les concepts importants. 2.2 Diagrammes d activité Nous allons détailler certains cas d utilisation vus plus haut afin de faire ressortir les informations pertinentes pour la suite de la modélisation et de la conception. Certaines de ces activités pourront servir de base à l implémentation des méthodes mais ne constituent en aucun cas une implémentation complète. L implémentation sera en effet par moment différente pour mieux utiliser les spécificités des technologies que nous utilisons. Remarque : Tous les diagrammes d activité ne sont pas présentés ici afin d éviter de prendre de la place inutilement. Pour plus de détails reportez vous à l annexe. Seuls les activités principales sont représentées ici. On classe les activités par type d utilisateur du système : 1. Administrateur (a) Déléguer les droits Voir Figure 7 (b) Définir étendue créneau (c) Déterminer une date 2. Correspondant (a) Définir créneau Voir Figure 8 (b) Envoyer relance (c) Supprimer créneau (d) Vérifier candidats (e) Consulter Date 3. Etudiant (a) Créer compte candidat Voir Figure 9 (b) Modifier mot de passe 4. Mailer Daemon (a) Envoyer mail périodique 5. Système (a) Session (b) Requête (c) Envoyer un mail

14 Conception et Modélisation 14 Fig. 6 Diagramme d activité : Envoi mail périodique

15 Conception et Modélisation 15 Fig. 7 Diagramme d activité : déléguer les droits

16 Conception et Modélisation 16 Fig. 8 Diagramme d activité : définir créneau

17 Conception et Modélisation 17 Fig. 9 Diagramme d activité : créer compte candidat

18 Conception et Modélisation 18 Clairement, à la vue de la structure des couloirs d activités et des activités utilisées de manière répétitive, on note déjà le besoin d un système qui fait usage de formulaires pour transmettre la saisie utilisateur au système, d une base de données pour stocker de manière pérenne et sûre les informations gérées par le système, et de mails pour notifier les utilisateurs des changements. Ce qui est cohérent avec nos choix technologiques. 2.3 Diagrammes de classes Nous allons maintenant voir la modélisation en diagramme de classe de notre application. Nous ne présenterons ici que la partie principale du noyau, à savoir le package c2i, pour les autres packages, veuillez vous referrer à l annexe. Nous verrons deux versions de ce diagramme. La première version ayant été réalisée après lecture de l énoncé, pendant la phase de modélisation. La seconde reflétant l état du package à la fin du développement Diagramme préliminaire (Figure 10) Fig. 10 Diagramme préliminaire

19 Conception et Modélisation 19 Le diagramme préliminaire comme on peut le voir est composé des principales ressources utilisées dans le système c est-à-dire : User, Student, Correspondent, Admin, Site, Classroom, Timeslot. Cela représente en fait une quasi-relation de un vers un avec la base de donnée. En effet, chaque entité du diagramme est un accès vers une table dans la base de donnée. Celles-ci sont composées principalement d accesseurs get et set vers un attribut de la table correspondante. De plus, leur contenu est implémenté à l aide de requête SQL. On note aussi d autres méthodes importantes telles que createtimeslot, logon,... qui correspondent elles à l implémentation des fonctions que doit réaliser notre système. Ce diagramme représente donc l objectif idyllique final que l on souhaite atteindre mais évidemment il ne tient pas compte de la réalité de l implémentation. C est ce que corrige le version final du diagramme suivant Diagramme final (Figures 11 et 12) Le diagramme final comme nous le disions auparavant tient compte lui de la réalité de l implémentation. Ceci se traduit tout d abord par le fait que la plupart des accesseurs set ont disparu puisqu ils n étaient pas utilisés. La classe Reminder a fait son apparition, elle gère le système d envoi de mail lorsqu une notification a lieu d être par exemple à la suite de la suppression d un créneau. Les classes Site, Classroom et Timeslot en dérivent. On a aussi un changement majeur : la classe Admin dérive de Correspondent car nous nous sommes aperçu qu un administrateur est aussi un correspondant du système. Pour conclure, le diagramme de classes final emploie pratiquement les mêmes entités et relations que le premier hormis deux changements, mais la plus grosse différence provient du contenu des classes qui a changé pour tenir compte des nouvelles fonctionnalités ajoutées au système.

20 Conception et Modélisation 20 Fig. 11 Package c2i (première partie)

21 Conception et Modélisation 21 Fig. 12 Package c2i (deuxième partie) 2.4 Diagrammes entité/association Cette partie présente la première phase de la conception de la base de donnée. Deux diagrammes sont présentés : Un diagramme préliminaire qui représente le premier schéma stable qui a été proposé. Un diagramme final qui tient compte des modifications qui ont été nécessaires pour l implémentation.

22 Conception et Modélisation Diagramme préliminaire Fig. 13 Diagramme ER Initial

23 Conception et Modélisation Diagramme final Fig. 14 Diagramme ER Final

24 Implémentation 24 3 Implémentation Après avoir modélisé notre système, il nous reste maintenant à l implémenter. Notre application étant divisée en 3 niveaux, nous allons voir 3 grandes parties expliquant ces différents niveaux, où chacun d entre nous expliquera le travail qu il a fourni. 3.1 Base de données Dans cette partie, nous allons introduire la mise en place de la base de données. Comme précédemment exposé, le choix s est porté sur une base PostgreSQL plutôt que MySQL car cette dernière ne supporte pas certaines caractéristiques intéressantes telles que les vues ou le support total des contraintes (clause CHECK). De plus PostgreSQL est très proche de la norme ANSI SQL, ce qui n est pas le cas de MySQL. En ce qui concerne les transactions, PostgreSQL les intègre automatiquement sur toutes les tables alors que dans MySQL celles-ci doivent être déclarées en innodb. De plus PostgreSQL supporte depuis longtemps les procédures stockées, alors que cette caractéristique vient juste d être implémentées dans MySQL et donc nous ne possèdons pas du recul suffisant. C est donc tout naturellement que le choix s est porté sur PostgreSQL Passage du schéma conceptuel à la création de la base La première étape du travail est de passer du schéma entité-relation à la création de la base de données. Un ensemble d utilitaires est fourni avec la distribution de PostgreSQL. En l occurrence une application createdb permet de concevoir la base facilement. Une fois ceci fait un script dbcreate.sql a été conçu à partir du modèle ER présenté plus haut. Maintenant, il s agit d envoyer ce script vers la base. Cela se fait simplement en utilisant la commande client psql de cette manière : psql nom de base -f nom du script A présent, nous possédons les outils pour concevoir physiquement notre base de données. Expliquons maintenant comme passer du schéma à un ensemble de commandes SQL : Chaque entité dans le modèle ER est convertie en une table dans la base de données à l aide de la commande SQL : CREATE TABLE nom entité ( liste attributs ) ; où liste attributs représente les attributs de l entité avec leurs types et d éventuelles contraintes.

25 Implémentation 25 Exemple : Création de la table USER C2I CREATE TABLE USER_C2I ( login VARCHAR(16) NOT NULL PRIMARY KEY, password VARCHAR(255) NOT NULL, VARCHAR(255) NOT NULL CHECK( LIKE ), rights CHAR(1) NOT NULL, logged BOOL NOT NULL DEFAULT FALSE, is_validated BOOLEAN NOT NULL DEFAULT FALSE, CHECK (rights IN ( A, S, C, 0 )) ); Sur cet exemple, on peut noter l emploi d un certain nombre de contraintes : Contrainte de domaine : Réaliser à l aide de CHECK pour vérifier si une valeur est bien dans un ensemble. Contrainte de non-nullité : Réaliser à l aide de NOT NULL. Cet attribut a toujours une valeur. Contrainte unicité de clé : Ici réaliser par la clé primaire login. On ne peut avoir deux utilisateurs avec le même login. Les relations sont traduites à l aide de tables dans la base de données. Ces tables contiennent des clés étrangères vers les entités qu elles relient, plus des attributs si nécessaire. Example : Relation USER IS STUDENT CREATE TABLE USER_IS_STUDENT ( nip VARCHAR(8) NOT NULL, login VARCHAR(16) NOT NULL, FOREIGN KEY (nip) REFERENCES STUDENT(nip) ON DELETE CASCADE, FOREIGN KEY (login) REFERENCES USER_C2I(login) ON DELETE CASCADE, UNIQUE(nip), UNIQUE(login) ); Ainsi cette relation lie les entités STUDENT et USER C2I. On ajoute donc deux clés étrangères qui pointent vers les clés primaires de chacune de ces deux tables. De plus, pour avoir l unicité de la relation on ajoute aussi deux contraintes de dépendances fonctionnelles sur les attributs nip et login Gestion des droits Création des utilisateurs Un travail important a été fourni sur la gestion des droits d accès à la base de données. Dans un premier temps quatre utilisateurs sont crées : user c2i, student, admin, correspondent. En effet, quand un utilisateur se connecte sur le site et qu il rentre son login/password,

26 Implémentation 26 le compte user c2i est utilisé pour vérifier l exactitude du compte. Ensuite s il s agit d un étudiant le compte student sera utilisé, de la même manière pour admin et correspondent. Cette méthode nous a permis de limiter les droits d accès à la base de données et éviter d éventuels piratages de la base de données. En effet, un compte student n a pas les mêmes privilèges * qu un compte admin. Pour créer un utilisateur, on utilise la commande suivante : CREATE USER nom utilisateur WITH PASSWORD mot de passe ; Attribution des droits Présentons les principaux type de droits : SELECT : Permet de faire des lectures sur des tables. INSERT : Permet de faire des ajouts de lignes dans une table. UPDATE : Permet de faire des modifications de lignes dans une table. DELETE : Permet de faire des suppressions de lignes dans une table. Pour mettre des droits à un utilisateur, on utilise la commande suivante : GRANT droits ON nom table TO nom utilisateur ; Procédures stockées Dans un premier temps, nous avons développé un certain nombre de fonctions dans le noyau. Mais au fil du temps, celle-ci se sont avérées compliquées à écrire et surtout de multiples requêtes étaient effectuées. Ce dernier point ralentissait considérablement le fonctionnement du système. Pour introduire le language à utiliser dans la base de données la commande createlang est utilisé : createlang plpgsql nom de base Ainsi, nous avons décidé d utiliser pleinement les fonctionnalités du SGBDR et de transposer les fonctions en procédures SQL dans le language pl/pgsql. Ce dernier n est autre qu un language composé des requêtes standards SELECT, IN- SERT, etc... augmenté des notions de variables, tests, et boucles. Du coté noyau, on appelle simplement la procédure qui fait le même travail mais coté base de données. D où un gain de performance énorme. Exemple : La procédure Logon /* This function is the base of the login system. It takes two parameters login and password. It returns a character which represents the rights of the user or # if the user is already connected */ CREATE OR REPLACE FUNCTION logon(varchar(16), VARCHAR(255)) RETURNS CHAR(1) AS $BODY$ DECLARE

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

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

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

Plus en détail

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

Chapitre 4 Les Servlets. 1. Qu'est-ce qu'une Servlet? 1.1 Présentation. 1.2 Requêtes HTTP

Chapitre 4 Les Servlets. 1. Qu'est-ce qu'une Servlet? 1.1 Présentation. 1.2 Requêtes HTTP 210 Les Servlets 1. Qu'est-ce qu'une Servlet? 1.1 Présentation Les Servlets sont la base de la programmation Java EE. La conception d'un site Web dynamique en Java repose sur ces éléments. Une Servlet

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Les procédures stockées et les fonctions utilisateur

Les procédures stockées et les fonctions utilisateur Les procédures stockées et les fonctions utilisateur Z Grégory CASANOVA 2 Les procédures stockées et les fonctions utilisateur [08/07/09] Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les procédures

Plus en détail

Gestion d une école. FABRE Maxime FOUCHE Alexis LEPOT Florian

Gestion d une école. FABRE Maxime FOUCHE Alexis LEPOT Florian Gestion d une école FABRE Maxime 2015 Sommaire Introduction... 2 I. Présentation du projet... 3 1- Lancement de l application... 3 Fonctionnalités réalisées... 4 A. Le serveur... 4 1 - Le réseau... 4 2

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

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

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

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

Exemple de rapport simplifié de Test de charge

Exemple de rapport simplifié de Test de charge syloe.fr http://www.syloe.fr/conseil/test de charge/exemple de rapport simplifie de test de charge/ Exemple de rapport simplifié de Test de charge Contexte du test de charge Un client nous soumet une problématique

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

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

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

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

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

Introduction ASP.NET

Introduction ASP.NET 1 Sommaire Introduction... 1 1 Framework... 2 1.1 Général (.NET)... 2 1.2 ASP.NET... 2 2 Prérequis... 2 3 Présentation des bases d un projet ASP.NET... 3 3.1 Création d un projet... 3 3.2 Site Web : Les

Plus en détail

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site

Plus en détail

Vulnérabilités et sécurisation des applications Web

Vulnérabilités et sécurisation des applications Web OSSIR 09/09/2002 Vulnérabilités, attaques et sécurisation des applications Web Pourquoi les firewalls sont impuissants patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com Page 1 Planning

Plus en détail

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

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

Plus en détail

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

Bien architecturer une application REST

Bien architecturer une application REST Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

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

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux Avant-propos 1. À qui s adresse ce livre? 11 2. Les pré-requis 12 Préambule 1. Rappel sur les architectures Internet/Intranet/Extranet 13 1.1 Le protocole HTTP 14 1.1.1 Les méthodes HTTP 16 1.1.2 Les codes

Plus en détail

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture

Plus en détail

Instructions d installation de IBM SPSS Modeler Server 15 pour Windows

Instructions d installation de IBM SPSS Modeler Server 15 pour Windows Instructions d installation de IBM SPSS Modeler Server 15 pour Windows IBM SPSS Modeler Server peut être installé et configuré de manière à s exécuter en mode d analyse réparti, avec une ou plusieurs installations

Plus en détail

Introduction JOOMLA. Fonctionnalités. Avantages. Hainaut P. 2013 - www.coursonline.be 1. Joomla est un système de gestion de contenu CMS open source

Introduction JOOMLA. Fonctionnalités. Avantages. Hainaut P. 2013 - www.coursonline.be 1. Joomla est un système de gestion de contenu CMS open source JOOMLA Introduction Joomla est un système de gestion de contenu CMS open source Il permet la conception rapide de sites Web avec une présentation soignée et une navigation très simple C est l outil idéal

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

Cours 7 : Langage de définition, manipulation et contrôle des données

Cours 7 : Langage de définition, manipulation et contrôle des données Cours 7 : Langage de définition, manipulation et contrôle des données Objets d une base de données Dans un schéma Tables, vues Index, clusters, séquences, synonymes Packages, procédures, fonctions, déclencheurs

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

Calendrier des Formations

Calendrier des Formations Systèmes et Réseaux IPV6 980,00 HT Jan. Fév. Mar. Avr. Mai Juin Jui. Août Sept. Oct. Nov. Déc. Comprendre IPV6 et explorer les méthodes pour migrer 14-15 23-24 1-2 26-27 Configuration et Maintenance des

Plus en détail

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Partie 1 : Notion de bases de données (Conception

Plus en détail

Projet : site web de gestion d itinéraires de voyage

Projet : site web de gestion d itinéraires de voyage Projet : site web de gestion d itinéraires de voyage Partie 1 (modélisation et architecture du site) UCBL - Département Informatique de Lyon 1 LIF4 - automne 2014 1 Description générale du projet Le projet

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Hébergement de sites Web

Hébergement de sites Web Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise

Plus en détail

La sécurisation d applications

La sécurisation d applications Université Toulouse 1 Sciences Sociales 10 mars 2008 Les firewalls ne suffisent plus Mais ont-ils jamais été suffisants? La protection à 100% n existe pas. De plus certains protocoles doivent absolument

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

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Fiche Technique Windows Azure

Fiche Technique Windows Azure Le 25/03/2013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche Technique Objectif 25/03/2013 27/03/2013 Windows

Plus en détail

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

Plus en détail

Sécurité Informatique

Sécurité Informatique Avertissements : Le contenu de ce document est sous licence GPL. Le document est librement diffusable dans le contexte de cette licence. Toute modification est encouragée et doit être signalée à olivier

Plus en détail

Cours de Base de Données Cours n.2 Introduction à MySQL/PhPMyAdmin

Cours de Base de Données Cours n.2 Introduction à MySQL/PhPMyAdmin Cours de Base de Données Cours n.2 Introduction à MySQL/PhPMyAdmin Ce cours reprend beaucoup de transparents du cours de Philippe LAHIRE Elisabetta De Maria - edemaria@i3s.unice.fr UFR Sciences et Laboratoire

Plus en détail

À propos de l intégration continue dans Xcode

À propos de l intégration continue dans Xcode À propos de l intégration continue dans Xcode Table des matières À propos de l intégration continue dans Xcode 4 En bref 4 Installer et configurer le service Xcode 4 Connecter le service Xcode aux dépôts

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

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

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL . THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,

Plus en détail

IKAN ALM et HP ALM/HP Quality Center Enterprise Pour que les Equipes de Développement, de Test et de Production se rejoignent

IKAN ALM et HP ALM/HP Quality Center Enterprise Pour que les Equipes de Développement, de Test et de Production se rejoignent IKAN ALM et HP ALM/HP Quality Center Enterprise Pour que les Equipes de Développement, de Test et de Production se rejoignent Table of contents Sommaire...3 Définition du problème...4 Solution Description...5

Plus en détail

EISTI. Oracle Toplink. Manuel d installation et d utilisation

EISTI. Oracle Toplink. Manuel d installation et d utilisation EISTI Oracle Toplink Manuel d installation et d utilisation VILLETTE Charles, BEQUET Pierre, DE SAINT MARTIN Cédric, CALAY-ROCHE Vincent, NAUTRE Francois 20/05/2010 Ce manuel d installation et d utilisation

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

SITE WEB E-COMMERCE ET VENTE A DISTANCE

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

Plus en détail

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

FileMaker Server 14. Guide de démarrage

FileMaker Server 14. Guide de démarrage FileMaker Server 14 Guide de démarrage 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

TP1 - Corrigé. Manipulations de données

TP1 - Corrigé. Manipulations de données TP1 - Corrigé Manipulations de données 1. Démarrez mysql comme suit : bash$ mysql -h 127.0.0.1 -u user4 -D db_4 p Remarque: le mot de passe est le nom de user. Ici user4 2. Afficher la liste des bases

Plus en détail

Rapport de Cryptographie

Rapport de Cryptographie Cryptographie [MIF30] / Année 2008-2009 Rapport de Cryptographie Les Injections SQL Sylvie Tixier & François-Xavier Charlet Page 1 20/05/2009 Sommaire Introduction...3 Définition d une injection SQL...3

Plus en détail

Bases de Données relationnelles et leurs systèmes de Gestion

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

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

Vulnérabilités et sécurisation des applications Web

Vulnérabilités et sécurisation des applications Web Rencontres SPIRAL 25/02/03 Vulnérabilités et sécurisation des applications Web Pourquoi les firewalls sont impuissants face à certaines attaques patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com

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

WebFTP Un client Web sécurisé pour FTP

WebFTP Un client Web sécurisé pour FTP WebFTP Un client Web sécurisé pour FTP Jirung Albert SHIH, Shih@math.Jussieu.fr Université Paris 7 JRES 2001 Introduction Nous allons dans ce document présenter une solution mise en œuvre sur le réseau

Plus en détail

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09 INFORMATIQUE & WEB Code du diplôme : CP09 Passionné par l informatique et le web, vous souhaitez obtenir une certification dans un domaine porteur et enrichir votre CV? PARCOURS CERTIFICAT PROFESSIONNEL

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Servlets, beans, base de données

Servlets, beans, base de données Institut Galilée E-services Année 2014-2015 Master 2 T.P. 2 Servlets, beans, base de données L objectif de ce TP est de mettre en place un site web pour l administration et la commande de pizzas : une

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO) CIBLE DE SECURITE CSPN DU PRODUIT PASS (Product for Advanced SSO) Préparé pour : ANSSI Préparé par: Thales Communications & Security S.A. 4 Avenue des Louvresses 92622 GENNEVILLIERS CEDEX France This document

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

Document de réalisation Mise en œuvre d une infrastructure de sécurité dans une architecture orientée services

Document de réalisation Mise en œuvre d une infrastructure de sécurité dans une architecture orientée services Document de réalisation Mise en œuvre d une infrastructure de sécurité dans une architecture orientée services Version : 0.9 Auteurs : Olivier MALGRAS Anne-Sophie TRANCHET Encadrants : Olivier PERRIN Aymen

Plus en détail

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin Sécurité des sites Web Pas un cours un recueil du net INF340 Jean-François Berdjugin Vulnérabilité Définition (wikipédia) : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse

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

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

Introduction. Python?

Introduction. Python? 1 Introduction Python - why settle for snake oil when you can have the whole snake? «Python - Pourquoi se contenter d huile de serpent quand on peut avoir le serpent tout entier?» Mark Jackson En guise

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

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Appel à expérimentations Livret A

Appel à expérimentations Livret A Appel à expérimentations Livret A Le présent document de travail a été établi par le Lab Réseaux et Techniques (Lab R&T) Travaux coordonnés par Jean-Michel Planche avec l appui de Loïc Baud Appel à Expérimentations

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

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

QCM 2. Informatique générale. 1. Le nombre binaire 1011 vaut en décimal : a) 7 b) 9 c) 33 d) 11. 2. Le nombre qui suit le nombre 4 en base 5 est :

QCM 2. Informatique générale. 1. Le nombre binaire 1011 vaut en décimal : a) 7 b) 9 c) 33 d) 11. 2. Le nombre qui suit le nombre 4 en base 5 est : QCM 2 Informatique générale 1. Le nombre binaire 1011 vaut en décimal : a) 7 b) 9 c) 33 d) 11 2. Le nombre qui suit le nombre 4 en base 5 est : a) 10 b) 5 c) 0 d) A 3. Combien y'a t-il d'octets dans un

Plus en détail

Architecture des applications

Architecture des applications Architecture des applications Table des matières 1 Introduction 1 2 Les classes valeurs 2 2.1 Les Javaeans............................................. 2 2.2 Les différents types de Javaeans...................................

Plus en détail

3.3. Installation de Cacti

3.3. Installation de Cacti Cacti comme beaucoup de programmes sous linux cacti s appuis sur d autres programmes pour fonctionner ainsi Cacti nécessite l installation d un serveur LAMP (Linux, Apache, Mysql, Php) pour fonctionner,

Plus en détail

Module FMIN358 Technologies du Web : PHP objet et l extension PDO

Module FMIN358 Technologies du Web : PHP objet et l extension PDO Module FMIN358 Technologies du Web : PHP objet et l extension PDO 1. Extensions PHP pour interfacer les bases de données relationnelles Diverses extensions comme PHP Data Objects (PDO), ADOdb, Zend db

Plus en détail

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE PUBLICATION CPA-2011-102-R1 - Mai 2011 SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE Par : François Tremblay, chargé de projet au Centre de production automatisée Introduction À l

Plus en détail

Recommandations pour le raccordement d automates Saia PCD à l Internet

Recommandations pour le raccordement d automates Saia PCD à l Internet Recommandations pour le raccordement d automates Saia PCD à l Internet Historique du document Version Élaboration Publication Remarques FR01 06.05.2013 06.05.2013 FR04 14-02-2014 14-02-2014 Nouveau logo

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

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

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

Plus en détail

Introduction aux principes de la technologie Internet

Introduction aux principes de la technologie Internet 1 Introduction aux principes de la technologie Internet Je suis impliqué dans le commerce électronique depuis un bon bout de temps : j ai vendu des Casios dans les rues de New York! Il y a à peine quelques

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

FileMaker Pro 12. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 12

FileMaker Pro 12. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 12 FileMaker Pro 12 Utilisation d une Connexion Bureau à distance avec FileMaker Pro 12 2007-2012 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054

Plus en détail

«clustering» et «load balancing» avec Zope et ZEO

«clustering» et «load balancing» avec Zope et ZEO IN53 Printemps 2003 «clustering» et «load balancing» avec Zope et ZEO Professeur : M. Mignot Etudiants : Boureliou Sylvain et Meyer Pierre Sommaire Introduction...3 1. Présentation générale de ZEO...4

Plus en détail

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13 FileMaker Pro 13 Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13 2007-2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054

Plus en détail

TP1 - Prise en main de l environnement Unix.

TP1 - Prise en main de l environnement Unix. Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

I4 : Bases de Données

I4 : Bases de Données I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables

Plus en détail