Badgeuse - page d`accueil

publicité
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
Téléchargement