Badgeuse - page d`accueil
Transcription
Badgeuse - page d`accueil
Système de contrôle d’accès Installation du système Les éléments à mettre en place. Pour mettre en place l’environnement de travail de la badgeuse, il faut suivre plusieurs étapes : Sur l’ordinateur devant disposer de la base de données, il faut installer le serveur Web et le gestionnaire de bases de données Mysql. Cette machine dispose d’une adresse IP (par exemple, dans notre cas 192.168.1.13 avec le masque 255.255.255.0). Il faudra ensuite mettre en place les pages web de gestion et la base de données soit en les construisant soit en les important. La SC12 de la badgeuse doit disposer du programme adéquat et du fichier chip.ini. Il faut paramétrer le fichier chip.ini de la badgeuse afin que cette dernière puisse se connecter au serveur et à la base cidessus. On donne l’exemple du fichier utilisé dans notre cas et on y retrouve l’adresse de la badgeuse (192.168.1.101) et l’adresse du serveur complété par le numéro du port d’écoute sur le serveur (192.168.1.13 :1500) : Un problème important se pose, en effet un produit tel que le serveur SC12 ne dispose pas de possibilités suffisantes pour se connecter à notre base de données. On utilisera un serveur intermédiaire SqlWrapper qui sera sollicité simplement par le circuit SC12 qui lui envoie sous forme de texte les données. Ce Wrapper sera lui chargé d’élaborer les requêtes sql destinées au serveur de base de données. Un fichier de configuration permet de paramétrer ce Wrapper : Ce serveur doit être lancé sur la machine disposant de la base de données. On précise le port d’écoute (1500) et les coordonnées du serveur de base de données (127.0.0.1/badgeuse pour notre exemple). Installation du serveur Web et du gestionnaire de base de données Ce serveur Web est utilisé pour l’administration de la base de données servant aux badgeuses. Avec ce serveur Web, il est possible de : Ajouter, supprimer, modifier un utilisateur Ajouter, supprimer, modifier un badge Ajouter, supprimer, modifier une badgeuse Ajouter, supprimer, modifier une porte #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 1/20 Importer, exporter la base de données Consulter l’historique Par défaut, les accès se font de la façon suivante : Interface administrateur : login : « admin » associé au mot de passe « admin » Interface hôtesse : login : « hotesse » associé au mot de passe « hotesse » Installation du serveur Web Télécharger le pack EasyPhp à partir du site officiel : http://www.easyphp.org Au moment où cette documentation est rédigée, nous sommes à la version 1.7 du pack. Cette version a été testée avec la badgeuse. Ce pack intègre : Apache 1.3.27 PHP 4.3.3 MySQL 4.0.15 PhpMyAdmin 2.5.3. Une fois que le pack d'installation a été téléchargé sur notre poste local, nous allons exécuter le fichier d'installation. Si sur votre poste un serveur Web existe déjà sur le port 80, on pourra changer le port par défaut afin que le nouveau serveur puisse disposer de ce port. Voici la procédure à suivre : L'écran d'accueil de l'installation s'affiche. Nous allons suivre la procédure d'installation en répondant par oui ou next pour les options proposées. L’installation d’EasyPhp est terminée. Lancement d’EasyPhp EasyPHP étant installé, nous devons maintenant démarrer le serveur. #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 2/20 Configuration d’EasyPhp Le répertoire d’installation par défaut est : C:\Program Files\EasyPHP1-7\ La racine du serveur Web : C:\Program Files\EasyPHP1-7\www\ Si l’on place les pages html et php du serveur Web dans : C:\Program Files\EasyPHP1-7\www\badgeuse\, on pourra y accéder par l’adresse : http://localhost/badgeuse/ sur le serveur même http://ip_serveur/badgeuse/ à partir d’une autre machine Gestion de base de données. L’installation précédente nous permet d’utiliser maintenant le gestionnaire de bases de données MYSQL qui s’est installé avec le package précédent. On utilise pour cela l’interface d’administration phpMyAdmin livrée avec EasyPhp qui permet de gérer les bases de données créées avec MySql. #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 3/20 On peut maintenant créer, utiliser, exporter ou importer des bases de données. Importation et exportation de bases de données. Ce cas de figure permet sur un serveur d’importer ou d’exporter une base de données. Ceci est particulièrement utile si : On installe un nouveau serveur et que l’on désire utiliser une base existante. On dispose d’un serveur et que l’on souhaite exporter une base pour réaliser une sauvegarde. Voyons les étapes. On repère tout d’abord la base existante qui se compose d’un fichier texte dont la terminaison est .sql ; par exemple dans notre cas, on dispose sur le disque d le fichier badgeuse.sql dont on donne un extrait : Après avoir ouvert l’accès à PhpMyAdmin, on va créer la base badgeuse qui sera vide : #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 4/20 L’onglet SQL va nous permettre d’importer le fichier texte badgeuse.sql du disque d : On retrouve, si tous c’est bien passé, les tables et les données : Pour exporter, on choisit l’onglet Exporter : On garde toutes les options par défaut et on clique sur Exécuter. On obtient alors les données qu’il suffira de sélectionner et de coller dans un fichier texte dont le suffixe sera sql pour pouvoir le réimporter par la suite : #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 5/20 Création d’une base de données. Avant de créer une base de données, il faudra définir les tables à créer et les champs de données à y inclure. Par exemple dans le cas de la badgeuse, il est souhaitable d’établir (ou d’utiliser) le diagramme des relations ainsi que la liste des tables avec la définition des champs et de leur type : Table badges : Cette table contient la liste de l’ensemble des badges en cours d’utilisation dans la société. A chaque badge est associé : le nom et prénom de son propriétaire, son statut (bloqué ou autorisé), le niveau d’accès, le code confidentiel du propriétaire. id_badge INT status_badge BOOLEAN niv_acces INT code_conf INT id_utilisateur INT Numéro de badge (unique) (8 chiffres) Clé primaire ‘0’ : Badge bloqué ‘1’ : Badge autorisé ‘0’ :‘visiteur’ : accède aux zones publiques ‘1’ : ‘autorise’ : accède aux zones contrôlées ‘2’ : ‘accredite’ : accède aux zones protégées Code confidentiel du propriétaire du badge (cryptage MD5 non implémenté) (4 chiffres) Identifiant utilisateur (unique) Associé à la table « liste_utilisateurs » Table utilisateurs : Elle permet de déclarer les informations relatives aux utilisateurs. id_utilisateur INT Nom Prenom Solde VARCHAR (20) VARCHAR(20) INT(4) Identifiant utilisateur (unique) Clé primaire Nom du propriétaire du badge Prénom du propriétaire du badge Solde restant pour le restaurant solde maximum = 9999 à 99,99 € Table historique_acces : Chaque accès introduction de badge dans une badgeuse va être enregistré dans cette table. Il s’agit d’un journal d’historique. id_badge horo_date autorise INT TIMESTAMP BOOLEAN id_badgeuse id_porte VARCHAR(20) VARCHAR(20) Identifiant badge Date et heure d’accès à la badgeuse ‘0’ : accès refusé ‘1’ : accès autorisé Identifiant de la badgeuse accédée Identifiant porte accédée Table badgeuses : Elle permet de décrire les badgeuses. id_badgeuse VARCHAR(15) masque CHAR(15) Numéro de badgeuse (adresse ip) Clé primaire Masque de sous réseau de la badgeuse Table portes : A chaque porte est associé un niveau d’accès. Id_porte VARCHAR(20) niv_acces INT Identifiant de la porte Cle primaire Niveau d’accès de la badgeuse ‘0’ : ‘publique’ : Zone publique ‘1’ : ‘contrôle’ : Zone contrôlée ‘2’ : ‘protege’ : Zone protégée Table lien_bp : A chaque porte est associé l’identifiant de la badgeuse ainsi que le sens du passage (entrée ou sortie). id_badgeuse VARCHAR(15) id_porte e_s VARCHAR(20) INT Identifiant de la badgeuse Cle primaire Identifiant de la porte Sens du passage (entrée ou sortie) Schéma relationnel de la base de données #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 6/20 badges historique_acces id_badge (int) status_badge (boolean) niv_acces (int) code_conf (char32) id_utilisateur (int) n n n n id_badge (int) horo_date (timestamp) autorise (boolean) id_badgeuse (varchar(20)) id_porte (varchar(20)) utilisateurs portes id_utilisateur (int) nom (varchar(20)) prenom (varchar(20)) solde (int) (4 chiffres) n id_porte (varchar(20)) niv_acces (int) 1 badgeuses id_badgeuse (varchar (20)) masque (char (15)) n lien_bp n id_porte (varchar (20)) id_badgeuse (varchar (20)) n e_s (int) n Après avoir créé la base badgeuse (voir rubrique précédente), nous allons créer la table badges qui comporte 5 champs : Il faudra ensuite compléter les informations relatives à notre table en précisant le nom, le type et éventuellement une valeur par défaut. On précise également la clé primaire de la table : La commande Sauvegarder va mémoriser la table et nous afficher un résumé des actions (requette sql) : #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 7/20 On pourra modifier une table et pour cela on place une coche dans le champ à modifier puis on clique sur le petit crayon qui redonne accès à la fenêtre correspondant au champ : La table des utilisateurs : On pourra observer la configuration finale de notre base de données : Remarque : la table web permet l’identification des accès au serveur Web : #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 8/20 Configuration du serveur Web. Pour le serveur Web, il faut mettre en place ou créer les pages nécessaires. Présentation de l’interface Web d’administration L'interface Web d'administration permet de gérer les ressources autour de la badgeuse. Cette interface est accessible par deux profils utilisateur : un profil « Hôtesse » un profil « Administrateur ». L’accès nécessite un identifiant et un mot de passe. Cette interface permettra à l’hôtesse de gérer les création, modification ou suppression de badges et de leur allouer un utilisateur. L’administrateur pourra effectuer les opérations de l’hôtesse, en plus des opérations de maintenance de la base de données. #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 9/20 Si les paramètres de connexion sont erronés, la page suivante s’affiche et propose de revenir sur la page d’authentification. Le profil Hôtesse. La connexion se fait avec l’identifiant unique « hotesse » en minuscules et le mot de passe est « hotesse ». Si un des deux champs reste vide, un message d’information demande de compléter la case non renseignée. Une fois que l'hôtesse s'est authentifiée, elle accède au menu "Hotesse" proposant les opérations suivantes : Gestion des utilisateurs Gestion des badges Consultation de l'historique des accès L'ordre logique de création d'une ressource dans la base de données est la suivante pour la gestion des utilisateurs et des badges : 1. Création de l'utilisateur dans la base de données 2. Création ou activation du badge 3. Affectation d'un badge à un utilisateur. Le lien "Se déconnecter" permet de quitter la session et de revenir à la page d'authentification. Le profil Administrateur La connexion se fait avec l’identifiant unique « admin » en minuscules et le mot de passe est « admin ». #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 10/20 Une fois que l'administrateur s'est authentifié, il accède au menu "Administrateur" proposant les opérations suivantes : Gestion des utilisateurs Gestion des badges Gestion des badgeuses Gestion des portes Consultation de l'historique des accès Sauvegarde de l'historique Exportation de la base de données Importation de la base de données L'ordre logique de création d'une ressource dans la base de données est la suivante : Entre utilisateur et badge : 1. Création de l'utilisateur dans la base de données 2. Création ou activation du badge 3. Affectation d'un badge à un utilisateur Entre badgeuse et porte : 1. Création de la porte 2. Création de la badgeuse 3. Affectation de la porte à la badgeuse Le lien "Se déconnecter" permet de quitter la session et de revenir à la page d'authentification. Opérations sur la base de données Les opérations possibles sont : Gestion des utilisateurs Gestion des badges Gestion des badgeuses Gestion des portes Consultation de l'historique des accès Sauvegarde de l'historique Exportation de la base de données Importation de la base de données L'administrateur a accès à toutes les opérations citées ci-dessus tandis que l'hôtesse a uniquement accès aux opérations citées ci-dessus "en gras et italique". En plus de cette documentation, l'utilisateur est guidé lors des manipulations grâce à des “pop-up“ apparaissant lorsqu'on pointe le lien avec la souris (sans cliquer) : Gestion des utilisateurs Les fenêtres ci-dessous montrent les actions possibles dans le menu Gestion des utilisateurs. A tout moment, l'opérateur peut annuler son action grâce au lien "Retour". #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 11/20 Menu Gestion des utilisateurs Modification de l'utilisateur Créer un nouvel utilisateur Suppression de l'utilisateur Validation Validation Retour au menu Gestion des utilisateurs Gestion des badges Les fenêtres ci-dessous montrent les actions possibles dans le menu Gestion des badges. A tout moment, l'opérateur peut annuler son action grâce au lien "Retour". #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 12/20 Menu Gestion des badges Créer un nouveau badge Tout nouveau badge commence par 014, suivi des 5 chiffres marqués sur le badge. Le code confidentiel doit être renseigné uniquement pour le niveau d'accès "Accrédité" Modification des propriétés du badge On affecte ensuite l'identifiant utilisateur au nouveau badge grâce au menu déroulant Suppression du badge Validation Validation Retour au menu Gestion des badges #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 13/20 Gestion des badgeuses Les fenêtres ci-dessous montrent les actions possibles dans le menu Gestion des badges. A tout moment, l'opérateur peut annuler son action grâce au lien "Retour". Menu Gestion des badgeuses Création d'une badgeuse Modification des propriétés de la badgeuse Suppression de la badgeuse Validation Validation Retour au menu Gestion des badgeuses #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 14/20 Gestion des portes Les fenêtres ci-dessous montrent les actions possibles dans le menu Gestion des badges. A tout moment, l'opérateur peut annuler son action grâce au lien "Retour". Menu Gestion des portes Ajout d'une nouvelle porte Modification des propriétés Suppression de la porte Validation Validation Retour au menu Gestion des portes #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 15/20 Consultation de l'historique des accès A tout moment, l'opérateur peut annuler son action grâce au lien "Retour". L'historique des accès affiche les tentatives d'accès aux différentes zones. Chaque tentative (acceptée ou refusée) est enregistrée dans l'historique avec les informations nécessaires pour l'identification. Voici un aperçu : Sauvegarde de l'historique A tout moment, l'opérateur peut annuler son action grâce au lien "Retour". Il est possible d'effectuer une sauvegarde de l'historique en format .txt en cliquant sur le bouton "Historique". #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 16/20 Aperçu du contenu du fichier historique.txt est affiché Pour sauvegarder l'historique : - Fichier / Enregistrer sous ... Choisir le nom du fichier et l'enregistrer sous le format .txt comme par exemple : historique.txt puis cliquer sur Enregistrer Exportation de la base de données A tout moment, l'opérateur peut annuler son action grâce au lien "Retour". Pour effectuer l'export de la base de données : Cliquer avec le bouton droit sur badgeuse.sql et sélectionner "Enregistrer la cible sous ..." Pour visualiser le fichier, cliquer sur badgeuse.sql. Voici ce qui doit apparaître #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 17/20 Choisir le nom du fichier et l'enregistrer sous le format .sql comme par exemple : badgeuse.sql puis cliquer sur Enregistrer Importation de la base de données A tout moment, l'opérateur peut annuler son action grâce au lien "Retour". Cliquer sur Parcourir pour charger le fichier .sql. Sélectionner le fichier .sql Cliquer ensuite sur Importer pour effectuer l'import. Et enfin, valider de l'opération. La passerelle SqlWrapper. SqlWrapper se présente sous la forme de trois fichiers : SqlWrapper.jar (les classes du serveur) mysql-connector.jar (la connexion à la base de données) serveur.ini (le fichier de configuration) #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 18/20 Avant d'aller plus loin il est nécessaire d'avoir au préalable installé et configuré une base de données SQL. Cette base de données doit être accessible par le réseau et un utilisateur doit être créé, ayant les droits de lire et de modifier la base. Cet utilisateur SQL sera utilisé plus tard dans le fichier de configuration du serveur, notez le. Principe SqlWrapper est un serveur, développé en Java, permettant de manière transparente de faire des requêtes SQL sur une base de données distante. Il agit donc comme un emballage (wrapper en Anglais) pour les machines disposant d'une interface réseau mais pas d’un moyen d'accès à une base de données, tel que le microcontrôleur de la badgeuse. A l'exécution le serveur charge les paramètres de configuration (contenu dans le fichier serveur.ini) et, après vérification des paramètres, ouvre le port spécifié et attends la connexion de clients. Le serveur est maintenant opérationnel. Quand un client se connecte au serveur, celui-ci lance un nouveau Thread* client qui effectue une connexion à la base de données (définie dans le fichier de configuration). *La notion de Thread consiste en une parallélisation des tâches pour une exécution simultanée. Elle permet ici des connexions multiples de clients, la fonction principale n'étant pas bloquée par les actions de chaque client. Le Thread attend une chaîne de caractères contenant une requête SQL (ex : « select * from badges ») pour l'envoyer sous forme de requête à la base. Il récupère ensuite la réponse de la base de données et effectue une mise en forme pour retourner à l'utilisateur une chaîne de caractère. Test Première étape, décompresser, si nécessaire, l’archive « SqlWrapper.zip ». Il faut disposer des logiciels capables d’exécuter du code java (machine java comme jdk par exemple). Puis éditer le fichier serveur.ini pour l’adapter à votre configuration de base de données (utilisateur, url, mot de passe, type de base) et éventuellement modifier le port d’écoute du serveur (1500 par défaut). Pour démarrer le serveur, ouvrir un terminal (Démarrer->exécuter->cmd), puis se placer dans le répertoire du serveur et taper : java –jar SqlWrapper.jar Un test rapide consiste à se connecter au serveur par l'intermédiaire de l’utilitaire telnet que l’on ouvre dans une nouvelle fenêtre de commandes dos. Ce programme permet en effet de se connecter à un serveur sur un port donné, puis d'effectuer la saisie des données à envoyer au serveur. Lancer telnet (Démarrer->Exécuter->telnet) Sans plus de configuration vous ne verrez pas ce que vous tapez dans cette console (pas d'echo). Pour avoir un écho de la requête que vous allez saisir, entrez : «set localecho» La connexion en elle même se fait avec : «open IP_SERVEUR PORT_SERVEUR» par exemple : «open 192.168.1.13 1500» #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 19/20 La fenêtre de commande du wrapper notifie la nouvelle connexion : On peut maintenant entrer dans la fenêtre telnet une commande sql sous forme de texte comme par exemple : Select * from badges Le serveur doit recevoir votre requête (ligne commençant par «>>») effectuer la requête sur la base de données et vous retourner la réponse (ligne commençant par «<<»). On observe la fenêtre du Wrapper ci-dessous : On voit ici la réponse du serveur qui renvoie toutes les lignes en une seule chaîne de caractère mise en forme selon les règles suivantes : chaque colonne est délimitée par le caractère ‘|’ chaque fin de ligne est délimité par le caractère ‘@’ Si on lance le programme badgeuse sur le SC12 avec l’option DEBUG à 1, on observe l’écran suivant (telnet sur le SC12). #Niedercorn LT « la Briquerie » 57100 THIONVILLE Système de contrôle d’accès & page 20/20