TERMINALE S Spécialité Informatique et Sciences du Numérique EVALUATION SOMMATIVE 1 TP de mise en œuvre d une solution Consignes : 1. Aucune communication n est autorisée pendant l évaluation sommative. 2. Tout Document peut être consulté. 3. La configuration de l Interface Homme Machine (IHM ) est à réaliser selon votre convenance. 4. Le sujet est composé de deux parties. La première est à réaliser en classe (2 heures) sur ordinateur. Le deuxième est rendre au plus tard le 13/11/2012. I/ Expression du besoin Pérenniser le maintien à domicile des personnes vulnérables Pérenniser le maintien à domicile des personnes vulnérables Capteurs de présence Lien Wifi ou Zigbee Serveur des alarmes Capteur 1 Capteur 2 Capteur n Réseau Internet Réseau domestique Maisons/Appartements Poste de supervision L objectif du projet est de contribuer à pérenniser le maintien à domicile des personnes vulnérables en leur offrant un environnement sûr.
Dans le cadre d un service type téléalarme pour personne âgée seule à domicile, l objectif principal est de déterminer si elle est en état de détresse. Des capteurs de présence en wifi seront installés au salon, chambres, couloir, salle de bain, et cuisine. En fonctionnement nominal, une personne qui se trouve dans une des pièces "surveillées", est considérée par défaut en état "normal". Si aucun des capteurs ne détecte la personne, après un certain temps, on envoie une alarme au poste de supervision. Ce dernier appelle la personne au téléphone pour vérifier si elle est dans un état "normal" ou dans un état de détresse (une chute dans un couloir par exemple). Le logiciel devra utiliser les informations de détection ou non détection des capteurs, associées à une gestion du temps pour affiner son analyse avant d envoyer une alarme. I/ PREMIERE PARTIE (durée deux heures). Dans cette partie, nous nous intéresserons à la programmation d une partie de l application du poste de supervision. Le poste de supervision, reçoit les alarmes par le réseau Internet, ces dernières sont envoyées à partir du système de surveillance situé dans l appartement de la personne vulnérable. Un surveillant appelle immédiatement la personne par téléphone, si elle ne répond pas, il contacte les services de secours. Travail demandé : Dès le début de leur service, les surveillants doivent s authentifier avant d accéder aux différentes options de l application. On se propose de réaliser cette partie. L interface Homme Machine (IHM ) proposée à chaque question, est donnée à titre indicatif. I / Connaissances : 1.1) Pour se connecter au serveur WEB d ISN, on doit tapez l URL suivante http://195.221.154.52:4450/isn/ Que signifie Le mot URL? Donnez la signification des différents termes de l URL http 195.221.154.52 4450.
Algorithme et programmation Q1) Programmation HTML : Réaliser la page suivante : Q2) Programmation HTML : Compléter la page d accueil on y ajoutant deux zones de saisies :
Q3) Algorithme et programmation en PHP Pour sécuriser une application informatique, on procède comme suit : 1) L administrateur génère des mots de passe 2) L administrateur crypte les mots de passe en utilisant un algorithme de cyptage. 3) Il envoie à utilisateur son identifiant et le mot de passe (non crypté) 4) Authentification: Le principe de l'authentification est simple: L utilisateur saisit son identifiant et son mot de passe (non crypté), l application crypte le mot de passe et le compare à celui mémorisé dans le programme pour savoir s'il est autorisé à accéder à cette dernière. Q3.1) Algorithme de cryptage : Pour crypter les mots de passe des surveillants je vous propose de traduire l algorithme suivant en langage PHP : Algorithme de cryptage : remplacer chaque chiffre du code à crypter par (la somme de ce chiffre et de 7) modulo 10; ensuite il faut permuter le premier chiffre et le troisième ainsi que le deuxième et le quatrième. Données de départ : code : entier de 4 chiffres Sorties : code crypté : entier de 4 chiffres Début // Zone de données de départ Lire (code) // Zone des traitements m code / 1000 // Division entière en PHP $m=(int)($code/1000) ; c (code/100) modulo 10 // Le modulo = le reste de la division entière // utiliser la caractère % d (code/10) modulo 10 u code modulo 10 m (m+7) modulo 10 c (c+7) modulo 10 d (d+7) modulo 10 u (u+7) modulo 10 codecrypte d*1000+u*100+m*10+c; // Zone des sorties fin Afficher (codecrypte) ; Q3.1 ) Traduire cet algorithme en PHP et générer deux mots de passe.
Il faut ensuite communiquer aux surveillants les codes et les identifiants suivants : Surveillant 1 : Identifiant = DENIS, mot de passe = 4571 Surveillant 2 : Identifiant = WALLET, mot de passe = 1304 Q3.2) Retour au poste de supervision. Pour accéder à l application de supervision, le surveillant doit s authentifier. Votre code PHP ne doit pas contenir le mot de passe non crypté. En effet, en cas de piratage de votre serveur, on peut voir le dit-mot de passe. Voici la procédure à suive : On saisit l identifiant et le mot de passe non crypté On crypte le mot de passe en appliquant l algorithme de la question 3.1 On compare le résultat obtenu au mot de passe crypté enregistré dans le code
Traduire l algorithme suivant en langage PHP : Données de départ : Identifiant : une chaine de caractère (le nom du surveillant) code non crypte : entier de 4 chiffres Sorties : autorisation d accès : Lien vers la page application Début // Zone de données de départ Lire (Identifiant) Lire (code) // Zone des traitements autorisation= 0 m code / 1000 c (code/100) modulo 10 d (code/10) modulo 10 u code modulo 10 m (m+7) modulo 10 c (c+7) modulo 10 d (d+7) modulo 10 u (u+7) modulo 10 codecrypte d*1000+u*100+m*10+c; si (identifiant ="DENIS" ) ET (codecrypte=4812) alors autoriation = 1 finsi // Zone des sorties si (autorisation = 1) alors afficher ( "accès autorisé") sinon finsi afficher ( "accès non autorisé") fin Q3.3 ) Modifier l algorithme de la question Q3.2 pour pouvoir tester l identifiant et le mot de passe du surveillent WALLET. Programmer et tester cette modification.
Q3.4 ) Une surveillante, Madame DELANAUD, a été recrutée pour renforcer l équipe:, elle aura le code 1548, il faut donc créer le code crypté et modifier votre programme pour lui permettre d accéder à l application. Transfert de votre programme sur le serveur : A l aide d un logiciel de transfert de fichier (FTP), télécharger votre code source sur le serveur. Connectez-vous au serveur et tester le bon fonctionnement de votre programme. Information pour se connecter au serveur FTP : Hôte = 195.221.154.52 Utilisateur = ISN Mot de passe = USER Port = 4451 Créer ensuite dans votre répertoire un répertoire EVAL1, et transférer vos codes. Pour tester votre programme : http://195.221.154.52:4450/ Algotithme programmation Evaluation Barème et notation Capacité à traduire un algorithme en langage PHP Capacité à ecrire un algorithme Capacité à coder en PHP ( Décalaration, Entrées, Traitements, Sorties et les commentaires ) Capacité à être autonome dans l'exécution des tâches de réalisation, de codage, de test, d'installation. Dégré d autonomie dans la recherche des fonctions nécessaires au code.. Etat et qualité de la réalisation ( IHM ) Note /25 la réalisation Capacité à transférer les fichiers sur le serveur ISN /5 Total /30 BONUS (10 points ) : Le langage PHP propose une fonction (MD5) pour réaliser le cryptage des mots de passe. Utiliser cette fonction pour crypter les mots de passe des 3 surveillants. Description string md5 ( string str) md5 calcule le MD5 de la chaîne de caractères str en utilisant l'algorithme RSA Data Security, Inc. MD5 Message-Digest Algorithm, et retourne le résultat. Le résultat est un nombre de 32 caractères hexadécimaux.
1) En utilisant la fonction md5, crypter les mots de passe suivants. Login Mot de passe Mot de passe Crypté DENIS 4571 WALLET 1304 DELANAUD 1548 2) Reprendre votre programme et remplacer l algorithme de la question 3.2, par la fonction md5.