J2ME. Développement d applications Java pour terminaux mobiles - 1 -

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

Download "J2ME. Développement d applications Java pour terminaux mobiles - 1 -"

Transcription

1 J2ME Développement d applications Java pour terminaux mobiles - 1 -

2 1. J2ME et l informatique des terminaux mobiles Les applications embarquées Typologie des applications J2ME et les systèmes embarqués Tour d horizon de la technologie J2ME Les machines virtuelles Les configurations Les profils Les packages optionnels La pile JSR 185 JTWI (Java Technology for the Wireless Industry) Les autres API Java pour terminaux embarqués La configuration CLDC Les limitations de CLDC Support de la virgule flottante Internationalisation des applications Support des propriétés d environnement Limitations diverses La sécurité dans CLDC Prévérification des fichiers de classe Le modèle de sécurité Sandbox Les classes de CLDC Les classes héritées de J2SE Les classes spécifiques de CLDC Le profil MIDP Le MIDlet Cycle de vie d un MIDlet L accès aux attributs du fichier *.jar L interface utilisateur Les principes de l interface utilisateur MIDP Les classes d affichage La classe Display La classe Displayable La classe Screen La classe Canvas L interface utilisateur de haut niveau L interface Choice La classe List La classe Item La classe Form La classe ChoiceGroup La classe TextField La classe DateField La classe Gauge La classe ImageItem La classe StringItem La classe TextBox La classe Alert La classe Ticker

3 La gestion des évènements La classe Command L interface commandlistener L interface ItemStateListener Le stockage persistant des données Le package RMS Le Record Store La classe RecordStore L interface RecordComparator L interface RecordFilter L interface RecordEnumeration L interface RecordListener J2ME en pratique Les outils L environnement de développement J2ME Wireless Toolkit Le terminal mobile cible Le terminal mobile Sony Ericsson t L outil de transfert de l application L application CurrencyConverter Le client J2ME Le serveur PHP Le Web service Conclusion

4 Avant-propos L objectif de ce dossier est de présenter la technologie Java 2 Micro Edition (J2ME). Cette technologie, proposée par Sun Microsystem, permet de développer des applications pour les terminaux embarqués en utilisant le langage Java. Les trois premières parties de la présente étude fournissent les notions théoriques nécessaires à une compréhension approffondie de la technologie J2ME. La dernière partie, quant à elle, présente un prototype réalisé au cours de cette étude. Un cd rom ainsi que trois documents contenant des exemples pratiques sont annexés. Le cd rom contient tous les fichiers et logiciels nécessaires pour mettre en œuvre les différents exemples pratiques

5 Cette première partie débute par une présentation du panorama des applications pour terminaux embarqués. Vous trouverez ensuite une description de la technologie J2ME et de la place qu elle occupe dans le paysage de la mobilité. 1. J2ME et l informatique des terminaux mobiles 1.1. Les applications embarquées Un système embarqué (embedded system), est un système informatique autonome interagissant en temps réel avec le monde physique de manière généralement invisible. Il est constitué de un ou plusieurs processeurs accompagnés de logiciels [DEL02]. Initialement réservés aux grands domaines technologiques classiques comme le spatial, le nucléaire ou l aéronautique, les systèmes embarqués apparaissent désormais massivement à l échelle de l individu et envahissent tous les domaines de sa vie privée et professionnelle : téléphones mobiles, assistants personnels, cartes à puces, appareils multimédias, automobiles, domotique, surveillance médicale, Le marché des systèmes embarqués est en pleine explosion, puisqu il représentait 40 milliards d euros en 2002 et que sa croissance est d environ 20% par année (Durlacher Research). Les secteurs les plus porteurs sont le transport, le multimédia, la téléphonie, la monétique, la transitique (logistique limitée aux liaisons internes d une entreprise) et la banque. Les téléphones mobiles et assistants personnels contribuent de manière non négligeable à la croissance du marché des terminaux embarqués. Selon un rapport publié par la société d'étude britannique Canalys, le marché mondial des terminaux mobiles (téléphones mobiles, PDA, Smartphones ) affiche une croissance de 41 % pour le premier trimestre 2004 (par rapport au premier trimestre 2003) [JNE04]. Le tableau présenté ci-dessous illustre ce phénomène de croissance (source Canalys). Le marché mondial des terminaux mobiles au 1er trimestre 2004 Constructeur Ventes (en millions d'unités) Part de marché Evolution des ventes (par rapport au premier trimestre 2003) Nokia 1,67 28,2 % +85 % PalmOne 0,99 16,8 % -9 % HP 0,57 9,7 % +29 % RIM 0,37 6,4 % +301 % Fijutsu 0,36 6,1 % +507 % Motorola 0,31 5,3 % % Sony Ericsson 0,26 4,4 % +19 % Sony 0,20 3,4 % -45 % Dell 0,16 2,7 % -3 % Siemens 0,08 1,5 % +470 % Autres 0,90 15,5 % +10 % Total 5, % +41 % - 5 -

6 Typologie des applications Il est intéressant d établir une typologie des applications destinées aux systèmes embarqués en fonction des différentes architectures [DEL02] (cf Gartner Model): Les applications locales qui peuvent s exécuter sur des terminaux sans couverture réseau. Ce sont, par exemple, les jeux autonomes, les calculatrices, les mémo pad, Les applications fonctionnant en réseau peer-to-peer qui sont des applications réseau terminal à terminal sans serveur. Ce sont, par exemple, les applications de chat en direct, les jeux en réseau, Les applications client-serveur (client léger) qui sont des applications très légères dans lesquelles le terminal côté client a une logique applicative limitée. Ce sont, par exemple, les applications qui mettent en forme du contenu fourni par une application serveur. Les applications client-serveur intelligentes (client lourd) qui sont les applications dans lesquelles le terminal côté client a plus de logique applicative et de traitement local. Le tableau ci-dessous présente les types de clients par catégorie d application. Catégorie d application Micronavigateur (navigateur WAP) J2ME Application locale Non Oui Réseau peer-to-peer Non Oui Application client-serveur (client léger) Application client-serveur (client lourd) [DEL02] Oui Non Oui Oui Notons que l on peut également classer les applications par domaine : loisirs, applications métier, applications PIM (Personal Information Manager), application réseau, utilitaires, Le domaine des loisirs comprend les jeux autonomes et en réseau. Les principales applications métier concernent le commerce électronique, la banque, le CRM (Customer Relationship Management) ainsi que la gestion des ressources. Les applications PIM comprennent les planificateurs, les répertoires d adresses Les applications de connectivité comprennent les clients de messagerie, les gestionnaires de SMS, Le domaine des utilitaires comprend les calculatrices, les memos pad, - 6 -

7 1.2. J2ME et les systèmes embarqués En 1998, Sun Microsystems Laboratories lance le projet de recherche Spotless dont le but est d adapter le langage Java pour des systèmes limités en ressource et de réaliser une machine virtuelle de petite taille assurant la portabilité. En Juin 1999, Sun présente la nouvelle plate-forme Java 2 Micro Edition (J2ME). Les travaux de standardisation des composants du J2ME débutent en Octobre 1999 [WJS04]. J2ME fait partie de la plate-forme Java 2. Ci-dessous vous trouverez une illustration qui situe la technologie J2ME au sein de la plate-forme Java 2. [JSU04] Comme l illustre l image ci-dessus, la technologie J2SE cible les ordinateurs standards de bureau, la technologie J2EE est destinée aux serveurs et la technologie J2ME est spécialement conçue pour le développement d applications sur des terminaux mobiles. Sun Microsystems cible donc le marché avec une suite de technologies fondées sur Java qui simplifient le déploiement pour les fabricants de terminaux, les fournisseurs de services et les développeurs d applications des produits client et embarqués. J2ME s adresse particulièrement aux terminaux embarqués, comme les téléphones cellulaires, les assistants personnels (PDA), les décodeurs TV numérique, les consoles de jeux, les terminaux de paiement, les systèmes embarqués dans les véhicules, Ces terminaux sont soumis à certaines contraintes : Interface utilisateur limitée (clavier, écran tactile) Affichage limité (taille, couleur) Peu de mémoire Connectivité limitée Alimentation (batterie) - 7 -

8 Encombrement et poids faibles Résistance aux chocs La présente étude se concentrera plus particulièrement sur les terminaux de type téléphone cellulaire. Ces terminaux spécialisés, aux fonctionnalités limitées, sont généralement dotés de processeurs 32 bits et d une connectivité réseau Tour d horizon de la technologie J2ME J2ME offre un certain nombre d avantages dans le domaine du développement d applications embarquées. Le premier d entre eux est la mise à disposition d outils performants (J2ME Wireless Toolkit) et faciles à utiliser garantissant un développement rapide des applications. Ces outils permettent par exemple de minimiser l utilisation du terminal dans le cycle de développement en mettant à la disposition du développeur un émulateur de terminal. L émulateur reproduit fidèlement le comportement d un terminal, y compris ses performances et son aspect physique. Notons qu il est primordial que l émulateur reproduise les mêmes performances qu un vrai terminal afin de développer des applications parfaitement adaptées aux performances réelles du terminal et non pas à celle de l ordinateur de bureau effectuant l émulation. Les outils proposés permettent également un déploiement aisé des applications grâce au mécanisme de packaging. Ces outils seront présentés dans la dernière partie de ce dossier (cf 4). Un autre avantage considérable de la technologie J2ME est qu elle permet de développer des applications adaptées aux capacités des terminaux en réutilisant des sous-ensembles d API existantes et en proposant des éléments optionnels. J2ME est une technologie basée sur une architecture modulaire. Les briques de base de la technologie J2ME sont la configuration, le profil et les packages optionnels [DSU04]. Une configuration est une machine virtuelle ainsi qu un ensemble minimal de classes de base et d API. Elle spécifie un environnement d exécution généralisé pour les terminaux embarqués et agit comme plate-forme Java sur le terminal. Un profil est une spécification des API Java définie par l industrie, utilisée par les fabricants et les développeurs à destination de terminaux spécifiques. Un package optionnel est, comme son nom l indique, un package qui peut ne pas être implémenté sur un terminal particulier. Les machines virtuelles J2ME et les spécifications d API de plate-formes spécifiques sont développées en sollicitant les besoins d entrée par l initiative du JCP (Java Community Process) de façon à s assurer que les spécifications répondent aux besoins spécifiques d une famille ou d une catégorie de terminaux clients. Une fois une JSR (Java Specification Request) acceptée par l initiative JCP, la JSR, qui peut être proposée par Sun Microsystems ou par une autre société, crée une machine virtuelle Java et une implémentation de référence API pour la plate-forme J2ME cible

9 Ci-dessous quelques exemples de JSR [DSU04]: JSR 30 pour CLDC (Connected Limited Device Configuration) JSR 36 pour CDC (Connected Device Configuration) JSR 37 pour MIDP (Mobile Information Device Profile) JSR 46 pour Foundation profile JSR 62 pour Personal profile JSR 66 pour RMI Profile La technologie J2ME bénéficie des avantages liés aux autres technologies de la plate-forme Java 2, à savoir : Write Once Run Anywhere (Ecrire Une fois et Exécuter Partout) : en effet, la machine virtuelle Java permet la portabilité des applications. Par exemple, un développeur n aura pas besoin d écrire et de maintenir différentes versions d une même application pour qu elle puisse s exécuter sur un Nokia Communicator (EPOC Operating System), sur un Compaq ipaq (Pocket PC Operating System) ou sur un PDA utilisant Linux comme système d exploitation. Sécurité : J2ME repose sur le modèle de sécurité Sandbox. Lorsqu une application est exécutée elle ne peut accéder aux ressources système en dehors de la Sandbox ce qui limite les problèmes de virus. J2ME bénéficie également de solutions de sécurité pour les transactions électroniques comme SSL. Une riche interface graphique : J2ME comporte des API riches et adaptées à chaque catégorie de terminaux mobiles Les machines virtuelles La machine virtuelle Java (JVM) se trouve au centre de la technologie Java. Elle permet aux applications écrites dans le langage de programmation Java d être portables sur différents environnements matériels et systèmes d exploitation. La machine virtuelle se situe entre l application et la plate-forme utilisée, convertissant le bytecode de l application en code machine approprié au matériel et système d exploitation utilisé. La machine virtuelle assume également des tâches relatives à la gestion de la mémoire du système. Deux machines virtuelles sont proposées par J2ME, la KVM associée à la configuration CLDC et la CVM associée à la configuration CDC [DSU04][DEL02]. KVM (Kilo Virtual Machine) est une implémentation runtime extrêmement légère de la machine virtuelle Java qui peut être utilisée dans les terminaux disposant de peu de mémoire, comme les téléphones cellulaires, les pagers bidirectionnels et les PDA. Cette machine virtuelle fonctionne avec des processeurs 16 et 32 bits et un total de mémoire d environ 100 Ko. CVM (Convergence Virtual Machine) est une machine virtuelle Java 2 conçue pour les terminaux ayant besoin de l ensemble des - 9 -

10 fonctionnalités de la JVM mais avec des capacités plus réduites. CVM est conçue pour répondre aux besoins du marché émergent des terminaux embarqués de prochaine génération. Les terminaux utilisant CVM sont généralement des terminaux compacts. D autres machines virtuelles pour l embarqué sont proposées par différents constructeurs comme la J9 (développée par IBM) associée à la configuration CDC, la Monty (développée par Sun), la MicrochaiVM (développée par HP) et la JBED (développée par la société suisse Esmertec) qui sont associées à la configuration CLDC. Ci-dessous vous trouverez un aperçu de l offre en machines virtuelles embarquées [MVE02]. Editeur Apogee Esmertec Hewlett Packard IBM Software Group Insignia Kada Systems NewMonics One Eighty Software Sun Microsystems Tao Machine virtuelle Portage optimisé des JVM de Sun JBED Chai VM Microchai VM J9 Technologie Spécification OS Processeurs JIT + interpréteur, optimiseur Compilateur FastBCC (bytecode to native) AOT, JIT, adaptatif AOT, JIT, adaptatif AOT, JIT, adaptatif PJava, CDC, CLDC CLDC/MIDP Core, CLDC/MIDP Core, CLDC/MIDP, CDC/FP Jeode adaptatif Personal Java Jeode EVM adaptatif CDC/FP Mobile Foundation Mobile ROI Perc adaptatif JIT + interpréteur AOT, JIT, adaptatif CLDC/MIDP CLDC/MIDP J2SE, J2ME/CDC LynxOS, VxWorks PalmOS, PocketPC, Linux, Nucleus, JBED Rtos Windows CE, PocketPC, QNX Linux, PalmOS, PocketPC Linux, PalmOS, PocketPC, QNX, Ose VxWorks, Nucleus, Windows CE, Linux Linux, VxWorks, NT4 Nucleus, itron, PocketPC PalmOS, PocketPC, Wind, Linux VxWorks, VxWorks AE, Nucleus, Ose, Linux Origin - J propriétaire PJava, JavaCard Origin PowerPC, x86, Arm 7/9 StrongArm, Xscale, PXA 210/250, PowerPC, ColdFire, 68k SA1100, SH3/4, x86 x86, 68k, PowerPC, StrongArm, SH4, Mips Arm, Mips, SH3/4, PowerPC x86, Mips, PowerPC Arm, Omap Arm, TI, Mips, SH3/4 PowerPC, x86, Microcontrôleurs 8 bits H8, 8051, 68xx et 16 bits Monty adaptatif CLDC/MIDP Arm, Jazelle Intent JTE JIT sans interpréteur CLDC/MIDP PocketPC, VxWorks, SymbianOS Arm, Omap, Risc

11 Les configurations Comme nous l avons cité précédemment, J2ME est une technologie basée sur une architecture modulaire. La configuration occupe une place importante dans cette architecture. Elle détermine une plate-forme minimale pour une catégorie de terminaux ayant des caractéristiques analogues en mémoire totale et en capacité de traitement. La configuration détermine une adjonction minimale ou «le plus petit dénominateur commun» à la technologie Java. Toutes les fonctionnalités inclues dans une configuration doivent être généralement applicables à une grande variété d appareils. La technologie J2ME est constituée de deux configurations, CLDC (Connected Limited Device Configuration), pour les terminaux légers à connexion limitée, et CDC (Connected Device Configuration), pour les terminaux légers connectés. CLDC JSR 30 est disponible comme implémentation de référence de CLDC. Cette configuration consiste en la machine virtuelle K (KVM) et un ensemble de bibliothèques de classes noyau appropriées à l utilisation dans un profil de l industrie, comme le profil spécifié par l implémentation de référence MIDP. Les terminaux concernés sont dotés d interfaces utilisateur simplifiées, de processeurs 16 ou 32 bits, d une capacité mémoire disponible pour la plate-forme Java de 128 Ko à 512 Ko et de connexions réseau intermittentes à faible bande passante. CDC JSR 36 est fondée sur la spécification de machine virtuelle classique qui définit un environnement runtime complet. Cette configuration est destinée aux terminaux disposant de ressources plus conséquentes, à savoir : une interface utilisateur très diversifiée, une capacité mémoire disponible pour la plate-forme Java dépassant en tout cas les 512 Ko, un processeur 32 bits et une connexion réseau permanente avec une large bande passante. Notons qu il existe une version révisée de CLDC 1.0 (JSR 30) : la version 1.1 de CLDC (JSR 139). Cette version révisée de CLDC inclut des nouvelles caractéristiques comme le support des nombres à virgule et l emploi de références faibles. CLDC 1.1 est «rétro-compatible» avec la version CLDC 1.0. Une version révisée de CDC est en cours de développement et sera bientôt disponible: CDC 1.1 (JSR 218). [DEL02][DSU04][WJS04][JSU04] Les profils Le profil est également une pièce fondamentale de l architecture modulaire de la technologie J2ME. C est une couche située au dessus de la configuration qui correspond à une spécification d API Java définie par l industrie et utilisée par les fabricants et les développeurs pour des terminaux spécifiques. La machine virtuelle et les API de base spécifiées par une configuration ne suffisent pas pour construire une application complète. Le profil ajoute des API plus spécifiques

12 pour la gestion du cycle de vie d une application, l interface graphique et le stockage permanent. Il existe deux familles de profils : ceux qui dépendent de la configuration CLDC et ceux qui dépendent de la configuration CDC. Ci-dessous vous trouverez une brève description des principaux profils existant dans J2ME. MIDP est un profil qui nécessite l implémentation de référence CLDC et qui fournit des classes pour l écriture d applications qui tournent sur des terminaux mobiles comme les téléphones cellulaires et les pagers bidirectionnels. Le profil MIDP fournit une plate-forme standard pour les petits terminaux mobiles aux ressources limitées. Ce profil est destiné aux terminaux répondant aux caractéristiques suivantes : Ko de mémoire totale (ROM + RAM) disponible pour le runtime Java et ses bibliothèques ; - puissance et batterie limitée ; - connectivité à certains type de réseaux sans fil à faible bande passante ; - interfaces utilisateur à différents niveaux de sophistication. Il existe à l heure actuelle deux versions de MIDP : MIDP 1.0 (JSR 37) et MIDP 2.0 (JSR 118). MIDP 2.0 correspond à une version révisée de la spécification MIDP 1.0 qui inclut des nouvelles caractéristiques comme une interface graphique évoluée, des fonctionnalités pour les jeux et le multimédia ainsi que des possibilités étendues en matière de connectivité et de sécurité. Notons également que MIDP 2.0 est «rétro compatible» avec MIDP 1.0. PDAP JSR 75 est un profil associé à la configuration CLDC qui fournit des API d interface utilisateur et de stockage de données pour les petits terminaux Handheld aux ressources limitées comme les PDA. Les terminaux visés ont les caractéristiques suivantes : - pas moins de 512 Ko et pas plus de 16 Mo de mémoire totale (ROM + RAM) disponible pour le runtime Java et les bibliothèques ; - puissance et batterie limitées ; - interface utilisateur de différents degrés de sophistication, terminaux disposant d un affichage d une résolution supérieure à pixels, d un dispositif de pointage et d une entrée pour caractères. Foundation Profile JSR 46 est un profil associé à la configuration CDC qui est destiné aux terminaux ayant besoin d un support pour une plate-forme Java avec un réseau riche mais qui ne nécessitent pas d interface utilisateur. Il fournit en outre un profil de base pour d autres profils qui auraient besoin de construire leurs propres fonctionnalités en ajoutant, par exemple, une GUI (Graphical User Interface). Les terminaux visés ont les caractéristiques suivantes : Ko de ROM (sans compter les besoins mémoire des applications);

13 - 512 Ko de RAM (sans compter les besoins mémoire des applications); - connectivité à certains types de réseaux ; - aucune interface graphique (à moins que les fonctionnalités d interface graphique soient fournies par un profil additionnel). Personal Profile JSR 62 est un profil associé à la configuration CDC qui est destiné aux terminaux nécessitant un haut niveau de connectivité Internet et une fidélité Web. Ce profil est conçu pour pour être compatible avec la spécification de l environnement d application PersonalJava. Les caractéristiques des terminaux visés sont les suivantes : - un minimum de 2.5 Mo de ROM (sans compter les besoins mémoire des applications); - un minimum de 1 Mo de RAM (sans compter les besoins mémoire des applications); - connectivité robuste à certains types de réseaux ; - interface graphique avec un haut degré de fidélité Web et la possibilité d exécuter des applets ; - support de l implémentation complète de J2ME Foundation Profile et de J2ME CDC. [DEL02][DSU04][WJS04][JSU04] Les packages optionnels Le package optionnel est également un élément clé de l architecture modulaire de la technologie J2ME. Un package optionnel fournit des fonctionnalités qui ne devraient pas être associées à une configuration ou à un profil particulier. Bluetooth API JSR 82 est un exemple de package optionnel qui fournit une API standard pour les connexions réseau sans fil Bluetooth. Ce package optionnel pourrait être implémenté avec n importe quelle combinaison de configurations et de profils. Ci-dessous vous trouverez une description des principaux packages optionnels existant dans J2ME. BTAPI JSR 82 (Bluetooth API) fournit une API standard pour l intégration des terminaux mobiles dans un environnement Bluetooth. Cette spécification inclut le support des protocoles Bluetooth suivants : RFCOMM, OBEX et Service Discovery Protocol. D autres protocoles seront ajoutés dans des versions futures de ce package optionnel. Les terminaux visés par cette spécification ont les caractéristiques suivantes : - un minimum de 512 Ko de mémoire totale (ROM + RAM) - connexion réseau Bluetooth

14 WMA JSR 120 (Wireless Messaging API) fournit une API standard pour accéder aux fonctionnalités de communication d un terminal mobile. Les technologies concernées sont les suivantes : - SMS (Short Message Service) - USSD (Unstructured Supplementary Service Data) - CBS (Cell Broadcast Service) Notons qu il existe une spécification plus récente, WMA 2.0 JSR 205, qui définit une interface pour l envoi et la réception de MMS. PIM JSR 75 (Personal Information Management) est un package optionnel offrant la possibilité d accéder aux données natives résidant dans les terminaux mobiles comme les PDA ou les téléphones mobiles. Ce package permet par exemple d accéder aux données contenues dans l agenda ou le répertoire d adresses d un PDA. MMAPI JSR 135 (Mobile Media API) définit une interface pour les fonctionnalités multimédia des terminaux mobiles compatibles J2ME. Ci-dessous vous trouverez une illustration clarifiant l architecture décrite précédemment suivie d un tableau regroupant l ensemble des JSR (configurations, profils et packages optionnels) concernant J2ME [DSU04]:

15 Configurations JSR 30 CLDC 1.0 Connected, Limited Device Configuration JSR 139 CLDC 1.1 Connected, Limited Device Configuration 1.1 JSR 36 CDC Connected Device Configuration JSR 218 CDC 1.1 Connected Device Configuration 1.1 Profils JSR 37 MIDP 1.0 Mobile Information Device Profile JSR 118 MIDP 2.0 Mobile Information Device Profile 2.0 JSR 75 PDAP PDA Profile JSR 46 FP Foundation Profile JSR 219 FP 1.1 Foundation Profile 1.1 JSR 129 PBP Personal Basis Profile JSR 217 PBP 1.1 Personal Basis Profile 1.1 JSR 62 PP Personal Profile JSR 215 PP 1.1 Personal Profile 1.1 JSR 195 IMP Information Module Profile JSR 228 IMP-NG Information Module Profile - Next Generation Packages optionnels JSR 75 PIM PDA Optional Packages for the J2ME Platform JSR 82 BTAPI Java APIs for Bluetooth JSR 120 WMA Wireless Messaging API JSR 205 WMA 2.0 Wireless Messaging API 2.0 JSR 135 MMAPI Mobile Media API JSR 164 JAIN SIMPLE Presence JSR 165 JAIN SIMPLE Instant Messaging JSR 172 J2ME Web Services JSR 177 SATSA Security and Trust Services API for J2ME JSR 179 Location API for J2ME JSR 180 SIP SIP API for J2ME JSR 184 3D Mobile 3D Graphics API for J2ME JSR 186 JAIN Presence JSR 187 JAIN Instant Messaging JSR 190 Event Tracking API for J2ME JSR 209 Advanced Graphics and User Interface Optional Package for J2ME Platform JSR 211 CHAPI Content Handling API JSR 213 Micro WSCI Framework for J2ME JSR 214 Micro BPSS for J2ME Devices JSR 226 Scalable 2D Vector Graphics API JSR 229 Payment API JSR 230 Data Sync API JSR 232 Mobile Operational Management JSR 234 Advanced Multimedia Supplements JSR 238 Mobile Internationalization API JSR 239 Java Bindings for OpenGL ES JSR 246 Device Management API

16 La pile JSR 185 JTWI (Java Technology for the Wireless Industry) Un terminal mobile compatible J2ME implémente une pile logicielle consistant généralement en une configuration, un profil et des packages optionnels. La première génération de téléphones mobiles compatibles J2ME implémente généralement la pile logicielle suivante : Beaucoup de fabricants de téléphones mobiles proposent leurs propres API pour offrir des fonctionnalités étendues (généralement développées par l intermédiaire de JCP). Il en résulte un phénomène de fragmentation. Un développeur MIDP désire savoir quelles API optionnelles sont disponibles pour des terminaux particuliers. Il est possible de découvrir la présence d API au runtime, mais cette technique ajoute de la complexité au code. Il est également possible de distribuer plusieurs versions d une application mais ceci dérogerait au principe fondamental des plate-formes Java, à savoir «write once and run everywhere». Le phénomène de fragmentation peut donc engendrer des problèmes de portabilité. D autres problèmes peuvent également limiter la portabilité d une application. En effet, certains constructeurs fixent des limites pour la taille d une application. Il peut arriver qu une application MIDP 1.0 développée en respectant strictement les spécifications ne soit pas exécutable sur un terminal (MIDP 1.0 / CLDC 1.0). Le constructeur du terminal en question a pu fixer une limite pour la taille du fichier *.jar mais également une taille limite pour le heap (espace mémoire pour l exécution de l application). Le problème le plus délicat interférant sur la portabilité d une application réside cependant dans l utilisation des threads. La spécification MIDP 1.0 inclut la classe java.lang.thread mais ne donne aucune indications sur le nombre de threads supportés par une implémentation. Si une application comporte un nombre importants de threads, elle risque de ne pas pouvoir s exécuter correctement sur certains terminaux. Pour résoudre ces problèmes, une spécification particulière issue des travaux de la JSR 185 et nommée Java Technology for the Wireless Industry (JTWI) a été développée. Cette spécification impose aux périphériques qui la respectent de mettre en œuvre CLDC 1.0 ou 1.1, MIDP 2.0 et WMA. Le support de MMAPI est optionnel. La pile JSR 185 offre donc une vision claire au développeur des API disponibles pour un terminal mobile compatible JTWI

17 La spécification JSR 185 fournit tous les détails nécessaires pour garantir qu une application sera exécutable sur tous les terminaux implémentant cette pile logicielle. Vous trouverez plus de détails sur la pile JSR 185 en consultant l adresse suivante : [DSU04][WJS04][JSU04] Les autres API Java pour terminaux embarqués Ces autres API Java ne font pas directement partie de J2ME mais il est tout de même intéressant de les citer. Certaines sont destinées au contrôle du téléphone, d autres concernent la télévision numérique ou encore les cartes de crédit. Java Phone API est une extension verticale de la plate-forme PersonalJava. Cette API fournit un accès aux fonctionnalités spécifiques des terminaux de téléphonie client. Elle permet notamment de contrôler le téléphone, d envoyer des messages à base de datagrammes, d obtenir des informations du carnet d adresse et du calendrier. Java TV API est une extension verticale de la plate-forme PersonalJava destinée à la création d applications interactives pour la télévision numérique. Cette API permet la mise en œuvre de transactions de commerce électronique, de publicité interactive ou encore d applications de banque à domicile. Java Card est destinée au développement pour cartes intelligentes. Une carte intelligente est une carte de crédit dotée d un circuit intégré (CI). Le CI contient un microprocesseur et de la mémoire permettant à la carte de stocker et traiter des informations. Java Card donne au développeur la possibilité de standardiser une plate-forme de carte commune. Cela signifie, par exemple, qu un opérateur de téléphonie sans fil GSM (Global System for Mobile communications) peut facilement développer de nouveaux services susceptibles d être téléchargés de manière sélective sur la carte intelligente résidant dans le téléphone. Connexion Jini est une technologie permettant aux services de fonctionner dynamiquement et simplement avec d autres services. Dans une communauté Jini, le services disposent d un code de découverte et de recherche dont ils ont besoin pour fournir immédiatement les services aux autres membres de la communauté. Quand un nouveau service est mis à disposition sur le réseau, il n est pas nécessaire d éditer des fichiers de configuration, d arrêter et de redémarrer des serveurs ou de configurer des passerelles. De plus, les communautés Jini supportent les infrastructures redondantes ce qui assure une disponibilité des services même en cas de pannes de serveurs ou de problèmes liés au réseau

18 JES (Java Embedded Server) est destiné aux périphériques de terminaison à large bande comme un modem DSL par exemple. Cette technologie permet de transformer le périphérique en passerelle résidentielle. Une passerelle résidentielle est un boîtier situé chez l utilisateur lui permettant de se connecter à Internet et d accéder à différents services. Les technologies JES et Connexion Jini sont liées. En effet, Connexion Jini supporte des communautés de services spontanément crées et JES est un framework permettant de générer les services délivrés à Jini. [DEL02][WJS04][JSU04]

19 Dans cette deuxième partie, vous trouverez une étude détaillée de la configuration CLDC. 2. La configuration CLDC Le rôle de CLDC (Connected Limited Device Configuration) est de définir une plate-forme Java standard adaptées aux terminaux légers dotés de peu de ressources. CLDC répond à la nécessité de faire tourner des applications sur une grande variété de petits terminaux, allant des terminaux de communication sans fil, comme les téléphones cellulaires et les pagers bidirectionnels, jusqu aux organiseurs personnels, aux terminaux de points de vente et aux équipements domestiques. CLDC est le plus petit commun dénominateur de la technologie Java applicable à une grande variété de terminaux mobiles. Il garantit la portabilité et l interopérabilité du code au niveau des profils entre les différents types de terminaux mobiles compatibles CLDC. La configuration CLDC ne définit que les bases communes à l ensemble des terminaux : entrées-sorties, réseau, sécurité, internationalisation. En ce qui concerne les fonctionnalités de plus haut niveau, c est au profil spécifique du terminal de les prendre en charge : gestion du cycle de vie de l application, interface utilisateur, gestion des évènements Les limitations de CLDC La configuration CLDC est sujette à un certain nombre de limitations dont il faut tenir compte lors de la conception et du développement d une application Support de la virgule flottante CLDC ne supporte pas les nombres à virgule flottante float ou double. Lors du développement d une application, il est donc impossible d utiliser les types de données float et double. Cette limitation n est cependant pas catastrophique puisqu il existe un package, MathFP, permettant de simuler les calculs en virgule flottante. Ce package est disponible à l adresse suivante : [DEL02][WJS04][JSU04] Internationalisation des applications CLDC ne supporte que de manière limitée l internationalisation, qui consiste à traduire les caractères UNICODE depuis et vers une séquence d octets, d une part, et vers la localisation, d autre part

20 La conversion des caractères UNICODE est correctement assurée par l utilisation des classes java.io.inputstreamreader et java.io.outputstreamwriter. Cependant, les fonctionnalités de localisation ne sont pas spécifiées par CLDC. Pour être distribuée dans le monde entier, une application doit être internationalisée et localisée. Une application est dite internationalisée si elle gère plusieurs encodages de caractères. Une application est dite localisée si elle met en forme et interprète les dates, heures, zones horaires et monnaies selon les règles locales de l utilisateur, ou, pour être plus précis, selon les règles de sa langue et de son pays. Dans J2SE, la réalisation d applications internationalisée et localisée est facilitée grâce aux classes java.util.calendar, java.util.locale, java.text.format et java.io.reader. Dans J2ME CLDC, les choses se compliquent car ces classes ne sont pas toutes présentes. CLDC comprend les classes de J2SE suivantes : java.io.datainputstream java.io.dataoutputstream java.io.inputstreamreader java.io.outputstreamwriter java.io.reader java.io.writer java.util.calendar java.util.date java.util.timezone Les classes InputStreamReader et OutputStreamWriter assurent la conversion entre un flux d octets et un flux de caractères UNICODE. Cette conversion est effectuée en fonction du système d encodage de caractères utilisé sur le terminal. Les classes Calendar, Date et TimeZone sont des sous-ensembles des classes J2SE de même nom. Elles permettent d intégrer le support de la zone horaire locale de l utilisateur. CLDC ne fournit rien de plus pour la localisation. C est le rôle des profils d ajouter éventuellement des nouvelles fonctionnalités. Par exemple, le profil MIDP prévoit l implémentation d une propriété système microedition.locale, qui retourne la locale du terminal au format langue-pays. Il est important de réaliser que la principale contrainte lorsque l on développe une application pour terminal mobile est l espace mémoire (espace de stockage et espace d exécution). La première mesure à prendre consiste donc à ne pas fournir qu un seul fichier *.jar (JavaArchive) complet, qui prendrait en charge toutes les situations, mais plutôt à créer un fichier *.jar pour chaque cas. L utilisateur téléchargera et installera la version de l application pour son propre cas. Si ce téléchargement est réalisé depuis un serveur Web via un servlet, par exemple, ce dernier pourra même utiliser les en-têtes HTTP pour identifier la locale utilisée et retourner le fichier *.jar approprié. [DEL02][JSU04][API]

Java, développement d'applications mobiles (J2ME) Java et les applications mobiles. Formation ITIN / Université de Cergy-Pontoise 10/11/2006

Java, développement d'applications mobiles (J2ME) Java et les applications mobiles. Formation ITIN / Université de Cergy-Pontoise 10/11/2006 Formation ITIN / Université de Cergy-Pontoise Java, développement d'applications mobiles (J2ME) Java et les applications mobiles Pourquoi utiliser Java? Langage répandu dans les entreprises Développement

Plus en détail

Programme de cette formation Java me Java Micro Edition Travaux pratiques Développement MIDP Travaux pratiques Les interfaces utilisateurs avec JME

Programme de cette formation Java me Java Micro Edition Travaux pratiques Développement MIDP Travaux pratiques Les interfaces utilisateurs avec JME Java ME Plan Programme de cette formation Java me Java Micro Edition - Utilisations de la plateforme JME. L'architecture et les composantes essentielles (machines virtuelles, configurations, profils et

Plus en détail

Évolution des smart-devices

Évolution des smart-devices Évolution des smart-devices Sources : Android.com, Wikipedia, developer.apple.com, www.oracle.com et différents autres sites Paris, 02/03/2015 Un peu d histoire 7 Années 90 : téléphonie cellulaire, Programmation

Plus en détail

Middleware pour Software Radio

Middleware pour Software Radio Middleware pour Software Radio 1 Middleware pour Software Radio systèmes d'exploitation spécifiques aux fournisseurs d équippement standards : Symbian Windows Pocket PC 2 Middleware pour Software Radio

Plus en détail

Java ME : une présentation. Jean-Marc Farinone

Java ME : une présentation. Jean-Marc Farinone Java ME : une présentation Jean-Marc Farinone 1 But de l exposé Comprendre, définir, situer les termes : Java ME, J2ME, CDC, CLDC, Configuration, Profiles, MIDP (1.0, 2.0), DoJa, MIDlet, jad, etc. Donner

Plus en détail

Manuel d installation de l application Dimona New via SMS

Manuel d installation de l application Dimona New via SMS Manuel d installation de l application Dimona New via SMS Manuel d installation de l application Dimona New via SMS Grâce aux informations contenues dans ce manuel, vous pouvez configurer votre GSM de

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

J2ME. Développement «Hello World» is back. Formation ITIN 19/03/2007

J2ME. Développement «Hello World» is back. Formation ITIN 19/03/2007 J2ME Développement «Hello World» is back Cycle de création d une MIDlet (1) Conception (2) Réalisation / Écriture du code (3) Compilation (4) Pré vérification (5) Construction du package (6) Test (7) Déploiement

Plus en détail

Programmation sur PDA Techniques & Concepts. Paul Guyot - ECE - Systèmes Embarqués (25/11/02)

Programmation sur PDA Techniques & Concepts. Paul Guyot - ECE - Systèmes Embarqués (25/11/02) Programmation sur PDA Techniques & Concepts Paul Guyot - ECE - Systèmes Embarqués (25/11/02) 1 Introduction 2 Introduction (1) De la particularités des PDA Echelle, économie d énergie, données À la particularité

Plus en détail

Machine virtuelle Java pour Palm TX

Machine virtuelle Java pour Palm TX Machine virtuelle Java pour Palm TX Sommaire 1. Présentation de la machine virtuelle d IBM...1 2. Installation sur le Palm TX...2 2.1. Téléchargement...2 2.2. Installation...2 2.3. Application de test...2

Plus en détail

NFA022 : Programmation des smart-phones et tablettes tactiles

NFA022 : Programmation des smart-phones et tablettes tactiles NFA022 : Programmation des smart-phones et tablettes tactiles Jean-Ferdy Susini! Maître de Conférences - CNAM! Département Informatique Paris, 09/06/2014 Objectifs:! Structure du certificat CP48 Former

Plus en détail

Tic Tac Toe. J2ME Bluetooth. Projet LO52. Rapport de projet Béatrice Frey et Cyril Crassin Printemps 2005

Tic Tac Toe. J2ME Bluetooth. Projet LO52. Rapport de projet Béatrice Frey et Cyril Crassin Printemps 2005 Rapport de projet LO52 Béatrice Frey et Cyril Crassin Printemps 2005 Projet LO52 Tic Tac Toe J2ME Bluetooth Université de Technologie de Belfort-Montbéliard GI04 Sommaire Introduction...2 1. La plateforme

Plus en détail

Ma première Application Mobile Java ME

Ma première Application Mobile Java ME Groupe Entreprenant et Innovateur «Atipax Inti» France Tutoriel 3 Ma première Application Mobile Java ME Cours Programmation Mobile Coach Arón HERRERA PONTE E-mail teaching@atipaxinti.com - 2011 - SOMMAIRE

Plus en détail

Les réseaux. Le Generic Connection Framework GCF

Les réseaux. Le Generic Connection Framework GCF Les réseaux Le Generic Connection Framework GCF Connexion réseau Le profil MIDP fournit quelques classes du package java.io mais aucune classe du package java.net les terminaux mobiles peuvent supporter

Plus en détail

Java2 Micro Edition. GUINKO Tonguim Ferdinand. 30 novembre 2011

Java2 Micro Edition. GUINKO Tonguim Ferdinand. 30 novembre 2011 Java2 Micro Edition GUINKO Tonguim Ferdinand 30 novembre 2011 /31 GUINKO Tonguim Ferdinand Java2 Micro Edition Sommaire 1 2 3 4 /31 GUINKO Tonguim Ferdinand Java2 Micro Edition Rappels Sommaire Il existe

Plus en détail

d applications embarquées en environnement Java Card TM

d applications embarquées en environnement Java Card TM Mémoire de DEA sous la direction de Serge Chaumette Sécurité et vérification d applications embarquées en environnement Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron

Plus en détail

Présentation de la plate-forme J2ME / Java ME

Présentation de la plate-forme J2ME / Java ME Présentation de la plate-forme J2ME / Java ME J2ME est la plate-forme Java pour développer des applications sur des appareils mobiles tels que des PDA, des téléphones cellulaires, des terminaux de points

Plus en détail

Java ME : une présentation. Jean-Marc Farinone

Java ME : une présentation. Jean-Marc Farinone Java ME : une présentation Jean-Marc Farinone 1 But de l exposé Comprendre, définir, situer les termes : Java ME, J2ME, CDC, CLDC, Configuration, Profiles, MIDP (1.0, 2.0), DoJa, MIDlet, jad, etc. Donner

Plus en détail

J2ME. Développement «Hello World» is back. Formation ITIN / Université de Cergy-Pontoise 10/11/2006

J2ME. Développement «Hello World» is back. Formation ITIN / Université de Cergy-Pontoise 10/11/2006 J2ME Développement «Hello World» is back Formation ITIN / Université de Cergy-Pontoise Cycle de création d une MIDlet (1) Conception (2) Réalisation / Écriture du code (3) Compilation (4) Pré vérification

Plus en détail

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

bbc Launch Pad Juillet 2011 Version 10.0

bbc Launch Pad Juillet 2011 Version 10.0 bbc Configuration d Adobe Digital Enterprise Platform Document Services - Launch Pad 10.0 Guide de l administrateur et du développeur Launch Pad Juillet 2011 Version 10.0 Mentions juridiques Pour plus

Plus en détail

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13 FileMaker Pro 13 Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13 2007-2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054

Plus en détail

Exceed 8.0. Nouvelles fonctionnalités

Exceed 8.0. Nouvelles fonctionnalités Exceed 8.0 Nouvelles fonctionnalités Copyright Hummingbird 2002 Page 1 of 9 Sommaire Sommaire... 2 Généralités... 3 Conformité à la section 508 de la Rehabilitation Act des Etats-Unis... 3 Certification

Plus en détail

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International PRESENTATION DE JAVA Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références 1 Qu est-ce que java? Un langage de programmation orienté objets Une architecture de Virtual

Plus en détail

FRANÇAIS PHONE-VS. Guide d installation et utilisation

FRANÇAIS PHONE-VS. Guide d installation et utilisation FRANÇAIS PHONE-VS Guide d installation et utilisation INDEX 1 INTRODUCTION... 1 2 INSTALLATION ET MISE EN SERVICE... 1 3 REGISTRER L APPLICATION... 4 4 CONFIGURATION DES CONNEXIONS... 6 5 CONNEXION...

Plus en détail

A propos de PC MACLAN pour Windows 95

A propos de PC MACLAN pour Windows 95 About PC MACLAN for Windows 95 A propos de PC MACLAN pour Windows 95 Ce chapitre explique ce qu est un réseau, les éléments qui le composent et les fonctions uniques de PC MACLAN for Windows 95. Les sujets

Plus en détail

Windows 2008 server -Introduction-

Windows 2008 server -Introduction- Windows 2008 server -Introduction- Rappel sur les systèmes d exploitation Un système d exploitation (Operating System) est un ensemble de programmes responsables de la liaison entre les ressources matérielles

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

Android, introduction

Android, introduction Android, introduction Sébastien Jean IUT de Valence Département Informatique v1.1, 7 novembre 2012 Android en bref Android est un système d exploitation développé depuis 2003, apparu officiellement en

Plus en détail

Architecture technique

Architecture technique OPUS DRAC Architecture technique Projet OPUS DRAC Auteur Mathilde GUILLARME Chef de projet Klee Group «Créateurs de solutions e business» Centre d affaires de la Boursidière BP 5-92357 Le Plessis Robinson

Plus en détail

édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe 15

édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe 15 Table des matières Au sujet de l auteur 1 Introduction 3 édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe

Plus en détail

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

TP Java ME. Installation du "Wireless Toolkit 2.5.2" de Sun

TP Java ME. Installation du Wireless Toolkit 2.5.2 de Sun TP Java ME Installation du "Wireless Toolkit 2.5.2" de Sun L'environnement de Sun pour commencer à faire du développement pour Java Micro Edition s'appelle le Wireless Toolkit. Nous utilisons dans ce TP

Plus en détail

IBM Managed Security Services for Web Security

IBM Managed Security Services for Web Security Description des services 1. Nature des services IBM Managed Security Services for Web Security Les services IBM Managed Security Services for Web Security («MSS for Web Security») peuvent inclure : a.

Plus en détail

Cours 3 : The Dalvik VM Specification. Damien MASSON d.masson@esiee.fr

Cours 3 : The Dalvik VM Specification. Damien MASSON d.masson@esiee.fr Androïd Cours 3 : The Dalvik VM Specification Damien MASSON d.masson@esiee.fr http://igm.univ-mlv.fr/~masson/teaching/android/ 1 er mars 2011 Buts du cours et Références Buts : Pourquoi Google n a pas

Plus en détail

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC JDBC est l'acronyme de Java DataBase Connectivity et désigne une API définie par Sun pour permettre un accès aux bases de données avec Java Accès

Plus en détail

QUELQUES CONCEPTS INTRODUCTIFS

QUELQUES CONCEPTS INTRODUCTIFS ESIEE Unité d'informatique IN101 Albin Morelle (et Denis Bureau) QUELQUES CONCEPTS INTRODUCTIFS 1- ARCHITECTURE ET FONCTIONNEMENT D UN ORDINATEUR Processeur Mémoire centrale Clavier Unité d échange BUS

Plus en détail

Plateforme d'évaluation professionnelle. Manuel d utilisation du service Web d EvaLog

Plateforme d'évaluation professionnelle. Manuel d utilisation du service Web d EvaLog Plateforme d'évaluation professionnelle Manuel d utilisation du service Web d EvaLog Un produit de la société AlgoWin http://www.algowin.fr Version 1.1.0 du 31/01/2015 Table des matières Présentation d

Plus en détail

Introduction à UNIX et Windows

Introduction à UNIX et Windows 1/39 à UNIX et Windows Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

Plus en détail

Introduction. Exigences matérielles (Virtual PC)

Introduction. Exigences matérielles (Virtual PC) Introduction Ce kit de formation est conçu pour les professionnels des technologies de l information (TI) qui prennent en charge ou pensent prendre en charge des réseaux Windows Server 2008 et qui envisagent

Plus en détail

Projet d Etude et de Développement

Projet d Etude et de Développement Projet d Etude et de Développement PokerServer Guide d installation Auteurs: Lucas Kerdoncuff Balla Seck Rafik Ferroukh Xan Lucu Youga MBaye Clients: David Bromberg Laurent Réveillère March 28, 2012 Contents

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Dream Report. Dream Report vs Reporting Services

Dream Report. Dream Report vs Reporting Services Dream Report Dream Report vs Reporting Services Date : Mars 2015 A propos de Dream Report Dream Report est le 1 er logiciel d édition de rapport prêt à l emploi offrant aux utilisateurs la possibilité

Plus en détail

Internet. PC / Réseau

Internet. PC / Réseau Internet PC / Réseau Objectif Cette présentation reprend les notions de base : Objectif, environnement de l Internet Connexion, fournisseurs d accès Services Web, consultation, protocoles Modèle en couches,

Plus en détail

Système Principal (hôte) 2008 Enterprise x64

Système Principal (hôte) 2008 Enterprise x64 Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée avec : Hyper-V 6.0 Manager Hyper-V Server (R1&R2) de Microsoft Hyper-V 6.0 Network Shutdown Module Système Principal

Plus en détail

Joomla : un système de gestion de contenu

Joomla : un système de gestion de contenu CHAPITRE 2 Joomla : un système de gestion de contenu Si SGC est l abréviation française pour système de gestion de contenu, l abréviation CMS de l anglais Content Management System est le terme le plus

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452 EXTENSION de Microsoft Dynamics CRM 2013 Réf FR 80452 Durée : 3 jours A propos de ce cours : Ce cours offre une information interactive et détaillée sur le développement d extensions pour Microsoft Dynamics

Plus en détail

User Documentation. Documentation utilisateur. version 0.2b 04-2009

User Documentation. Documentation utilisateur. version 0.2b 04-2009 User Documentation Documentation utilisateur version 0.2b 04-2009 Table des matières 3 French Version....4 English Version.22 Table des matières 4 Table des matières TABLE DES MATIERES 3 A PROPOS DE CE

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

1 sur 16 03/12/2011 20:30

1 sur 16 03/12/2011 20:30 1 sur 16 03/12/2011 20:30 v 0.80 Copyright (C) 2003-2007 Jean-Michel DOUDOUX Le but de ce plug-in est de permettre le développement d'applications J2ME reposant sur MIDP en utilisant un Wireless Toolkit.

Plus en détail

CONFIGURATION D ADOBE DIGITAL ENTERPRISE PLATFORM DOCUMENT SERVICES - CONNECTOR FOR MICROSOFT SHAREPOINT 10.0

CONFIGURATION D ADOBE DIGITAL ENTERPRISE PLATFORM DOCUMENT SERVICES - CONNECTOR FOR MICROSOFT SHAREPOINT 10.0 CONFIGURATION D ADOBE DIGITAL ENTERPRISE PLATFORM DOCUMENT SERVICES - CONNECTOR FOR MICROSOFT SHAREPOINT 10.0 Informations juridiques Informations juridiques Pour les informations juridiques, voir http://help.adobe.com/fr_fr/legalnotices/index.html.

Plus en détail

Démarrer. Agenda. Constats et enjeux Terminaux Mobiles Architecture Étude de cas

Démarrer. Agenda. Constats et enjeux Terminaux Mobiles Architecture Étude de cas Démarrer La Mobilité David Hernie Division Mobilité Entreprises EZOS s.a. Juin 2006 Nouveau Contacts Agenda Constats et enjeux Terminaux Mobiles Architecture Étude de cas 1 Problématique Renouvellement

Plus en détail

ACCEDER A SA MESSAGERIE A DISTANCE

ACCEDER A SA MESSAGERIE A DISTANCE Pour garder le contact avec leur entreprise, de plus en plus de collaborateurs ont besoin d accéder à leurs emails lorsqu ils sont en déplacement ou à domicile. Cet accès distant est facilité si la messagerie

Plus en détail

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 Introduction : Initiation à la Micro- Informatique 1. Matériel 2. Périphériques a) Le clavier b) La souris c) L écran d) L unité centrale e) L imprimante

Plus en détail

ACCÉDER A SA MESSAGERIE A DISTANCE

ACCÉDER A SA MESSAGERIE A DISTANCE ACCÉDER A SA MESSAGERIE A DISTANCE Lorraine Pour garder le contact avec leur entreprise, de plus en plus de collaborateurs ont besoin d accéder à leurs emails lorsqu ils sont en déplacement ou à domicile.

Plus en détail

Historique. Évolution des systèmes d exploitation (à travers les âges)

Historique. Évolution des systèmes d exploitation (à travers les âges) Historique Évolution des systèmes d exploitation (à travers les âges) Historique L histoire des systèmes d exploitation permet de dégager des concepts de base que l on retrouve dans les systèmes actuels

Plus en détail

Conformité aux normes de gestion des PC reconnues par l industrie

Conformité aux normes de gestion des PC reconnues par l industrie Conformité aux normes de gestion des PC reconnues par l industrie Toute la gamme de PC ThinkCentre et portables ThinkPad d IBM répond aux dernières normes de l industrie, notamment celle du DMTF (Desktop

Plus en détail

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+ Guide de formation avec exercices pratiques Configuration et dépannage de PC Préparation à la certification A+ Sophie Lange Troisième édition : couvre Windows 2000, Windows XP et Windows Vista Les Guides

Plus en détail

Fiche technique. www.omnikles.com 56 rue de Londres - 75008 Paris Tél. : 01 44 88 96 50 Mail : contact@omnikles.com

Fiche technique. www.omnikles.com 56 rue de Londres - 75008 Paris Tél. : 01 44 88 96 50 Mail : contact@omnikles.com Eléments de configuration - Utilisateur Les applications OK-BOX sont des applications Web accessibles pour les utilisateurs via le protocole Internet sécurisé : HTTPS. A ce titre, elles requièrent un poste

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

Le.NET Compact Framework Windows Mobile

Le.NET Compact Framework Windows Mobile Le.NET Compact Framework Windows Mobile HEROGUEL Quentin 2 Le.NET Compact Framework Windows Mobile Sommaire 1 Le.NET Compact Framework... 3 1.1 Vue d ensemble rapide de l architecture du.net Compact Framework...

Plus en détail

Projet informatique UML-Cpp avec QT4

Projet informatique UML-Cpp avec QT4 Haute école spécialisée bernoise Haute école technique et informatique, HTI Section Electricité et système de communication Laboratoire de l informatique technique Projet informatique UML-Cpp avec QT4

Plus en détail

Les applications embarquées Lexmark

Les applications embarquées Lexmark Les applications embarquées Lexmark Exploitez tout le potentiel de vos équipements avec les solutions Lexmark Les applications Lexmark ont été conçues pour permettre aux entreprises d enregistrer les,

Plus en détail

Module 1. Introduction à la gestion de l environnement Windows Server 2008 R2

Module 1. Introduction à la gestion de l environnement Windows Server 2008 R2 Module 1 Introduction à la gestion de l environnement Windows Server 2008 R2 Vue d ensemble du module Rôles serveur Utilisation des outils d administration Microsoft Windows Server 2008 R2 Utilisation

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

industriel avec en toute simplicité!

industriel avec en toute simplicité! Logiciel de diagnostic Ethernet industriel ConneXview Naviguez sur votre réseau Ethernet industriel avec en toute simplicité! Construire le nouveau monde de l électricité ConneXview est un logiciel de

Plus en détail

Par le service des publications Citrix. Citrix Systems, Inc.

Par le service des publications Citrix. Citrix Systems, Inc. Licences : présentation de l architecture Par le service des publications Citrix Citrix Systems, Inc. Avis Les informations contenues dans cette publication peuvent faire l'objet de modifications sans

Plus en détail

BOUYGUES TELECOM ENTREPRISES - CLOUD

BOUYGUES TELECOM ENTREPRISES - CLOUD BOUYGUES TELECOM ENTREPRISES - CLOUD PARTIE CLIENT Version 1.4. 21/06/2013 Partie client Page 1 Sommaire 1 FONCTIONS CLES DU PORTAIL 3 1.1 Pré-requis d utilisation des services Cloud 3 1.2 Principes de

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Manuel du logiciel PrestaTest.

Manuel du logiciel PrestaTest. Manuel du logiciel. Ce document décrit les différents tests que permet le logiciel, il liste également les informations nécessaires à chacun d entre eux. Table des matières Prérequis de PrestaConnect :...2

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft Virtual Server 2005 R2 Network Shutdown Module Système Principal (hôte) Virtual Server

Plus en détail

Analyse des besoins logiciels

Analyse des besoins logiciels Analyse des besoins logiciels Encadrement et supervision Annie Danzart Jean-Claude Moissinac Equipe de développement Mohamed Anouar Benaissa anouar@benaissa.net Anthony Rabiaza rabiaza@enst.fr Déva Pajaniaye

Plus en détail

Introduction Windows Mobile

Introduction Windows Mobile Introduction Windows Mobile 2 Introduction Windows Mobile 14/01/09 Sommaire 1 Général... 3 1.1 Le système d exploitation Windows Mobile... 3 1.2 Les Smartphones et les Personal Digital Assistants... 3

Plus en détail

Éléments de programmation et introduction à Java

Éléments de programmation et introduction à Java Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques

Plus en détail

Cours client-serveur Web : Java et RMI (Remote Method Invocation)

Cours client-serveur Web : Java et RMI (Remote Method Invocation) Cours client-serveur Web : Java et RMI (Remote Method Invocation) 1 Java: Rappel sur les threads Cycle de vie d un thread (1) Né -> prêt appel de la méthode start du thread Prêt Exécution Distribution

Plus en détail

PROCEDURE INSTALLATION ET PARAMETRAGE D UN SERVEUR TSE

PROCEDURE INSTALLATION ET PARAMETRAGE D UN SERVEUR TSE PROCEDURE INSTALLATION ET PARAMETRAGE D UN SERVEUR TSE Table des matières 1) Un serveur TSE, c est quoi?... 1 2) Prérequis technique... 1 3) Comment louer un serveur?... 1 4) Ou acheter des licences?...

Plus en détail

Gestion complète des performances

Gestion complète des performances Gestion complète des performances Rétrocompatibilité Windows XP et Windows Vista 2013 Réglez et optimisez les performances de votre ordinateur à l aide d une application puissante et rapide. Téléchargement

Plus en détail

Fonctionnement de Windows XP Mode avec Windows Virtual PC

Fonctionnement de Windows XP Mode avec Windows Virtual PC Fonctionnement de Windows XP Mode avec Windows Virtual PC Guide pratique pour les petites entreprises Table des matières Section 1 : présentation de Windows XP Mode pour Windows 7 2 Section 2 : démarrage

Plus en détail

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007 NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation

Plus en détail

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges c Copyleft 2006, ELSE Team 18 avril 2006 Table des matières 1 Introduction 2 2 Présentation du projet 3 2.1 Une distribution Évolulable..................

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

CONFIGURATION P 2 P 3 P 3 P 10 P 11 P 13 P 14 P 16

CONFIGURATION P 2 P 3 P 3 P 10 P 11 P 13 P 14 P 16 CONFIGURATION 1 Présentation 2 Topologie du projet 3 Installation 4 Configuration 4.1 Création de la DMZ publique 4.2 Accès vers l Internet 4.3 Publication d Exchange 4.4 Rapports d activité et alertes

Plus en détail

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com. 2010 IBM Corporation

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com. 2010 IBM Corporation Perspectives pour l entreprise Desktop Cloud JC Devos IBM IT Architect jdevos@fr.ibm.com Principe technique Disposer d un poste de travail virtuel accessible par la plupart des terminaux disponibles Ce

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Chapitre 1 Windows Server 2008 11

Chapitre 1 Windows Server 2008 11 Chapitre 1 Windows Server 2008 11 1.1. Les fondations du système... 15 1.2. La virtualisation... 16 1.3. La sécurité... 18 1.4. Le Web... 20 1.5. Fonctionnalité disponible dans Windows Server 2008... 21

Plus en détail

fichiers Exemple introductif : stockage de photos numériques

fichiers Exemple introductif : stockage de photos numériques b- La Gestion des données Parmi les matériels dont il a la charge, le système d exploitation s occupe des périphériques de stockage. Il s assure, entre autres, de leur bon fonctionnement mais il doit être

Plus en détail

CHECKLIST : OUVERTURE DES OFFRES

CHECKLIST : OUVERTURE DES OFFRES CHECKLIST : OUVERTURE DES OFFRES 1 Introduction 2 De quoi avez-vous besoin? 2.1 La configuration minimale 2.2 La solution intermédiaire (recommandée) 2.3 La configuration maximale 3 Comment préparer un

Plus en détail

Chapitre 3 : Les technologies de la communication. I- Les TIC de la PME

Chapitre 3 : Les technologies de la communication. I- Les TIC de la PME Chapitre 3 : Les technologies de la communication I- Les TIC de la PME La PME est soumise a deux grandes évolutions du domaine des TIC. D une part la nomadisation des outils et d autres part le développement

Plus en détail

Introduction à JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA)

Introduction à JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Introduction à JAVA Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Mais JAVA c est quoi? Langage OO Exécuté dans une Machine Virtuelle Possède un ensemble complet d API (réseau, graphique, sécurité,

Plus en détail

Installation de Windows XP www.ofppt.info

Installation de Windows XP www.ofppt.info ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail XP DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC XP Sommaire 1 Introduction... 2 2 Vérification de la

Plus en détail