PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session...
-
Upload
narcisse-gobert -
Category
Documents
-
view
105 -
download
0
Transcript of PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session...
![Page 1: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/1.jpg)
PPE : La Porte Intelligente
Emmanuel CabriThomas MeyersCharles Moreau
Antoine Beck
Session 2011/2012Lycée RaynouardAcadémie de Nice
![Page 2: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/2.jpg)
![Page 3: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/3.jpg)
![Page 4: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/4.jpg)
Les contraintes
Pour une salle accueillant :
- Plus de 100 personnes: Hauteur poignée > 1,40m / Passage utile >0,77 m. - Moins de 100 personnes, Hauteur poignée > 0,90 m / Passage utile > 0,83 m. - Locaux de moins de 30 m², Hauteur poignée > 0,80 m / Passage utile>0,77 m.
Matériel imposé :
- Carte Matrix E-Blocks- Flowcode V4 - Environnement Wamp pour le serveur.
ON S’EN
FOU
![Page 5: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/5.jpg)
![Page 6: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/6.jpg)
La réalisation
![Page 7: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/7.jpg)
Carte E-Blocks
![Page 8: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/8.jpg)
Programmation de la Matrix E-blocks
Programmée via FlowCode V4
Présentation de la structure et des macros
![Page 9: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/9.jpg)
-1: Initialisation du système
-2: Acquisition du code clavier
-3: Envoi de la requête HTTP
-4: Traitement des données reçues
-5: Actions résultantes
![Page 10: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/10.jpg)
- Initialisation des différents composants de la carte et des variables manipulées
- Chargement des variables paramétrables (Code bon, adresse IP du serveur, …)
- Affichage d’un message de bienvenue sur l’écran LCD
-Initialisation du système
-Acquisition du code clavier
-Envoi de la requête HTTP
-Traitement des données reçues
-Actions résultantes
![Page 11: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/11.jpg)
- 4 Chiffres
- Un bouton de validation (#)
- Un bouton de réinitialisation (*)
- Pas d’appui sur deux touches simultanément
- Délai d’attente court entre les acquisitions, sans double acquisition si appui long
- Affichage du chiffre sur l’écran, remplacé par une étoile après 500 ms
-Initialisation du système
-Acquisition du code clavier
-Envoi de la requête HTTP
-Traitement des données reçues
-Actions résultantes
![Page 12: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/12.jpg)
- Ouverture de la connexion entre la carte et le serveur via le routeur
- Envoi d’une requête HTTP
- Réception de la réponse
- Stockage des données reçues dans une variable
-Initialisation du système
-Acquisition du code clavier
-Envoi de la requête HTTP
-Traitement des données reçues
-Actions résultantes
![Page 13: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/13.jpg)
- Manipulation des données afin de les transformer en variables exploitables
- Comparaison de la valeur obtenue avec des valeurs de référence
- Exploitation du résultat
-Initialisation du système
-Acquisition du code clavier
-Envoi de la requête HTTP
-Traitement des données reçues
-Actions résultantes
![Page 14: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/14.jpg)
-Initialisation du système
-Acquisition du code clavier
-Envoi de la requête HTTP
-Traitement des données reçues
-Actions résultantes
Trois cas de figures possibles:
- Le code n’existe pas dans la base de données du serveur, l’information est alors indiquée sur l’écran
- Le code existe, mais n’est pas tapé à l’heure d’accès autorisé, la porte ne s’ouvre toujours pas, l’écran affiche un message d’erreur (différent du premier cas)
- Le code existe, et est tapé dans la bonne plage horaire, le système envoie alors un ordre permettant d’alimenter la gâche et d’ouvrir la porte pendant 10 secondes
![Page 15: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/15.jpg)
COMMUNICATION RESEAU CLIENT/SERVEUR
Analyse du réseau via Wireshark
Notions sur les protocoles de communication réseau
![Page 16: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/16.jpg)
-Problème posé
-Utilisation de Wireshark
- Solution au problème
Lors de nos tests nous avons remarqué que la communication entre la carte (le client) et le serveur posait des problèmes.Notre carte envoyait une requête HTTP et parfois ne recevait aucune réponse de la part du serveur, ou alors au bout de 10 minutes…
![Page 17: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/17.jpg)
Pour tenter de résoudre ce problème, nous allons utiliser un logiciel installé sur le serveur pour analyser les paquets transférés entre le serveur et la carte: Wireshark.
Nous allons donc étudier tout ce qui se passe entre l’adresse IP (Serveur) : 172.20.24.11Et l’adresse IP (Carte) : 172.20.24.12
Nous avons pris deux captures d’écrans de Wireshark: - une capture témoin où la carte reçoit une réponse du serveur (code ok ou pas) - une capture où, justement, le serveur ne répond pas…
-Problème posé
-Utilisation de Wireshark
- Solution au problème
![Page 18: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/18.jpg)
-Présentation de Wireshark
-Protocoles TCP et HTTP
-Première capture : quand ça marche…
-Seconde capture : limites du matériel
-
![Page 19: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/19.jpg)
-Présentation de Wireshark
-Protocoles TCP et HTTP
-Première capture : quand ça marche…
-Seconde capture : limites du matériel
-
![Page 20: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/20.jpg)
Observations
• Le problème se situe au niveau du protocole TCP, le serveur semble refuser d’établir la connexion (pas de réponse lors de la demande de ‘synchronisation’)
• Nous pensions que le problème était dû à la carte (module TCP/IP défectueux)
-Problème posé
-Utilisation de Wireshark
- Solution au problème
![Page 21: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/21.jpg)
Solution au problème : Un problème de socket • Considérons la situation suivante: Lorsque qu’avec 2 navigateurs internet (Firefox et IE ici), on demande une ressource (page web) au même serveur avec la même machine, l’IP reste la même, alors comment le serveur distingue Firefox d’IE ?
shema
• Un port source est généré par le navigateur à chaque requête, l’IP suivie du port source constitue un socket unique.
Ex: 172.20.24.12:80
• Dans notre cas, le port restait unique (80) et donc le socket aussi ainsi les requêtes trop rapprochées étaient considérées comme une erreur par le serveur, et refusait alors d’établir la connexion par sécurité.
![Page 22: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/22.jpg)
![Page 23: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/23.jpg)
Programmation du serveur
Programmé en PHP sur un environnement Wamp (Apache/Zend Engine/MySQL)
Présentation de l’interface d’utilisateur et d’administration
![Page 24: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/24.jpg)
![Page 25: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/25.jpg)
Présentation de la technologie PHP
Interface et script d’interraction programmés en PHP.
Le meilleur moyen d’expliquer le fonctionnement de PHP, c’est encore de commencer par montrer le fonctionnement général du WEB avant son apparition puis de faire une comparaison.
![Page 26: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/26.jpg)
![Page 27: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/27.jpg)
![Page 28: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/28.jpg)
Un exemple de programmation
Algorithme qui génère un mot de passe lors de la création d’un nouvel utilisateur ou de la demande de modification d’un mot de passe.
![Page 29: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/29.jpg)
Génération aléatoire d’un nombre entre 1000 et 9999
On vérifie qu’il n’y a pas au moins 3 chiffres du code qui sont identiques
On vérifie que le « code magique » n’a pas été généré.
On vérifie que le code n’est pas déjà utiliser par un autre utilisateur.
Enfin, si tout ces critères sont réunis, le code est stocké dans une variable utilisable par la suite.
Sinon, on recommence tout.
![Page 30: PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.](https://reader035.fdocument.pub/reader035/viewer/2022062511/551d9da1497959293b8cfe4d/html5/thumbnails/30.jpg)
L’algorithme de génération d ’un code
NON -> CodeValide
Tant que (PAS CodeValide)
Code Aléatoire[1000 ; 9999] -> Code
Chiffre des millier -> m
Chiffre des centaines -> c
Chiffre des dizaines -> d
Chiffre des unités -> u
Si ( Il n’y a pas 3 chiffres identiques parmi m,c,d et u)
NON -> CodeExiste
Tant que( Il y a des codes dans la base ET PAS CodeExiste)
Si ( CodeBDD = Code)
OUI -> CodeExiste
fin Si
fin Tant que
Si ( PAS CodeExiste)
OUI -> CodeValide
fin Si
fin Si
Fin Tant que