Géocodage d une flotte de téléphones portables Principes (niveau débutants)



Documents pareils
Warren PAULUS. Android SDK et Android x86

L installation du module Webmail nécessite également quelques prérequis, à savoir :

Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE:

Création d un service web avec NetBeans 5.5 et SJAS 9

Programmation Internet en Java

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

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Les serveurs WEBUne introduction

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Différentes installations sur un serveur Windows 2000 ou 2003.

Cours 14 Les fichiers

Groupe Eyrolles, 2003, ISBN : X

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

SECURIDAY 2013 Cyber War

Installation d un hébergement Web à domicile

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

Introduction à HTTP. Chapitre HTTP 0.9

Flux de données Lecture/Ecriture Fichiers

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

Stéphane Mariel. les Cahiers. Programmeur PHP 5. Avec la contribution de Jean Zundel et Jean-Marie Thomas. Groupe Eyrolles, 2004, ISBN

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

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X

Les différentes méthodes pour se connecter

Intranet d'établissement avec Eva-web Installation configuration sur serveur 2000 ou 2003 Document pour les administrateurs

Remarques préliminaires L installation a été testée sur XP, Vista et Windows 7.

TD/TP 1 Introduction au SDK d Android

MANUEL D INSTALLATION

TP Service HTTP Serveur Apache Linux Debian

Préparation d un serveur Apache pour Zend Framework

Cahier Technique Envoi par à partir des logiciels V7.00

Livret 1 Poste de travail de l utilisateur :

Service de certificat

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

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

Découvrez notre solution Alternative Citrix / TSE

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

PRONOTE 2010 hébergement

HTTP Commander. Table des matières. 1-Présentation de HTTP Commander

INSTALLATION APACHE POUR WINDOWS (XP OU 2000)

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

Installation locale de JOOMLA SEPIA

Projet de programmation (IK3) : TP n 1 Correction

TP SIN Programmation sur androïde Support : eclipse

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Début de la procédure

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Programmer en JAVA. par Tama

MANUEL INSTALLATION. GANESHA version 4. Editeur Anéma SAS Département Développement

Utilisation de l éditeur.

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

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

Procédure d'installation du serveur Apache HTTPD pour Windows

Récupérer un fichier effacé par erreur avec le logiciel Restoration

Stockage du fichier dans une table mysql:

Ce qu il faut sauvegarder avant de formater et ré installer

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

Netstorage et Netdrive pour accéder à ses données par Internet

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

Pratique et administration des systèmes

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Module BD et sites WEB

Enregistrement de votre Géorando Maxi Liberté

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 12/09/2008. AUTEUR : Equipe technique Syfadis

L accès à distance du serveur

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

Manuel d'installation de GESLAB Client Lourd

Le serveur web Windows Home Server 2011

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

GUIDE D UTILISATION CRÉER SON SITE WEB - PROJET RESCOL

1. Mise en œuvre du Cegid Web Access Server en https

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

Module 7 : Configuration du serveur WEB Apache

Powershell. Sommaire. 1) Étude du cahier des charges 2) Veille technologique 3) Administration sur site 4) Automatisation des tâches d administration

Mise en place d un serveur Proxy sous Ubuntu / Debian

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

NOTICE D UTILISATION. PC / Version française

Manuel d installation de Business Objects Web Intelligence Rich Client.

Réglages du portail de P&WC

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Optimiser pour les appareils mobiles

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Installation d un ordinateur avec reprise des données

Guide d'installation Application PVe sur poste fixe

Annexe 1. DIDACTICIEL Installation OCS 2.0RC2 /GLPI pour WINDOWS

Thème : Création, Hébergement et référencement d un site Web

Guide d installation TV sur ordinateur Internet 3G+

Atelier Le gestionnaire de fichier

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

Votre réseau multimédia

SERVEUR DE MESSAGERIE

La base de données XML exist. A. Belaïd

Transcription:

Géocodage d une flotte de téléphones portables Principes (niveau débutants) P. Lacomme (placomme@isima.fr) 1. Mise en place d un serveur web Étape 1 : Installer un serveur php. Par exemple : http://www.easyphp.org/ 1

Étape 2 : Vérifier que le serveur fonctionne. 2

Utilisateurs de Windows Vista et de Windows 7 Attention!!! Si vous obtenez un message d erreur en lançant la console d administration, il faut relancer easyphp en mode administrateur. 3

Étape 3 : Faites un test avec une page html Allez dans le répertoire d installation de EasyPHP et placez vous dans le répertoire www. Ma machine étant sous Windows Vista, ce repertoire est : C:\Program Files\EasyPHP-5.3.3\www Avec un éditeur de texte créez un fichier nommé index.html et contenant Bonjour. Lancez votre navigateur internet et connectez vous sur : http://127.0.0.1/index.html 4

Cela doit donner une page comme celle-ci : Étape 4 : Quelques rappels sur les fonctions POST et GET. révisions. Créer un répertoire essai_php dans le répertoire www 5

Essai numéro 1. Passage d information entre page web : utilisation de POST Créer un répertoire essai1 Nous crééons deux fichiers : - essai.html - page_de_traitement.php 6

<form method="post" action="page_de_traitement.php"> Un chiffre : <input type="text" name="ma_variable"> </form> <?php $ma_variable = $_POST['ma_variable'] ; echo $ma_variable ;?> Accédez à la page : http://127.0.0.1/essai_php/essai1/essai.html Saisir dans el champ un chiffre par exemple 123456 7

A la fin de la saisie, appuyer sur Entrée. Cela lance l exécution de l action : ici en fait l accès à la page page_de_traitement.php Comme on peut le voir, la page php a bien recu l information Essai numéro 2. Créer un répertoire essai2 utilisation de GET Créer un répertoire essai2 Créer un fichier nommé localise.php 8

Soit le code suivant : <?php $_long_get=0; $_lati_get=0; if(isset($_get["long_get"]) &&!empty($_get["long_get"])) $_long_get=$_get["long_get"]; if(isset($_get["lati_get"]) &&!empty($_get["lati_get"])) $_lati_get=$_get["lati_get"];?> echo "_LONGI_GET = ".$_long_get."<br>"; echo "_LATI_GET = ".$_lati_get."<br>"; On peut alors passer directement des informations à la page php en codant les données dans l adresse url comme sur l exemple qui suit : http://127.0.0.1/essai_php/essai2/localise.php?long_get=11111&lati_get=22222 9

Ceci donne à l exécution : Essai numéro 3. Ecrire dans des fichiers texte avec PHP Créer un répertoire nommé essai3 Créer un fichier nommé enregistre.php et contenant le code suivant : 10

<?php $Fnm = "mon_fichier.txt";?> $inf = fopen($fnm,"a"); fwrite($inf,"essai\n"); fclose($inf); Initialement, le répertoire est vide : A la premier connextion sur la page 11

Le fichier mon_fichier.txt est crée. Et contient : 12

Après la deuxième connextion, on obtient : 13

Essai numéro 4. Enregistrer la position d un téléphone Créer un répertoire nommé essai4 Créer un fichier nommé enregistre.php et contenant le code suivant : 14

<?php $_long_get=0; $_lati_get=0; if(isset($_get["long_get"]) &&!empty($_get["long_get"])) $_long_get=$_get["long_get"]; if(isset($_get["lati_get"]) &&!empty($_get["lati_get"])) $_lati_get=$_get["lati_get"];?> if ( ($_long_get!=0) && ($_lati_get!=0) ) { $Fnm = "mon_fichier.txt"; $inf = fopen($fnm,"a"); fwrite($inf,$_long_get); fwrite($inf," "); fwrite($inf,$_lati_get); fwrite($inf,"\n"); fclose($inf); } Testons l accès à la page. http://127.0.0.1/essai_php/essai4/enregistre.php?long_get=11111&lati_get=22222 Le répertoire contient maintenant un fichier nommé mon_fichier.text 15

Et contenant 11111 22222 16

Un deuxième accès à la page de la forme http://127.0.0.1/essai_php/essai4/enregistre.php?long_get=5545&lati_get=245 Entraine une modification du fichier qui contient maintenant : Le principe est donc acquis. 17

Étape 5 : réalisation d un programme Java Etape 5.1. Légères modification du script php <?php $_long_get=0; $_lati_get=0; if(isset($_get["long_get"]) &&!empty($_get["long_get"])) $_long_get=$_get["long_get"]; if(isset($_get["lati_get"]) &&!empty($_get["lati_get"])) $_lati_get=$_get["lati_get"]; if ( ($_long_get!=0) && ($_lati_get!=0) ) { $Fnm = "mon_fichier.txt"; $inf = fopen($fnm,"a"); modifications?> fwrite($inf,$_long_get); fwrite($inf," "); fwrite($inf,$_lati_get); fwrite($inf," \ "); fclose($inf); } Etape 5.2. création d un programme Java simple Il s agit de réaliser un programme Java minimaliste permettant d accéder à la page enregistrer.php en fournissant des informations sur une latitude et une longitude que l on va supposer être saisie par l utilisateur. Lancer NetBeans et créer une Java Application «classique» 18

Créez vous une interface du style suivant : 19

Attachez un événement clic sur le bouton. private void jtogglebutton1mouseclicked(java.awt.event.mouseevent evt) { // TODO add your handling code here: } On va modifier le code Etape 5.3. Ajouter les imports suivants à votre programme. import java.io.*; import java.io.datainputstream; import java.io.dataoutputstream; import java.net.*; Etape 5.4. Créer une fonction de connexion sur la page Php Le prototype peut être par exemple : void envoyer_information (String serveur, String longitude, String latitude) le role de la procédure est d envoyer une requête sur la page php 20

void envoyer_information (String serveur, String longitude, String latitude) { Socket S = null; try{ S= new Socket("127.0.0.1",80); InputStream input = S.getInputStream(); OutputStream output = S.getOutputStream(); BufferedReader Buffer = new BufferedReader(new InputStreamReader(input)); PrintWriter BufferSortie = new PrintWriter(new OutputStreamWriter(output)); String chaine = "GET /essai_php/essai4/enregistre.php?long_get="; chaine = chaine + longitude + "&lati_get="+latitude+ " HTTP/1.0"; BufferSortie.println(chaine); BufferSortie.println("Host:127.0.0.1"); BufferSortie.println("Accept: jpg, pictures/gif, pics/jpg, pics/gif, image/xxbitmap, pics/jpeg,image/pjpeg, image/png, */*"); BufferSortie.println(""); BufferSortie.flush(); //System.out.println("--> lecture de la reponse..."); String responseline=""; int total=0; try { do{ responseline = Buffer.readLine(); // System.out.println("Lu : "+responseline); total=total+responseline.length(); }while ( true==true ); } catch (Exception e){ System.out.println(e.getMessage()); } S.close(); } catch (Exception e){ System.out.println(e.getMessage()); } } Modifier ensuite le code gérant l événement clic sur le bouton. private void jtogglebutton1mouseclicked(java.awt.event.mouseevent evt) { } String valeur1 = jtextfield1.gettext(); // longitude String valeur2 = jtextfield2.gettext(); // latitude envoyer_information("127.0.01", valeur1, valeur2); 21

Etape 5.5. Tester le programme Vérifier que le fichier mon_fichier.txt est initialement vide. Lancez le programme 22

Après le clic sur le bouton, le fichier contient : Un deuxième essai donnera : 23

2. Installer un serveur http sur votre PC : passage sous Apache Télécharger ici : http://httpd.apache.org/download.cgi#apache22 24

Installer ensuite Apache. Patientez. 25

Votre PC possède maintenant un serveur http accessible comme ceci : Notez que je peux accéder à la page en tapant l adresse IP de ma machine (ici 172.16.65.145). 26

Installer PHP. Ici : http://php.net/downloads.php. Choisir de préférence un dossier d installation de PHP sous la racine de votre machine. Par exemple : c:/php/ Allez dans le répertoire Apache2.2\conf. Ouvrir httpd.conf. 27

Ajouter cette ligne : LoadModule php5_module "C:/PHP/php5apache2_2.dll" Qui donne accès au fichier dll de PHP. Vérifier l emplacement du fichier et son nom sur votre PC. Sur ma machine le répertoire PHP se présente comme suit : Donc le fichier httpd.conf doit être modifié comme suit : 28

Ensuite rechercher DirectoryIndex dans le fichier. 29

Faites la modification suivante : <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> Pour terminer, rechercher AddType. 30

AddType application/x-httpd-php.php Tester ensuite la configuration de votre tamtem Apache / PHP. Copier le répertoire essai_php ainsi que le fichier index.html dans : C:\Program Files (x86)\apache Software Foundation\Apache2.2\htdocs 31

Faites quelques tests par exemple : http://172.16.65.145/index.html Faites quelques tests par exemple : http://172.16.65.145/essai_php/essai4/enregistre.php?long_get=5545&lati_get=245 32

3. Réalisation d une démonstration pour Android Etape 3.1. Faire un nouveau projet pour Android. 33

34

Et vérifier que tout fonctionnne 35

Etape 3.2. Autoriser le code à accéder à Internet. Ouvrir le fichier AndroidManifest.xml 36

Aller dans l onglet Permissions. Faire ensuite Add. Choisir ensuite Uses Permission. 37

Choisir : android.permission.internet Ce qui doit donner ceci : Etape 3.3. Création de la procedure de connexion. 38

Créer une procédure comme celle-ci : void envoyer_information (String serveur, String longitude, String latitude) { Socket S = null; try{ S= new Socket(serveur,80); InputStream input = S.getInputStream(); OutputStream output = S.getOutputStream(); BufferedReader Buffer = new BufferedReader(new InputStreamReader(input)); PrintWriter BufferSortie = new PrintWriter(new OutputStreamWriter(output)); String chaine = "GET /essai_php/essai4/enregistre.php?long_get="; chaine = chaine + longitude + "&lati_get="+latitude+ " HTTP/1.0"; BufferSortie.println(chaine); BufferSortie.println("Host: "+serveur); BufferSortie.println("Accept: jpg, pictures/gif, pics/jpg, pics/gif, image/xxbitmap, pics/jpeg,image/pjpeg, image/png, */*"); BufferSortie.println(""); BufferSortie.flush(); //System.out.println("--> lecture de la reponse..."); String responseline=""; int total=0; try { do{ responseline = Buffer.readLine(); // System.out.println("Lu : "+responseline); total=total+responseline.length(); }while ( true==true ); } catch (Exception e){ } TextView tv = new TextView(this); String chainem = e.getmessage(); tv.settext(chainem); setcontentview(tv); S.close(); } catch (Exception e){ } } TextView tv = new TextView(this); String chainemm = e.getmessage(); tv.settext(chainemm); setcontentview(tv); Dès que l application démarre il suffit d appler la procédure en donnant par exemple comme coordonnées 123.12 et 45.6. @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } envoyer_information("172.16.65.145","123.12","45.6"); 39

On peut tester le programme Allez dans : C:\Program Files (x86)\apache Software Foundation\Apache2.2\htdocs\essai_php\essai4 Vérifier que le fichier est vide et si nécessaire, effacer son contenu 40

Lancer l exécution Et ouvrons à nouveau le fichier 41

Modifier le code : Envoyer_information("172.16.65.145","23.99","99.6"); Le fichier contient maintenant : Il ne reste plus qu à récupérer la position GPS du téléphone et à utiliser ensuite le procédure Envoyer_information avec les bons paramètres. ------------- FIN ------------- 42