Gestion des incidents Dossier concernant la création de l application Réalisé par Julien Thouin, Guillaume Rodier, Vincent Edeyer et Charles Duprey 1/10
Gestion des incidents Dossier concernant la création de l application 1> Contexte. Sommaire 2> Dictionnaire de données. a> Tables présentes dans la base de données. b> Règles de gestion. c> MEA des incidents. d> Modèle relationnel. 3> Script SQL et jeu d essai. 4> Maquette. 5> Détail des réunions. 6> Planning de répartition des tâches. 2/10
Gestion des incidents Dossier concernant la création de l application 1> Contexte. Le lycée Saint Vincent souhaite pouvoir automatiser la gestion des éventuels incidents au sein du lycée. Pour cela, il nous est demandé de créer une application pour pouvoir enregistrer différentes données tel que le rapporteur, la nature de l incident, la date, la description, le lieu, sa sévérité et son état actuel (en cours, à traiter, ). 2> Dictionnaire de données. a> Tables présentes dans la base de données. Voici un tableau vous présentant les tables présentent dans la base de données ainsi que les attributs de chaque table. Cela va nous permettre d enregistrer les données saisie lors de la saisie du rapport d incident afin de les réutiliser par la suite. b> Règles de gestion. Les règles de gestion sont les règles qui font le lien entre les entités et les associations. En effet, ces règles sont importantes pour pouvoir comprendre les relations présentes entre les éléments d une base de donnée. RG1 : Un rapporteur peut rapporter plusieurs incidents. RG2 : Un incident a été rapporté par un rapporteur. RG3 : Un incident correspond à une nature d incident. RG4 : Une nature d incident fait référence à plusieurs incidents. Ci-dessous : Le tableau est la présentation de la base de données. 3/10
c> MEA des incidents. Le MEA (Modèle Entité-Association) permet quant à lui de représenter de façon schématique la base de donnée en y insérant les règles de gestion. La notion de cardinalité minimum/maximum est liée aux type de liaison inter-entités. La cardinalité minimum est le nombre minimum d occurrences d une entité X dans l association considérée. Par exemple, dans la relation «être Humain» réside dans un appartement. Du côté «être Humain» la cardinalité minimum est 1 et celle du côté appartement est 0. La cardinalité maximum est le nombre maximum d occurrences d une entité X dans l association considérée. Par exemple, dans la relation «être Humain» réside dans un appartement. Du côté «être Humain» la cardinalité maximum est 1 et celle du côté appartement est n. Ci-dessous : le MEA est le schéma permettant de représenter les entités et les relations concernant le sujet traité d> Modèle relationnel. Le modèle relationnel est basé sur une organisation des données sous forme de tables. La manipulation des données se fait selon le concept mathématique de relation de la théorie des ensembles, c est-à-dire l algèbre relationnelle. L algèbre relationnelle a été inventée en 1970 par E.F. Codd, le directeur de recherche du centre IBM de San José. Elle est constituée d un ensemble d opérations formelles sur les relations. Les opérations relationnelles permettent de créer une nouvelle relation (table) à partir d opérations élémentaires sur d autres tables (par exemple l union, l intersection, ou encore la différence). Ci-dessous : le modèle relationnel de la base de donnée est présente pour vous montrer le détail des clés primaires et étrangères. RAPPORTEUR(id_rapporteur, nom_rapporteur, prenom_rapporteur) Clé primaire : id_rapporteur INCIDENT(id_incident, id_rapporteur, id_nature, lieu_incident, description_ incident, severite_incident, date_incident, etat_incident) Clé primaire : id_incident,id_rapporteur, id_nature Clé étrangère : id_rapporteur en référence à id_rapporteur de rapporteur Clé étrangère : id_nature en référence à id_nature de nature NATURE_INCIDENT(id_nature, libelle_nature) Clé primaire : id_nature 4/10
3> Script SQL et jeu d essai. Le SQL (sigle de Structured Query Language, en français langage de requête structurée) est un langage informatique normalisé servant à exploiter des bases de données relationnelles. La partie langage de manipulation des données de SQL permet de rechercher, d ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles. Base de données : GEST_INCIDENT Supprimer l ancienne version de la base de données incident DROP DATABASE incident ; DROP TABLE incident ; DROP TABLE nature_incident ; DROP TABLE rapporteur ; Créer une nouvelle version de la base de données incident CREATE DATABASE GEST_INCIDENT; USE GEST_INCIDENT; Structure de la table NATURE_INCIDENT CREATE TABLE NATURE_INCIDENT ( id_nature int(11) AUTO_INCREMENT NOT NULL, libelle_nature varchar(255) NOT NULL, PRIMARY KEY (id_nature) ); Contenu de la table NATURE_INCIDENT INSERT INTO NATURE_INCIDENT VALUES (1, «Informatique»); INSERT INTO NATURE_INCIDENT VALUES (2, «Propreté»); INSERT INTO NATURE_INCIDENT VALUES (3, «Matériel»); INSERT INTO NATURE_INCIDENT VALUES (4, «Santé»); INSERT INTO NATURE_INCIDENT VALUES (5, «Vandalisme»); Structure de la table RAPPORTEUR CREATE TABLE RAPPORTEUR ( id_rapporteur int(11) AUTO_INCREMENT NOT NULL, nom_rapporteur varchar(255) NOT NULL, 5/10
); prenom_rapporteur varchar(255) NOT NULL, PRIMARY KEY (id_rapporteur) Contenu de la table RAPPORTEUR INSERT INTO RAPPORTEUR VALUES (1, «Idasiak», «Mikaël»); INSERT INTO RAPPORTEUR VALUES (2, «Ammar», «Fethi»); INSERT INTO RAPPORTEUR VALUES (3, «Kintzler», «Agnès»); INSERT INTO RAPPORTEUR VALUES (4, «Laloy», «Hélène»); INSERT INTO RAPPORTEUR VALUES (5, «Plaisance», «Claire»); INSERT INTO RAPPORTEUR VALUES (6, «Blanchard», «Annie»); INSERT INTO RAPPORTEUR VALUES (7, «Daniel», «Gaël»); INSERT INTO RAPPORTEUR VALUES (8, «Dodemont», «Jean-Bernard»); Structure de la table INCIDENT CREATE TABLE INCIDENT ( id_incident int(11) AUTO_INCREMENT NOT NULL, id_rapporteur int(11) NOT NULL, id_rature int(11) NOT NULL, lieu_incident varchar(255) NOT NULL, description_incident text NOT NULL, severite_incident varchar(255) NOT NULL, date_incident date NOT NULL, etat_incident int(11), PRIMARY KEY (id_incident), FOREIGN KEY (idrapporteur) REFERENCES RAPPORTEUR (id_rapporteur), FOREIGN KEY (idnature) REFERENCES NATURE_INCIDENT (id_nature) ); Contenu de la table INCIDENT INSERT INTO INCIDENT VALUES (1, 1, 1, «SL 28», «Coupure internet», «IMPORTANT», 2015-03-17, NULL); INSERT INTO INCIDENT VALUES (2, 2, 2, «SL 28», «Présence de rats», «IMPORTANT», 2015-03-25, NULL); INSERT INTO INCIDENT VALUES (3, 8, 3, «SL 28», «Explosion d un ordinateur», «IMPORTANT», 2015-03-24, NULL); INSERT INTO INCIDENT VALUES (4, 3, 1, «SL 23», «Connexion impossible au serveur», «FAIBLE», 2015-03-17, NULL); INSERT INTO INCIDENT VALUES (5, 4, 1, «SL 28», «PC qui démarre sous ubuntu», «FAIBLE», 2015-03-22, NULL); INSERT INTO INCIDENT VALUES (6, 5, 3, «SL 28», «Étagère cassée», «FAIBLE», 2015-03- 18, NULL); INSERT INTO INCIDENT VALUES (7, 6, 3, «SL 28», «Dégâts des eaux», «IMPORTANT», 2015-03-11, NULL); INSERT INTO INCIDENT VALUES (8, 7, 2, «Toilette», «Toilette sale», «FAIBLE», 2015-03- 18, NULL); INSERT INTO INCIDENT VALUES (9, 8, 3, «Foyer», «Dégât des eaux», «IMPORTANT», 2015-03-09, NULL); INSERT INTO INCIDENT VALUES (10, 6, 4, «Infirmerie», «Crise d épilepsie», «IMPORTANT», 2015-03-05, NULL); 6/10
INSERT INTO INCIDENT VALUES (11, 3, 3, «Couloirs», «Début d incendie», «IMPORTANT», 2015-03-01, NULL); INSERT INTO INCIDENT VALUES (12, 4, 5, «Couloirs», «Graffiti», «FAIBLE», 2015-03-02, NULL); INSERT INTO INCIDENT VALUES (13, 2, 4, «Infirmerie», «Crise d angoisse», «IMPORTANT», 2015-03-04, NULL); INSERT INTO INCIDENT VALUES (14, 1, 5, «SL 28», «Vol de vidéo projecteur», «IMPORTANT», 2015-03-02, NULL); Ci-dessous : la capture d écran est la première étape dans l importation du script SQL dans la base de données. Ci-dessous : cette capture d écran est la deuxième étape permettant de voir si le script s est correctement déroulé. Ici, tout s est bien passé. 7/10
4> Maquette. La maquette de l application nous a permis de mettre en place les fonctionnalités afin de les mettre en place et de les développer. La maquette a été réalisée grâce au logiciel axure, ayant pour but d avoir une idée sur la mise en page de nos projets. Ci-dessous : la première page de l application permet de saisir le rapport d incident. Options : 1. Lien vers la page concernant le suivi des incidents 2. Lien vers la page concernant la saisie des incidents 3. Bouton envoyer pour enregistrer les infos saisies concernant la saisie des incidents 8/10
Ci-dessus : la page succédant à la page de saisie des informations de la saisie du rapport d incidents. Options : 1. Lien vers la page concernant le suivi des incidents 2. Lien vers la page concernant la saisie des incidents Ci-dessous : les deux pages ci-dessous présentent un tableau permettant d afficher et d afficher les informations saisies lors des rapports d incident. Options : 1. Lien vers la page concernant le suivi des incidents 2. Lien vers la page concernant la saisie des incidents 3&4. Afficher la page suivante ou précédente s il existe plusieurs pages. 9/10
5> Détail des réunions. Afin de parvenir au résultat présent, nous avons réalisé des réunions. Nous avons notés le détail du contenu de ces réunions afin de suivre le développement global du projet. La maquette a été réalisée grâce au logiciel axure, ayant pour but d avoir une idée sur la mise en page de nos projets. Réunion du 24\03\2015 : Prise de connaissance du projet. Répartition des tâches au sein du groupe. Réunion du 30\03\2015 : Prise de connaissance de l avancement des différentes tâches. Prise de connaissances des problèmes survenues dans les groupe. Réunion du 02\04\2015 : Prise de connaissance de l avancement des différentes tâches. Résolution de certains problèmes rencontrés lors de la dernière réunion. Problème de filtres rencontrée sur la partie du rapport d incidents. Réunion du 09\04\2015 : Prise de connaissance de l avancement des différentes tâches. Problème de filtres rencontrée sur la partie du suivi d incidents. Réunion du 14\04\2014 : Fin de la partie rapport d incident au niveau PHP. Début de la mise en forme du rapport d incident. 10/10