SERVEUR WEB. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Documents pareils
PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Contrôle distant par liaison SSH Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Master1 ère année. Réseaux avancés I. TP nº5 filière ISICG

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Programmation Web. Madalina Croitoru IUT Montpellier

Traitement de données

Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Module BD et sites WEB

TP JAVASCRIPT OMI4 TP5 SRC

Mise en place d un serveur Proxy sous Ubuntu / Debian

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

TP : STATION BLANI 2000 SIMULATION DU RESEAU INFORMATIQUE

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

Configuration de TCPIPconfig.h

PIC EVAL Dev Board PIC18F97J60

HTML. Notions générales

Installation software

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Mise en service HORUS version HTTP

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

Rôles serveur Notion de Groupe de Travail Active Directory Utilisation des outils d administration Microsoft Windows Server 2008

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Projet de Semestre. Page Web Didactique de Visualisation d Algorithme. Université de Genève - semestre de printemps 2012

Optimiser pour les appareils mobiles

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

HTML/CSS - Travaux Pratiques 2

NovoSIP manuel de mise en service

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

GUIDE D INSTALLATION. Routeur K-Net. Netgear WNR 3500 L. Contenu. Installation. Configuration. Opérateur Fibre Optique de Proximité

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

[DEVELOPPEMENT SUR LA CIBLE 2440] 19 avril 2010

GUIDE D UTILISATION DU BACKOFFICE

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

NovoSIP manuel de mise en service

Version beta. Station Météo 12/11/2012. Réalisation d un Station Météo avec Webserver composée de capteurs Grove et d un module Wifi Flyport.

Version janvier Manuel d'utilisation. Adaptateur Ethernet rapide 10/100 USB 2.0

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

NET BOX DATA Télégestion d'équipements via Internet & Intranet

Formulaire pour envoyer un mail

Présentation et description détaillée du S8400 Media Server

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

Le serveur web Windows Home Server 2011

Tutoriel XBNE Connexion à un environnement XBMC distant

NovoSIP manuel de mise en service

AC PRO SEN TR «services TCP/IP : WEB»

Un site web collaboratif avec Drupal. Judith Hannoun - Journées INSHS 16 Octobre 2012

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Bon ben voilà c est fait!

VoIP & Domotique. KITS DOMOTIQUES EnOcean

Démonstration de la mise en cache via HTML 5 sur iphone

Les services usuels de l Internet

Bases de Données et Internet

Initiation à html et à la création d'un site web

Joomla! Création et administration d'un site web - Version numérique

RESPONSIVE WEB DESIGN

40èmes Olympiades des métiers

DEPLOIEMENT MICROSOFT WINDOWS

212 Erreur accès anti- Echo. 214 Erreur démarrage vérif DSP. 215 Erreur accès trame IC. 216 Erreur DSP carte MSG. 217 Erreur données Carte MSG

Il est courant de souhaiter conserver à

Traitement des appels Accès au pages Web Options utilisateurs

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

1 Démarrage de Marionnet

Introduction aux concepts d ez Publish

LES OLYMPIADES DES METIERS. paration aux sélections s. Guide de préparation. régionalesr. Métier n 39 : GESTION DES RESEAUX INFORMATIQUES

En date du 11 décembre 2008

domovea Portier tebis

PPE Installation d un serveur FTP

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

GUIDE D UTILISATION ADSL ASSISTANCE

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Introduction à l informatique en BCPST

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!

IPHONE BANNIÈRE CLASSIQUE DIMENSIONS. Standard : 320 x 53 (portrait) 20Ko Jpeg/Gif/Png. HD : 640 x 106 (portrait) 20Ko Jpeg/Gif/Png DESCRIPTION

Réseaux et protocoles Damien Nouvel

Notes pour l utilisation d Expression Web

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

FICHE DE COURS RESEAU POSTE A POSTE BAC PRO SYSTEMES ELECTRONIQUES NUMERIQUES Champ Professionnel : Télécommunications et Réseaux

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Projet de programmation (IK3) : TP n 1 Correction

Stockage du fichier dans une table mysql:

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Introduction à Expression Web 2

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Manual de l utilisateur

Mise en œuvre d une solution de virtualisation

SECURIDAY 2012 Pro Edition

Tutoriel compte-rendu Mission 1

L annuaire et le Service DNS

Informatique : Création de site Web Master 2 ANI TP 1

USER GUIDE. Interface Web

Transcription:

SERVEUR WEB Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

1) TP : Serveur WEB L ordinateur Raspberry Pi est connecté en réseau par un connecteur Ethernet et/ou une liaison WIFI. Il peut devenir un serveur WEB permettant le contrôle distant de processus ou la transmission à distance de données à travers Internet. Ce TP montre comment créer un serveur WEB affichant deux boutons ON et OFF sur lesquels l utilisateur peut agir. Il existe plusieurs bibliothèque de site WEB embarqué pour Raspberry Pi, l ordinateur a cependant des ressources limités, il est préférable d utiliser un serveur peut gourmant en ressources processeur et éviter les médias trop volumineux qui satureraient la mémoire flash. La bibliothèque retenue dans cet exemple est webpy. Procédure de création d un site WEB avec webpy Installation du serveur : http://webpy.org/install ou (en français) https://itechnofrance.wordpress.com/2013/02/04/piloter-les-ports-gpio-partir-dunnavigateur-internet/ Documentation web.py http://webpy.org/tutorial3.en Télécharger le module http://webpy.org/static/web.py 0.37.tar.gz Le transfert depuis un PC vers LINUX (dossier ~/python se fait avec WinSCP tar xzvf web.py-0.37.tar.gz (décompression) cd web.py-0.37 python setup.py install Création du dossier du serveur WEB cd / (racine) mkdir webpyserver (le dossier du serveur) cd /webpyserver mkdir templates ( contiendra les pages html dont index.html mkdir static (feuille de style CSS éventuelle) Remarque : le port du serveur Web sera 8080 Réalisation du site WEB Dans le dossier webpiserver, créér le fichier gpio4.py Ce programme récupère les données des GPIO et gère l interface homme machine de la page Web. #!/usr/bin/env python import web import RPi.GPIO as GPIO from web import form # definit GPIO4 en sortie GPIO.setmode(GPIO.BCM) GPIO.setup(4, GPIO.OUT) # definit la page de nom index pour le site web urls = ( /, index ) dossier_web = web.template.render( templates ) app = web.application(urls, globals()) # definit les boutons a afficher ma_forme = form.form( form.button("btn", id = "btnon", value = "on", html = "On", class_ = "bouton_on"), form.button("btn", id = "btnoff", value = "off", html = "Off", class_ = "bouton_off") ) BTS systèmes numériques http://genelaix.free.fr 2/5

# definit l action a effectuer quand la page index est appelee class index: # utilise quand la page est demandee def GET(self): forme = ma_forme() return dossier_web.index(forme, "Raspberry Pi control GPIO4") # utilise quand une forme web est soumise def POST(self): userdata = web.input() if userdata.btn == "on": GPIO.output(4,True) # Allume la LED if userdata.btn == "off": GPIO.output(4,False) # Eteind la LED # recharge la page web raise web.seeother( / ) # programme if name == main : app.run() Dans le sous dossier templates créer le fichier index.html C est la page html d accueil du site Web, elle est ici simplifiée au maximum. Il est possible de l enrichir avec un éditeur html comme NVU ou KOMPOSER ( www.nvu.com ) $def with (form, title) <!doctype html> <html> <head> <title>$title</title> </head> <body> <br /> <form class="form" method="post"> $:form.render() </form> </body> </html> Lancer le programme gpio4.py et accéder au serveur de la Raspberry Pi depuis un PC en réseau à l adresse : ip : XXX.XXX.XXX.XXX :8080 ou plus simplement raspberrypi :8080 Résultat obtenu pour les deux boutons : BTS systèmes numériques http://genelaix.free.fr 3/5

2) TP : Thermometre WEB Ce TP est un prolongement des TP «serveur WEB» et «i2c», il réalise un «thermomètre WEB» Dans webpyserver placer le fichier suivant : Fichier webtempgpio4.py #!/usr/bin/env python # l acces au bus I2C de la Raspberry Pi necessite : #sudo modprobe i2c-dev #sudo modprobe i2c-bcm2708 # pour verifier la presence d'un peripherique i2c : #sudo i2cdetect -y 1 # cette version flash laled sur GPIO4 lors d'une demande de temperature # Bibliotheque de gestion E/S : Rpi.GPIO # http://code.google.com/p/raspberry-gpio-python/ import RPi.GPIO as GPIO # gestion E/S import web,smbus #charge le serveur WEB et le gestionnaire I2C from web import form # form est utilise # definit GPIO4 en sortie, # ici on indique le numero GPIO du BCM2835 # il est possible d'utiliser le numero de la broche sur le connecteur # GPIO4 est sur la broche 7, avec GPIO.setmode(GPIO.BCM) GPIO.setmode(GPIO.BCM) #numerotation GPIO BCM2835, 4 pour GPIO4 GPIO.setup(4, GPIO.OUT) bus_pi = smbus.smbus(1) # declarele busi2c (SMBUS) 1 # adresse I2C du TMP102 addrtmp102 = 0x48 #mesure la temperature avec un TMP102 (I2C) def mestemp(): x = bus_pi.read_word_data(addrtmp102,0) #la lecture est pf puis PF, il faut les permuter msb=x>>8 lsb=x&0x00ff wtemp=((lsb<<8) msb)>>4 temp=wtemp*0.0625 round(temp,2) # arrondi au centieme # ecrit un echo du serveur sur la console print 'TMP102 I2C: 0x{0:02x} Lecture 0x{1:04x}'.format( addrtmp102,wtemp ) print 'temperature : ',temp,'degres C\n\r' return temp # indique l emplacement des fichiers html render = web.template.render('templates/') # definit la page de nom index pour le site web urls = ('/', 'index') # definit les boutons a afficher ma_forme = form.form( form.button("btn", id = "btnon", value = "on", html = "Allumee", class_ = "bouton_on"), form.button("btn", id = "btnoff", value = "off", html = "Eteinte", class_ = "bouton_off") ) # definit l action a effectuer quand la page index est appelee class index: def GET(self): # utilise quand la page est demandee forme = ma_forme() t=mestemp() BTS systèmes numériques http://genelaix.free.fr 4/5

return render.index(forme,t) #renvoie le retour de la page html # utilise quand une forme web est soumise def POST(self): userdata = web.input() if userdata.btn == 'on': GPIO.output(4,True) print 'LED GPIO4 allumee' if userdata.btn == 'off': GPIO.output(4,False) print 'LED GPIO4 eteinte' # recharge la page web raise web.seeother('/') # le programme if name == ' main ': app = web.application(urls, globals()) app.run() Créer le fichier : templates/index.html $def with (form,temp) <em>la temperature</em> <!-- temp represente la temperature --> $if temp: est de <b> <FONT size=30> $temp </b> </FONT> degres C <br /> $if (temp>=25.0): <FONT color="red" size=15> il fait chaud </FONT> (>25 degres) $else: <FONT color="blue" size=12> il fait froid </FONT> (<25 degres) $else: <em>ca marche pas</em> <br /> Les boutons commandent la LED sur GPIO4 <br /> Une action sur les boutons recharge la page <br /> <form class="form" method="post"> $:form.render() </form> <br /><em><b> Lycee Fourcade </b>13120 Gardanne </em><br /> BTS systèmes numériques http://genelaix.free.fr 5/5