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

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

39 Comment? Création d un projet auprès des serveurs Google En retour : un numéro_de_projet (ProjectId) 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 40

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

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

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

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

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

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

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

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

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

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

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

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

- 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Journée IJD. Moussa Tari Bako Bachir. 25 juin 2012 ARLES/INRIA. Introduction Travail Chez ARLES

Journée IJD. Moussa Tari Bako Bachir. 25 juin 2012 ARLES/INRIA. Introduction Travail Chez ARLES Journée IJD Moussa Tari Bako Bachir ARLES/INRIA 25 juin 2012 1/27 Moussa Tari Bako Bachir Plan Introduction Principes générales du système d intégration mis en place Les sources intégrées Tests de monté

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

Projet. But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables. Serveur de diffusion

Projet. But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables. Serveur de diffusion Projet But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables événements Serveur de diffusion 1 JMS Java Message Service PHAN Quang-Hai ISTR 04/05/2004

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

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

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. 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

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

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

Terminaux Mobiles Communicants

Terminaux Mobiles Communicants Terminaux Mobiles Communicants Programmation Android P-F. Bonnefoi Version du 4 avril 2011 Table des matières 1 Open Handset Alliance.............................................. 5 2 Android : matériel

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

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

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

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication Table des matières Atelier pratique 8 : Implémentation de la réplication 1 Exercice 1 : Création d'une publication 1 Exercice

Plus en détail

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

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. Université Paris 7 M2 II Protocole Internet TP3 Mail Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. 1 Protocole SMTP 1. Le protocole SMTP est définit dans

Plus en détail

Développement sous Android

Développement sous Android Développement sous Android Chapitres traités Les fournisseurs de contenu (Content Provider) Pour cette dernière étude de l'environnement Android, nous allons en profiter pour découvrir plein de fonctionnalités

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

Installation de Premium-RH

Installation de Premium-RH de Premium-RH Préconisations techniques Version 6.1 PREMIUM-RH 64, avenue Leclerc 69007 Lyon T +33 (0)4 72 84 24 10 F +33 (0)4 72 84 24 11 relation-client@premium-rh.com www.premium-rh.com SIRET 398 402

Plus en détail

Android en action. Abdelkader Lahmadi Université de Lorraine - 2013

Android en action. Abdelkader Lahmadi Université de Lorraine - 2013 Android en action Abdelkader Lahmadi Université de Lorraine - 2013 Plan La boîte à outils JDK SDK Android Eclipse Plugin Android pour Eclipse Architecture et composants La main à la pâte Hello Android

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

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

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

A. Architecture du serveur Tomcat 6

A. Architecture du serveur Tomcat 6 Administration du serveur A. Architecture du serveur Tomcat 6 La compréhension de l architecture interne du serveur Tomcat 6 est un pré-requis indispensable pour bien en maîtriser l administration et la

Plus en détail

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

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture

Plus en détail

Module 10 : Supplément 2

Module 10 : Supplément 2 Module 10 : Supplément 2 Ce supplément est conçu pour être utilisé avec l ouvrage publié aux éditions Tsoft ou Eyrolles, intitulé Lotus Domino 8 Administration : Gestion et Optimisation. Configurer l index

Plus en détail

Programmation par les Objets en Java

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

SIMPLIFIEZ-VOUS LE FAX GRÂCE AU CLOUD

SIMPLIFIEZ-VOUS LE FAX GRÂCE AU CLOUD SIMPLIFIEZ-VOUS LE FAX GRÂCE AU CLOUD FAXBIS EST UN SERVICE VOUS PERMETTANT DE CONSERVER VOS NUMÉROS POUR ENVOYER ET RECEVOIR VOS FAX, SANS LIGNE TÉLÉPHONIQUE, SANS CARTE FAX, SANS INSTALLATION DE SERVEUR

Plus en détail

Le hub d entreprise est une application de déploiement des applications mais aussi un outil de communication

Le hub d entreprise est une application de déploiement des applications mais aussi un outil de communication Le hub d entreprise est une application de déploiement des applications mais aussi un outil de communication Les méthodes clefs pour le management des applications (C#, C++, VB) InstallationManager.FindPackagesForCurrentPublisher

Plus en détail

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE Développement tablette Android SophiaConf2011 Par Arnaud FARINE Parts de marché Android en 2011 1er OS vendu aux EU fin 2010 24% des smartphones en France (35% ios, 11% Blackberry) 3,6 millions de smartphones

Plus en détail

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI Institut Galilée Année 2014-2015 TP WEBSERVICES Programmation et Logiciels sûrs Master 2 PLS Résumé Ce TP s appuie sur le cours de C. Fouqueré traitant des Environnements et Langage Évolués, ainsi que

Plus en détail

Guide Utilisateur Transnet

Guide Utilisateur Transnet Guide Utilisateur Transnet > Sommaire 1 I Introduction 3 2 I Les premiers pas sous Transnet 4 2.1 Configuration informatique nécessaire pour accéder à Transnet 4 2.2 Initialisation de Transnet 4 3 I Téléchargement

Plus en détail

Une passerelle SMS comme périphérique SynoZwave, et un monitoring de votre infrastructure

Une passerelle SMS comme périphérique SynoZwave, et un monitoring de votre infrastructure Une passerelle SMS comme périphérique SynoZwave, et un monitoring de votre infrastructure Le principe est simple, utiliser un vieux téléphone Androïd pour mettre en place une passerelle SMS et un service

Plus en détail

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC lift 1 d j = ( + + Architecture Modularité Déploiements lift 2 plates-formes en 1 2 Se t Se Dat t Une architecture répondant à deux besoins : Elévation de la donnée Exploitation de la donnée publiée Des

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

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

Développement Android. J.-F. Couchot

Développement Android. J.-F. Couchot Développement Android J.-F. Couchot 12 novembre 2012 Table des matières 1 Introduction à l OS embarqué Android 3 I Composants principaux d une application................................ 3 I.1 Une activité............................................

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Guide de mise à jour BiBOARD

Guide de mise à jour BiBOARD Guide de mise à jour BiBOARD Version 11.4 13/12/2012 Support BiBOARD E-mail : support@biboard.fr Ce document est destiné à l équipe informatique en charge de la mise à jour de l application BiBOARD. Durée

Plus en détail

Installation et prise en main

Installation et prise en main TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications

Plus en détail

MailStore Server 7 Caractéristiques techniques

MailStore Server 7 Caractéristiques techniques MailStore Server 7 Caractéristiques techniques MailStore Server La référence en matière d archivage d e-mails La solution MailStore Server permet aux entreprises de toutes tailles de bénéficier des avantages

Plus en détail

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) LA BOITE A OUTILS DE L ACHETEUR DE BPM Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) La boîte à outils de l acheteur de solution BPM -

Plus en détail

CalDav Manager : Gestionnaire d emploi du temps

CalDav Manager : Gestionnaire d emploi du temps Génie logiciel - M1 ALMA CalDav Manager : Gestionnaire d emploi du temps Auteurs : Stanislas KOBAK - Céline BARILLERE 5 décembre 2012 Table des matières 1 Introduction 2 1.1 Rappel de l énoncé du projet.............................

Plus en détail

Manipulation 4 : Application de «Change».

Manipulation 4 : Application de «Change». Manipulation 4 : Application de «Change». Première partie : Cette manipulation a pour but d utiliser un service Web afin d obtenir les taux de change appliqués entre les différentes monnaies référencées

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Applications distribuées: le retour du client "riche"

Applications distribuées: le retour du client riche Applications distribuées: le retour du client "riche" Markus Jaton, Olivier Liechti Olivier Liechti / Markus Jaton /1 Agenda Java a-t-il un avenir sur le "desktop"? Swing vs. AJAX: idées préconçues? Architecture

Plus en détail

4. Groupement d objets

4. Groupement d objets Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux

Plus en détail

Mes documents Sauvegardés

Mes documents Sauvegardés Mes documents Sauvegardés Guide d installation et Manuel d utilisation du logiciel Edition 13.12 Photos et illustrations : Copyright 2013 NordNet S.A. Tous droits réservés. Toutes les marques commerciales

Plus en détail

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE 1 Introduction aux tests de performance et de charge Sommaire Avertissement...2 Aperçu...3 1. Création du scénario de navigation web (Test web)...4 2.

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

ContactOffice. La Messagerie collaborative pour l'éducation. Assises 2015 du CSIESR Avignon

ContactOffice. La Messagerie collaborative pour l'éducation. Assises 2015 du CSIESR Avignon ContactOffice La Messagerie collaborative pour l'éducation Assises 2015 du CSIESR Avignon Agenda Présentation application ContactOffice Présentation Interface Crystal Nouveautés importantes vs version

Plus en détail

CTIconnect PRO. Guide Rapide

CTIconnect PRO. Guide Rapide CTIconnect PRO Guide Rapide Version 01.02.2013 CTIconnect PRO est une application de communication permettant aux utilisateurs du système de voir le statut de leurs collègues et de les contacter en 1 clic

Plus en détail

RMI le langage Java XII-1 JMF

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

Introduction aux applications réparties

Introduction aux applications réparties Introduction aux applications réparties Noël De Palma Projet SARDES INRIA Rhône-Alpes http://sardes.inrialpes.fr/~depalma Noel.depalma@inrialpes.fr Applications réparties Def : Application s exécutant

Plus en détail

NON URGENTE TEMPORAIRE DEFINITIVE. OBJET : FONCTIONNEMENT OmniVista 4760 SUR UN RÉSEAU VPN / NAT

NON URGENTE TEMPORAIRE DEFINITIVE. OBJET : FONCTIONNEMENT OmniVista 4760 SUR UN RÉSEAU VPN / NAT COMMUNICATION TECHNIQUE N TC0803 Ed. 01 OmniPCX Enterprise Nb de pages : 10 Date : 03-07-2006 URGENTE NON URGENTE TEMPORAIRE DEFINITIVE OBJET : FONCTIONNEMENT OmniVista 4760 SUR Veuillez trouver ci-après

Plus en détail