Chapitre 6. La gestion réseau sous Android
|
|
- Jean-Bernard Audy
- il y a 8 ans
- Total affichages :
Transcription
1 Chapitre 6 La gestion réseau sous Android 1
2 Plan du chapitre 6 Rappels sur la programmation réseau Communication avec une Socket serveur Utiliser HTTP avec les API Android Utilisation de la librairie Android JSON 2
3 Rappel sur la programmation réseau Réseau = architecture en couche (7?) Sûrement 4 couches basses dont couche de routage (IP), couche de transport (TCP, UDP) Notions de numéro IP (l'adresse d'une machine), de port (65536), de socket (tuyau ou embout de tuyau), etc. Les sockets sont bi-directionnelles. Souvent on en utilise une seule qui véhicule les messages dans les deux sens = localhost De multiples couches réseau applicatives peuvent être traitées avec Android : socket, services web (HTTP, SOAP, REST), flot XML,... 3
4 Programmation réseau en général Un serveur est un programme qui rend un service (si, si). En général, un serveur est à l'écoute de requête qui lui sont adressées. Mais ce n'est pas systématique (si, si, exemple un serveur de temps). En général, un serveur est distant mais ce n'est pas systématique (si, si, exemple serveur X) Un client est un programme qui demande un service (si, si). En général, il envoie une requête, attend une réponse et est local. Mais ce n'est pas systématique (cf. exemples ci dessus) Qui dit programmation réseau dit, si possible, programmation multithreadée, coté serveur comme coté client Pourquoi programmation multithreadée coté serveur? Pourquoi programmation multithreadée coté client? 4
5 Communication au niveau socket : le serveur On veut faire communiquer un smartphone (initiateur de la connexion) à un ordinateur (à l'écoute de connexion) à l'aide de socket (TCP) Coté serveur comme coté client, c'est en fait le code habituel Java SE des sockets Pour le serveur (sur l'ordinateur), essentiellement on a : ServerSocket serversocket = null; Socket socket = null; DataInputStream datainputstream = null; DataOutputStream dataoutputstream = null;... serversocket = new ServerSocket(8888);... while(true){... socket = serversocket.accept(); datainputstream = new DataInputStream(socket.getInputStream()); dataoutputstream = new DataOutputStream(socket.getOutputStream()); String chainerecue = datainputstream.readutf(); StringBuffer chaineretournee = (new StringBuffer(chaineRecue)).reverse(); dataoutputstream.writeutf(chaineretournee.tostring()); 5
6 Communication au niveau socket : le client Pour le demandeur (un smartphone) essentiellement on a : Socket socket = null; DataOutputStream dataoutputstream = null; DataInputStream datainputstream = null; try { InetAddress serveraddr = InetAddress.getByName(serverIpAddress); socket = new Socket(serverAddr, SERVERPORT); dataoutputstream = new DataOutputStream(socket.getOutputStream()); datainputstream = new DataInputStream(socket.getInputStream()); dataoutputstream.writeutf(textin.gettext().tostring()); textout.settext(datainputstream.readutf()); catch (Exception e) {... Remarque : 1 ) C'est le code Java SE 2 ) On ne met jamais (même pour un AVD) new socket("localhost",...); Eh oui! Euh pourquoi? 6
7 Communication client Android, serveur ordinateur Une démo, OK! 1 ) lancer le serveur (sélectionner le projet SocketServeurJ2SEProjet, clic droit Run As Java Application) 2 ) lancer l'application Android (projet ComSocketProjet,... Android Application) 7
8 Communication socket : smartphone serveur (1/2) De plus un smartphone peut être à l'écoute (et donc avoir un ServerSocket) sur un port. Il peut donc jouer un rôle de serveur On lance la thread d'écoute (dans oncreate()) par new Thread(new ServerThread()).start(); avec : class ServerThread implements Runnable { public void run() { Socket socket = null;... serversocket = new ServerSocket(SERVERPORT);... while (!Thread.currentThread().isInterrupted()) {... socket = serversocket.accept(); CommunicationRunnable commrun = new CommunicationRunnable(socket); new Thread(commRun).start();... C'est le code classique : le serveur écoute. Dès qu'un client se connecte à lui (accept()), une thread de traitement (de code défini par CommunicationRunnable) lui ait dédié 8
9 Communication socket : smartphone serveur (2/2) La thread de traitement d'un client est : class CommunicationRunnable implements Runnable { public CommunicationRunnable(Socket clientsocket) { ServerActivity.this.clientSocket = clientsocket; public void run() { travailduserveur(); // Mise à jour de lihm du serveur updateihmhandler.post(new UpdateUIThread(chaineRecue)); Evidemment il faut avoir dans l'androidmanifest.xmlde ce serveur les lignes : <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_network_state" /> 9
10 Mise à jour de l'ihm du serveur : Handler (1/2) Les threads (de lancement de l'écoute, de traitement d'un client) sont des threads différentes de la UI Thread Or les mises à jour de l'ihm du smartphone ne peut être fait que par la UI thread La classe Handler, bien pratique, permet d'indiquer de lancer du code (= envoyer un Runnable) ou d'envoyer des données (des Message) à la thread qui lui a donné naissance dite thread associée au Handler Ainsi un objet de la classe Handlerenvoie du code à exécuter à la thread qui lui a donné naissance par les méthodes postxxx(runnable r,...) La thread associée au Handlerexécutera le code du Runnablepassé comme argument Pour utiliser un Handler, souvent on crée une sous classe de cette classe android.os.handler source : r.html 10
11 Mise à jour de l'ihm du serveur : Handler (2/2) D'où l'architecture : updateihmhandler est un Handler dans la méthode oncreate(), on a écrit : updateihmhandler = new Handler(); après le travail du serveur : updateihmhandler.post(new UpdateUIRunnable(...)); avec : class UpdateUIRunnable implements Runnable { // champs initialisés par le constructeur public updateuirunnable(...) public void run() { // text est un composant graphique (un TextView) text.settext(...);... // d'autres codes de MAJ de l'ihm 11
12 Communications entre deux AVD Chaque émulateur évolue dans un réseau (virtuel) qui lui est propre et qui est différent du réseau de la machine de développement Dans leur propre réseau virtuel les AVD ont les mêmes adresses IP avec les mêmes significations. Par exemple = la machine de développement (= de la machine de développement) alors que pour un AVD, localhostou est l'avd lui même Un AVD va joindre le réseau d'un autre AVD par l'intermédiaire de la machine de développement Techniquement, le client AVD voulant contacter le serveur AVD écoutant sur le port 6000envoie ses requêtes à la machine de développement sur le port 5000(donc à :5000) Le serveur indique que ce qui est envoyé à la machine de développement sur son port 5000, doit lui être redirigé sur son port 6000par redir add tcp:5000:6000 écrit dans sa console source : 12 #emulatornetworking
13 Code : précisions L'AVD serveur écoute donc derrière le port 6000(SERVERPORT = 6000) L'AVD client ouvre une socket sur :5000 La console du serveur est atteinte par telnet localhost 5554 dans laquelle on lance la commande : redir add tcp:5000:
14 AVD ServerSocket : une démo 1 ) Lancer le projet SocketAndroidServeurProjet 2 ) Lancer un autre AVD puis le projet SocketAndroidClientProjet dans cet autre AVD 3 ) Se connecter sur la console de l'avd serveur (telnet localhost 5554) et lancer la commande de redirection redir add tcp:5000: ) Dans le client, entrer une chaîne et cliquer sur le bouton "Envoyer au serveur" 14
15 Le client Web WebView (1/2) Le composant graphique android.webkit.webviewest un (bon) navigateur. C'est un "visualisateur de page web" Il lit les pages HTML avec CSS et JavaScript Il ne lit pas les applets ni le flash On construit le fichier IHM (navigateur.xml) de la forme : <?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android=" android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> Dans l'activity, on récupère le composant. On se connecte à une URL à l'aide de loadurl() public class AfficheWebPageActivity extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.navigateur); WebView mywebview = (WebView) findviewbyid(r.id.webview); String urlaatteindre =... mywebview.loadurl(urlaatteindre); 15
16 Le client Web WebView (2/2) Il faut ajouter dans l'androidmanifest.xmlla permission d'accès à internet par : <manifest xmlns:android=" <uses-permission android:name="android.permission.internet" /> On peut avoir des boutons de zoom avant et arrière. Pour cela il faut utiliser les WebSettingsassocié au WebView. On a le code : WebSettings websettings = mywebview.getsettings(); websettings.setbuiltinzoomcontrols(true); Euh, peut être que cela ne fonctionne pas Un autre code possible pour afficher une page web dans l'activité courante : WebView mwebview = new WebView(leContexte); mwebview.loadurl("urldelapageweb"); setcontentview(mwebview); Souvent, on indique le page web à afficher (extras dans un Intent) puis on lance l'activity contenant la WebView(grâce à cet Intent) 16
17 Garder le WebView pour afficher les pages suivantes Quand l'utilisateur clique sur un lien de la page web affichée, le comportement par défaut d'android est de lancer le navigateur par défaut du smartphone Pour faire afficher la page suivante dans le WebView(et garder un historique, revenir ensuite sur la page précédente,...), il suffit d'écrire le code WebView mywebview = (WebView) findviewbyid(r.id.webview); mywebview.setwebviewclient(new WebViewClient()); WebViewClient est la classe android.webkit.webviewclient source : 17
18 Afficher des pages.pdf Pour afficher la page d'url entification.pdf il suffit d'écrire : String urlaatteindre = " cetpauthentification.pdf"; Ceci fonctionne bien avec genymotion Certains caractères doivent être être écrits avec leur équivalent ASCII hexadécimal : '':" = %3A, '/' = %2F, '~' = %7E Il y a des problèmes si le document pdf est très gros 18
19 JSON =? JSON = JavaScript Object Notation Format textuel de données structurées, concurrent de XML. En fait indépendant de JavaScript et d'ailleurs indépendant langages de programmation Décrit dans la RFC 4627 Plus concis que XML (à la VRML) Exemple de fichier JSON : usage d'enregistrements emboités et de tableaux (d'enregistrements) Possibilité de description d'une grammaire à l'aide JSON Schema { "firstname": "John", "lastname": "Smith", "age": 25, "address": { "streetaddress": "21 2nd Street", "city": "New York", "state": "NY", "postalcode": 10021, "phonenumbers": [ { "type": "home", "number": " ", { "type": "fax", "number": " " ] 19
20 GSON =? Il y a plusieurs bibliothèques permettant de traiter JSON : la bibliothèque json.org ( Jackson ( Google GSON ( "Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Gson is an open-source project" Démo : projet JSONGSONProjet inspiré de l'article à 20
21 Analyse JSON avec GSON (1/3) On veut se connecter sur une source JSON qui contient : Cela correspond à un objet de la "bonne vieille" classe (= POJO = Plain Old Java Object) : public class EnsembleDUtilisateurs { private List<User> lesutilisateurs; { "Users": [ { "firstname": "Nazim", "lastname": "Benbourahla", "login": "n_benbourahla", "twitter": "@n_benbourahla", "web": "", { "firstname": "Tutos", "lastname": "android", "login": "Tutos-android", "twitter": "", "web": " ] avec : public class User { private String firstname; private String lastname; private String login; private String twitter; private String web; // les méthodes set/get pour chaque champ public String tostring() { return firstname + " " + lastname + " a pour login : " + login + ", pour twitter=" + twitter + " et son web est : " + web; 21
22 Analyse JSON avec GSON (2/3) final String DL_URL = " String scontenujson = // contenu se trouvant à DL-URL; JsonElement jelement = new JsonParser().parse(sContenuJSON); JsonObject jobject = jelement.getasjsonobject(); JsonArray jarray = jobject.getasjsonarray("users"); jobject = jarray.get(0).getasjsonobject(); Log.i("JMF", "premier element = " + jobject.tostring()); String texteaafficher = new String(); for (JsonElement eltcourant : jarray) { User unutilisateur = new Gson().fromJson(eltCourant.toString(), User.class); texteaafficher += unutilisateur.tostring() + "\n"; ((EditText)findViewById(R.id.edit)).setText(texteAAfficher); permet d'obtenir : 22
23 Analyse JSON avec GSON com.google.gson.jsonelementmodélise toute sorte d'élément JSON. Ce pourra être un JsonObject, un JsonArray, une JsonPrimitive ou un JsonNull com.google.gson.jsonobjectmodélise un objet JSON (syntaxe {... en JSON), com.google.gson.jsonarraymodélise un tableau JSON (syntaxe [... ]en JSON). On obtient ces objets à partir d'un JsonElementet en utilisant des méthodes getasxxx() Ayant un JsonArray, on peut accéder à son i+1ième élément par public JsonElement get(int i) Pour convertir des JsonElement en POJO on utilise l'appel : c'est à dire la méthode (3/3) ClassePOJO unutilisateur = new Gson().fromJson(eltCourant.toString(), ClassePOJO.class); public <T> T fromjson(string json, Type typeoft) throws JsonParseException 23
24 Sérialisation JSON avec GSON On peut aussi convertir un objet d'une classe en JSON = le sérialiser en format texte JSON. Pour cela on utilise public String tojson(object src) de la classe Gson Plus précisément, pour les objets de la classe : public class Personne { private String nom; private int age; private double salaire; public Personne(String nom, int age, double salaire) { super(); this.nom = nom; this.age = age; this.salaire = salaire; le code : amène : Personne unepersonne = new Personne("Beethoven", 34, ); String chaineaafficher = new Gson().toJson(unePersonne); 24
25 Sérialisation JSON avancé (1/2) GSON propose des fonctionalités comme : ne sérialiser que certain champ indiquer une valeur explicite à afficher autre que l'identificateur du champ On utilise pour cela les annotations Par exemple soit la classe : Ce n'est donc pas un POJO! import com.google.gson.annotations.expose; import com.google.gson.annotations.serializedname; public class MyEntity private String name = null; public void setname(string name) { this.name = name; public String getname() { return name; //don't expose private String race = null; public String getrace() { return race; public void setrace(string race) { this.race = private String sex = null; public String getsex() { return sex; public void setsex(string sex) { this.sex = sex; 25
26 Sérialisation JSON avancé Le code : amène : (2/2) MyEntity example = new MyEntity(); example.setname("mr. Spock"); example.setrace("vulcan"); example.setsex("male"); Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); String flat = gson.tojson(example); ((EditText)findViewById(R.id.edit2)).setText(flat); On utilise la classe com.google.gson.gsonbuilderet sa méthode public GsonBuilder excludefieldswithoutexposeannotation()qui renvoie l'instance GsonBuilder Puis la méhode create() qui retourne l'objet de la classe Gson qui fera le travail 26
27 Bibliographie pour ce chapitre Linux Magazine/France Hors-Série mai-juin
28 Résumé du chapitre 6 Une application Android peut communiquer par socket avec un serveur Elle peut être aussi un serveur Utiliser HTTP est aisé avec les API Android Une application Android peut se traiter des données JSON 28
29 Fin 29
RMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailLes connexions sans fil avec Android. JMF (Tous droits réservés) 1
Les connexions sans fil avec Android JMF (Tous droits réservés) 1 Plan de l'exposé Wi-Fi : un rappel Démo 1 : trouver les réseaux Wi-Fi Démo 2 : repérer les appareils connectés sur notre réseau Wi-Fi Démo
Plus en détailTP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet
TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur
Plus en détailOutils, langage et approche Android Une introduction. Nicolas Stouls nicolas.stouls@insa lyon.fr
Outils, langage et approche Android Une introduction Nicolas Stouls nicolas.stouls@insa lyon.fr Webographie La bible contenant «tout» : http://developer.android.com/index.html Les supports cette intervention
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailAndroid et le Cloud Computing
Android et le Cloud Computing 1 Plan de l'exposé Rappels sur Android et le cloud Présentation de GCM Notions fondamentales de GCM Construire un projet GCM Ecrire un client GCM (récepteur GCM) Ecrire un
Plus en détailTP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat-8.0.15-windowsx64.zip.
TP réseau Android Ce TP utilise tomcat 8, sous windows et des.bat windows. On peut trouver ce serveur web et conteneur d'applications web à http://tomcat.apache.org/download-80.cgi. Il se trouve dans l'archive
Plus en détailTP SIN Programmation sur androïde Support : eclipse
TP SIN Programmation sur androïde Support : eclipse Support : Smartphone sur androïde Pré requis (l élève doit savoir): Savoir utiliser un ordinateur Savoir utiliser un Smartphone Programme Objectif terminale
Plus en détailPour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.
Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de
Plus en détail2 Chapitre 1 Introduction
1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné
Plus en détailCréation d un service web avec NetBeans 5.5 et SJAS 9
Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...
Plus en détailLes fondamentaux du développement d applications Java
Android 5 Les fondamentaux du développement d applications Java Nazim BENBOURAHLA Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez
Plus en détailTP architecture N-tiers en Java EE ou Java EE, Android : la synthèse. Le serveur GereCompteBancaireServlet
TP architecture N-tiers en Java EE ou Java EE, Android : la synthèse Vous allez, dans ce TP, construire une architecture client serveur, plus précisément une application Android cliente et une servlet
Plus en détailE-mail : contact@nqicorp.com - Web : http://www.nqicorp.com
- 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................
Plus en détailTutorial pour une application simple
ANDROID & ECLIPSE Tutorial pour une application simple 1. Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition
Plus en détailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailTP au menu «UI ANDROID»
TP au menu «UI ANDROID» Pré-requis & Installation ( du couvert) soit installer en natif sur vos postes (!!! ATTENTION!!! FromScratch 1,1 Go à télécharger ) JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
Plus en détailUtilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM
Utilisation de GCM (Google Cloud Messaging) pour Android Ce TP est inspiré de : http://android.amolgupta.in/2012/07/google-cloud-messaging-gcm-tutorial.html On va écrire deux parties. Une application Android
Plus en détailAndroid UIThread, Thread, Handler et AsyncTask
Android UIThread, Thread, Handler et AsyncTask jean-michel Douin, douin au cnam point fr version : 21 septembre 2012 Notes de cours 1 Bibliographie utilisée http://developer.android.com/resources/index.html
Plus en détailWarren PAULUS. Android SDK et Android x86
Android SDK et Android x86 2010/2011 Voici un petit tutoriel pour installer Android de façon à ce qu il soit compatible avec NetBeans et Eclipse, ainsi que l utilisation d Android x86. Ce tutoriel a été
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailE-mail : contact@nqicorp.com - Web : http://www.nqicorp.com
- 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Linux....................................................................
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailGuide de configuration de la Voix sur IP
Le serveur Icewarp Guide de configuration de la Voix sur IP Version 11 Mai 2014 i Sommaire Guide de configuration VoIP 1 Présentation... 1 Configuration... 1 Configuration réseau... 1 Configuration du
Plus en détailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détail1.3 Gestion d'une application
1.3 Gestion d'une application 1. Un premier projet... Il est temps maintenant d'écrire la véritable première application Android avec l'inévitable affichage du mot bonjour, ce qui évidemment pour un développement
Plus en détailTutoriel: Création d'un Web service en C++ avec WebContentC++Framework
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan
Plus en détailFORMATION 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
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 Centre ressource Génie Electrique Intervenant : Enseignant
Plus en détailTUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013
TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013 1. Téléchargement des sources AppInventor http://appinventor.mit.edu/appinventor-sources/ Télécharger ces
Plus en détailAndroid 4 Les fondamentaux du développement d'applications Java
La plateforme Android 1. Présentation 13 2. Historique 14 3. Google Play 15 3.1 Création d'un compte développeur 16 3.2 Publication d'une application 16 3.3 Suivi et mise à jour d'une application 18 Environnement
Plus en détailWeb Tier : déploiement de servlets
Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailProgrammation Internet en Java
Chapitre 8 Programmation Internet en Java Vous avez déjà utilisé Internet, le plus connu des inter-réseaux mondiaux d ordinateurs et quelques-uns de ses services, en particulier le web et le courrier électronique.
Plus en détailTD/TP 1 Introduction au SDK d Android
TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition
Plus en détailDis papa, c est quoi un bus logiciel réparti?
Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la
Plus en détailProgrammation par les Objets en Java
Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée
Plus en détailLe stockage local de données en HTML5
Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,
Plus en détailLe modèle client-serveur
Le modèle client-serveur Introduction Christian Bulfone christian.bulfone@gipsa-lab.fr www.gipsa-lab.fr/~christian.bulfone/ic2a-dciss Master IC2A/DCISS Année 2012/2013 Encapsulation : rappel Données Données
Plus en détailAssistance à distance sous Windows
Bureau à distance Assistance à distance sous Windows Le bureau à distance est la meilleure solution pour prendre le contrôle à distance de son PC à la maison depuis son PC au bureau, ou inversement. Mais
Plus en détailCouche application. La couche application est la plus élevée du modèle de référence.
Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application
Plus en détail4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plus en détailNetwork Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft Virtual Server 2005 R2 Network Shutdown Module Système Principal (hôte) Virtual Server
Plus en détailCréation d'un site dynamique en PHP avec Dreamweaver et MySQL
Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du
Plus en détailRMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Plus en détailGestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Plus en détailDéveloppement d'un logiciel VoIP BlackBerry
UNIVERSITE DES SCIENCES, DES TECHNIQUES ET DES TECHNOLOGIES DE BAMAKO (USTTB) Développement d'un logiciel VoIP BlackBerry Par Mlle Kadidiatou Djibo Encadreurs : Mme Sogoba Jacqueline Konate, Maître-Assistant,
Plus en détail- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers
- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers vendredi 22 février 2013 Installation : Pour programmer des applications Android, il faut tout d abord veiller à disposer
Plus en détailServeurs de noms Protocoles HTTP et FTP
Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et
Plus en détailLes différentes méthodes pour se connecter
Les différentes méthodes pour se connecter Il y a plusieurs méthodes pour se connecter à l environnement vsphere 4 : en connexion locale sur le serveur ESX ; avec vsphere Client pour une connexion sur
Plus en détailCréation d une application JEE
Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document
Plus en détailJava et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
Plus en détailTD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting
IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances
Plus en détailVIDEO RECORDING Accès à distance
ENREGISTREUR DIGITAL VIDEO (DMR): Accès à Distance (adresses données par S & P) Internet Explorer Ordinateur Chrome ou Firefox Windows Programme NON RECOMMANDE: avec ActiveX (fonction aléatoire) Ordinateur
Plus en détail18 TCP Les protocoles de domaines d applications
18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles
Plus en détailDocumentation CAS à destination des éditeurs
Documentation CAS à destination des éditeurs Sommaire Préambule... 1 Présentation de CAS...2 Intérêt... 2 Fonctionnement de base...2 Synoptique des échanges (1ère connexion)... 2 Synoptique des échanges
Plus en détailArchitecture distribuée
Architecture distribuée Conception et développement d algorithmes distribués pour le moteur Baboukweb Jean-Christophe DALLEAU Département de Mathématiques et Informatique Université de La Réunion 26 juin
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailIntégration d'un système d'audio-vidéo conférence sur un robot de téléprésence
Rapport de stage de 2ème année : Intégration d'un système d'audio-vidéo conférence sur un robot de téléprésence Gerontechnology Research Center, Yuan Ze University, Taiwan Kévin Ham Stage effectué du :
Plus en détailProjet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations
Projet Viticulture TP 3 : bases de données externes Description du thème Partie 1 : bases de données locales SQLite Partie 2 : projet H2O stockage local Partie 3 : bases de données distantes Partie 4 :
Plus en détailVulnérabilités et sécurisation des applications Web
OSSIR 09/09/2002 Vulnérabilités, attaques et sécurisation des applications Web Pourquoi les firewalls sont impuissants patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com Page 1 Planning
Plus en détailUn exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi
Un exemple d'authentification sécurisée utilisant les outils du Web : CAS 111 L authentification CAS : «Central Authentication Service» CAS ou le service central d authentification Le système CAS, développé
Plus en détailUtiliser le portail d accès distant Pour les personnels de l université LYON1
Utiliser le portail d accès distant Pour les personnels de l université LYON1 Sommaire 0- authentification sur le portail d accès distant -------------------------------------------- page-2 1-page d accueil
Plus en détailRemote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détailIntroduction : les processus. Introduction : les threads. Plan
IN328 Programmation distribuée avec Java et J2EE 2 - Threads en Java Introduction : les processus Un processus est un ensemble d instructions à exécuter, un espace mémoire réservé et éventuellement d autres
Plus en détailService de certificat
Service de certificat Table des matières 1 Introduction...2 2 Mise en place d une autorité de certification...3 2.1 Introduction...3 2.2 Installer le service de certificat...4 3 Sécuriser un site web avec
Plus en détailSynchro et Threads Java TM
Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire
Plus en détailPrésentation du modèle OSI(Open Systems Interconnection)
Présentation du modèle OSI(Open Systems Interconnection) Les couches hautes: Responsables du traitement de l'information relative à la gestion des échanges entre systèmes informatiques. Couches basses:
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailContrôle de la DreamBox à travers un canal SSH
www.sandbox-team.be Contrôle de la DreamBox à travers un canal SSH 1/7 Présentation Le but de cette FAQ est de vous expliquer comment contrôler votre dreambox préférée depuis internet sans pour autant
Plus en détailII/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)
II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection) II.2/ Description des couches 1&2 La couche physique s'occupe de la transmission des bits de façon brute sur un canal de
Plus en détailTUTORIAL ULTRAVNC 1.0.2 (EDITION 2)
TUTORIAL ULTRAVNC 1.0.2 (EDITION 2) 1) TELECHARGEMENT DE ULTRAVNC :... 1 2) INSTALLATION DU SERVEUR ULTRAVNC (ULTRAVNC 1.0.2 COMPLET)... 2 3) UTILISATION DE ULTRAVNC 1.0.2 SERVEUR SEUL... 10 4) UTILISATION
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailUne introduction à la technologie EJB (2/3)
Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce
Plus en détailAndroid Publish/Subscribe, GCM, Google Cloud Messaging : une introduction
Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction jean-michel Douin, douin au cnam point fr version : 8 Décembre 2014 Notes de cours 1 Sommaire Le socle, les fondements Le patron
Plus en détailVérification intégrée de l'utilisateur Guide d'implémentation client 2015-05-04 Confidentiel Version 2.9
Vérification intégrée de l'utilisateur Guide d'implémentation client 2015-05-04 Confidentiel Version 2.9 SOMMAIRE Introduction... 2 Objectif et public visé... 2 À propos de ce document... 2 Termes fréquemment
Plus en détailRouteur client. PC accueil Postes IP
Schéma d'installation général RTC NUMERIS en Wan Voip option Routeur client PC accueil Postes IP administratifs C Y B E R H O T E L Une ou plusieurs gateway gateway Postes chambres Access point HOTSPOT
Plus en détailNFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007
NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation
Plus en détailManuel logiciel client for Android
1 Manuel logiciel client for Android 2 Copyright Systancia 2012 Tous droits réservés Les informations fournies dans le présent document sont fournies à titre d information, et de ce fait ne font l objet
Plus en détailwww.elektor.fr/android SOMMAIRE
www.elektor.fr/android Android Apprendre à programmer des applis Environnement de développement Eclipse Programmation orientée objet en JAVA Auteur : Stephan Schwark Éditeur : Elektor ISBN : 978-2-86661-187-3
Plus en détailSystème Principal (hôte) 2008 Enterprise x64
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée avec : Hyper-V 6.0 Manager Hyper-V Server (R1&R2) de Microsoft Hyper-V 6.0 Network Shutdown Module Système Principal
Plus en détailCanon Mobile Printing Premiers pas
Canon Mobile Printing Premiers pas Vérifiez l'environnement de connexion réseau. Le terminal Android doit être connecté à un point d'accès réseau sans fil. Le point d'accès et l'imprimante que vous utilisez
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Plus en détailApplication Web et J2EE
Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailConnexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC
Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger
Plus en détailINTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailOCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID
OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID http://ocloud.pripla.com/ Copyright 2014 Private Planet Ltd. Certaines applications ne sont pas disponibles dans tous les pays. La disponibilité des applications
Plus en détailCloud public d Ikoula Documentation de prise en main 2.0
Cloud public d Ikoula Documentation de prise en main 2.0 PREMIERS PAS AVEC LE CLOUD PUBLIC D IKOULA Déployez vos premières instances depuis l interface web ou grâce à l API. V2.0 Mai 2015 Siège Social
Plus en détailNetwork Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX Network Shutdown Module
Plus en détailCapture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark
Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark Wireshark est un programme informatique libre de droit, qui permet de capturer et d analyser les trames d information qui transitent
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailProgrammation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer
Programmation des applications mobiles avec Android 1 Inspiré du cours de Olivier Le Goaer 2 OS mobile : outils de développement D après le cours de Olivier Le Goaer 3 Plateforme de développement MobileApp
Plus en détailInfo0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java
Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan
Plus en détailAspects techniques : guide d interfaçage SSO
COURDECO Aspects techniques : guide d interfaçage SSO Septembre 2011 Cette annexe présente succinctement le système d'authentification unique (SSO : single sign on, authentification unique) utilisé dans
Plus en détail1. Mise en œuvre du Cegid Web Access Server en https
1. Mise en œuvre du Cegid Web Access Server en https Principe d usage La mise en œuvre du mode https sur un serveur Web Access implique : De disposer d un certificat pour le nom d hôte configuré sur le
Plus en détail