{"id":537,"date":"2017-06-15T22:33:39","date_gmt":"2017-06-15T21:33:39","guid":{"rendered":"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/?p=537"},"modified":"2017-06-16T08:55:27","modified_gmt":"2017-06-16T07:55:27","slug":"controle-dacces","status":"publish","type":"post","link":"https:\/\/blog.univ-angers.fr\/polytech_2A\/2017\/06\/15\/controle-dacces\/","title":{"rendered":"Contr\u00f4le d&#8217;Acc\u00e8s"},"content":{"rendered":"<p><strong>Qu\u2019est-ce que notre projet\u00a0?<\/strong><strong><\/strong><\/p>\n<p>Le but de ce projet est de pouvoir contr\u00f4ler l\u2019acc\u00e8s \u00e0 la salle 214. Nous avons souhait\u00e9 pouvoir contr\u00f4ler l\u2019acc\u00e8s \u00e0 n\u2019importe quelle salle poss\u00e9dant un lecteur de badges.<\/p>\n<p><strong>Qu\u2019est-ce que contr\u00f4ler l\u2019acc\u00e8s\u00a0\u00e0 une salle ?<\/strong><\/p>\n<p>Contr\u00f4ler l\u2019acc\u00e8s \u00e0 n\u2019importe quelle salle c\u2019est pouvoir r\u00e9cup\u00e9rer toute information lors de la tentative d\u2019acc\u00e8s, que ce soit un succ\u00e8s ou un \u00e9chec.<br \/>\nNous avons donc choisi de pouvoir r\u00e9cup\u00e9rer\u00a0:<br \/>\n&#8211; l\u2019heure pr\u00e9cise<br \/>\n&#8211; le jour<br \/>\n&#8211; le nom d\u2019utilisateur de la personne<br \/>\n&#8211; l\u2019autorisation ou non de l\u2019acc\u00e8s \u00e0 la salle<br \/>\n&#8211; le RFID*<br \/>\n*RFID\u00a0: C\u2019est un code compos\u00e9 de 14 caract\u00e8res hexad\u00e9cimaux (exemple\u00a0: 04933C8A813F80) qui est associ\u00e9 \u00e0 une seule et unique personne.<br \/>\nNos cartes de l\u2019Universit\u00e9 sont \u00e9quip\u00e9es d\u2019une puce RFID et c\u2019est avec celles-ci que nous avons travaill\u00e9.<\/p>\n<p><strong>Comment r\u00e9cup\u00e9rer l\u2019information\u00a0?<\/strong><\/p>\n<p>Lorsque l\u2019on veut ajouter un utilisateur, il nous suffit d\u2019avoir le RFID de sa carte de l\u2019Universit\u00e9.<br \/>\nNous avons cr\u00e9\u00e9 une base de donn\u00e9es dont l\u2019une des tables est \u00ab\u00a0cartes\u00a0\u00bb.<br \/>\nDans cette table nous avons choisi de renseigner\u00a0:<br \/>\n&#8211; un nom d\u2019utilisateur<br \/>\n&#8211; le RFID de la carte<br \/>\n&#8211; une p\u00e9riode de validit\u00e9 de la carte<br \/>\n&#8211; un blacklist* (0 ou 1)<br \/>\n*blacklist\u00a0: Le blacklist correspond \u00e0 une liste des ind\u00e9sirables ou personnes dont on veut interdire l\u2019acc\u00e8s que ce soit d\u00e9finitivement ou temporairement, sans pour autant supprimer la carte de la base de donn\u00e9es.<br \/>\nPour se faire, nous avons cr\u00e9\u00e9 un site internet qui est plus \u00ab\u00a0technique\u00a0\u00bb qu\u2019esth\u00e9tique et qui nous permet de g\u00e9rer, contr\u00f4ler toute notre base de donn\u00e9es plus facilement.<br \/>\nCe site a \u00e9t\u00e9 programm\u00e9 en PHP et il utilise du javascript ainsi que des requ\u00eates SQL.<br \/>\nBien heureusement, m\u00eame si pendant toute sa construction il \u00e9tait accessible par n\u2019importe qui, il n\u2019est d\u00e9sormais plus possible d\u2019ajouter une carte, d\u2019en supprimer une ou bien d\u2019avoir acc\u00e8s aux logs*en tant qu&#8217;invit\u00e9<\/p>\n<p>*log\u00a0: Un log est un fichier qui permet de conserver la trace de toutes les requ\u00eates qui ont \u00e9t\u00e9 adress\u00e9es \u00e0 un serveur.<\/p>\n<p><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2017\/06\/log.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-539\" alt=\"log\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2017\/06\/log-300x127.png\" width=\"600\" height=\"250\" \/><\/a><br \/>\n<strong>Comment fonctionne notre projet\u00a0?<\/strong><\/p>\n<p>En effet, c\u2019est plut\u00f4t cool de pouvoir r\u00e9cup\u00e9rer l\u2019information d\u2019une carte et pouvoir revenir \u00e0 son propri\u00e9taire. Mais comment faire pour avoir toutes ces informations\u00a0?<\/p>\n<p>https:\/\/youtu.be\/Vdco0TtDuqE<\/p>\n<p>Nous utilisons une architecture client-serveur et pour cela, nous poss\u00e9dons deux Raspberry Pi.<br \/>\nCe sch\u00e9ma est parfaitement l\u2019illustration du fonctionnement de notre syst\u00e8me que l\u2019on peut aussi voir avec la vid\u00e9o. L\u2019un est enti\u00e8rement d\u00e9di\u00e9 au client et l\u2019autre enti\u00e8rement d\u00e9di\u00e9 au serveur.<\/p>\n<p><strong>Processus<\/strong><\/p>\n<p>La personne souhaite entrer dans une salle.<br \/>\nElle passe sa carte sur le lecteur de cartes qui se met \u00e0 clignoter en vert. Celui-ci fonctionne comme un clavier d\u2019ordinateur, c\u2019est-\u00e0-dire que lorsque l\u2019on passe la carte, il recopie le RFID \u00e0 14 caract\u00e8res et le transmet au client.<br \/>\nPour faire simple et compr\u00e9hensible, \u00e0 la suite de cela, le client va \u00ab\u00a0questionner\u00a0\u00bb le deuxi\u00e8me Raspberry (celui dont on voit les composants) qui correspond au serveur.<br \/>\nIl va donc lui transmettre le RFID de la carte ainsi que la salle.<br \/>\nA partir de l\u00e0, le serveur envoie une requ\u00eate SQL pour savoir si la carte est autoris\u00e9e \u00e0 acc\u00e9der \u00e0 la salle (il interroge donc la base de donn\u00e9es). Celle-ci lui r\u00e9pond aussit\u00f4t.<br \/>\nA la suite de cette r\u00e9ponse, le serveur envoie le log \u00e0 la base de donn\u00e9es et le relai r\u00e9agit.<br \/>\nDans l\u2019exemple en vid\u00e9o, o\u00f9 il est fortement conseill\u00e9 de mettre le son, la carte utilis\u00e9e est une carte que nous avons choisi de rendre valide.<br \/>\nOn remarque qu\u2019aussit\u00f4t apr\u00e8s avoir pass\u00e9 la carte, tout le processus entre le client et serveur a \u00e9t\u00e9 effectu\u00e9 et que le relais s\u2019allume en rouge et fais un \u00ab\u00a0clic\u00a0\u00bb.<br \/>\nCela signifie que le serveur a autoris\u00e9 l\u2019ouverture de la porte et qu\u2019il autorise le relais \u00e0 laisser passer le courant et ainsi ouvrir la porte.<br \/>\nLe client a \u00e9t\u00e9 programm\u00e9 en Python et le serveur en C.<br \/>\nLa plupart de notre projet s\u2019est faite sur Linux et en ligne de commande.<br \/>\nComme vous pouvez le voir, le syst\u00e8me r\u00e9pond instinctivement.<br \/>\nMerci de nous avoir lu, et bien \u00e9videmment, si vous voulez voir le travail derri\u00e8re tout cela, n\u2019h\u00e9sitez pas \u00e0 venir vers nous.<br \/>\nUn grand merci \u00e0 Hassan Bouljroufi pour le mat\u00e9riel et l&#8217;aide fournie tout au long du projet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Qu\u2019est-ce que notre projet\u00a0? Le but de ce projet est de pouvoir contr\u00f4ler l\u2019acc\u00e8s \u00e0 la salle 214. Nous avons souhait\u00e9 pouvoir contr\u00f4ler l\u2019acc\u00e8s \u00e0 n\u2019importe quelle salle poss\u00e9dant un lecteur de badges. Qu\u2019est-ce que contr\u00f4ler l\u2019acc\u00e8s\u00a0\u00e0 une salle ? &hellip; <a href=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/2017\/06\/15\/controle-dacces\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":40936,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[106],"tags":[],"class_list":["post-537","post","type-post","status-publish","format-standard","hentry","category-106"],"_links":{"self":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/users\/40936"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/comments?post=537"}],"version-history":[{"count":0,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/537\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/media?parent=537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/categories?post=537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/tags?post=537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}