Projet CNEPE 2008 Gestion d’accès aux centrales nucléaires françaises E1 et E3 : DEMEYER Julien E2 : BOILEAU Antoine E4 : AUJUMIER Alexandre BTS IRIS Lycée Grandmont 1 Sommaire • • • • • Objectifs Présentation matérielle Cas d’utilisation Répartition des tâches Partie Base de données • La base de données • Les tables de la base de données • Communication réseau • Client TCP • Accès à la BDD • Stockage dans la BDD • Points négatifs • Conclusion BTS IRIS Lycée Grandmont 2 Objectifs • Objectif général : • Gérer l ’accès de plusieurs zones de sécurité à l ’intérieur d’une centrale nucléaire • Objectifs partie Base de données : • Administration de la base de données • Réaliser l ’échange de données via réseau TCP/IP BTS IRIS Lycée Grandmont 3 Présentation matérielle BTS IRIS Lycée Grandmont 4 Cas d’utilisation BTS IRIS Lycée Grandmont 5 Répartition des tâches BTS IRIS Lycée Grandmont 6 Partie Base de données • Prise en main, installation et configuration de la base de données • Objets CommunicationBDD et WrapperBDD permettant la communication TCP/IP/Ethernet entre une badgeuse et le poste base de données BTS IRIS Lycée Grandmont 7 La base de données • Microsoft SQL Server Edition 2005 • SQL Server Management Studio avec ses outils de configuration • Stockage des informations nécessaires à la gestion d’accès d’un site BTS IRIS Lycée Grandmont 8 Les tables de la BDD BTS IRIS Lycée Grandmont 9 Communication réseau • Architecture client/serveur TCP/IP • Client C++ embarqué dans une badgeuse • Serveur codé en C# interface entre la base de données et la badgeuse BTS IRIS Lycée Grandmont 10 Client TCP Client C++ exécuté sur un SC12 (microcontrôleur BECK) Assemblage de requêtes SQL : sprintf(requete,˝INSERT INTO…˝ ); Connexion au serveur en écoute : opensocket(SOCK_STREAM, &error); connect(socket, &addr, &error); Envoi des requêtes : send(socket,(char *)requete, longueur, 0, &error); BTS IRIS Lycée Grandmont 11 Accès à la BDD Connexion à la BDD en C# : Création de la chaîne de connexion : string connectString = "database=NOM_BDD;server=ADRESSE_IP_SERVEUR;Trusted_Connection=yes"; Instanciation d’un objet connection pour ouvrir la connexion : SqlConnection connection = new SqlConnection(connectString); Ouverture de la connexion : connection.Open(); Exécution d'une requête SQL en C# : Création d'une commande : SqlCommand Command = connection.CreateCommand(); Commence une transaction de base de données : SqlTransaction Transac = connection.BeginTransaction(IsolationLevel.ReadCommitted); Assigne les objets Connection et Transaction à l’objet Command pour une utilisation en local : Command.Connection = connection; Command.Transaction = Transac; Création d'une requête : Command.CommandText = "REQUETE_SQL"; Exécution de la requête : Command.ExecuteNonQuery(); BTS IRIS Lycée Grandmont 12 Accès à la BDD (suite) Récupération des données extraites de la BDD après connexion et exécution d'une requête SELECT en C# : Création d'un tableau de type Object permettant de stocker les données directement après les avoir reçues de la base de données : Object[] TableLecture = null; L'instanciation d'un objet DataReader et l'appel de la commande ExecuteReader() permet l'extraction de données : SqlDataReader reader = command.ExecuteReader(); La méthode Read() permet de lire les données résultantes de la requête Reader.Read() La méthode GetValues() va remplir le tableau créé avec les valeurs lues précédemment : reader.GetValues(TableLecture); BTS IRIS Lycée Grandmont 13 Stockage dans la BDD BTS IRIS Lycée Grandmont 14 Stockage (suite) BTS IRIS Lycée Grandmont 15 Points négatifs • Travail restant à faire • Dans le cas du réseau défaillant : • traitement de la réplique de la base de données embarquée dans une badgeuse • envoie de la réplique pour une mise à jour dans la base de données • Problème de connexion à la base de données BTS IRIS Lycée Grandmont 16 Conclusion • Points positifs : • Développement du sens de l’analyse et de l’organisation • Développement du travail en équipe • Approfondissement des connaissances théoriques • Avancé du travail : • Intégration des différentes parties BTS IRIS Lycée Grandmont 17