WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Prototypage d'un systeme d'identification et protection anti-vol des ouvrages d'une bibliotheque en utilisant les puces RFID: Cas de la bibliotheque de l'UCBC

( Télécharger le fichier original )
par Karl KAMAVU
UCBC - Licence 2017
  

précédent sommaire

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

ANNEXES

Annexe A :Lecture d'une étiquette RFID à travers la communication série avec WLangage.

PROCEDURE LectureRFID ()

// thread en boucle infini

TANTQUE 1>0

// le port est deja ouvert

nNombre est un entier= sDansFileEntrée(gnPortCarte)

sMessagelu est une chaîne=sLit(gnPortCarte,nNombre) // on lit ce qui entre par le port choisi

Temporisation(10) // on temporise

// LECTURE DES LIVRES ET CARTES AVEC UN SEUL LECTEUR RFID

FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_CodeLu..Valeur=sMessagelu

// On verifie si le code saisi correspond a un des livres reconnus par le systme sinon on verifie s'il conrrespond a un lecteur

SI Taille(SC_Fiche.SAI_CodeLu..Valeur) >6 ALORS // on verifie si le port serie a livree le nombre de caractere suffisant pourque l'on decode le code

// on supprime dabord l'element du tableau

Supprime(gtabLedesvaleurslues,1) // le tableau ne contient qu'un seul element, on le supprime

Ajoute(gtabLedesvaleurslues,SC_Fiche.SAI_CodeLu..Valeur)// on garde le message lu dans un tableau avant d'enregistrer.

//ToastAffiche(gsVariableCodeLecteur)

HLitRecherche(Livres,CodeLivre,gtabLedesvaleurslues[1]) // ON VERIFIE DANS LA TABLE LIVRE D'ABORD

HLitRecherche(lecteur,CodeLecteur,gtabLedesvaleurslues[1]) // PUIS ON VERIFIE DANS LA TABLE LECTEURS

// si c;est la carte qui a ete detectee

SI HTrouve(lecteur) ALORS

SC_Fiche.SAI_IDlecteur=lecteur.IDlecteur

SC_Fiche.SAI_Nom_Lecteur=lecteur.Noms

FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Code_lecteur..CouleurFond=Blanc

FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Code_lecteur=lecteur.CodeLecteur

// on supprime dabord l'element du tableau

Supprime(gptabTabledesvaleurs,1) // le tableau ne contient qu'un seul element

Ajoute(gptabTabledesvaleurs,SC_Fiche.SAI_Code_lecteur..Valeur)// on garde le message lu dans un tableau avant d'enregistrer.

//ToastAffiche("lecteur trouvé")

FIN

// si c'est le livre qui a ete detectee

SI HTrouve(Livres) ALORS

SC_Fiche.SAI_IDLivre=Livres.IDLivres

SC_Fiche.SAI_Titre_Livre=Livres.Titre FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Code_livre..CouleurFond=Blanc

FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Code_livre=sMessagelu

Supprime(gptabTabledesvaleurs_livres,1) // le tableau ne contient qu'un seul element

Ajoute(gptabTabledesvaleurs_livres,SC_Fiche.SAI_Code_livre..Valeur)// on garde le message lu dans un tableau avant d'enregistrer.

FIN

// si le code n'est ni livre ni carte

SI PAS HTrouve(lecteur) ET PAS HTrouve(Livres) ALORS

ToastAffiche("Cette Carte ou Livre n'est pas reconnu dans notre système",toastCourt,cvMilieu,chCentre,RVB(255,0,0))

FIN

FIN

// on enregistre l'emprunt des livres

SI FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Nom_Lecteur<>"" ET FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Titre_Livre<>"" ET COL_Mode_Auto_Manuel.gnMode=1 ALORS

Enregistrer_Emprunt()

FIN

// temporisation

Temporisation(100)

// ferme le port

//sFerme(gnPortCarte)

//ToastAffiche("la commande a ete envoyee")

//FIN

ThreadPause(100)

FIN

Annexe B :Script SQL du système « I-Library »

-- Script généré par WinDev le 01/06/2017 23 :57 :15

-- Tables de l'analyse IBiblio.wda

-- pour SQL générique (ANSI 92)

-- Création de la table Auteur

CREATE TABLE "Auteur" (

"IDAuteur" INTEGER PRIMARY KEY ,

"NomAuteur" VARCHAR(50) ,

"Annee" VARCHAR(10) );

CREATE INDEX "WDIDX_Auteur_NomAuteur" ON "Auteur" ("NomAuteur");

-- Création de la table CategorieLivre

CREATE TABLE "CategorieLivre" (

"IDCategorieLivre" INTEGER PRIMARY KEY ,

"NomCategorie" VARCHAR(50) ,

"Commentaire" VARCHAR(50) );

CREATE INDEX "WDIDX_CategorieLivre_NomCategorie" ON "CategorieLivre" ("NomCategorie");

-- Création de la table Editeur

CREATE TABLE "Editeur" (

"IDEditeur" INTEGER PRIMARY KEY ,

"NomEditeur" VARCHAR(50) ,

"LieuEdition" VARCHAR(50) ,

"SiteWebEditeur" VARCHAR(50) );

CREATE INDEX "WDIDX_Editeur_NomEditeur" ON "Editeur" ("NomEditeur");

CREATE INDEX "WDIDX_Editeur_LieuEdition" ON "Editeur" ("LieuEdition");

-- Création de la table EmpruntLivre

CREATE TABLE "EmpruntLivre" (

"IDEmpruntLivre" INTEGER PRIMARY KEY ,

"DateEmprunt" DATE ,

"CodeLecteur" VARCHAR(12) ,

"CodeLivre" VARCHAR(15) ,

"TitreLivre" VARCHAR(50) ,

"DateRetour" DATE ,

"IDlecteur" INTEGER UNIQUE ,

"IDLivres" INTEGER );

CREATE INDEX "WDIDX_EmpruntLivre_CodeLecteur" ON "EmpruntLivre" ("CodeLecteur");

CREATE INDEX "WDIDX_EmpruntLivre_CodeLivre" ON "EmpruntLivre" ("CodeLivre");

CREATE INDEX "WDIDX_EmpruntLivre_TitreLivre" ON "EmpruntLivre" ("TitreLivre");

CREATE INDEX "WDIDX_EmpruntLivre_IDLivres" ON "EmpruntLivre" ("IDLivres");

-- Création de la table lecteur

CREATE TABLE "lecteur" (

"IDlecteur" INTEGER PRIMARY KEY ,

"CodeLecteur" VARCHAR(12) UNIQUE ,

"Matricule" VARCHAR(10) ,

"Noms" VARCHAR(50) ,

"Telephone" VARCHAR(13) ,

"Email" VARCHAR(25) );

-- Création de la table Livres

CREATE TABLE "Livres" (

"IDLivres" INTEGER PRIMARY KEY ,

"Titre" VARCHAR(50) ,

"Auteur" VARCHAR(50) ,

"TypeDocument" VARCHAR(50) ,

"ISBN" VARCHAR(50) ,

"Anneeedition" NUMERIC(10,0) ,

"MsonEdition" VARCHAR(50) ,

"NombrePage" INTEGER ,

"EtatLivre" VARCHAR(50) ,

"CodeLivre" VARCHAR(15) UNIQUE ,

"CategorieLivre" VARCHAR(50) ,

"IDCategorieLivre" INTEGER ,

"IDEditeur" INTEGER ,

"IDAuteur" INTEGER ,

"IDTypeDocument" INTEGER ,

"IDEmpruntLivre" INTEGER );

CREATE INDEX "WDIDX_Livres_Titre" ON "Livres" ("Titre");

CREATE INDEX "WDIDX_Livres_Auteur" ON "Livres" ("Auteur");

CREATE INDEX "WDIDX_Livres_ISBN" ON "Livres" ("ISBN");

CREATE INDEX "WDIDX_Livres_MsonEdition" ON "Livres" ("MsonEdition");

CREATE INDEX "WDIDX_Livres_IDCategorieLivre" ON "Livres" ("IDCategorieLivre");

CREATE INDEX "WDIDX_Livres_IDEditeur" ON "Livres" ("IDEditeur");

CREATE INDEX "WDIDX_Livres_IDAuteur" ON "Livres" ("IDAuteur");

CREATE INDEX "WDIDX_Livres_IDTypeDocument" ON "Livres" ("IDTypeDocument");

CREATE INDEX "WDIDX_Livres_IDEmpruntLivre" ON "Livres" ("IDEmpruntLivre");

-- Création de la table RemiseLivre

CREATE TABLE "RemiseLivre" (

"IDEmpruntLivre" INTEGER PRIMARY KEY ,

"CodeLecteur" VARCHAR(12) ,

"CodeLivre" VARCHAR(15) ,

"TitreLivre" VARCHAR(50) ,

"DateRemise" DATE ,

"IDlecteur" INTEGER ,

"IDLivres" INTEGER );

CREATE INDEX "WDIDX_RemiseLivre_CodeLecteur" ON "RemiseLivre" ("CodeLecteur");

CREATE INDEX "WDIDX_RemiseLivre_CodeLivre" ON "RemiseLivre" ("CodeLivre");

CREATE INDEX "WDIDX_RemiseLivre_TitreLivre" ON "RemiseLivre" ("TitreLivre");

CREATE INDEX "WDIDX_RemiseLivre_IDlecteur" ON "RemiseLivre" ("IDlecteur");

CREATE INDEX "WDIDX_RemiseLivre_IDLivres" ON "RemiseLivre" ("IDLivres");

-- Création de la table TypeDocument

CREATE TABLE "TypeDocument" (

"IDTypeDocument" INTEGER PRIMARY KEY ,

"TypeDocument" VARCHAR(30) );

CREATE INDEX "WDIDX_TypeDocument_TypeDocument" ON "TypeDocument" ("TypeDocument");

-- Contraintes d'intégrité

ALTER TABLE "RemiseLivre" ADD FOREIGN KEY ("IDLivres") REFERENCES "Livres" ("IDLivres");

ALTER TABLE "EmpruntLivre" ADD FOREIGN KEY ("IDLivres") REFERENCES "Livres" ("IDLivres");

ALTER TABLE "Livres" ADD FOREIGN KEY ("IDTypeDocument") REFERENCES "TypeDocument" ("IDTypeDocument");

ALTER TABLE "Livres" ADD FOREIGN KEY ("IDAuteur") REFERENCES "Auteur" ("IDAuteur");

ALTER TABLE "Livres" ADD FOREIGN KEY ("IDEditeur") REFERENCES "Editeur" ("IDEditeur");

ALTER TABLE "Livres" ADD FOREIGN KEY ("IDCategorieLivre") REFERENCES "CategorieLivre" ("IDCategorieLivre");

ALTER TABLE "RemiseLivre" ADD FOREIGN KEY ("IDlecteur") REFERENCES "lecteur" ("IDlecteur");

ALTER TABLE "EmpruntLivre" ADD FOREIGN KEY ("IDlecteur") REFERENCES "lecteur" ("IDlecteur")

précédent sommaire






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo