Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

Dimension: px
Commencer à balayer dès la page:

Download "Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction"

Transcription

1 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

2 Sommaire Le socle, les fondements Le patron publish-subscribe L entité Android de base : Receiver Publication sendbroadcast(intent i), sendorderedbroadcast Souscription onreceive, (BroadcastReceiver) Exemples: Abonnement à un évènement Batterie, réception de SMS Abonnement à une alarme Service déjà installé sur le mobile GCM, Google Cloud Messaging Google/Cloud s occupe de tout Compte gmail dédié Abonnement de plusieurs mobiles Librairies, BroadcastReceiver et service, prêts à l emploi Ce qui reste à faire: Une classe dérivée, 4 redéfinitions de méthodes et c est tout Une architecture logicielle possible, pour discussions 2

3 Principale bibliographie Le tutorial indispensable Avant il y avait c2dm Vogella https://github.com/joemoore/c2demo 3

4 Le patron publish/subscribe Les fondements Publication à l occurrence d un évènement Un sms entrant, la batterie déchargée, Un évènement engendré par l utilisateur Souscription à un évènement Agir en conséquence Un médiateur se charge De la réception des évènements, de leur filtrage De la diffusion auprès des souscripteurs sélectionnés Diffusion aléatoire ou ordonnée 4

5 Publish-Subscribe,cf NSY102 source: 5

6 Publish-subscribe/ pull-push Les news d internet, ou le forum de jfod Enregistrement d un «client» à un sujet de discussion, Un des «clients» décide de poster un message, Les utilisateurs à leur initiative vont chercher l information, Publish-subscribe, mode pull Les listes de diffusion, logiciels de causerie, («chat») Abonnement d un «client» à une liste de diffusion, Un des «clients» décide de poster un message, Tous les abonnés reçoivent ce message, Publish-subscribe, mode push 6

7 Un exemple, mode push p1 : Publisher mediator : Mediator s1 : Subscriber publish(p1,meteo,"sun") publish(p1,meteo,"rain") p2 : Publisher publish(p2,sensor,"25 ") addsubscriber(s1,meteo) update(p1,meteo,"sun") update(p1,meteo,"rain") s2 : Subscriber publish(p1,meteo,"sun") publish(p2,sensor,"27 ") publish(p1,meteo,"sun") addsubscriber(s2,sensor) update(p1,meteo,"sun") addsubscriber(s2,meteo) update(p2,sensor,"27 ") update(p1,meteo,"sun") update(p1,meteo,"sun") 7

8 En Java/ notation UML/BlueJ 8

9 Android et le patron Publish/Subscribe Une application Android peut : Souscrire à un thème de publication, réception de SMS, niveau de batterie, Publier un évènement une alarme à son échéance, un évènement interne à l application, Google Cloud Messaging une API prête à l emploi plusieurs mobiles peuvent souscrire et être notifiés «Over the Air» 9

10 Android/Publish-Subscribe : les bases souscription publication Source : 10

11 Publish-Subscribe/Intent & Context Context BroadcastReceiver X,Y Intent 11

12 Souscription : schéma de programme Basée sur les Intent (Topic), Context (Mediator), BroadcastReceiver (Subscriber). import android.content.intent; import android.content.context; import android.content.broadcastreceiver; import android.util.log; public class ReceiverTemplate extends BroadcastReceiver { public void onreceive(context context, Intent intent) { Log.i(TAG, "onreceive action: "+intent.getaction() ); } } 12

13 Souscription effective Déclarative, AndroidManifest.xml Au sein d une application <receiver android:name=".receivertemplate"> <intent-filter> <action android:name=" android.intent.action.sms_received_action " /> </intent-filter> </receiver> Par programme getapplicationcontext().registerreceiver( new ReceiverTemplate(), new IntentFilter(Intent.SMS_RECEIVED_ACTION)); 13

14 Par programme Cf. le cycle de vie d une activité onresume registerreceiver( onpause unregisterreceiver( 14

15 Les acteurs classe Context, le Mediator classe BroadcastReceiver, le Subscriber classe Intent + IntentFilter, X,Y les thèmes À suivre: 3 exemples avec le système Android 1. Le niveau de la batterie vient d être réactualisé, 2. Un sms vient d arriver, 3. Un évènement de l utilisateur. 15

16 Exemple 1 : la batterie a changé d état public class LowBatteryActivity extends Activity { private BroadcastReceiver receiver; public void oncreate(bundle savedinstancestate) { } public void onresume() { IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); this.receiver = new BatteryChangedReceiver(); // Souscription registerreceiver(this.receiver, filter); } public void onpause() { // Dé-souscription unregisterreceiver(this.receiver); } 16

17 Le souscripteur // le Souscripteur private static class BatteryChangedReceiver extends BroadcastReceiver { public void onreceive(context context, Intent intent) { Toast.makeText(context, "battery changed", Toast.LENGTH_SHORT).show(); Log.d(TAG, "onreceive action: "+intent.getaction() ); } } } 17

18 La publication par Android ressemblerait à android.os.batterymanager Intent broadcastintent = new Intent(); broadcastintent.setaction("action_battery_changed"); broadcastintent.putextra("level", 3567); // // // context.sendbroadcast(broadcastintent); 18

19 Exemple 2 : réception d un SMS // le souscripteur public class SMSReceiver extends public void onreceive(context context, Intent intent) { Toast.makeText(context, "sms received", Toast.LENGTH_SHORT).show(); } } 19

20 Configuration du souscripteur, <receiver /> // AndroidManifest.xml // La souscription <receiver android:name=".smsreceiver"> <intent-filter> <action android:name="android.intent.action.sms_received_action"/> </intent-filter> </receiver> Souscription effectuée (appel implicite de registerreceiver) au chargement de l application (unregisterreceiver lorsque l application est détruite) 20

21 Exemple 3: «un évènement utilisateur» Ajout, retrait d un «contrôleur» cf. public void onresume(){ super.onresume(); IntentFilter intentfilter = new IntentFilter(); intentfilter.addaction(controller.action); registerreceiver(this.controller, public void onpause(){ super.onpause(); unregisterreceiver(this.controller); Avec Controller.ACTION public static final String ACTION = "fr.cnam.list.items"; 21

22 La classe «Controller», ici gestion d une liste Le contrôleur agit sur le modèle, ici une liste (classe Items) public class ItemsController extends BroadcastReceiver { public static final String ACTION = "fr.cnam.list.items"; public static final String ADD public static final String REMOVE = "add"; // valeurs = "remove"; private Items items; // le modèle private Context context; // Android framework public ItemsController(Context context, final Items items){ this.context = context; this.items = items; // le modèle } public void onreceive(final Context context, final Intent intent) { String operation = intent.getstringextra(operation_key); if(operation.equals(add)) items.ajouter(intent.getstringextra(data_key)); else if(operation.equals(remove)) items.retirer(integer.parseint(intent.getstringextra(data_key))); } 22

23 Démonstration Un des trois exemples Le contrôleur Optionnels: Intent.ACTION_BATTERY_CHANGED android.intent.action.sms_received_action 23

24 Autre façon de souscrire PendingIntent Intent à effet immédiat PendingIntent à effet retardé Destiné à un tiers A destination d un service existant AlarmManager, NotificationManager Souscription auprès du service Exécution de l intent passé en paramètre, à l aide d un PendingIntent 24

25 Souscription auprès d un service existant Intent intent = new Intent(this, ReceiverTemplate.class); PendingIntent appintent = PendingIntent.getBroadcast(this, 0, intent, 0); Calendar calendar = Calendar.getInstance(); calendar.settimeinmillis(system.currenttimemillis()); calendar.add(calendar.second, 3); AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); am.set(alarmmanager.rtc, calendar.gettimeinmillis(), appintent); // sendbroadcast(intent) par le service d alarme 25

26 Variante de l écriture précédente PendingIntent appintent = PendingIntent.getBroadcast (this, 0, new Intent(), 0); Calendar calendar = Calendar.getInstance(); // idem diapositive précédente am.set(alarmmanager.rtc, calendar.gettimeinmillis(), appintent); // Ce sont les receveurs déclarés dans AndroidManifest.xml // qui seront déclenchés, (méthode onreceive) // puis sendbroadcast(intent) par le service d alarme 26

27 Notification Souvent associée à la réception d un évènement Déclenchée par le souscripteur Un «Receiver», un service, Exemple: Une notification à la réception d un message sms» telnet localhost 5554» send 1234 SMS test message 27

28 Notification : affichage private static void generatenotification(context context, String message) { long when = System.currentTimeMillis(); NotificationManager notificationmanager = null; notificationmanager(notificationmanager) context.getsystemservice(context.notification_service); Notification notification = new Notification(R.drawable.ic_launcher,message, when); String title = context.getstring(r.string.app_name); Intent intent = // page suivante notification.setlatesteventinfo(context, title, message, intent); notification.flags = Notification.FLAG_AUTO_CANCEL; notificationmanager.notify(0, notification); } 28

29 Autre exemple : une notification Au clic sur la notification une application est déclenchée private static void generatenotification(context context, String message) { long when = System.currentTimeMillis(); NotificationManager notificationmanager = null; notificationmanager(notificationmanager) context.getsystemservice(context.notification_service); Notification notification = new Notification(R.drawable.ic_launcher,message, when); String title = context.getstring(r.string.app_name); Intent notificationintent = new Intent(context,GCMClientActivity.class); // afin que l intent retardée démarre une nouvelle activité notificationintent.setflags(intent.flag_activity_clear_top Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent intent = PendingIntent.getActivity(context, 0, notificationintent, 0); notification.setlatesteventinfo(context, title, message, intent); notification.flags = Notification.FLAG_AUTO_CANCEL; notificationmanager.notify(0, notification); } Source: 29

30 Autre usage : une notification, sans effet au clic Au clic sur la notification rien ne se passe private static void generatenotification(context context, String message) { long when = System.currentTimeMillis(); NotificationManager notificationmanager = null; notificationmanager(notificationmanager) context.getsystemservice(context.notification_service); Notification notification = new Notification(R.drawable.ic_launcher,message, when); String title = context.getstring(r.string.app_name); PendingIntent intent = PendingIntent.getActivity(context, 0, null, 0); notification.setlatesteventinfo(context, title, message, intent); notification.flags = Notification.FLAG_AUTO_CANCEL; notificationmanager.notify(0, notification); } Source: 30

31 Démonstration 31

32 GCM Google Cloud Messaging Anciennement c2dm, Cloud to Delivering Message >= Android 2.2 Message <= 4ko Trafic illimité Nécessite une inscription auprès de Google Avec de préférence un compte gmail que l on dédiera à cet usage 32

33 Architecture : Objectifs Un client, tout système connecté S adresse au serveur Google qui se chargera de publier auprès des mobiles Mobiles ayant préalablement souscrits Mise en œuvre : une librairie toute prête, un appel de méthode suffit 33

34 Architecture : Mise en œuvre, inscription 1)inscription 2)identifiant GCM 3) dépôt de l identifiant Chaque participant Doit avoir un compte google gmail S inscrit auprès de GCM, en retour un identifiant lui est attribué Un serveur mémorise, l identifiant retourné par GCM Un serveur au protocole HTTP de préférence Ces serveur contient les abonnés 34

35 Architecture : Mise en œuvre, inscriptions id1 id2 id3 Le serveur contient une liste des identifiants Un identifiant par application Application : un service sous Android Exemple : Une liste d identifiants accessible depuis le web 35

36 Architecture : Mise en œuvre, publications 1) Demande de la liste 2) [id1, id2, id3, ] 3) Demande de publication [id1, id2, id3, ] + message message id1 message id2 message id3 Publication par tout système connecté 1,2) Obtention de la liste des identifiants, des abonnés 3) Envoi de cette liste au serveur Google/GCM accompagnée du message à transmettre GCM se charge de publier le message, de le ré-émettre, de le conserver 36

37 Architecture : publications message id1 message id2 message id3 Chaque mobile de la liste [id1, id2, id3, ] est notifié C est un «Receiver» prêt à l emploi qui est déclenché sur chaque mobile Un service prêt à l emploi est créé afin de prendre en compte cette notification Une de ses méthodes est appelée (onmessage) 37

38 Le tutorial que l on se doit de lire https://cloud.google.com/console 38

39 Comment? Création d un projet auprès des serveurs Google 1. https://code.google.com/apis/console 2. En retour : un numéro_de_projet (ProjectId) 1. https://code.google.com/apis/console/#project:numéro_de_projet 3. Une API key est nécessaire 1. Exemple ProjectId: , API_KEY: AIzaSyC60sIgG-fB3JSW47X2zGrOqJHGzV1jh0g 1. Un mobile s inscrit auprès du serveur Google (ProjectId) 1. En retour un jeton d identification lui est attribué Chaque participant doit posséder un compte gmail 2. Cet identifiant est déposé sur un serveur, qui est connu de tous les participants 2. Envoi d un message aux participants(api_key) 1. Obtention de la liste des identifiants auprès du serveur 2. Publication du message Librairies toutes prêtes 39

40 Création du projet ProjectId API_Key https://code.google.com/apis/console/#project:

41 Inscription, mise en oeuvre 1)inscription GCM 2)identifiant 3) dépôt de l identifiant Depuis une activity 1) Inscription auprès du cloud GCMRegistrar.register(this, " "); GCMRegistrar, une classe toute prête Démarrage du service Attente asynchrone de la réponse de GCM 41

42 Le service hérite d une classe toute prête 1)inscription GCM 4 méthodes à redéfinir, public class GCMIntentService extends GCMBaseIntentService { 2)identifiant 3) dépôt de l identifiant Méthode déclenchée à la suite de la demande d inscription au GCM 2) onregistered(context context, String identifiant) 3) Dépôt de l identifiant sur un serveur onmessage(context context, Intent intent) onerror. onunregistered 42

43 Liste des indentifiants id1 id2 id3 1)inscription GCM 2)identifiant 3) dépôt de l identifiant Service web, servlette, php 43

44 Publication API_KEY + Message + id1 id1 id2 id3 message message message id2 id3 Envoi de la liste des identifiants au GCM + un message + API_KEY Et se charge de tout 44

45 Librairie toute prête \android-sdk\extras\google\gcm\gcm-client\dist\ gcm.jar Souscription, abonnement Un service qu il suffit de dériver public class GCMIntentService extends GCMBaseIntentService { Réception d un message : un Receiver + un service Un Receiver prêt à l emploi Une classe GCMIntentBaseService qu il suffit de dériver 45

46 Démonstration, Obtention du jeton GCMRegistrar: Classe interface avec le service GCM ProjectId: GCMRegistrar.getRegistrationId(this, " "); Une demande est faite auprès de Google 2. onregistered(context context, String regid) En retour cette méthode du service est déclenchée Un exemple d identifiant reçu par le mobile: APA91bGy- GWQqqrgyFc652jghpTPygBsKyDHNFPWqzJDCMvtcIx7rtVecmxAYkDItfgztJcEJhyA Rnx0fmmp6FtqrFKNXqftmGXhRIGM5eObyLY67YkT_Aez3RJeOZFVkOpjv- _FRNASI0ZJL6VQk95Y925MQ9Wihw 46

47 Souscription suite Souscription du mobile Permissions <uses-permission android:name="com.google.android.c2dm.permission.registration" /> <uses-permission android:name="android.permission.internet" /> Le receveur, un extrait de AndroiManifest.xml <receiver android:name=".c2dmregistrationreceiver" android:permission="com.google.android.c2dm.permission.send" > <intent-filter > <action android:name="com.google.android.c2dm.intent.registration" > </action> </intent-filter> </receiver> 47

48 Le service public class GCMIntentService extends GCMBaseIntentService onregistered(context context, String regid) Déclenchée par le Receiver pré-installé à la suite de l abonnement Mémorisation de regid onmessage(context context, Intent intent) Déclenchée par le Receiver pré-installé à la suite de la réception d un message String msg = intent.get("message"); 48

49 Publication : le message Par tout système connecté, \android-sdk-new\extras\google\gcm\gcm-server\dist\ gcm-server.jar Sender sender = new Sender(API_KEY); String msg = "un message"; Message message = new Message.Builder() //.collapsekey("1").timetolive(60*60*24) // 24 heures //.timetolive(0) // maintenant ou jamais.delaywhileidle(true).adddata("message",msg).build(); 49

50 Publication : Envoi de message Publication d un message Send devices : une liste de regid MulticastResult result = sender.send(message, devices, 5); // 5 essais en cas d indisponibilité des serveurs google Ensuite le cloud s occupe de tout 50

51 Une architecture possible, publication De type MVC un essai pour discussions Rappels: Hypothèse Un receveur et un service prêts à l emploi» Ce service est appelé à chaque publication par le cloud» onmessage, onregistered, onunregistered, onerror A chaque réception d un message, envoi de celui-ci vers le receveur concerné Un champ du message contient l ACTION à déclencher Les receveurs peuvent être locaux à une activité, un service publish onmessage( ) receveurs 51

52 Réalisation, onmessage Émis directement au receveur concerné intenttoancontroler(intentfromcloud.getstringextra(operation_key)); 52

53 Réalisation, une variante onmessage Un contrôleur dédié au cloud est installé Il est chargé de générer un journal, d effectuer des statistiques, de contrôler Receveur dédié au cloud publish onmessage( ) Receveur associé à l ACTION 53

54 Publication, le contrôleur dédié au cloud pourrait s en charger Receveur dédié au cloud PUBLISH ACTION publish Publication vers le GCM via le contrôleur 54

55 Une Application Une liste partagée 55

56 Architecture MVC, rappel Application: Une liste d item : le modèle, du java standard, portable ListView + ListActivity : la Vue Un Receiver : le Contrôleur 56

57 Android Les outils nécessaires Intent IntentFilter BroadcastReceiver registerreceiver 57

58 La vue, une liste d items Affichage Opérations d ajout et de suppression 58

59 La liste d items le modèle Items extends Observable la vue MainActivity extends ListActivity implements Observer ItemsControler ItemsController le contrôleur extends BroadcastReceiver Items : le modèle MainActivity : la vue ItemsController : le contrôleur 59

60 La classe Items : le modèle Java J2SE portable synchronized(this) par précaution (plusieurs contrôleurs) 60

61 Architecture suite Items : le modèle extends java.util.observable MainActivity : la vue extends android.app.listactivity implements java.util.observer ItemsController : le contrôleur extends android.content.broadcastreceiver 61

62 Le contrôleur est un BroadcastReceiver Items extends Observable MainActivity extends ListActivity implements Observer sendbroadcast ItemsControler ItemsController extends BroadcastReceiver A chaque Click sendbroadcast Intent intent = new Intent(); intent.setaction(itemscontroller.action); sendbroadcast( 62

63 Action de l utilisateur, gérée par le contrôleur MainActivity extends ListActivity implements Observer sendbroadcast ItemsControler ItemsController extends BroadcastReceiver sendbroadcast 63

64 ItemsController A chaque «clic» la méthode onreceive est exécutée abortbroadcast(); si non cumul du comportement 64

65 Contrôleur -> Modèle Items extends Observable ItemsControler ItemsController extends BroadcastReceiver Appel de la méthode ajouter du modèle 65

66 Modèle -> Vue Items extends Observable MainActivity extends ListActivity implements Observer La méthode update est déclenchée au sein de l activité 66

67 La Vue 1/4 initialisation oncreate de l activité Création du modèle et du contrôleur 67

68 La Vue 2/4 enregistrement du contrôleur onresume de l activité (ou oncreate, dépend de l application) enregistrement du contrôleur onpause (ou ondestroy) 68

69 La Vue 3/4 A chaque clic! onclickajouter 69

70 La Vue 4/4 update update appelée par le modèle (extends Observable) La vue est un observateur( implements java.util.observer) 70

71 CloudController Généralisation, discussions 71

72 MVC MVC respecté Couplage faible conservé Items extends Observable Au sein de la même application MainActivity extends ListActivity implements AnotherActivity Observer extends Activity implements Observer ItemsController ItemsController extends BroadcastReceiver extends BroadcastReceiver web, cloud CloudController 72

73 Généralisation MVC respecté Couplage faible conservé Items extends Observable MainActivity extends ListActivity implements AnotherActivity Observer extends Activity implements Observer ItemsController extends BroadcastReceiver web, cloud GenericController Le champ Action sélectionne le contrôleur ad hoc 73

74 GenericController GenericController ItemsController extends BroadcastReceiver L ACTION_KEY est redirigée vers le «bon» contrôleur Discussion 74

75 Cumul du comportement ItemsController extends BroadcastReceiver ItemsControllerPlus extends ItemsController Avec une sous classe de ItemsController: onreceive(context context, Intent intent){ super.onreceive(context, intent); 75

76 Démonstration Démonstration 76

77 Mise en œuvre Répertoire du projet eclipse du client souscripteur Depuis l explorateur windows, (eclipse n est pas démarré) créer un répertoire libs dans lequel vous copiez gcm.jar libs>copy D:\android-sdk\extras\google\gcm\gcm-client\dist\gcm.jar. Répertoire du projet eclipse du client «publieur» Depuis l explorateur windows, (eclipse n est pas démarré) créer un répertoire libs dans lequel vous copiez gcm-server.jar libs>copy D:\android-sdk\extras\google\gcm\gcm-server\dist\gcm-server.jar.. Si bluej, installez gcm-server.jar dans le répertoire +libs A l exécution json est requis D:\android-sdk\extras\google\gcm\gcm-server\lib\json_simple-1.1.jar 77

78 Conclusion Simple Push/polling (voir en annexe) Indispensable Note: Sous eclipse dans le projet créez un dossier libs Dans lequel sont copiés : gcm.jar pour souscrire gcm-server.jar et json-simple-1.1.jar pour publier 78

79 Annexe consommation en «polling» 79

ESGI Android Day 2014 Push Notification sur Android. Présentation : Olivier Denier - odenier@sophiacom.fr Philippe Rabier - prabier@sophiacom.

ESGI Android Day 2014 Push Notification sur Android. Présentation : Olivier Denier - odenier@sophiacom.fr Philippe Rabier - prabier@sophiacom. ESGI Android Day 2014 Push Notification sur Android Présentation : Olivier Denier - odenier@sophiacom.fr Philippe Rabier - prabier@sophiacom.fr Sommaire Introduction Sur Android, c est comment? Plateforme

Plus en détail

Android et le Cloud Computing

Android 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étail

www.elektor.fr/android SOMMAIRE

www.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étail

Projet Android (LI260) Cours 2

Projet Android (LI260) Cours 2 Projet Android (LI260) Cours 2 Nicolas Baskiotis Université Pierre et Marie Curie (UPMC) Laboratoire d Informatique de Paris 6 (LIP6) S2-2013/2014 Plan Les ressources Debug Communication entre activités

Plus en détail

Chapitre 2 Cycle de vie d une application

Chapitre 2 Cycle de vie d une application Chapitre 2 : Cycle de vie d une application 20 Chapitre 2 Cycle de vie d une application Chapitre 2 : Cycle de vie d une application 21 Une application Android est composée d un ensemble de 4 éléments

Plus en détail

TP2 : Initiation à la Programmation avec Android

TP2 : Initiation à la Programmation avec Android TP2 : Initiation à la Programmation avec Android 1 TP2 : Initiation à la Programmation avec Android Programmation Mobile Objectifs du TP Ce TP est une initiation à Android. Nous allons réaliser les premiers

Plus en détail

Outils, 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 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étail

Android: Google map et Géolocalisation

Android: Google map et Géolocalisation Matiaz OUINE Juin 2012 Benoit RAYMOND Ensimag 2A Projet de spécialité David DUMENIL Florian GUFFON Projet de spécialité: Développement d une application Android utilisant la géolocalisation Tutoriel :

Plus en détail

opengeophone Documentation

opengeophone Documentation opengeophone Documentation Version 1.0.0 openmairie 28 June 2013 Table des matières 1 Manuel de l utilisateur 3 1.1 installation................................................ 3 1.2 Utilisation................................................

Plus en détail

TP Android Les Intents avec passage de données

TP Android Les Intents avec passage de données TP Android Les Intents avec passage de données Romain Raveaux Polytech Tours Dans le TP précédent, nous avons vu comment démarrer une nouvelle fenêtre par le biais d une action sur un bouton posé sur une

Plus en détail

Android Gestion des données. Rémi Forax

Android Gestion des données. Rémi Forax Android Gestion des données Rémi Forax Types de stockage Android fourni plusieurs types de stockage Données actives d'une activité (Bundle) Fichier ressources read-only (répertoire res) Préférence partageable

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

Android 4 Les fondamentaux du développement d'applications Java

Android 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étail

Les 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 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étail

TP au menu «UI ANDROID»

TP 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étail

Warren PAULUS. Android SDK et Android x86

Warren 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étail

TP 5 Serveur REST, tests et premier client REST

TP 5 Serveur REST, tests et premier client REST TP 5 Serveur REST, tests et premier client REST Xavier de Rochefort xderoche@labri.fr - labri.fr/~xderoche 13 mai 2014 Résumé Les derniers TP vous ont guidé dans ➊ la mise en place d un serveur REST avec

Plus en détail

Documentation d implémentation de l application Android de jeu géolocalisé

Documentation d implémentation de l application Android de jeu géolocalisé Documentation d implémentation de l application Android de jeu géolocalisé Introduction Ce document décrit l implémentation de l application Android en précisant l organisation du code et les différentes

Plus en détail

Education Delivery Intelligent Tool

Education Delivery Intelligent Tool Education Delivery Intelligent Tool Projet AMO2 Maxence RAOUX Joachim SEGALA RICM 4 Avril 2012 Sommaire I. Presentation du projet... 2 1. Contexte... 2 2. Demande... 2 3. Spécifications... 2 II. Guide

Plus en détail

Cartes, géocodage et services de géolocalisation

Cartes, géocodage et services de géolocalisation 8 Cartes, géocodage et services de géolocalisation Au sommaire de ce chapitre : Géocodage avant et inverse Créer des cartes interactives avec les Map Views et les Map Activities Créer et ajouter des Overlays

Plus en détail

L'API Google de géolocalisation pour Android. JMF (Tous droits réservés)

L'API Google de géolocalisation pour Android. JMF (Tous droits réservés) L'API Google de géolocalisation pour Android 1 La (géo)localisation : le sytème GPS GPS = Global Positionning System 24 satellites (au moins) tournant autour de la terre et diffusant leur position et l'heure

Plus en détail

APPLICATIONS JAVA. Ivan MADJAROV - 2014. Applications Java sous Android IvMad, 2011-2014 2

APPLICATIONS JAVA. Ivan MADJAROV - 2014. Applications Java sous Android IvMad, 2011-2014 2 APPLICATIONS JAVA Android Partie IV Ivan MADJAROV - 2014 Applications Java sous Android IvMad, 2011-2014 2 4. Application réseaux, Bluetooth, Wi-Fi, TCP, Géolocalisation Android L'objectif principal de

Plus en détail

APPLICATIONS JAVA. 4. Géolocalisation, Géocodage, Wi-Fi, Bluetooth, Applications réseaux TCP. Android Partie IV

APPLICATIONS JAVA. 4. Géolocalisation, Géocodage, Wi-Fi, Bluetooth, Applications réseaux TCP. Android Partie IV APPLICATIONS JAVA Android Partie IV Ivan MADJAROV - 2014 Applications Java sous Android IvMad, 2011-2015 2 4. Géolocalisation, Géocodage, Wi-Fi, Bluetooth, Applications réseaux TCP L'objectif principal

Plus en détail

Test de Personnalité. Groupe Entreprenant et Innovateur. France. Tutoriel. teaching@atipaxinti.com. Programmation Mobile. Cours. Arón HERRERA PONTE

Test de Personnalité. Groupe Entreprenant et Innovateur. France. Tutoriel. teaching@atipaxinti.com. Programmation Mobile. Cours. Arón HERRERA PONTE Groupe Entreprenant et Innovateur France Tutoriel 4 Test de Personnalité Cours Programmation Mobile Coach Arón HERRERA PONTE E-mail teaching@atipaxinti.com - 2011 - SOMMAIRE 1. Introduction... 3 2. Objectifs...

Plus en détail

1.3 Gestion d'une application

1.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étail

Utilisation 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. 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étail

- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers

- 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étail

TP SIN Programmation sur androïde Support : eclipse

TP 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étail

IBM Tealeaf Structure de journalisation mobile d'android CX Guide

IBM Tealeaf Structure de journalisation mobile d'android CX Guide IBM Tealeaf Structure de journalisation mobile d'android CX Version 9.0 12 juin 2014 IBM Tealeaf Structure de journalisation mobile d'android CX Guide Important Avant d'utiliser le présent document et

Plus en détail

TP2 : Client d une BDD SqlServer

TP2 : Client d une BDD SqlServer TP2 : Client d une BDD SqlServer Objectifs : utiliser la barre de menu, utiliser les préférences d application (settings) ou (options), gérer la persistance des données, utiliser la bibliothèque jtds:jdbc

Plus en détail

Programmation Android I. Introduction. Cours Android - F. Michel 1 / 57

Programmation Android I. Introduction. Cours Android - F. Michel 1 / 57 Programmation Android I. Introduction 1 / 57 Plan 1 Introduction 2 La plate-forme Android 3 Programmation Android 4 Hello World 2 / 57 Introduction Application mobile wikipédia Caractéristiques Cible :

Plus en détail

Programmation Android Ce que vous devez savoir. Cours Android - F. Michel 1 / 18

Programmation Android Ce que vous devez savoir. Cours Android - F. Michel 1 / 18 Programmation Android Ce que vous devez savoir 1 / 18 Plan 1 Connaissances essentielles 2 Définition d une GUI et adaptation au contexte 3 L objet Intent 2 / 18 Connaissances essentielles Sur la plate-forme

Plus en détail

Tutorial pour une application simple

Tutorial 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étail

L'API Google de géolocalisation pour Android. Jean-marc Farinone Maître de conférences CNAM Paris. JMF (Tous droits réservés) 1

L'API Google de géolocalisation pour Android. Jean-marc Farinone Maître de conférences CNAM Paris. JMF (Tous droits réservés) 1 L'API Google de géolocalisation pour Android Jean-marc Farinone Maître de conférences CNAM Paris JMF (Tous droits réservés) 1 La (géo)localisation : le sytème GPS GPS = Global Positionning System 24 satellites

Plus en détail

Cas EDF : Développement Android - Concepts avancés Partie 1

Cas EDF : Développement Android - Concepts avancés Partie 1 Cas EDF : Développement Android - Concepts avancés Partie 1 Cette publication comporte cinq parties dont l ordre est dicté par la logique du développement. Les parties 2 et 3 sont facultatives. Ø Partie

Plus en détail

Programmation 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 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étail

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

Serveur 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étail

Guide pour les TPs sur Android

Guide pour les TPs sur Android Guide pour les TPs sur Android M. Dalmau, IUT de Bayonne-Pays Basque NOTE Ce guide n'a pas été conçu dans un simple but décoratif, vous devez toujours l'avoir avec vous lors des TPs de même que le polycopié

Plus en détail

Programmation Android TP1 - Prise en main

Programmation Android TP1 - Prise en main 1. Notation des TP Chaque semaine vous allez devoir rendre une partie de votre travail sur Moodle. Par exemple, vous devrez rendre un fichier xml, un source, ou une application entière. Ces documents seront

Plus en détail

Développement mobile sous Android TP1: Une première application avec un écran d accueil

Développement mobile sous Android TP1: Une première application avec un écran d accueil Développement mobile sous Android TP1: Une première application avec un écran d accueil Fabien Teytaud teytaud@lisic.univ-littoral.fr Eric Ramat September 18, 2013 1 Description Dans ce TP nous allons

Plus en détail

Spring : tendances, nouveautés et perspectives

Spring : tendances, nouveautés et perspectives Spring : tendances, nouveautés et perspectives Paris JUG 13/11/2012 Arnaud Cogoluègnes Speaker Arnaud Cogoluègnes Consultant chez Zenika Formateur certifié SpringSource Co-auteur Spring Batch in Action

Plus en détail

Web Tier : déploiement de servlets

Web 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étail

Programmation Mobile Android Master CCI

Programmation Mobile Android Master CCI Programmation Mobile Android Master CCI Bertrand Estellon Aix-Marseille Université March 23, 2015 Bertrand Estellon (AMU) Android Master CCI March 23, 2015 1 / 266 Introduction Organisation de l UE Objectifs

Plus en détail

Symposium Systèmes IBM

Symposium Systèmes IBM Yves Holvoet Tech Sales Bluemix France Yves.holvoet@fr.ibm.com Symposium Systèmes IBM Surveillance Camera with a Raspberry PI Agenda Bluemix, the IBM PAAS Internet Of Things Demonstration IOT Foundation

Plus en détail

Android. Présentation d Android. Florent Garin http://www.docdoku.com http://twitter.com/docdoku

Android. Présentation d Android. Florent Garin http://www.docdoku.com http://twitter.com/docdoku Android Présentation d Android 20 novembre 2010 Florent Garin http://www.docdoku.com http://twitter.com/docdoku Florent Garin Co-fondateur de DocDoku Société innovante IT http://www.docdoku.com Co-fondateur

Plus en détail

Cas EDF : Développement Android - Concepts avancés Partie 2

Cas EDF : Développement Android - Concepts avancés Partie 2 Cas EDF : Développement Android - Concepts avancés Partie 2 Cette publication comporte cinq parties dont l ordre est dicté par la logique du développement. Les parties 2 et 3 sont facultatives. Partie

Plus en détail

Bases Java - Eclipse / Netbeans

Bases 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étail

Les fondamentaux du développement d applications Java

Les 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étail

Tp2 Emacs Développement Web

Tp2 Emacs Développement Web Tp2 Emacs Développement Web Les indications ci-dessous donnent les grandes lignes du développement. 1/ Evenement Ajax Jquery: Le code javascript jquery suivant permet d afficher un message dans un span

Plus en détail

Programmation Nomade (Android)

Programmation Nomade (Android) Programmation Nomade (Android) Dominique Archambault Master Technologie et Handicap Université Paris 8 Introduction 1 Introduction 1.1 Les systèmes d exploitation mobiles Les systèmes d exploitation mobiles

Plus en détail

OCLOUD BACKUP GUIDE DE REFERENCE POUR WINDOWS

OCLOUD BACKUP GUIDE DE REFERENCE POUR WINDOWS OCLOUD BACKUP GUIDE DE REFERENCE POUR WINDOWS 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étail

Créer des applications Android

Créer des applications Android Créer des applications Android Auteurs : Philippe Lacomme, Raksmey Phan Les outils nécessaires sont : - Android SDK - Eclipse - Le plugin ADT de Eclipse Plan (ceci n est pas un cours) Outils: Préparation

Plus en détail

Programmation mobile avec Android

Programmation mobile avec Android Programmation mobile avec Android Pierre Nerzic - pierre.nerzic@univ-rennes1.fr février-mars 2015 Abstract Il s agit des transparents du cours mis sous une forme plus facilement imprimable et lisible.

Plus en détail

TD/TP 1 Introduction au SDK d Android

TD/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étail

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués

Plus en détail

PROJET : ETNIC ESB JANUS. Guide technique : WS-Notification - Clustering. BULL Services et Solutions

PROJET : ETNIC ESB JANUS. Guide technique : WS-Notification - Clustering. BULL Services et Solutions PROJET : ETNIC ESB JANUS Guide technique : WS- BULL Services et Solutions Date : 20 novembre 2008 Version : 1.0 Référence Bull : ETNIC_ESB/ANA/00 Auteur : NOSEDA Anne Projet ETNIC ESB JANUS Guide technique

Plus en détail

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique Master Informatique et Systèmes Architecture des Systèmes d Information 03 Architecture Logicielle et Technique Damien Ploix 2014-2015 Démarche d architecture SI : structuration en vues Quels métiers?

Plus en détail

Android UIThread, Thread, Handler et AsyncTask

Android 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étail

Sauvegarder ses données sous Android :! SharedPreferences, SQLite, Files

Sauvegarder ses données sous Android :! SharedPreferences, SQLite, Files Sauvegarder ses données sous Android : SharedPreferences, SQLite, Files Jean-Ferdinand Susini Maître de conférences au CNAM Sources : Wikipedia, developper.android.com Paris, 05/06/2014 Les SharedPreferences

Plus en détail

Remote Method Invocation (RMI)

Remote 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étail

NEDJMA COFFRE-FORT GUIDE DE REFERENCE POUR ANDROID. Private Planet

NEDJMA COFFRE-FORT GUIDE DE REFERENCE POUR ANDROID. Private Planet NEDJMA COFFRE-FORT GUIDE DE REFERENCE POUR ANDROID Private Planet Copyright 2013 Private Planet Ltd. Private Planet est une marque déposée de Private Planet Ltd. Certaines applications ne sont pas disponibles

Plus en détail

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID

OCLOUD 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étail

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

La 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étail

TEPZZ 6Z85Z5A T EP 2 608 505 A2 (19) (11) EP 2 608 505 A2 (12) DEMANDE DE BREVET EUROPEEN

TEPZZ 6Z85Z5A T EP 2 608 505 A2 (19) (11) EP 2 608 505 A2 (12) DEMANDE DE BREVET EUROPEEN (19) TEPZZ 6Z8ZA T (11) EP 2 608 0 A2 (12) DEMANDE DE BREVET EUROPEEN (43) Date de publication: 26.06.13 Bulletin 13/26 (21) Numéro de dépôt: 12197432.3 (1) Int Cl.: H04M 3/487 (06.01) H04M 7/00 (06.01)

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry. : Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA

Plus en détail

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011 Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour 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étail

Installation du connecteur Exchange 2003 du DM Server

Installation du connecteur Exchange 2003 du DM Server Installation du connecteur Exchange 2003 du DM Server Installation du connecteur Exchange 2003 du DM Server 7.3x Page 2 sur 2 Sommaire PRE-REQUIS 3 AFFECTATION DES DROITS EXCHANGE 3 INSTALLATION DE L ADMINISTRATION

Plus en détail

WildCAT : un cadre générique pour la construction d'applications sensibles au contexte

WildCAT : un cadre générique pour la construction d'applications sensibles au contexte WildCAT : un cadre générique pour la construction d'applications sensibles au contexte Pierre-Charles David France Télécom, Recherche & Développement Réunion Adapt, Paris 2006-04-06 Plan 1 Introduction

Plus en détail

Jean-Philippe Paquette Jean-philippe.paquette@videotron.ca

Jean-Philippe Paquette Jean-philippe.paquette@videotron.ca Jean-Philippe Paquette Jean-philippe.paquette@videotron.ca 6 novembre 2013 Ordre du jour Histoire du mobile a RDS Les alertes SMS Application RDS hockey Push notifications Différence avec le site mobile

Plus en détail

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector l tutorial Interfaces. l Stack

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T> Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances

Plus en détail

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com 1 Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies

Plus en détail

Architecture des applications

Architecture des applications Architecture des applications Table des matières 1 Introduction 1 2 Les classes valeurs 2 2.1 Les Javaeans............................................. 2 2.2 Les différents types de Javaeans...................................

Plus en détail

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant

Plus en détail

INSTALLATION DES SERVICES DE DOMAINE ACTIVE DIRECTORY Windows Server 2008 R2

INSTALLATION DES SERVICES DE DOMAINE ACTIVE DIRECTORY Windows Server 2008 R2 INSTALLATION DES SERVICES DE DOMAINE ACTIVE DIRECTORY Windows Server 2008 R2 Introduction Active Directory est un ensemble de services centralisés d identification et d authentification à un réseau d ordinateurs

Plus en détail

1. QCM (40 points) (1h)

1. QCM (40 points) (1h) Examen 1ère session 2012-2013 page 1 NSY 102 - AISL IPST-CNAM Intranet et Designs patterns NSY 102 Vendredi 26 Avril 2013 Durée : 3 heures Enseignants : LAFORGUE Jacques 1. QCM (40 points) (1h) Mode d'emploi

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore 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étail

Quelques 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 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étail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

MailCube MC 2. 2,5 jours / homme / an. 33 milliards de kwh. 17 millions de. 3,1 millions de. nouvelle génération. Le spam en quelques chiffres :

MailCube MC 2. 2,5 jours / homme / an. 33 milliards de kwh. 17 millions de. 3,1 millions de. nouvelle génération. Le spam en quelques chiffres : Le spam en quelques chiffres : Pour faire face à cet afflux de courriers électroniques non désirés Vade Retro Technology lance une nouvelle génération de sa solution appliance MailCube. Le nouveau boîtier

Plus en détail

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

Plus en détail

DÉVELOPPEMENT ANDROID

DÉVELOPPEMENT ANDROID DÉVELOPPEMENT ANDROID ESIEE / Key Consulting Partie 2 v2.2-2012 INTENT Key Consulting INTENT Intent : intention Une Intent est une agrégation d informations, décrivant de manière abstraite une action devant

Plus en détail

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13 WEBSERVICES Michael Fortier Master Informatique 2ème année fortier@lipn.univ-paris13.fr A308, Université de Paris 13 https ://lipn.univ-paris13.fr/ fortier/enseignement/webservices/ Sommaire 1 Rappels

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture 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étail

Extensions à OpenSSO :

Extensions à OpenSSO : Extensions à : compatibilité et gestion des autorisations Philippe BEUTIN DSI Grenoble-Universit Universités Thierry AGUEDA Univ.. Pierre-Mend Mendès-France Gérard FORESTIER Univ.. Joseph-Fourier Le-Quyen

Plus en détail

Intégration de systèmes

Intégration de systèmes Intégration de systèmes Préparé par: Marc Barassi, Michel Fraser, Louis Martin, Martin Simoneau Collaboration spéciale: François Boucher et Richard Boutin 3/18/14 Intégration de systèmes «L ensemble des

Plus en détail

Remote Method Invocation Les classes implémentant Serializable

Remote 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étail

Approche Contract First

Approche Contract First Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation

Plus en détail

S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction - 2007, Frédéric Peschanski

S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction - 2007, Frédéric Peschanski S T L - C P S - L e s p l u g i n s E c l i p s e - Une Introduction - 2007, Frédéric Peschanski L a p l a t e f o r m e E c l i p s e Aperçu de la plateforme Eclipse Runtime Composants OSGI Equinoxe Plugins

Plus en détail

T.P. 3 Base de données, JDBC et Mapping Objet-relationnel

T.P. 3 Base de données, JDBC et Mapping Objet-relationnel EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 3 Base de données, JDBC et Mapping Objet-relationnel L'objectif de ce TP est de vous faire pratiquer l'api JDBC qui permet d'accéder à une base de données

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Solution de fax en mode Cloud

Solution de fax en mode Cloud Solution de fax en mode Cloud Solution professionnelle pour les fax & sms en mode saas fax TO mail mail TO fax fax électronique FAX dématérialisé MAIL TO SMS simplicité rapidité productivité économies

Plus en détail

Cas EDF : Développement Android - Concepts avancés Partie 3

Cas EDF : Développement Android - Concepts avancés Partie 3 Cas EDF : Développement Android - Concepts avancés Partie 3 Cette publication comporte cinq parties dont l ordre est dicté par la logique du développement. Les parties 2 et 3 sont facultatives. Partie

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Point sur les solutions de développement d apps pour les périphériques mobiles

Point sur les solutions de développement d apps pour les périphériques mobiles Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle

Plus en détail

Programmation Mobile Android Master CCI

Programmation Mobile Android Master CCI Programmation Mobile Android Master CCI Bertrand Estellon Aix-Marseille Université March 23, 2015 Bertrand Estellon (AMU) Android Master CCI March 23, 2015 1 / 266 Organisation de l UE Objectifs du cours

Plus en détail