Développement d’applications sur mobiles: .NET et J2ME - C++ et Symbian

afternoonhandsomelyΛογισμικό & κατασκευή λογ/κού

17 Νοε 2012 (πριν από 5 χρόνια)

529 εμφανίσεις

WIPLIER Thomas

ITIN
-

M2IRT 2009








Développement d’applications
sur mobiles


.NET
et

J2ME

C++ et Symbian













Janvier 2007

Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

3
/
38

Informations





Auteur

:

Thomas WIPLIER

15 Rue Saulnier, 92800 PUTEAUX

twiplier@free.fr


Type de rapport

:

Mémoire technique sur le développement d’applications sur
tél
éphones mobiles en .NET et J2ME
(Java 2 Micro Edition)
, C++ et
Symbian
.


Destinataire

:

Président du jury

:
P. Richard (
Fr), S. Trémaud (En).

ITIN


Parc St Christophe, Pôle Galilée 1

10 Avenue de l’entreprise, BP 8489

95891 Cergy


Pontoise Cedex


Résumé

/ Summary

:

Ce mémoire technique pr
ésente

deux

solutions de développements
d’applications sur
périphériques
mobiles,
ave
c

différents langages

:

.NET et J2ME, C++ et Symbian,
d’un exemple de programme réalisé
avec ses langages,
ainsi qu’un comparatif entre ces
différentes
plate
formes de programmation
.


This technical report presents two solutions of developments of
applicati
ons on mobile ring roads

(peripherals), with various
languages: .NE
T and J2ME, C ++ and Symbian,

an example of
program realized with its languages,
and
a comparative degree
between these various platforms of programming
.


Mots
-
clés

/ Key word
:


Mobiles, .
NET, J2ME, C++, Symbian
, API
, Machine
Virtuelle
/Virtual
Machine,
Threads.











Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

4
/
38


Sommaire





A.

Présentation



1.

Couverture

2.

Informations sur le mémoire technique, Résumé

3.

Table des matières




B.


Introduction





C.

«

.NET

»

et J2ME



1.

«

.NET

»


a.

Pr
ésentation


b.

Le framework «

.NET

»


c.

Le CLR (Common Language Runtime)


d.

Bibliothèques de classes «

.NET

»


e.

Structure d’une application «

.NET

»


f.

Compilation et exécution d’une application



2.

J2ME

(java 2 Micro Edition)


a.

Présentation de J2M
E


b.

Les configurations


c.

Les profils





Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

5
/
38


D.

C++ et Symbian



1.

Le

C++


a.

Présentation


b.

Historique


c.

Fonctionnalités introduites par le C++


d.

La bibliothèque standard C++


e.

La programmation orientée objet


f.

L’encapsulation





2.

Symbian

OS


a. Présentation



b. Versions disponibles




E.

Démonstration



1.

Avec

C++ et Symbian




F.

Comparatif




G.

Conclusion





H.

Glossaire





Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

6
/
38

















Introduction


























Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

7
/
38



Dans le cadre de ma première année d’études à l’ITIN (école
supérieure
d’informatique, réseaux, et télécommunications), il m’a été
demandé de traiter ce mémoire technique autour du développement
d’applications sur mobiles, en «

.NET

» et J2ME d’une part, et en C++ et
Symbian d’autre part.





Le monde dans lequel nous vivons

est entouré par la technologie
embarquée, comme par exemple les lecteurs MP3, les appareils photos et
vidéos numériques, les téléphones portables de différentes générations,
les ordinateurs de poches… ces instruments sont de plus en plus
performant, minia
turisés, et offrent de plus en plus de
solutions, en
combinant diverses technologies

: par exemple, les derniers téléphones
portables nous permettent d’écouter de la musique, de prendre des
photos de qualités convenables, d’enregistrer des vidéos, de surfe
r sur
Internet, et bien entendu de téléphoner.

Tous ses services obligent donc les programmes à devenir de plus
en plus performants et efficaces, et surtout, d’être de plus en plus
polyvalents




Ces instruments

mobiles

nécessitent plusieurs programmes

veloppés sur une plateforme
particulière
pour fonctionner
. Nous allons
donc nous focaliser to
ut d’abord sur le «

.NET

» et la plateforme
J2ME, en
présentant l’histoire, les origines, et le fonctionnement de ces 2 langages
Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

8
/
38

par le biais d’un exemple, et par
la suite nous ferons de même pour le
C++ et le

système d’exploitation

Symbian.





Enfin, pour terminer, nous effectuerons un comparatif entre ces 2
solutions, afin de cerner au mieux les points communs, les avantages, et
les inconvénients de chacun.




























Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

9
/
38

















«

.NET

»

et J2ME





C.

«

.NET

»

et J2ME



1.

«

.NET

»


a.

Présentation


b.

Le framework «

.NET

»


c.

Le CLR (Common Language Runtime)


d.

Bibliothèques de classes «

.NET

»


e.

Structure d’une application «

.NET

»


f.

Compilation et exécution d’une application



2.

J2ME (java 2 Micro Edition)


a.

Présentation de J2ME


b.

Les configurations


c.

Les profils










Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

10
/
38



1.

«

.NET

» (
dot net
).



a.
Présentation


«

.NET

» est un ensemble lancé par Microsoft, qui comporte un
fram
ework (équivalent de machine virtuelle), des langages de
développement et des spécifications techniques. Le framework .NET peut
être

téléchargé sur le site de
Microsoft
, et est également partiellement
fourni dans certaines déclinaisons commerciales de son
système

d’exploitation
.



b.
L
e framework «

.
NET

»


C’est un composant installable sur les systèmes d’exploitation
Windows (Windows Mobile, aussi appelé Windows CE, utilisé sur certains
mobiles et PDA). Il a pour but de faciliter la tache des développeurs
en
proposant une approche unifiée à la conception d’application Windows ou
Web, tout en introduisant des facilités pour le développement, le
déploiement, et la maintenance d’applications. Le framework gère tous les
aspects de l’exécution de l’application

:




Il alloue la mémoire pour le stockage des données et des
instructions du programme



Il autorise ou interdit les droits de l’application



Il démarre et gère l’exécution



Il gère la réallocation de la mémoire pour les ressources qui ne
sont plus utilisées


C
’est pour ces différentes raisons que le framework «

.NET

» est qualifié
d’environnement «

managé

». Il est composé de 2 blocs principaux

:



Le CLR (Common Language Runtime)



La bibliothèque de classes «

.NET

»




c.
Le CLR (Common Language Runtime)



Le CLR

est à «

.NET

» ce que la JVM (Java Virtual Machine) et à
Java, c'est
-
à
-
dire une machine virtuelle sans laquelle l’exécution de code
«

.NET

» ne serait pas possible. A l’inverse de son concurrent, le «

.NET

»
à été conçu pour permettre l’interopérabilité e
ntre différents langages.


Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

11
/
38



En effet, quel que soit le langage utilisé pour écrire une application
«

.NET

», le code doit être transformé en MSIL (MicroSoft Intermediate
Language). Ce code intermédiaire ne comporte aucune instruction relative
au matériel
(hardware) ou au système d’exploitation

; il ne peut donc pas
être utilisé directement. Malgré cela, on pourrait tout de
même

imaginer
écrire

directement une application en MSIL, qui ressemble à l’assembleur,
sans passer par un langage de
dernière

générati
on comme le C#.



Le CLR est donc nécessaire pour exécuter le code intermédiaire.
Il
est basé sur le CTS (Common T
ype System)

et le CLS (Common Language
Specification). Il apporte de nombreuses fonctionnalités comme

:



Le «

Garbage Collector

» (qui consiste

a optimiser la mémoire
utilisée par l’application)



La BCL (Base Class Library)



Le système de
sécurité


Une fois le code présent
dans le CLR, il va pouvoir être compilé par
le JIT Compiler (Just In Time), en langage natif de la machine.



Il existe 3 typ
es de JIT

:



Pre
-
JIT

: le code entier va être directement compilé



Econo
-
JIT

: le code est compilé par parties, et la mémoire est
libérée si nécessaire.



Normal
-
JIT

: le code est compilé seulement

lorsque cela est
nécessaire, ma
is est ensuite placé en cache p
our pouvoir être
réutilisé.


Quel que soit le type de JIT, le but est d’accélérer l’exécution du
code en réutilisant dès que possible le cache. Pour voir ceci visuellement,
il suffit d’écrire une simple application «

ASP.NET

» (
Hello World

par
exemple). A
la première exécution, le code est compilé, et ensuite placé
dans le cache. Par la suite et aussi longtemps que l’application ne subira
pas de modifications, le cache sera utilisé, d’où une vitesse d’exécution
bien plus rapide que lors de la première exécu
tion.



Le JIT fourni par Windows ne produit évidemment que du code natif
Windows, mais les spécifications
étant

disponibles, un groupe de personne
très motivé à décider de porter «

.NET

» sous Linux

: le projet «

Mono

».










Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

12
/
38


d.
Bibliothèques

de cla
sses «

.NET

»



Il y a 3 couches au dessus du CLR, chacune comportant des classes
apportant des fonctionnalités de plus en plus évoluées.



Base Class Library

:



Dans la
première

couche se trouve la BCL, rassemblant des classes
permettant les manipulation
s de
chaînes

de textes, la gestion des
entrées/sorties, des communications réseaux, des threads et le design des
interfaces utilisateurs. Ces classes sont similaires à celles présentes dans
l’API Java développé par Sun
. Par exemple, la manipulation des cha
înes
est disponible dans la classe «

String

», dans les 2 langages

; la différence
étant qu’en Java, il n’existe pas de type de base pour manipuler les
chaînes (on manipule des objets «

String

»), alors qu’en «

.NET

» le type
«

string

» a été spécifiquemen
t défini.



Data and XML Classes

:



La 2
ème

couche est composée de 2 bibliothèques de classe d’
accès

aux données. Tout d’abord, ADO.NET, s’élevant sur les bases de l’ancien
ADO (ActiveX Data Objects) utilisé par les développeurs ASP, et
permettant

l’
accès

sous format XML aux bases de données SQL Server,
ODBC, OLE DB, Oracle et Sybase, et bien
sur
aux fichiers XML
.


Les XML Classes permettent de manipuler les données XML. On y
trouve par exemple les clases XSLT permettant la transformation d’un
fichier XML
dans une table, et vice
-
versa, grâce au XML sous
-
jacent.



XML Web services, Web Forms, Windows Forms
.



La dernière couche, la plus élevée,
est utilisée pour la création de
Web Services, de pages web, et d’applications Windows.

Les 2 premiers
forment ASP.
NET, la aussi une référence à l’ancien langage de
programmation Web. Lorsque vous visitez des sites Internet, vous pouvez
remarquer les pages se terminant par «

.aspx

», qui sont des pages web
écrites en «

.NET

».









Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

13
/
38


e.
Structure d’une application «

.NET

»



L’unité de base d’une application «

.NET

» est
appelée

un
assemblage (assembly). Il s’agit d’un ensemble de code, de ressources et
de métadonnées. Un assemblage est toujours accompagné par un
manifeste (assembly manifest) qui décrit ce qu’il conti
ent

:



Nom



Version



Type de données exposées



Autres assemblages utilisés



Instructions de sécurité


Un assemblage est composé de un ou plusieurs modules qui
contiennent le code.



f.
Compilation et exécution d’une application «

.NET

»



Tout comme a
vec Java, quand une application «

.NET

» est
compilée, elle n’est
pas

compilé en code binaire machine, mais dans un
code intermédiaire MSIL. Une application consiste donc en
un ensemble
d’assemblages contenus dans un ou plusieurs fichiers exécutables, ou
f
ichiers DLL en MSIL. Au moins un de ces assemblages doit contenir un
point d’entrée afin de démarrer l’application.



Quand l’exécution d’un programme démarre, le premier assemblage
est chargé en mémoire. Le CLR commence
à

examiner les permissions
demandée
s par cet assemblage et les compares à la politique de sécurité
du système. Puis, si l’assemblage est autorisé à s’exécuter, un processus

est crée pour exécuter l’application. Le premier morceau de code
nécessaire à l’exécution est chargé en mémoire et es
t compilé en code
binaire natif par le JIT. Une fois compilé, le code est exécuté et stocké en
mémoire sous forme de code natif, garantissant ainsi que chaque portion
de code n’est compilé qu’une seule fois lors de l’exécution de l’application.


«

.NET

» e
st une plateforme uniformisée et à vocation universelle
(sous Windows uniquement). Elle facilite nettement le développement
d’application pour ceux qui maîtrise la POO, proposant une hiérarchie
d’objets

ainsi qu’une harmonisation générale des API. Mais les

programmes générés exigent des machines dotées d’une surcouche
logicielle, et devant être plus puissantes. De plus Microsoft n’est pas
réputé pour la pérennité de ses technologies, elle a souvent abandonné
certaines voies pourtant largement utilisées…






Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

14
/
38

2.

J2ME (Java 2 Micro Edition).



Longtemps les téléphones portables ont été limités à des affichages
simplistes, quelques lignes de texte avec un fond gris et 4 couleurs.
L'évolution technologique fait qu'aujourd'hui des téléphones plus
puissants, avec plu
s de mémoire et un meille
ur affichage apparaissent
.

On voit maintenant des appareils qu
i intègrent un appareil photo,
d'autres un lecteur mp3 ou la radio … l'évolution de la téléphonie est loin
de s'essouffler. Cependant, les téléphones évoluent mais sur d
es
standards qui diffèrent selon les fabricants et les modèles. Le portage
d'une application implique donc l'adaptation du code pour presque
chaque
modèle de téléphone
.


Avec Java, nous pouvons cependant entrevoir une solution. Sun
nous propose une version

allégée de J2SE, adaptée aux appareils de faible
puissance appelée J2ME.





a.
Présentation de J2ME




J2ME est le framework Java

spécialisé dans les applications mobiles.
Des plateformes Java compatibles avec J2ME sont embarqués dans de
nombreux téléph
ones portables et PDA.



Une plateforme J2ME est composée

:





D’une KVM (Kilobyte Virtual Machine), une machine virtuelle
capable d’exécuter
une application Java.



D’une configuration, une API donnant accès aux fonctions de
base du système.



D’un profil, une

API donnant accès aux fonctions spécifique de la
plateforme.











Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

15
/
38

b.
Les configurations


Les configurations
les plus courantes sont

:




CLDC (Connected Limited Device Configuration) que l’on retrouve
dans
les appareils de faibles capacités comme par
exemple
les
téléphones mobiles.

La machine virtuelle allégée correspondante
est la KVM et ne possède pas certaines fonctions de la JVM
classique.



CDC (Connected Device Configuration),
plus adaptée aux
terminaux puissants, comme les PDA ou encore
les décode
urs de
télévision numérique.

Elle nécessite une machine virtuelle Java
optimisée appelée CVM, qui offre les mêmes fonctionnalités que
la JVM classique.



c.
Les profils


Lorsqu'une configuration définit le fondement d'une application, un
profil

en fournit
la structure. Les profils définissent l'ensemble des API à
utiliser dans une application J2ME et sont
conçus spécialement pour
chaque
configuration.


Les profils les plus courants sont

:




Doja
, développé par NTT DoCoMo pour les téléphones i
-
mode
J2ME



Found
ation

est destiné à la configuration CDC. Les développeurs
qui utilisent ce profil ont accès à une implémentation complète
des fonctionnalités de J2SE.



M
ID
P, destiné à la configuration CLDC. Il prend en charge un
nombre limité de classes de J2SE et définit

des classes
d’entrée/sortie et d’interface spécialisées pour une configuration
CLDC.


Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

16
/
38


Pour le portage de J2SE vers J2ME, les modifications ser
ont
sûrement mini
mes si la configuration de l'appareil est la CDC et le profil
implémenté, le Foundation. Peut
-
être quelques optimisations du code dans
la gestion des ressources pourraient s'imposer. Cependant vers MIDP et
CLDC, le portage risque d'être pl
us fastidieux et l'adaptation du code va
s'avérer inévitable. Ensuite, tout dépend de l'appareil cible et de la
complexité de l'application à porter. L'interface graphique devra, le plus
souvent, être complètement repensée.









































Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

17
/
38









C
++

et Symbian





D.

C++ et Symbian



1.

Le C++


a.

Présentation


b.

Historique


c.

Fonctionnalités introduites par le C++


d.

La bibliothèque standard C++


e.

La programmation orientée objet


f.

L’encapsulation





2.

Symbian

OS


a. Présen
tation



b. Versions disponibles
















Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

18
/
38

1.

Le

C++.



a.
Présentation



Le C++ est un langage de programmation permettant la
programmation sous de multiples paradigmes comme, par exemple, la
programmation procédurale, la programmation orientée objet e
t la
programmation générique.

Au cours des années 90, le C++ est devenu
l’un des langages de programmation les plus populaires dans l’industrie
informatique. Ce langage n’appartient à personne, et par conséquent,
n’importe qui peut l’utiliser sans payer de

droits.



b.
Historique



Bjarne Stroustrup
a

développé le C++ au cours des années 80,
alors qu’il travaillait dans le laboratoire de recherche Bell d’ AT&T. Il
s’agissait en l’occurrence d’améliorer le langage C, et l’avait d’ailleurs
nommé «

C
with

clas
ses

». Les premières améliorations se concrétisèrent
donc par l’ajout du support des classes, suivies par de nombreuses autres
comme les fonctions virtuelles, la surcharge d’opérateurs, l’héritage
(simple ou multiple), les «

templates

», la gestion d’excep
tions, …etc.



Le langage C++ est alors normalisé par l’ISO pour la première
fois en 1998, qui standardise la base du langage (
Core

language
) ainsi
que la bibliothèque standard du C++ (C++ standard
library
). La dernière
normalisation a été effectuée par l’
ISO en 2003.




c.
Fonctionnalités introduites par le C++



On peut considérer que le C++ est du C avec un ajout de
fonctionnalité. Une remarque importante est à faire cependant

: certains
programmes syntaxiquement correct en C ne le sont pas en C++.




Le
s fonctionnalités ajoutées sont

:





Les déclarations retenues comme instruction



Les opérateurs «

new

» et «

delete

»



Le type de donnée «

bool

» (booléen)



Les références



Le mot clé «

const

» pour définir les constantes



Les fonctions «

inline

»



Les paramètre
s par défaut dans les fonctions

Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

19
/
38



Les référentiels lexicaux (espace de nom) et l’opérateur de
résolution «

::

»



Les classes ainsi que tout ce qui y est lié

: l’héritage, les fonctions
membres, les fonctions membres virtuelles, les constructeurs et le
destruc
teur.



La surcharge des opérateurs



Les «

templates

»



La gestion d’exception



L’identification de type pendant l’exécution (RTTI

:
Run
-
Time

Type
identification)



Le commentaire de fin de ligne introduit par «

//

»


La compilation d’un programme en C++ effectue

également un contrôle
plus minutieux sur le typage.





d.
La bibliothèque standard (C++ standard
library
)



La bibliothèque standard du C++ est en grande partie un
surensemble
des fonctions disponibles dans la bibliothèque du C. Elle
englobe la «

Standar
d
Template

Library

» (STL) qui met à la disposition du
programmeur des outils puissants comme les collections (conteneur) et
les itérateurs.



A l’origine, la STL était une bibliothèque développée par Hewlett
-
Packard. Dans la norme, celle
-
ci n’est pas appe
lée STL car elle est
considérée comme faisant partie de la bibliothèque standard du C++.
Toutefois, beaucoup de personnes l’appellent encore de cette manière
pour distinguer d’une part, les fonctions entrées/sorties comprises dans
cette bibliothèque et, d’
autre part, celles fournies par la bibliothèque C.



Comme pour le C, l’utilisation d’une bibliothèque se fait par
l’intermédiaire de la directive «

#include

», suivie du nom du fichier
d’entête.













Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

20
/
38

e.
La programmation orientée objet



Le C++ util
ise les concepts de la programmation orientée objet et
permet entre autres

:





La classification



L’encapsulation



La composition de classes



L’association de classes



L’héritage, qui permet le polymorphisme



L’abstraction



La généricité



La meta
-
programmation




f.
L’encapsulation



L’encapsulation permet de faire abstraction du fonctionnement
interne (c'est
-
à
-
dire l’implémentation)
d’une classe et ainsi de ne se
préoccuper que des services rendus par celle
-
ci. Le C++ implémente
l’encapsulation en permettant de d
éclarer les membres d’une classe avec
le mot réservé «

public,
private
, ou
protected

». Ainsi lorsqu’un membre
est déclaré

:





«

public

», il sera accessible depuis n’importe quelle fonction



«

private

», il sera uniquement accessible d’une
part,

depuis le
s
fonctions qui sont membres de la classe, et, d’autre part, depuis les
fonctions autorisées explicitement par la classe (par l’intermédiaire
du mot réservé «

friend

»).



«

protected

», il aura les mêmes restrictions que s’il était déclaré
«

private

», mais

il sera en revanche accessible par les classes
«

filles

».


Le C++ n’impose pas l’encapsulation des membres dans leurs
classes. On pourrait donc déclarer tous les membres

publics, mais en
perdant une partie des bénéfices apportées par la programmation ori
entée
objet. Il est de bon usage de déclarer toutes les données privées, ou au
moins protégées, et de rendre publiques les méthodes agissant sur ces
données.

Ceci permet de cacher les détails de l’implémentation de la
classe.







Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

21
/
38

2.

Symbian



a.
Présentatio
n


Symbian OS est un système d’exploitation pour téléphones portables
et PDA conçu par Symbian Ltd et basé sur le noyau EKA2. Il est héritier du
système d’exploitation des Psion, Epoc32 et est né d’un consortium entre
les différents constructeurs (Psion, N
okia, Motorola…).


Il dispose de nombreuses API spécifiques pour la communication
mobile voix et données, et implémente la majorité des standards de
communication

:



IPV4 / IPV6



MMS



Bluetooth



GPRS / UMTS



Java



WAP



Sync ML…


Il a été adopté par différents f
abricants de téléphones portables de
2eme génération

(GSM et GPRS) et 3eme génération (UMTS). Le premier
téléphone équipé d’un SE Symbian est le Nokia 9210 Communicator, sorti
en 2001.



b.
Versions disponibles




Symbian 6.1 pour les téléphones 2G et 2.5G
(GSM et
GPRS)



Symbian 7.0 pour les téléphones 2.5G (GPRS)



Symbian 8.0 pour les téléphones 3G (GPRS et UMTS)



Symbian 9.0 pour les téléphones 3G (EDGE et UMTS)


Il existe également des interfaces spécifiques (UIQ, série 60, 80 et
90) personnalisables pour le
s plus récentes, et proposant de nombreuses
fonctionnalités à travers l’installation d’applications et des jeux tiers. La
version 9.0 supporte le Wifi (802.11g), des dispositifs de stockage USB,
divers dispositifs Bluetooth (dont les écouteurs stéréo), des

standards
MPEG et OMA DRM ainsi que des prochaines générations de smartphones
megapixels, les jeux en 3D. Cet OS gère également l’IP V4 et V6 (la
version 6 est essentielle pour les futurs programmes IP pour les mobiles).





Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

22
/
38

Symbian OS v9 (version courant
e 9.2) fournit également de
nouvelles fonctions «

enhanced

filtering

and

sorting

of IMAP email

» ainsi
que la gestion des invitations de rendez
-
vous depuis les applications PIM
comme Lotus Notes ou Microsoft Outlook. Cet OS supportera enfin en natif
la tec
hnologie Macromedia Flash et une personnalisation amélioré grâce a
un nouveau framework.


La plateforme Symbian assure la fiabilité et la sécurité du système
d’exploitati
on pour les appareils sans fils.

Spécialement conçu pour les
appareils mobiles, Symbia
n consomme peu d’énergie, occupe peu de
mémoire et propose une plateforme stable à l’industrie des
télécommunications. Près de la moitié de tous les terminaux de troisième
génération utilise Symbian.


L’attrait essentiel de Symbian OS par rapport à n’impor
te quel autre
système d’exploitation est sa capacité à gérer des possibilités étendues de
traitement de la voix et des données. Il est éc
rit en grande partie en C++
et c
e langage est donc logiquement celui à choisir pour développer ses
applications sur Sym
bian.






























Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

23
/
38




















Exemples et
dEmonstrations

















Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

24
/
38

Avec C++ et Symbian


a.

Introduction



Dans cet exemple, nous allons crée une petite application de type
«

Hello World

» et en comprendre tout les éléments.

Pour
développer une
app
lication en C++ sous Symbian, nous aurons besoin de l
a

plateforme de
développement Nokia Series 60 se destine à tout utilisateur qui souhaite
développer ses propres applications sous Symbian OS. Cela suppose
évidement de disposer

:




D’un
téléphone mobile
compatible avec la série 60



D’un ordinateur



D’un environnement de développement (SDK) déjà installé


Crée par Nokia (et fournie librement par de nombreux constructeurs
de mobiles compatibles), ce produit est conçu pour tirer partie de tout
es
les dernières innovations en matière de téléphonie mobile. Les
développeurs disposant de périphériques de la série 60 peuvent ainsi
écrire leurs propres applications C++ ou J2ME.







Bien qu’aucune connaissance spécifique de Symbian OS ne soit
requise
, une connaissance de la syntaxe de base du C++
est

nécessaire.
De
même
,
le logiciel Microsoft Visual C++ ainsi que le SDK de la série 60
doivent être installé au préalable. Le SDK est essentiel pour développer,
tester et corriger ses applications en C++.






b.

Survol du projet


Comme souvent en matière de développement, nous allons créer
une petite application de type «

Hello World

». Ce type de programme se
caractérise par el fait qu’il représente l’application minimum pour obtenir
un résultat visible.



L
e but sera donc de créer cette application à partir de zéro puis de
la lancer au travers de l’émulateur Series 60. pour se faire, nous
utiliserons l’assistant de création d’application, décrit ci
-
après, puis nous
apporterons au code généré quelques modific
ations nécessaires afin de
permettre à l’application de fonctionner d’une part, et de la personnaliser
d’autre part.




Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

25
/
38

c.

L’assistant de création d’application


Le moyen le plus simple pour créer une application reste l’utilisation
de l’assistant de création

d’application. Cet assistant permet, en quelques
étapes seulement, d’effectuer toutes les opérations répétitives requises
pour créer une nouvelle application. Nous aurons ensuite la possibilité de
l’exécuter et de la debugger si nécessaire à l’aide de l’é
mulateur.

Avant de lancer l’assistant, il est nécessaire de copier le fichier
«

AvkonAppWiz.awx

» du répertoire d’installation du SDK vers le
répertoire d’installation Visual Studio.




Voici les étapes à effectuer pour créer le projet «

Hello World

» à
l’
aide de l’assistant de création d’application

:




Si plus d’un SDK est installé sur votre ordinateur, il est
nécessaire de vérifier que la variable d’environnement EPOC
ROOT est correctement paramétrée.



Démarrer Visual C++



Ouvrir la boite de dialogue «

File



new

»



Sur l’onglet «

Projects

», sélectionner le module «

Nokia Serie
60 AppWizard v2.0

»



Taper «

Bonjour

» comme nom de projet



Cliquer sur OK








Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

26
/
38



Laisser l’option «

EIKON Control

» sélectionnée comme type
d’application à créer.



Indiquer «

Bonjour

» (ou tout autre nom sans espace) comme
nom.



Le numéro UID (Identifiant Unique) différencie 2 applications
Symbian existantes, leur permettant ainsi de coh
abiter dans la
mémoire du téléphone mobile, sans risque de confusion pour
l’OS. Cet UID est donc indispensable lorsque l’on souhaite
commercialiser l’application, ou
même

simplement la diffuser.
Afin de disposer d’un identifiant unique, il faut s’adresser
directement à la société Symbian, qui les attribue sur simple
demande par mail.



Laisser toutes les autres cases non cochées.



Cliquer sur «

Next

».









Comme il n’y a aucun paramètre à modifier sur les écrans
suivants, il suffit de cliquer sur «

Finish

». L’assistant de création
d’application affiche alors un résumé de tous les fichiers qu’il génère
automatiquement.


Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

27
/
38




























Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

28
/
38





















Comparatif





























Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

29
/
38


Java existe dans une version pour systèmes limités, nommée
Micro Edition et se décomposant en deux con
figurations de base, selon les
systèmes : Connected Limited Device Configuration (CLDC) pour les
systèmes vraiment limités, et Connected Device Configuration (CDC) pour
les systèmes plus avancés. Tandis que CDC correspond à Java SE sans les
bibliothèques d
'interface graphique, CLDC dispose du minimum vital pour
faire fonctionner la JVM. Chaque configuration dispose de profils les
étendant

: Mobile Information Device Profile (MIDP) et Information
Module Profile pour CLDC ; Foundation Profile, Personal Basis
Profile et
Personal Profile pour CDC. MIDP/CLDC est le profil le plus courant, car
correspondant au
plus grand nombre de systèmes.



Les outils de développement Java disposent de versions capables
de travailler pour Java ME : Eclipse avec Mobile Tools for
Java (MTJ),
tandis que Netbeans dispose d'un Mobility Pack. Là où Netbeans MP se
spécialise dans le profil "bas" (MIDP/CLDC), Eclipse MJT reconnaît les
deux configurations, et plusieurs profils (MIDP, Foundation
Profile et
Personal Profile).



Netbeans es
t réputé pour son mode de développement mobile,
notamment grâce à son excellent Visual Mobile Designer, ainsi qu'une vue
du flux de l'application. L'outil dispose également d'émulateurs pour
les
principaux constructeurs.




L'extension MTJ d'Eclipse, lancé
e en janvier 2006, a un objectif
plus vaste, et de fait n'arrive pas encore au niveau de Netbeans en
matière de fonctionnalités. Projet proposé par Nokia et soutenu par IBM,
on peut cependant s'attendre à ce qu'il aboutisse à l'outil le plus complet
pour c
ette plate
-
forme.



A l'instar de Java avec son édition ME, .Net dispose de son
Compact Framework (CF), qui partage avec l'édition complète du
framework les classes essentielles, et en dispose d'autres spécifiques à la
mobilité. Windows Mobile, de son côté
, est la plate
-
forme utilisée par les
systèmes Pocket PC, basée sur Windows CE. .Net CF peut fonctionner sur
Windows Mobile, ainsi que Windows CE .Net.



.Net Compact Framework, comme il se doit, dispose de Visual
Studio pour tous ses développements : CF
est totalement intégré à
l'environnement de développement, de la même manière que SQL Server
ou d'autres outils Microsoft. Du fait de son caractère "propriétaire", les
outils de développement pour .Net CF se font rares, et se limitent
quasiment à ceux de M
icrosoft.





Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

30
/
38


Windows Mobile dispose d'un plus large panel de possibilités. Le
développeur souhaitant viser cette plate
-
forme pourra bien sûr passer par
Visual Studio, en s'accompagnant du SDK fourni par l'éditeur. L'outil
gratuit eMbedded Visual C++, de
Microsoft, peut également fonctionner,
mais ne sera plus mis à jour. Une alternative existe sous la forme de NS
Basic/CE, un outil tiers reconnaissant Windows Mobile 5, mais se limitant
à la syntaxe Visual Basic. Enfin, l'extension Crossfire est également
compatible Windows Mobile 5.

Créé en 1998 sous la forme d'un partenariat entre Ericsson, Nokia,
Motorola et le créateur initial Psion, ce système d'exploitation mobile est
optimisé pour disposer d'applications rapides, et fonctionnant sur de
longues pério
des. Il a été conçu pour l'architecture de processeur ARM,
dominante dans le monde des systèmes embarqués.

Son développement, utilisant C++, est réputé difficile, avant tout du
fait de son API non standard, mais parce qu'il s'agit du système le plus
établi
, de nombreuses plates
-
formes sont disponibles, parmi lesquelles
UIQ, S60 et même Java ME. La plupart des téléphones Symbian proposent
des SDK complets pour en exploiter les fonctionnalités.

Côté environnements, le choix est également large. CodeWarrior
di
spose ainsi d'une version Symbian, qui devrait être surpassée par
Carbide.c++, basé sur Eclipse. Xcode, l'outil d'Apple, dispose d'un plug
-
in
Symbian, tout comme Visual Studio. Pour le développement d'applications
exploitant Java, Netbeans reste l'outil av
ec la meilleure intégration, grâce
à ses profils CLDC et CDC. Enfin, Visual Studio dispose de l'extension
Crossfire pour le développement Symbian v9.

Pour développer sur la plate
-
forme UIQ, le développeur dispose de
Vista Max, Carbide.c++ et CodeWarrior.

















Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

31
/
38





















Conclusion

























Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

32
/
38

La plateforme «

.Net

» reste plus orientée vers les Assistants
Personnels, alors que Symbian et le C++ sont plutôt axé vers les
téléphones mobiles. Mais l
a fusion PDA, téléphone, console

de jeux,
lecteur mp3 commence à se faire. Bientôt les débits de communications
augmenteront et les applications logicielles deviendront vraiment
communicantes et les accès aux bases de données, à divers serveurs
ouvriront encore plus les possibilités des
développeurs.

Au fur et à
mesure, les avancées technologiques importantes toucheront le grand
public et on y a déjà remarqué l'importance de la téléphonie.


En plus des SDK propriétaires à chaque constructeur, d'autres
technologies essayent de s'insérer da
ns ce marché. Macromedia propose
dans son nouveau Flash MX 2004 de créer des applications pour les
appareils mobiles, un FlashPlayer allégé existe aussi. Si Macromedia
réussit à bien adapter sa technologie dans la mobilité, cette société a des
chances de s
uccès. En effet, Flash, contrairement aux idées reçues,
devient un environnement de plus en plus puissant pour sa cible : les
applications légères pour un temps de développement relativement court.



Aujourd’hui, presque toute personne vivant dans un pays
industrialisé possède un téléphone portable, un PDA, ou un autre appareil
du même type. Le nombre de ses appareils est donc conséquent, les
licences des logiciels installées dessus le sont aussi. On peut donc peser
l’importance du choix d’une plateforme et

d’un langage de programmation
pour un de ses appareils en fonction des possibilités que l’on veut fournir
aux utilisateurs…























Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

33
/
38





















Glossaire

























Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

34
/
38

PDA

:

Personal Digital Assistant. Il est utilisé princ
ipalement pour ses
fonctions d’

agenda, de répertoire téléphonique et de bloc notes, mais les
avancées technologiques ont permis de lui adjoindre des fonctionnalités
multimédia comme le dictaphone, le lecteur de MP3, d’images, de vidéos,
et parfois le télé
phone (en intégrant une puce GSM ou GPRS).


GSM

:

Global System for Mobile communication.
C’est une norme
numérique de seconde génération pour la téléphonie mobile.

Elle a été
établie en 1982 par le CEPT (Conférence des administrations Européennes
des Pos
tes et Télécommunications), et mise au point par l’ETSI sur la
gamme de fréquence de 900Mhz. Tel qu’il a été conçu, le réseau GSM est
idéal pour les transmissions de type «

voix

». Le réseau étant commuté,
les ressources ne sont allouées que pour la durée
de la conversation,
comme lors de l’utilisation de lignes téléphoniques fixes.


GPRS :

General Packet Rad
io Service.
Norme pour la téléphonie mobile
dérivée

du GSM
, permettant un débit de données plus élevé. Aussi appelé
2.5G (entre 2G


GSM
-

et 3G

UMTS)
. Le débit maximal tourne autour de
30 à 40kbit/s par terminal.


UMTS :

Universal Mobile Telecommunication System.
Norme pour la
téléphonie mobile de 3eme génération. Elle reste tout de même
compatible avec la génération précédente, le GSM.


EDGE

:

Enhance
d Data rates for Global Evolution.
Norme de téléphonie
mobile, amélioration du GSM.
Elle semble attirer les déçus de la course
aux licences UMTS, notamment Bouygues Telecom.


GPS

:

Global Positioning System.
Principal système de positionnement par
satellit
e au monde. Il a été mis en place par le département de la défense
américaine, et permet de connaître sa position n’importe où sur la surface
de la Terre.


CLR

:

Common Language Runtime. Compose le framework «

.NET

».


JVM

:

Java Virtual Machine
. C’est une

machine virtuelle qui définit la
manière dont un composant informatique peut communiquer avec un
autre. Dans le cas typique d'une bibliothèque, il s'agit généralement de
fonctions considérées comme utiles pour d'autres composants. Ce
programme est spécifi
que à chaque plate
-
forme ou couple
(machine/système d'exploitation) et permet aux applications Java
compilées en bytecode de produire les mêmes résultats quelle que soit la
plate
-
forme, tant que celle
-
ci est pourvue de la machine virtuelle Java
adéquate. L
a machine virtuelle la plus utilisée est celle de Sun
Microsystems. Elle est gratuite et libre.

Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

35
/
38

MSIL

:

MicroSoft Intermediate Language. Code de «

transition

» utilisé
pour écrire un programme en «

.NET

», qui ne peut être utilisé
directement.


C#

:

Langage

de programmation issu d’un mélange de C++ et de Java


CTS :

Common Type System
. Le système de type commun définit la façon
dont les types sont déclarés, utilisés et managés dans le runtime

; il
constitue également une partie importante de la prise en char
ge par le
runtime de l'intégration inter
-
langage.


CLS :

Common Language Specification
. Pour interagir entièrement avec
d'autres objets quel que soit le langage dans lequel ils ont été
implémentés, les objets ne doivent exposer aux appelants que les
foncti
onnalités qui sont communes à tous les langages avec lesquels ils
doivent fonctionner. Pour cette raison, un ensemble de fonctionnalités de
langage appelé CLS, qui comprend les fonctionnalités de langage de base
nécessaires à de nombreuses applications, a
été défini. Les règles CLS
définissent un sous
-
ensemble du CTS

; en d'autres termes, toutes les
règles qui s'appliquent au système de type s'appliquent à la spécification
CLS, sauf dans les cas où des règles plus strictes sont définies dans la
spécificatio
n CLS. La spécification CLS permet d'optimiser et d'assurer
l'interopérabilité des langages en définissant un ensemble de
fonctionnalités sur lequel les développeurs peuvent compter dans de
nombreux langages. La spécification CLS établit également des exig
ences
de conformité CLS

; elles vous permettent de déterminer si votre code
managé est conforme à la spécification CLS et dans quelle mesure un outil
donné prend en charge le développement du code managé qui utilise des
fonctionnalités CLS.


BCL :

Base Cla
ss Library
. C’est une bibliothèque de classes accessibles par
tous les langages capables de compiler pour .Net. Comparable aux
paquetages de classes Java, elle propose toutes les fonctionnalités
nécessaires au fonctionnement d'un langage de programmation,
et à ses
échanges avec le système d'exploitation et les composants qui y sont
installés : graphisme, son, base de données, manipulation XML, connexion
réseau...


Threads :

Les processus légers (en anglais, threads)
,

également appelé
fils d’exécution,
repré
sentent l’exécution d’un ensemble d’instructions du
langage machine d’un processeur. Du point de vue de l’utilisateur, ces
exécutions semblent se dérouler en parallèle. Toutefois, la où chaque
processus possède sa propre mémoire virtuelle, les processus lé
gers
appartenant au même processus père partagent une même partie de sa
mémoire virtuelle.



Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

36
/
38

API :

Application Programming Interface.
C’est une interface de
programmation qui
définit la manière dont un composant informatique
peut communiquer avec un autre
. Dans le cas typique d'une bibliothèque,
il s'agit généralement de fonctions considérées comme utiles pour d'autres
composants.

Sun :

Sun Microsystems

est un constructeur d'ordinateurs et un éditeur de
logiciels américain. Le chiffre d'affaire de l'entrep
rise est de 11,1 milliards
de dollars et l'effectif d'environ 31

000 personnes. Cette entreprise est
présente dans plus de 100 pays. Le nom
Sun

vient de
Stanford University
Network

(Réseau de l'Université Stanford). Sun produit des serveurs et
stations de
travail basés sur le processeur SPARC et x86, les systèmes
d'exploitation Solaris (anciennement SunOS), une Machine virtuelle Java,
le langage de programmation Java. C’est aussi l'inventeur du standard
NFS (
Network File System
).

ASP :

Active Server Pages.
C’est une technologie développée par
Microsoft utilisée dans la programmation Web. C'est une technologie web
dynamique, équivalente et concurrente de PHP. Elle nécessite pour
fonctionner une plate
-
forme Windows avec IIS (Internet Information
Services) inst
allé. ASP n'est en réalité qu'une structure composée d'objets
accessibles par deux langages principaux

: le VBScript et le JScript. A
l'inverse de certains langages de programmation pour PC (C, C++), cette
technologie n'utilise pas de langages compilés, ma
is des langages
interprétés.

ADO :

ADO.NET est une bibliothèque de classe d’accès aux données
s’élevant sur les bases de l’ancien ADO (ActiveX Data Objects) utilisé par
les développeurs ASP, et permettant l’accès sous format XML aux bases
de données SQL Se
rver, ODBC, OLE DB, Oracle et Sybase, et bien sur aux
fichiers XML.


DLL :

Dynamic Link Library.
Une
bibliothèque logicielle

est un ensemble
de fonctions regroupées pour réaliser un groupe de tâches du même
domaine. Les bibliothèques logicielles se disting
uent des exécutables dans
la mesure où elles ne sont pas
complètes
, elles ne possèdent pas
l'essentiel d'un programme comme une fonction principale et par
conséquent qu'elles ne peuvent pas être exécutées directement. Les
bibliothèques peuvent regrouper de
s fonctions simples (par exemple le
calcul d'un cosinus, ou l'inversion d'une matrice) comme des fonctions
complexes avec de nombreuses fonctions internes non accessibles
directement. Généralement, l'intérêt des bibliothèques réside dans le fait
qu'elles p
euvent être partagées par plusieurs exécutables.


POO :

Programmation

Orientée

Objet
.


KVM :

Kilobyte Virtual Machine
).

M
achine virtuelle capable d’exécuter
une
application Java, et qui compose une plateforme J2ME.

Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

37
/
38

C
L
D
C :

Connected Limited Device Configur
ation
.
C’est une des
configuration
s

de la plateforme J2ME.


CDC :

Connected Device Configuration. Autre configuration possible pour
la plateforme J2ME.


MIDP :

Mobile Information Device Profile
.

C’est un des profil
s possible
pour la plateforme J2ME.


WAP :

Wireless Application Protocol. C’est un protocole de communication
permettant d’accéder à l’Int
ernet depuis un appareil mobile (téléphone,
PDA…).

Doja :

DoCoMo Java

est un «

profil J2ME

» spécifié par DoCoMo pour ses
terminaux i
-
mode. Son API tire en part
iculier parti de l'écran couleur, des
sonneries polyphoniques et de la connectivité de ces téléphones. DoJa est
l'équivalent de MIDP développé par SUN et présent sur les téléphones
mobiles WAP. Un des avantages important de DoJa par rapport à MIDP est
qu'i
l est sensiblement plus aisé pour le développeur de porter ses
applications DoJa d'un téléphone i
-
mode à un autre, car le comportement
de DoJa est plus homogène entre les différents téléphones.

Bell :

Compagnie de téléphone de A.G. Bell, devenue AT&T
.

AT&T

:

American Telephone and Telegraph Company
.
Au cours de sa
longue histoire, AT&T a été la plus grande compagnie téléphonique et le
plus grand câblo
-
opérateur au monde. En 1984, vue comme un monopole,
elle fut forcée de se scinder en plusieurs sociétés. Ce
la donna naissance
aux sociétés surnommées
Ma Bell

(la compagnie mère) et
Baby Bell

(les
compagnies bébés). Parmi

les
Baby Bell
, on
retrouve

Ameritech, Pacific
Telesis, Southwestern Bell Corporation, BellSouth, U S West, Bell Atlantic
et NYNEX.
Ces

compagn
ies

ont

depuis

consolidé

à

AT&T (SWBell Corp.,
Ameritech, Pacific Telesis, BellSouth, AT&T), à Verizon Communications
(Bell Atlantic et NYNEX), et
à

Qwest (U S West).
Dans un tout autre
domaine, l'entreprise AT&T a officialisé le 20 Octobre 2006 un contrat

d'un
an avec l'équipe de formule 1 Williams F1 Team
-

Toyota.











Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

38
/
38

ISO :

International Organization for Standardization.
C’est un organisme
de normalisation international composé de représentants d’organisations
nationales de normalisation d'environ
150 pays. Cette organisation créée
en 1947 a pour but de produire des normes internationales dans les
domaines industriels et commerciaux
appelés

normes ISO. Elles sont
utiles aux organisations industrielles et économiques de tout type, aux
gouvernements,
aux instances de réglementation, aux dirigeants de
l’économie, aux professionnels de l’évaluation de la conformité, aux
fournisseurs et acheteurs de produits et de services, dans les secteurs
tant public que privé et, en fin de compte, elles servent les in
térêts du
public en général lorsque celui
-
ci agit en qualité de consommateur et
utilisateur.

STL :

Standard Template Library. C’
est une bibliothèque C++, normalisée
par l'ISO et implémentée à l'aide des templates.

Cette bibliothèque
fournit

:



un ensemble d
e classes conteneurs, tel que les vecteurs, les
tableaux associatifs, les listes chaînées, qui peuvent être utilisées
pour contenir n'importe quel type de données à condition qu'il
supporte certaines opérations comme la copie et l'assignation.



une abstract
ion des pointeurs

: les iterators. Ceux
-
ci fournissent un
moyen simple et élégant de parcourir des séquences d'objets et
permettent la description d'algorithmes indépendamment de toute
structure de données.



des algorithmes génériques tels que des algorithm
es
d'insertion/suppression, recherche et tri.



une classe string permettant de gérer efficacement et de manière
sûre les chaînes de caractères.

EKA2 :

(
noyau

Symbian)

Noyau sur lequel est basé le système
d’exploitation Symbian OS, pour téléphone portable et

PDA, conçu par
Symbian ltd.


IPV4 / V6 :

IP v4 est la version 4 du Protocole Internet.
Elle fut la
première version IP a être largement déployée, et forme encore la base de
l’adressage internet. IPv4 utilise une adresse sur 32 bits, ce qui est un
facteur
sont possibles (> à 4 milliards). Cette limitation nous conduit à la
transition d’IPv4 vers IPv6, qui compte quelques nouveautés

:






Simplification des entêtes de paqu
ets, ce qui simplifie le
routage



Mécanismes de configuration et de renumérotation
automatique



Le développement d’application sur mobiles

: «

.NET

» & J2ME / C++ & Symbian

WIPLIER Thomas


M2IRT 2009

39
/
38

MMS :

Version entendue du SMS, auquel on a rajouté un contenu
multimédia

(audio, photos,
vidéo
…). Pour l’envoi et la réception d’un MMS,
on peut soit utiliser
le protocole WAP sur un GSM, soit utilise run GPRS qui
est plus rapide.


Bluetooth :

C’
est une spécification de l'industrie des télécommunications.
Elle utilise une technologie radio courte distance destinée à simplifier les
connexions entre les appareils
électroniques. Elle a été conçue dans le but
de remplacer les câbles entre les ordinateurs et les imprimantes, les
scanners, les souris, les téléphones portables, les PDA et les appareils
photos numériques.

Sync ML :

C’
est un langage de synchronisation de
données (calendrier,
agendas...) entre appareils portables et postes fixes, basé sur XML. C'est
aussi le nom du consortium (Ericsson, IBM, Lotus, Motorola, Nokia, Psion,
et quelques autres) à l'origine de cette norme.

WIFI 802.11g :

La norme 802.11g est la

plus répandue dans le
commerce actuellement. Elle offre un haut débit (54 Mbit/s théoriques, 26
Mbit/s réels) sur la bande de fréquences des 2,4 GHz. La norme 802.11g a
une compatibilité descendante avec la norme 802.11b, ce qui signifie que
des matériels

conformes à la norme 802.11g peuvent fonctionner en
802.11b. Cette aptitude permet aux nouveaux équipements de proposer
le 802.11g tout en restant compatible avec les réseaux existants qui sont
souvent encore en 802.11b.


USB :

Universal Serial Bus
. C’est

un bus informatique
plug
-
and
-
play

servant à brancher des périphériques informatiques à un ordinateur pour
communiquer en série.


MPEG :

Moving Picture Experts Group
.
C’est le groupe de travail SC
29/WG 11 du comité technique mixte JTC 1 de l'ISO et de la
CEI pour les
technologies de l'information chargé du développement de normes
internationales pour la compression, la décompression, le traitement et le
codage de la vidéo, de l'audio et de leur combinaison, de façon à satisfaire
un large panel d'applicatio
ns.


OMA DRM :

Open Mobile Alliance. Cette alliance
regroupe plus de 200
sociétés leaders de la téléphonie mobile ou de la vente de contenu sur
Internet, a produit une
norme nommée "OMA DRM 2.0 Enabler Release"
,
dont les spécifications ont pour but d'assur
er la
protection des droits des
contenus

(DRM contre le piratage) et la
compatibilité

des contenus avec
les différents matériels de lecture.