Ministère de
l'Enseignement
Supérieur et de la Recherche
Scientifique
République de Côte d'Ivoire
Union - Discipline - Travail
Institut National Polytechnique
Félix Houphouët Boigny
Ecole Supérieure d'Industrie (ESI)
N° d'ordre : 8 / 11 / ESI / ING TLC /
2010
Génie Electrique &
Electronique
MEMOIRE DE FIN DE CYCLE
THEME
ETUDE, CONCEPTION ET REALISATION D'UNE PLATEFORME DE
SAUVEGARDE DE REPERTOIRE
Période de stage : 22 Avril 2010- 22
Octobre 2010
Présenté par SORO Namongon
Adama
En vue de l'obtention du diplôme
d'Ingénieur en Télécommunications et
Réseaux
Encadreur pédagogique
Professeur KONAN KOUAKOU
Maître de Conférences à
l'INP-HB
Maître de stage
M. TASSIHON KPA
Directeur Technique
Année académique :
2009-2010
Ecole Supérieure d'Industrie (ESI)
Félix Houphouët Boigny
Institut National Polytechnique
République de Côte d'Ivoire
Union - Discipline - Travail
Ministère de l'Enseignement
Supérieur et de la Recherche
Scientifique
N° d'ordre : 8 / 11 / ESI / ING TLC /
2010
Génie Electrique &
Electronique
Année académique :
2009-2010
Encadreur pédagogique
Professeur KONAN KOUAKOU
Maître de Conférences à
l'INP-HB
Maître de stage
M. TASSIHON KPA
Directeur Technique
Présenté par SORO Namongon
Adama
En vue de l'obtention du diplôme
d'Ingénieur en Télécommunications et
Réseaux
Période de stage : 22 Avril 2010- 22
Octobre 2010
ETUDE, CONCEPTION ET REALISATION D'UNE PLATEFORME
DE SAUVEGARDE DE REPERTOIRE
THEME
MEMOIRE DE FIN DE CYCLE
DEDICACE
Ils ont financé mes études et forgé en
moi le goût du travail sans relâche, du dépassement de soi,
de la patience et de l'assistance à autrui. Ces derniers, auxquels est
dédicacé ce mémoire, sont entre autres :
ü mon père,
ü ma mère,
ü ma grande soeur.
REMERCIEMENTS
Ayant participé activement à ma formation
académique et professionnelle, je dis merci :
ü à M. Tassihon KPA, directeur
technique de DIGITAL AFRIQUE TELECOM, mon maître de stage, auprès
de qui j'ai été instruit à une certaine rigueur au
travail ;
ü au professeur KONAN Kouakou, mon
encadreur pédagogique, resté ouvert et disponible tout le temps
de mon stage ;
ü à M. TETY Pierre, coordonnateur
de la filière télécom, pour l'intérêt qu'il
continue de porter à la filière télécom et aux
différents concours de recrutement de l'INP-HB ;
ü au corps professoral de l'INP-HB, qui,
dans les conditions difficiles de travail, nous dispense les cours et nous a
adopté comme leurs propres fils ou petits frères ;
ü aux ingénieurs
télécom des promotions 2009 et 2010.
Leadership, entrepreneuriat, tolérance religieuse,
création d'entreprise, action sociale, ..., toutes ces notions me sont
désormais familières grâce aux organisations suivantes:
ü le rotary international ;
ü la jeune chambre internationale
(JCI) ;
ü le groupe biblique universitaire
(GBU).
Nous avons milité activement dans ces organisations.
Elles nous ont beaucoup enseigné et nous disons merci à tous ceux
qui y sont membres et plus particulièrement :
ü au docteur ESSAN HENRY DIBO AMANY,
chargé des projets à l'UNFPA ;
ü à M. ANDRE, toujours disponible
pour ses filleuls ;
ü à SERAPHIN Gondama Jean,
volontaire des GBU, une bibliothèque vivante.
L'année académique 2008-2009 a été
beaucoup éprouvante du point de vue de ma santé. Mais, des
âmes généreuses ont donné de leur temps et de leur
savoir pour m'assister. Merci aux personnes suivantes :
ü M. DJROUPRO, assistant social à
l'INP-HB ;
ü les Docteurs DAGO et KOUAKOU, tous
médecins à l'INP-HB ;
ü le personnel médico-social de
l'INP-HB.
La liste des personnes à remercier n'est pas
exhaustive. Elle s'achève par une reconnaissance méritée
à l'ensemble de mes amis et une pensée pieuse à l'endroit
de mes connaissances et parents qui ont trop vite quitté ce monde.
PREFACE
Avec le développement important que connait les
nouvelles technologies de l'information et de la communication (NTIC) au cours
de ces dernières décennies, le monde est devenu un village
planétaire où l'on peut communiquer plus facilement les uns avec
les autres au moyen d'internet, de téléphone fixe ou mobile,
etc.
Mais, chaque Etat a le droit et le devoir de
protéger sa population en matière de communication par la mise en
place de textes réglementaires permettant de réguler
l'utilisation de son espace communicationnel et faciliter l'accès aux
nouvelles technologies tout en sécurisant les utilisateurs contre le
piratage et la cybercriminalité. La Côte d'Ivoire n'est pas
demeurée en reste.
Aussi, les opérateurs intervenants dans le domaine
de la communication se doivent-ils de faire preuve d'imagination et
d'innovation pour offrir à leurs millions d'abonnés les services
les plus modernes, performants et les plus fiables possibles, à des
coûts abordables avec plus de garanties de sécurité des
données qu'ils transmettent, reçoivent ou stockent.
Je voudrais remercier la direction technique de DIGITAL
AFRIQUE TELECOM (DAT), spécialiste des services à valeur
ajoutée, qui en proposant comme thème de mémoire
« étude, conception et réalisation d'une
plateforme de sauvegarde de répertoire » vise
à apporter sa contribution si modeste soit-elle à la
sécurisation des données des abonnés.
Je voudrais enfin féliciter l'impétrant qui
après une analyse de la situation peut reluisante dans le domaine de la
sauvegarde des données, nous fait des propositions de systèmes de
sauvegarde très intéressantes en ce sens qu'ils offrent un
service de qualité, à des coûts réduits en la
matière et donne l'opportunité à tous les abonnés
et surtout à toutes les entreprises d'avoir un accès facile
à des systèmes de sauvegarde performants et d'être plus
compétitives.
Puisse ce mémoire servir de manuel de
référence à tous les utilisateurs des nouvelles
technologies de l'information et de communication, dans le choix de leur
système de sauvegarde des données, pour un monde plus ouvert et
plus sécurisant.
Docteur Essan Henri DIBO AMANY
Médecin de Santé Publique
Formateur en Management de la Santé de la
Reproduction
Chargé de projets à l'UNFPA (Bureau Côte
d'Ivoire).
AVERTISSEMENT
Tout ou presque tout se numérise. La
crédibilité d'une entreprise se mesure aujourd'hui par ses
données numériques, son visage sur internet et la
fiabilité de son système informatique.
L'avènement des réseaux mobiles, et surtout du
GPRS et de l'UMTS, entraîne de plus en plus un transfert des
données autrefois stockées sur des serveurs, vers les terminaux
mobiles. Parmi ces données, il y a le répertoire
téléphonique présent sur tous les téléphones
mobiles aujourd'hui et de nombreuses applications en ligne. Le
téléphone portable devient ainsi, un élément
capital pour le stockage de l'information. Il apparaît donc
nécessaire de se donner les moyens techniques de le protéger. Ce
besoin concerne autant les abonnés que les opérateurs et
même l'ensemble des entreprises.
DAT, spécialiste des services à valeur
ajoutée, a voulu apporter sa pierre dans la sécurisation des
données abonnées en nous donnant le thème
« étude, conception et réalisation d'une
plateforme de sauvegarde de répertoire ». L'objectif
de DAT est d'offrir un service de qualité, d'alléger les
coûts en la matière afin de donner l'opportunité à
tous les abonnés et les entreprises d'avoir un accès facile
à des systèmes de sauvegarde. La plupart des applications
utilisées dans le cadre de ce rapport sont Open Source.
Les outils qui ont été mis à notre disposition, nous ont
permis de mettre en place deux solutions de sauvegarde qui peuvent s'adapter
à tous. Il s'agit d'une sauvegarde par SMS et une autre par WEB.
La négligence des abonnés mobiles et des
entreprises à s'approprier des systèmes de sauvegarde n'est pas
sans conséquences. Perte de contacts, diminution du portefeuille
clients, changement d'opérateurs, sont autant de maux qui minent le
secteur des télécommunications. La prévention de la perte
de contacts et de ses corollaires peut passer par la mise en place des
solutions que nous proposons dans ce mémoire. Nous appelons donc
l'ensemble des partenaires de DAT à faire sien le fruit de notre
travail.
TABLE DES MATIERES
DEDICACE
I
REMERCIEMENTS
II
PREFACE
III
AVERTISSEMENT
IV
TABLE DES MATIERES
V
LISTE DES FIGURES
VIII
AVANT PROPOS
VIII
RESUME
XI
INTRODUCTION
1
PARTIE I : ENVIRONNEMENT DE TRAVAIL ET
CONTEXTE DU STAGE
2
CHAPITRE I : STRUCTURE D'ACCUEIL :
DIGITAL AFRIQUE TELECOM
3
I. Présentation de DAT
3
II. Services courants de DAT
3
III. Architecture administrative de DAT
4
CHAPITRE II : PRESENTATION DU THEME
5
I. Cahier de charges
5
II. Notions apparentées au cahier de
charges
5
II.1. Notion de plateforme
5
II.2. Carte SIM et STK
5
II.3. Application Web
6
II.4. Service de message court (SMS)
6
III. Nouvelle approche du
thème et du cahier de charges
6
IV. Etude des plateformes actuelles de
sauvegarde de répertoires
7
IV.1. Systèmes utilisant le
répertoire de la carte SIM ou une solution STK.
7
IV.2. Systèmes utilisant les
applications Web[25]
8
IV.3. Failles des systèmes actuels de
sauvegarde de répertoires
8
V. Intérêts et enjeux de la
mise en place d'un nouveau système de sauvegarde
9
V.1. Pour les entreprises
9
V.2. Pour les abonnés
9
PARTIE II : ETUDE TECHNIQUE
10
CHAPITRE III : Conception d'une plateforme
de sauvegarde de répertoire par SMS
11
I. Outils utilisés pour le
développement
11
I.1. EasyPHP
11
I.2. KANNEL : application
utilisée pour la gestion des SMS
13
II. Description du code source
15
II.1. Variables générales
15
II.2. Quelques fonctions essentielles
16
III. Structure de la base de
données
18
III.1. Table clients_inscrits
18
III.2. Table sms_sauvegardes
18
III.3. Table
clients_phone_perdus
18
IV. Architecture fonctionnelle de la
plateforme de sauvegarde de répertoire par SMS
19
CHAPITRE IV : Conception d'une plateforme de
sauvegarde de répertoire par WEB
21
I. SyncML : protocole de
synchronisation des terminaux mobiles [7]
21
II. Fondements [7]
21
III. Types de synchronisation
[7]
23
IV. Protocoles de synchronisation
propriétaires [7]
24
IV.1. HotSync
24
IV.2. Intellisync
25
IV.3. Microsoft Exchange ActiveSync
25
V. Etude et configuration d'un serveur
FUNAMBOL [3][4][5][13][14][25]
27
V.1. Présentation de Funambol
27
V.2. Architecture système de
Funambol
28
V.3. Installation et mise en oeuvre de
Funambol
30
VI. Paramétrage des clients de
communication avec FUNAMBOL [7]14]
36
VI.1. Fonctionnement des clients
Funambol
36
VI.2. Configuration d'un portable disposant
d'un client SyncML
37
VI.3. Configuration des clients
spécifiques à l'ordinateur
38
VII. Ajout de plusieurs utilisateurs et
administrateurs à Funambol [5]
44
VIII. Extension du serveur Funambol :
création d'un connecteur [5]
45
IX. Architecture de la plateforme de
sauvegarde utilisant Funambol[25]
47
PARTIE III : IMPLEMENTATION DES DIFFERENTES
SOLUTIONS
50
CHAPITRE V : IMPLEMENTATION DU SERVICE DE
SAUVEGARDE PAR SMS
51
I. Eléments nécessaires
à la mise en oeuvre du service
51
II. Extension du service de sauvegarde
à d'autres services
51
III. Avantages du service de sauvegarde par
SMS
52
IV. Limites du service de sauvegarde par
SMS
52
CHAPITRE VI : IMPLEMENTATION DU SERVICE DE
SAUVEGARDE PAR WEB
53
I. Outils requis pour la mise en oeuvre du
serveur Funambol
53
II. Extension du serveur
Funambol[3][4]
53
II.2. Extension du serveur Funambol au
serveur Zimbra [9][17][24]
54
II.3. Intérêts du couplage du
serveur Zimbra à Funambol
58
III. Mise en oeuvre du serveur Funambol
58
IV. Intérêts de la plateforme
de sauvegarde utilisant Funambol
59
CONCLUSION
60
REFERENCES BIBLIOGRAPHIQUES
XII
ANNEXES
XV
GLOSSAIRE
XX
LISTE DES FIGURES
Figure 1: Organigramme administratif de
DAT
4
Figure 2: Procédure de
synchronisation par STK.
7
Figure 3: Interface d'administration
d'EasyPHP
13
Figure 4: Architecture fonctionnelle de la
plateforme de sauvegarde par SMS
19
Figure 5: Architecture système d'une
plateforme Funambol.
28
Figure 6: Interface WEB de Funambol
33
Figure 7: Interface de configuration de
Funambol.
35
Figure 8: Liste des dispositifs mobiles
connectés à Funambol
36
Figure 9: Liste des dispositifs mobiles et
des utilisateurs de Funambol.
37
Figure 10: Fenêtre de Mozilla
Thunderbird pour l'ajout de plugin Funambol
39
Figure 11: Fenêtre de configuration du
plugin Funambol pour Mozilla Thunderbird
40
Figure 12: Déroulement d'une
synchronisation avec Funambol Mozilla Sync Client.
41
Figure 13: Déroulement d'une
synchronisation avec Funambol Outlook Sync Client
42
Figure 14: Interface graphique de Funambol
iPod Sync Client
42
Figure 15: Interface de configuration de
Funambol iPod Sync Client
43
Figure 16: Schéma illustratif d'une
requête de synchronisation
44
Figure 17: Arborescence d'un module
Funambol
46
Figure 18: Architecture complète
d'une plateforme Funambol
47
Figure 19: Plateforme de sauvegarde de
Funambol en ligne.
48
Figure 20: Interface graphique des
connecteurs Funambol Google et Yahoo
54
Figure 21: Procédure d'ajout des
sources de synchronisation au connecteur Zimbra.
57
Figure 22: Schéma illustratif d'une
carte SIM.
XV
AVANT PROPOS
A. ESSOR DU TÉLÉPHONE CELLULAIRE EN
AFRIQUE.
[2]En décembre 2009,
l'Union Internationale des Télécommunications (UIT) rapportait
que les abonnements au téléphone cellulaire en Afrique
subsaharienne avaient progressé au cours des huit (8) dernières
années plus de deux fois plus rapidement que la moyenne mondiale, de 11
millions en 2000 au chiffre remarquable de 246 millions fin 2008. En
conséquence, note l'UIT, 32.6% de tous les habitants de la
région, pratiquement un sur trois, a maintenant accès à un
réseau de téléphonie sans fil. Bien que le continent
accuse encore un retard pour le nombre d'abonnements par personne par rapport
au reste du monde, la croissance régulière de l'usage du
téléphone a « fait mentir toutes les
prévisions ».
L'accès à l'Internet s'est aussi
considérablement élargi, passant selon l'UIT de trois (3)
millions d'abonnements en 2000 à 32 millions en 2008 ; bien que la
plupart des utilisateurs soient encore connectés par des lignes
téléphoniques à faible débit dont la
fiabilité est médiocre. Le coût élevé et la
rareté des liaisons par fibre optique limitent l'accès à
des services internet à large bande distribués par câble
qui sont plus rapide et plus fiables. L'accès à Internet à
large bande par la technologie sans fil, introduite en Afrique en 2004,
s'élargit cependant rapidement en comptant, fin 2008, 7 millions
d'abonnés dans 12 pays.
B. LE DÉVELOPPEMENT PAR LA TECHNOLOGIE.
[8]La situation économique
mondiale actuelle aura un impact sur l'Afrique directement et indirectement
soit sur la diminution des investissements, soit sur la difficulté des
financements, ou encore la baisse du pouvoir d'achat, (...) Nous pensons que
nous pouvons parvenir à passer cette situation par les moyens dont nous
disposons, qui sont la technologie et une optimisation de la gestion des
ressources. La position de Microsoft est claire : cette situation est une
opportunité pour nous d'améliorer notre gestion, affiner notre
stratégie, nous concentrer sur l'essentiel, en nous appuyant sur
l'innovation et la technologie (...). Indépendamment de la taille et de
la sophistication d'une activité économique, l'utilisation
optimale et intelligente de technologie comme levier principal de gestion peut
augmenter le revenu et réduire les coûts d'exploitation.
L'utilisation de la technologie pour développer le volume d'affaires
n'implique pas un grand investissement (...) L'innovation technologique a
donné l'accès aux affaires par une variété de
ressources nouvelles et accessibles qui promeuvent l'optimisation des
coûts. Les exemples sont nombreux : communication unifiée,
Business Intelligence et les outils de prise de décision, plus de
productivité en moins de temps et moindre coûts. Tout ce qu'il
faut, c'est une connexion internet (...)
Je ne peux pas terminer sans rappeler que l'état joue
un rôle très important, principalement en facilitant
l'accès aux nouvelles technologies en les rendant abordables à
toutes les couches sociales ivoiriennes et africaines, en encourageant et en
communicant sur l'innovation, et finalement en protégeant les
sociétés contre le piratage et en faisant appliquer les lois en
vigueur.
C. LA FILIÈRE DE TÉLÉCOMMUNICATION
DE L'ECOLE SUPÉRIEURE D'INDUSTRIE (ESI).
[15]L'Institut National
Polytechnique Félix HOUPHOUËT-BOIGNY
(INP-HB), est né par Décret 96-678 du 04/09/96.
Cadre convivial et fortement fourni en enseignants qualifiés, l'INP-HB
demeure une adresse privilégiée pour obtenir les
ingénieurs les plus compétents de Côte d'Ivoire. A ce jour,
l'INP-HB est constitué de sept (7) écoles dont l'ESI. L'ESI est
réputée pour la rigueur de ses principes, surtout le mode
d'admission en classe supérieure. A ce jour l'ESI regorge plusieurs
filières de formation dont le cycle d'Ingénieur de
Conception en Télécommunications. Choisi parmi les
meilleures élèves venant des classes préparatoires MPSI
(Maths, Physique, Sciences Industrielles), « l'ingénieur
en télécommunication INP-HB est appelé à
répondre aux besoins du marché des télécoms en
pleine croissance. Son intégration sera donc possible chez un
constructeur, un opérateur du secteur des Télécoms ou dans
une société qui offre des services de
télécoms ». (Tety Pierre, coordonnateur de
filière). L'ingénieur télécom est
soumis au plus gros volume horaire de l'ESI. Ce sont au total 2685 heures de
cours, travaux dirigés, bureaux d'étude, et projets
répartis comme suit :
ü Télécommunications 1ère
année : 1050 heures.
ü Télécommunications 2ème
année : 925 heures.
ü Télécommunications 3ème
année : 710 heures dont 600 heures pour le projet de fin
d'études.
La formation des ingénieurs télécom vise
les secteurs d'activités concernés par les technologies de
l'information.
Les conditions de recrutement obéissent aux
étapes suivantes :
ü Etape 1 : recrutement de 150 bacheliers C et de 20
bacheliers E à l'issue du concours d'entrée à l'INP-HB
pour la classe préparatoire MPSI
ü Etape 2 : deux années de formation en
mathématiques supérieures et mathématiques
spéciales.
ü Etape 3 : sélection de 10 ingénieurs
télécoms 1ère année à l'issue du
concours d'entrée des cycles ingénieurs de l'INP-HB.
La Direction de l'Ecole Supérieure d'Industrie est
fière des résultats de la filière télécom et
encourage les élèves ingénieurs télécom
à poursuivre sur cette lancée.
RESUME
Le projet « étude, conception, et
réalisation d'une plateforme de sauvegarde de
répertoire» est un projet qui nous a été
confié par la direction technique de DIGITAL AFRIQUE TELECOM. Il s'agit
de trouver une alternative à la sauvegarde du répertoire
téléphonique des abonnées des sociétés de
téléphonie mobile. Il existe déjà des plateformes
qui répondent à la sauvegarde du répertoire. Mais les
conditions d'accès et d'utilisation de ces dernières restent
restrictives ; notamment en termes de coût, de gain de temps, et de
volume de données à sauvegarder.
Pour résoudre toutes ces difficultés, nous
disposons de trois ordinateurs connectés à internet. L'un
tournant sous Linux CENTOS, un autre sous Windows XP3 et le troisième
est un serveur hébergeant les serveurs KANNEL et EasyPHP.
Dans le cahier de charges qui nous est consigné, s'y
trouvent trois technologies : STK, SMS, WEB. Celles-ci s'avèrent
être des moyens moins couteux de mise en place de plateformes de
sauvegarde de répertoires.
Après avoir analysé l'ensemble des plateformes
actuelles sur le marché et évalué leurs
défaillances, nous avons pu mettre en place une plateforme de sauvegarde
par SMS et une autre par WEB. La mise en place d'une plateforme de sauvegarde
par STK reste cependant soumise à conditions. Il s'agit de recourir
à la version entreprise du logiciel Gemalto Developer
Suite et aux cartes à puces TOP de
Gemalto pour y parvenir.
La mise en oeuvre des solutions développées ne
nécessitera pas de nouveaux investissements pour l'entreprise d'accueil.
La simplicité d'utilisation de ces solutions, permet d'affirmer que les
objectifs attendus sont atteints.
Les mots techniques difficiles à appréhender
sont décrits dans un glossaire situé dans les derniers pages de
ce rapport.
INTRODUCTION
Une enquête, réalisée auprès de
plusieurs millions d'abonnés par OnePIN, atteste que le
répertoire téléphonique est l'application la plus
importante du téléphone mobile pour 90% des personnes
interrogées. A partir de ce constat, la protection du répertoire
téléphonique s'avère être une fenêtre
stratégique pour la satisfaction abonnée et pour la croissance
des revenus au niveau des opérateurs.
Le service de sauvegarde de répertoire qui
répond depuis quelques années au besoin de la sécurisation
du répertoire téléphonique fait partie de la gamme des
services à valeur ajoutée. Il est déjà
implémenté chez certains opérateurs ivoiriens et dans
d'autres pays. Mais bien des contraintes imposées aux utilisateurs
limitent la vulgarisation dudit service.
Digital Afrique Télécom, entreprise
spécialisée dans la fourniture des services à valeur
ajoutée, envisageant une nouvelle approche de la sauvegarde de
répertoires, a bien voulu nous confier le thème suivant :
« étude, conception et réalisation d'une
plateforme de sauvegarde de répertoire ». Il s'agit
d'un système qui sécurise le répertoire d'un Abonné
pour le lui restaurer au cas où il aurait perdu le sien ou encore pour
mieux rentabiliser les revenus au niveau des entreprises.
Nous disposons de trois technologies, STK,
SMS et WEB, pour mettre en place une solution
adaptée au marché actuel de la téléphonie mobile.
Pour y parvenir, nous présenterons d'abord l'entreprise d'accueil et
nous ferons une étude des anomalies rencontrées par les
plateformes actuelles de sauvegarde de répertoire. Ensuite, nous
aborderons une phase pratique pour la conception de nouvelles plateformes.
Enfin, nous terminerons par des recommandations pour l'implémentation
des solutions éventuelles.
ENVIRONNEMENT DE TRAVAIL ET CONTEXTE DU STAGE
Dans cette section, nous présenterons l'entreprise
d'accueil. De plus il sera abordé une étude sur le thème.
Celle-ci clarifiera le cahier des charges et ses contours, l'état des
lieux des plateformes de sauvegarde de répertoires, les failles de ces
dernières et se terminera par les intérêts de la mise en
place de nouveaux systèmes de sauvegarde.
CHAPITRE I : STRUCTURE D'ACCUEIL :
DIGITAL AFRIQUE TELECOM
I. PRÉSENTATION DE DAT
DIGITAL AFRIQUE est un groupe africain intervenant dans le
domaine des Technologies de l'Information et de la communication. Il est
composé de cinq entités qui sont :
ü Digital Afrique Telecom (DAT);
ü Interactive Media;
ü Celcom;
ü Global Technology Partners;
ü First Telecom Network.
DAT, qui nous a accueillit pour notre stage de fin
d'étude, est située au 2Plateaux à proximité de
l'ENA (Ecole Nationale d'Administration). DAT est spécialisée
dans les services à valeur ajoutée. Partenaire avec les
opérateurs dans plus de vingt six (26) pays africains, DAT a à
son actif une expérience notoire acquise grâce à la
qualité de ses services. Une équipe commerciale et un service
technique travaillent en synergie pour proposer des services aux
opérateurs, qui a leur tour les fournissent à leurs
abonnés. En plus des opérateurs, DAT bénéficie de
la confiance de plusieurs structures, comme les chaines de
télévision, les maisons de loteries, les entreprises
d'organisation des concours Miss et bien d'autres.
II. SERVICES COURANTS DE DAT
Plusieurs services ont déjà été
implémentés et ont bénéficié du partenariat
avec de nombreuses entreprises. Certains produits déjà
développés, restent encore à la recherche de clients et
d'autres sont en étude. Mais les solutions faisant partie du patrimoine
de DAT se comptent parmi :
ü Call TV et Call Radio;
ü Voice Chat et Voice SMS ;
ü SMS Internet Chat ;
ü Voicemail marketing ;
ü Pronostics Foot ;
ü Joyeuse Fête du Travail ;
ü Fête des Pères ;
ü Saint Sylvestre en Couleurs ;
ü Etc.
III. ARCHITECTURE ADMINISTRATIVE DE DAT
Le schéma ci-dessous représente l'architecture
administrative de DAT. Nous avons effectué notre stage dans le service
recherche et développement de la direction
technique.
Direction Générale
Direction Administrative et Financière
Direction Technique
Direction des Projets
Direction Commerciale
Direction des Opérations
Direction de Contrôle de Gestion
Secrétariat
Recherche et Développement
Web
Création
Réseau
Figure 1: Organigramme administratif de
DAT
PARTIE II : PRESENTATION DU THEME
I. CAHIER DE CHARGES
Plusieurs technologies peuvent servir à la conception
d'une plateforme de sauvegarde de répertoires. Toutefois certaines
coutent excessivement chères autant pour les utilisateurs que pour les
entreprises qui les mettent en place. Pour palier cet état de fait, la
direction technique par l'entremise de M. Tassihon KPA, notre maître de
stage et directeur technique de DAT, nous a recommandé les trois
méthodes suivantes :
ü le développement d'une STK ;
ü la conception d'une application WEB ;
ü l'utilisation des SMS.
Il existe déjà des plateformes de sauvegarde du
répertoire auprès de certains opérateurs, mais elles sont
soumises à des conditions d'utilisation limitatives. Avec les
technologies SMS, STK ou WEB, il s'agira de résoudre les
différentes difficultés rencontrées dans la sauvegarde de
répertoire, en vue de vulgariser le service de sauvegarde de
répertoires.
II. NOTIONS APPARENTÉES AU CAHIER DE CHARGES
II.1. NOTION DE PLATEFORME
La notion de plateforme diffère selon les contextes
dans lesquels elle est employée. Ainsi parle-t-on de plateforme pour
parler d'un système d'exploitation Windows ou Linux, de plateforme d'un
opérateur pour désigner l'architecture d'un opérateur.
Dans notre cas spécifique, le concept de plateforme s'affilie à
l'ensemble du système logiciel et matériel qui doit être
mis en place en vue de permettre à un client mobile de faire des
demandes sur un serveur pour sauvegarder ses contacts.
II.2. CARTE SIM ET STK
La carte SIM est un circuit électronique disposant d'un
système d'exploitation et d'un système de fichiers. Les fichiers
permettent de contenir un certain nombre d'informations propres à
l'opérateur et des informations propres à l'abonné. La
nouvelle génération de carte SIM, la SimToolKit, dispose d'une
machine virtuelle Java. Avec cette nouvelle génération, la
capacité des cartes SIM a été améliorée
jusqu'à 32ko de mémoire. On peut alors y placer des applets java
que le système d'exploitation de la carte peut exécuter. Les
téléphones mobiles compatibles SimToolKit permettent à la
carte d'utiliser leurs ressources (par exemple le clavier ou l'écran)
pour effectuer des actions sur le réseau. La vérification de
compte bancaire, de paiements de factures avec un téléphone
mobile compatible SimToolKit sont des exemples d'actions effectuées
grâce au SimToolKit.
II.3. APPLICATION WEB
Une application Web peut être considérée
comme un logiciel exploitable depuis le réseau internet ou un
réseau local. Elle ne se limite pas simplement à un site internet
statique. A travers une application web, c'est un service qui est offert aux
internautes. L'application Web fait appel à la notion de serveur et de
client. Le client c'est l'utilisateur du service et le serveur est le
système logiciel et matériel qui offre le service. Les
applications comme les moteurs de recherche, les jeux en ligne, les web mails,
les blogs sont des exemples d'applications Web.
II.4. SERVICE DE MESSAGE COURT (SMS)
Le SMS est l'acronyme de l'anglais Short Message Service
(Service de Message Court). Le Service de Message Court fait partie des
services à valeurs ajoutées. Il permet aux abonnées d'un
ou de différents opérateurs d'échanger des messages
courts. Les messages courts peuvent contenir jusqu'à 160
caractères alphanumériques. Chaque message est envoyé via
un mécanisme
Store and
forward (enregistrer et envoyer) à un centre SMS (SMSC), qui
essaie de le transmettre au destinataire. Si ce dernier n'est pas joignable, le
centre stocke le message pour le retransmettre, en plusieurs tentatives si
nécessaire.
III. NOUVELLE APPROCHE DU THÈME ET DU CAHIER DE
CHARGES
Au regard de ce que nous avons détaillé plus
haut, notre travail consistera à mettre en place un système
utilisant les protocoles de la convergence des réseaux informatique et
télécom qui permettra à un abonné de faire une
copie de son répertoire. Ce système informatique doit être
capable de mettre à la disposition de cet abonné les
données qu'il a sauvegardées en cas de besoin. Ce système
peut se faire soit par une application Web, une SimToolKit ou encore par un
protocole de SMS.
IV. ETUDE DES PLATEFORMES ACTUELLES DE SAUVEGARDE DE
RÉPERTOIRES
IV.1. SYSTÈMES UTILISANT LE RÉPERTOIRE DE LA
CARTE SIM OU UNE SOLUTION STK.
La sauvegarde par STK est une offre proposée par
plusieurs opérateurs à travers le monde. Cette solution fut
premièrement développée par Axalto (Aujourd'hui Gemalto),
entreprise leader des cartes à puces (plus de 80% du marché).
Plusieurs opérateurs ont déjà opté pour cette
technique. Pour souscrire au service, il suffit de se rendre dans une des
agences de ces opérateurs et acheter une puce dédiée 64 Ko
au lieu de 56 Ko pour les puces ordinaires actuelles. Le client
bénéficie du remplacement de sa puce, mais conserve son
même numéro. Sur la nouvelle puce, est installée
l'application de sauvegarde de répertoires, permettant à
l'abonné d'effectuer ses opérations de sauvegarde. La sauvegarde
par STK prend uniquement en compte le répertoire de la carte SIM.
En Côte d'Ivoire, jusqu'à ce jour, seuls les
opérateurs Orange et MTN offrent à leurs abonnés une
sauvegarde par STK. Pour une opération de souscription à Orange
ou MTN, le client se rend dans une agence. Préalablement, il doit
recopier tous ses contacts de la carte SIM sur un support (jusqu'à 250).
Le service prend en moyenne quinze minutes (15 min). Il faut ajouter à
ce temps, celui lié à la file d'attente qui peut aller
jusqu'à une heure. L'opération de la copie des contacts pour une
puce comportant jusqu'à 250 numéros peut aller jusqu'à
1H30 avant la souscription à la nouvelle puce et également 1H30
après la souscription. L'opération avoisine donc le cap des 4H
minimum. Le temps alloué pour une opération de souscription de
sauvegarde pour une STK avoisine quatre heures (4H).
Une image d'un menu STK chez MTN-CI ressemble à la
figure suivante :
Figure 2: Procédure de synchronisation par
STK.
La requête de synchronisation pour la sauvegarde de
contacts se fait en suivant la couleur jaune sur le terminal mobile.
IV.2. SYSTÈMES UTILISANT LES APPLICATIONS WEB[25]
Sur le Web, des opérateurs, des constructeurs ou de
simples entreprises offrent à leurs clients ou aux internautes la
possibilité de sauvegarder leurs répertoires soit manuellement ou
par liaison radio. Google Contacts est une plateforme de
sauvegarde de contacts pour les internautes. L'internaute peut sauvegarder ses
contacts manuellement et bénéficier de services d'appels en ligne
et de divers autres avantages. Yahoo Contacts est une
plateforme semblable à Google Contacts, mais avec
quelques restrictions.
Funambol (qui sera étudié plus loin), offre sur
ses portails (
www.funambol.com
et my.funambol.com) une gamme variée de
clients aux terminaux mobiles compatibles GPRS pour la sauvegarde de contacts.
L'internaute s'inscrit d'abord sur le portail en y indiquant son type de
portable. En fonction de ces données, le client approprié lui est
envoyé.
Il existe également d'autres solutions
propriétaires comme les plateformes Nokia OVI Sync, Microsoft My
Phone, Google Sync, Yahoo ! Mobile, ... Les serveurs libres
linux, dont la configuration permet de sauvegarder un carnet d'adresses sont
divers et nombreux. Au compte de ceux-ci, on peut citer OpenLDAP, Open
Zimbra, eGroupWare, ...
Au nombre des opérateurs ivoiriens, MOOV-CI
possède déjà une plateforme Web de sauvegarde de
répertoires, mais le service connaît actuellement des
problèmes techniques (www.moovsauvegarde.com).
IV.3. FAILLES DES SYSTÈMES ACTUELS DE SAUVEGARDE DE
RÉPERTOIRES
Les systèmes actuels de sauvegarde soumettent les
abonnés mobiles à quelques restrictions qui ne facilitent pas les
opérations de sauvegarde. Pour ce qui concerne les systèmes de
sauvegarde par STK, l'abonné doit impérativement se rendre dans
une agence. Un abonné se trouvant dans une zone privée d'agences,
ne peut pas sauvegarder ses contacts. De plus ceux qui sauvegardent leurs
contacts perdent de leur temps dans les files d'attentes pour
bénéficier des services. Sur le Web par contre, les services sont
gratuits et sont généralement découverts par des
spécialistes de l'internet. Un abonné ne maitrisant pas l'outil
informatique, découvrira difficilement les plateformes se trouvant sur
internet, comme Google Contacts ou
Funambol.
V. INTÉRÊTS ET ENJEUX DE LA MISE EN PLACE D'UN
NOUVEAU SYSTÈME DE SAUVEGARDE
L'importance de la conception d'un nouveau service de
sauvegarde est à considérer du point de vue des entreprises et
des abonnés.
V.1. POUR LES ENTREPRISES
Les opérateurs doivent comprendre que le
répertoire est la base des revenus de la téléphonie
mobile. En cas de perte non souhaitée du répertoire d'un
abonné, le taux de ses appels va considérablement baisser. Un
opérateur a intérêt à offrir à ses
abonnés un service de sauvegarde de répertoires. La solution de
sauvegarde permet ainsi d'éviter toute baisse des revenus voix due
à la perte des données personnelles d'un abonné.
V.2. POUR LES ABONNÉS
Pour un abonné, le répertoire constitue le noeud
de ses connaissances et du déroulement de ses affaires. En cas de perte
inattendue de son terminal mobile, les activités d'un client peuvent
prendre absolument un coup. Avec le service de sauvegarde, un abonné
peut ainsi sauvegarder ses contacts et les récupérer au cas
où il aurait perdu son téléphone.
PARTIE I : PARTIE III : ETUDE TECHNIQUE
Après avoir présenté l'entreprise
d'accueil et donné le contexte du projet, nous abordons à
présent la phase pratique.
Dans cette étape du projet, il est décrit les
techniques de sauvegarde par SMS et par WEB. La méthode des SMS utilise
les serveurs Kannel et EasyPHP, qui sont sommairement étudiés.
Quand à la technique du WEB, elle est une adaptation du serveur Funambol
et de ses différentes extensions au contexte de ce projet.
PARTIE IV : CONCEPTION D'UNE PLATEFORME DE SAUVEGARDE DE
RÉPERTOIRE PAR SMS
I. OUTILS UTILISÉS POUR LE DÉVELOPPEMENT
Deux serveurs logiciels ont été utilisés
pour mettre en place la plateforme de sauvegarde par SMS. Il s'agit de Kannel
et EasyPHP.
I.1. EASYPHP
EasyPHP est une application qui intègre le serveur
d'hébergement de pages WEB Apache, le serveur de base de données
MySQL et les langages PHP et SQL. On peut télécharger
gratuitement EasyPHP sur le site
www.easyphp.org.
Il existe différentes versions d'EasyPHP pour les systèmes
d'exploitation Windows et Linux. Dans la phase de développement du code
PHP, nous avons utilisé un système d'exploitation Windows. Les
descriptions qui seront données ici concernant les autres outils
d'EasyPHP sont spécifiques à Windows. Pour écrire le code
source, on a besoin de coupler EasyPHP à un éditeur de texte.
Notepad++, étant un éditeur de texte gratuit et avec des
fonctionnalités bien avancées, est le plus adapté.
I.1.1. Apache
Apache est le serveur d'hébergement de pages Web, le
plus répandu sur Internet. C'est aussi le plus utilisé par les
développeurs. La popularité du serveur Apache est en grande
partie due à sa gratuité et à ses fonctionnalités
égalant presque celles de ses concurrents propriétaires. Le
démarrage d'EasyPHP active la mise en service d'Apache. Si cela n'est
pas fait, il suffit le cliquer sur l'icône d'EasyPHP, qui s'affiche dans
la barre des tâches de l'ordinateur et ensuite de cliquer à
nouveau sur Apache, et enfin cliquer sur
démarrer.
I.1.2. MySQL
MySQL est le serveur de base de données qui est
intégré à EasyPHP. En raison de sa gratuité, il est
vulgarisé sur internet. Le processus de mise en service de MySQL est
identique à celui d'Apache, qui a été étudié
précédemment. MySQL est basé sur le langage
SQL.
I.1.3. PHP
PHP est un
langage de scripts
libres,
principalement utilisé pour produire des
pages Web
dynamiques via un
serveur HTTP, mais
pouvant également fonctionner comme n'importe quel
langage
interprété de façon locale, en exécutant les
programmes en ligne de commande. PHP dispose depuis la version 5 de
fonctionnalités de modèles objets complètes. En raison de
la richesse de sa
bibliothèque,
on désigne parfois PHP comme une plateforme plus qu'un simple
langage.
I.1.4. SQL
SQL est un
langage
informatique normalisé qui sert à demander des
opérations sur des
bases de
données. SQL est muni de fonctionnalités permettant de
rechercher, d'ajouter, de modifier ou de supprimer des données dans les
bases de données. Les instructions SQL s'écrivent d'une
manière qui ressemble à celle de phrases ordinaires en anglais.
Cette ressemblance voulue vise à faciliter l'apprentissage et la
lecture. Les instructions de manipulation du contenu de la base de
données commencent par les mots clés SELECT,
UPDATE, INSERT ou DELETE qui correspondent
respectivement aux opérations de recherche de contenu, modification,
ajout et suppression. Divers mots clés tels que FROM,
JOIN et GROUP permettent d'indiquer les opérations d'
algèbre
relationnelle à effectuer en vue d'obtenir le contenu à
manipuler.
I.1.5. Notepad++
Notepad++ est un éditeur de texte léger et
gratuit. EasyPHP ne disposant pas d'un éditeur, on a donc recourt
à lui pour écrire le code PHP. Il est codé en C++ et
intègre la coloration syntaxique de code source pour les
différents langages de programmation avec lesquels il est
compatible.
I.1.6. Démarrage
des serveurs et interface d'administration d'EasyPHP
Pour utiliser EasyPHP, il suffit simplement de le
télécharger gratuitement sur le site officiel
(www.easyphp.org). Si cela est fait, pour une machine
Windows, on va dans le menu démarrage de
Windows, ensuite dans tous les programmes, puis
EasyPHP. A la suite de cela, les serveurs Apache et
MySQL sont mis en oeuvre. Pour des problèmes logiciels, il peut arriver
que les serveurs ne soient pas automatiquement démarrés. Il faut
se rassurer qu'ils le sont en vérifiant que les signaux de supervision
des serveurs Apache et MySQL sont au vert. Si tel est le cas, alors il faut
cliquer sur le logo EasyPHP, et ensuite
administration. Ainsi a-t-on accès à
l'interface suivante :
Figure 3: Interface d'administration
d'EasyPHP
Cette interface permet d'administrer les bases de
données, d'écrire le code SQL et de créer les
utilisateurs.
I.2. KANNEL : APPLICATION UTILISÉE POUR LA
GESTION DES SMS
KANNEL est un projet Open Source, mis sous licence FreeBSD,
lancé par la compagnie finlandaise Wapit Ltd en juin 1999. KANNEL est
écrit en langage C, et fournit une passerelle mixte SMS et WAP. KANNEL
permet de gérer le push, le pull ou pull-push SMS c'est-à-dire
respectivement, l'envoi des messages aux entités extérieures, la
réception d'un SMS ou la réception de requête, puis l'envoi
de la réponse après traitement à partir de la plateforme.
Au niveau de l'application se fait le traitement de la requête, puis
l'envoi de la réponse via le SMSC de rattachement à
l'Abonné demandeur. Dans la mesure où la passerelle est
reliée à plusieurs SMSCs, une configuration appropriée se
chargera du routage vers le SMSC concerné ; l'éditeur de service
n'a donc pas l'obligation de maîtriser avec ses contours le protocole
d'interfaçage au SMSC, mais il est obligé de le
déterminer.
L'architecture de KANNEL est composée de trois
principaux blocs appelés « box ». Leur intercommunication
correcte confère à KANNEL, sa stabilité et son
utilité. Ce sont :
ü le bearer box : Le bearer box est
l'interface entre le réseau de téléphonie mobile et les
autres compartiments du serveur. Pour les autres blocs, il joue le rôle
de routeur. En effet, c'est lui qui reçoit les SMS provenant d'un
réseau mobile et se charge de les transmettre au bloc approprié.
Au fur et à mesure que les autres blocs se connectent et se
déconnectent au bearer box, ce dernier met à jour dynamiquement
la liste des blocs en ligne. Mis à part la réception de messages
entrants, le bearer box reçoit aussi tous les messages sortants et les
adapte au format du réseau auquel il s'interconnecte ;
ü le SMS box : La conception d'un
SMS box est simple. Un SMS box reçoit un SMS à partir du bearer
box. Il l'analyse ensuite, afin d'en extraire les mots-clés et les
paramètres s'il y a lieu. En fonction du mot clé, le serveur
renvoie la réponse au client ; réponse qui peut être un
texte statique ou le résultat de l'exécution d'une action
associée. Dans le cas où le service SMS configuré dans le
fichier renvoie à une URL, le SMS box peut récupérer les
données contenues et les envoyer au bearer box qui à son tour les
renvoie au client via le SMSC de l'opérateur de téléphonie
mobile. Le SMS box peut également réceptionner les SMS, provenant
d`ordinateurs d'un réseau informatique tel que l'intranet ou l'Internet.
En effet, les messages reçus au format HTTP sont convertis en messages
de type SMS pour être accessibles aux terminaux GSM ;
ü le WAP box : Ce bloc met en place
le protocole WAP; protocole qui récupère les requêtes
issues des mobiles supportant le WAP, puis les traduit en requêtes
compréhensibles par les serveurs HTTP et vice versa.
Les données sont échangées entre le
bearer box et les WAP box, SMS box à travers le protocole TCP/IP. TCP/IP
est un protocole adapté très souvent pour une utilisation en
réseaux étendus (comme Internet). Son incorporation dans la
procédure de communication des différents blocs de KANNEL,
signifie que ces blocs peuvent être déployés sur des
ordinateurs aussi distants que possible. Les performances en termes de risque
de crash sont plus optimisées lorsque ces blocs sont
déployés sur des machines différentes. Rappelons aussi que
de façon permanente, les différents blocs échangent
à intervalles réguliers des messages de signalisations.
Au niveau de DAT, le serveur KANNEL est déjà
configuré sur un bon nombre de machines. Il ne sera donc plus question
dans ce mémoire de configurer KANNEL. Pour utiliser KANNEL, il suffira
d'indiquer dans le code source PHP l'adresse d'une des machines où
KANNEL est fonctionnel.
II. DESCRIPTION DU CODE SOURCE
Le code source développé dans le cadre de la
mise en place de la plateforme de sauvegarde par SMS est composé de
scripts PHP et SQL. Plusieurs fonctions sont incluses dans le programme
principal. Nous décrivons ici certaines variables globales des
différentes fonctions et aussi une bonne partie des différentes
fonctions.
II.1. VARIABLES GÉNÉRALES
Les variables suivantes sont utilisées par la plupart
des fonctions du programme.
ü $SOA = $_REQUEST['SOA']: cette
variable sert à recueillir le numéro qui a envoyé le
message. SOA est l'acronyme de l'anglais Send Of Address.
ü $smscid = $_REQUEST['smscid']: ce code
extrait le nom de l'opérateur auquel appartient l'Abonné ayant
envoyé le message. SMSCID est l'acronyme de l'anglais Short Message
Service Center IDentity
ü $message = $_REQUEST['Content'] :
cette variable permet d'avoir accès au contenu du message qui a
été envoyé.
ü $DA = $_REQUEST['DA'] : cette
variable désigne l'adresse de destination à savoir le
numéro court auquel est envoyé le message. Il s'agit de
l'acronyme Destination Address.
ü $date = date("Y-m-d H:i:s") :
cette variable permet de connaitre la date exacte à laquelle un message
a été envoyé. La fonction date("Y-m-d H:i:s") donne
successivement l'année, le mois, le jour, l'heure, la minute et la
seconde de réception du message
II.2. QUELQUES FONCTIONS ESSENTIELLES
II.2.1. Fonctions dbConnexion() et
dbClose($conexion)
Les fonctions dbConnexion() et
dbClose($conexion) sont utilisées pour
permettre au code PHP de dialoguer avec les bases de données
MySQL. On se connecte à MySQL et on se
déconnecte par la suite. La fonction
dbConnexion() permet d'établir la connexion
aux bases de données. Les éléments nécessaires
à l'établissement d'une connexion MySQL sont le renseignement de
l'adresse du serveur sur lequel est installé le code PHP, le nom
d'utilisateur, le mot de passe et le nom de la base de données qui est
désignée ici par sms_sauvegarde.
Lorsqu'on finit totalement avec les opérations à
effectuer sur la base de données, on fait appel à la fonction de
fermeture de la base de données qui est
dbClose($conexion). Pour pouvoir utiliser ces bases
de données, un utilisateur a besoin forcément de renseigner son
nom d'utilisateur et son mot de passe dans le menu des utilisateurs de
PhpMyadmin.
II.2.2. Fonction inscription_sms_sauvegarde
($smscid,$SOA,$message,$date,$DA)
Cette fonction permet d'inscrire un abonné en
enregistrant son profil dans la base de données
sms_sauvegarde. Les abonnés sont
insérés dans la table clients_inscrits.
Dès que le client envoie le mot clef sms, la
fonction inscription_sms_sauvegarde() se charge de
communiquer avec la table clients_inscrits. Le mot
clef peut être changé et choisi selon les exigences des
opérateurs.
II.2.3. Fonction verificationabonne($SOA)
Cette fonction permet de vérifier qu'un abonné
est effectivement inscrit au service de sauvegarde par SMS. La
présence de cette fonction est justifiée par le fait qu'un
abonné peut vouloir bénéficier du service de sauvegarde
par SMS alors qu'il n'est pas encore inscrit au service en
question. De plus par mégarde, un abonné peut vouloir s'inscrire
à nouveau, alors qu'il a déjà souscrit. Si tel est le cas
la fonction verificationabonne($SOA) se charge de
recueillir le mot clef et de le communiquer à la fonction
inscription_sms_sauvegarde(). Celle-ci à son
tour voyant que l'abonné est déjà inscrit lui envoie un
message pour lui signifier qu'il est déjà inscrit au service et
qu'il est autorisé à envoyer des SMS destinés à
être sauvegardés.
II.2.4. Fonction
enregistrement_des_sms($smscid,$SOA,$message,$date)
Grâce à cette fonction, les clients ayant
souscrit au service peuvent enregistrer leurs SMS dans la table
sms_sauvegardes via la base de données
sms_sauvegarde. Elle n'est mise en application
qu'après avoir vérifié qu'un abonné est
véritablement enregistré dans la base de données et que
le message qu'il envoie est différent du mot clef d'inscription au
service.
II.2.5. Fonction
inscription_perte($smscid,$SOA,$message,$date)
Cette fonction permet aux abonnés ayant
déjà souscrit au service de sauvegarde de signaler leur besoin
d'avoir accès aux SMS qu'ils avaient précédemment
enregistrés. La fonction vérifie d'abord le mot clef, ensuite
vérifie que le mot clef est différent de celui utilisé
pour l'inscription, puis vérifie que l'abonné est inscrit
grâce à la fonction verificationabonne()
et termine par vérifier si l'abonné a déjà des SMS
dans la base de données. Lorsque tout cela est avéré,
alors la demande de l'abonné est prise en compte et il est
inséré dans la table
clients_phone_perdus via la base de données
sms_sauvegarde.
II.2.6. Fonction
verification_presence_de_sms($SOA)
Cette fonction a été pensée pour servir
à la fonction retour_des_sms($SOA,$message)
dans le cas où un abonné viendrait à avoir besoin des SMS
qu'il a enregistrés. La fonction
verification_presence_de_sms($SOA) va vérifier
d'abord si le client a effectivement des SMS enregistrés dans la base de
données avant d'accepter la demande.
II.2.7. Fonction verification_perte($SOA)
Un client peut avoir besoin de ses SMS, alors qu'il n'est pas
encore enregistré dans la table de souscription signalant qu'il a
vraiment besoin de ses SMS. D'où l'introduction de la fonction
verification_perte($SOA) qui est chargée de
vérifier que l'abonné est inscrit dans la table
clients_phones_perdus avant de mettre en application
la fonction retour_des_sms($SOA,$message).
II.2.8. Fonction retour_des_sms($SOA,$message)
Grâce à cette fonction, les SMS qui ont
été enregistrés dans la base de données vont
être renvoyés aux abonnés. Elle effectue les actions
suivantes :
ü elle sélectionne l'ensemble des messages
après avoir identifié le numéro de téléphone
qui a envoyé le mot clef pour déclarer qu'il a besoin de ses
SMS ;
ü elle vérifie que l'abonné a effectivement
envoyé le mot clef `perte' ;
ü la fonction SQL
mysql_fetch_array prend un à un les SMS
enregistrés et les envoie au numéro de téléphone
ayant voulu avoir ses SMS.
III. STRUCTURE DE LA BASE DE DONNÉES
La base de données est appelée
sms_sauvegarde. Elle est composée de trois
tables : clients_inscrits,
clients_phones_perdus et
sms_sauvegardes.
III.1. TABLE CLIENTS_INSCRITS
Chaque fois qu'un abonné s'inscrit au service de
sauvegarde, en envoyant le mot clef de souscription qui ici est SMS, ces
paramètres sont enregistrés dans la table
clients_inscrits. L'abonné ne s'inscrit qu'une
seule fois. S'il s'inscrit, alors il a droit maintenant au service de
sauvegarde. Tant que l'inscription n'est pas faite, il ne peut effectuer aucune
sauvegarde.
III.2. TABLE SMS_SAUVEGARDES
Dans cette table, se trouve l'ensemble des SMS
sauvegardés. En considérant les 160 caractères que peut
contenir un SMS, il est à remarquer qu'on pourra enregistrer en moyenne
sept (7) contacts dans un seul SMS et l'envoyer au réseau.
III.3. TABLE CLIENTS_PHONE_PERDUS
Cette table permet à l'abonné mobile de signaler
au réseau qu'il a besoin des SMS qu'il a sauvegardés. Si cela est
fait, alors le système de sauvegarde se charge de lui transférer
tous les SMS qu'il a sauvegardés. Signalons que si un abonné n'a
pas de SMS sauvegardé dans la table
sms_sauvegardes, le programme se chargera de le lui
signifier.
IV. ARCHITECTURE FONCTIONNELLE DE LA PLATEFORME DE SAUVEGARDE
DE RÉPERTOIRE PAR SMS
L'architecture de la figure 4
résume l'ensemble du code source et du système de gestion des
bases de données décrits plus haut.
Figure 4: Architecture fonctionnelle de la plateforme
de sauvegarde par SMS
L'abonné dispose d'un shortcode qui lui est
attribué par son opérateur. Pour sauvegarder ces SMS, il
procède de la sorte :
ü il envoie un mot clef pour s'inscrire au service. Le
mot clef que nous avons choisi dans le cadre de ce rapport est SMS. Si le mot
clef est différent de SMS, le programme va signaler à
l'abonné qu'il s'est trompé de mot clef et qu'il doit choisir le
mot SMS.
ü si le mot clef est bien choisi, l'abonné
reçoit sur son téléphone le message suivant :
« Bienvenue sur le service sauvegarde
contacts de ".$smscid." Ecrivez : nom1 :numero1, nom2 :numero2,
..., et envoyez le SMS au $DA ».
Dans le message, le terme
".$smscid." sera remplacé par le nom de
l'opérateur. Par exemple pour un abonné MTN-CI,
".$smscid." Sera remplacé par MTN-CI.
$DA sera également
remplacé par le shortcode. Si le shortcode est 9010, alors à la
place de $DA, on aura 9010.
ü maintenant, l'abonné peut sauvegarder ses SMS.
Supposons qu'il décide d'envoyer son premier SMS. Il écrit par
exemple le message suivant «soro :46799007,
jannette :04204438, dramane :05416716, daniel :05107532,
bintou :08579890, falna :02600707, abel :05163570,
boudha :61043328, carmel : 01884564 ».
Après avoir écrit le SMS, il lui suffit de l'envoyer au shortcode
auquel il avait précédemment souscrit. Il reçoit en
même temps un SMS de confirmation
suivant : « votre SMS a bien été
enregistré ». Dans ce message, nous avons 160
caractères alphanumériques au total. Nous avons pu enregistrer
jusqu'à neuf (9) contacts. Compte tenu de la taille des noms et
même de certains contacts venant d'autres pays, qui sont soit en plus ou
en deçà des huit(8) chiffres de la Côte d'Ivoire, le nombre
des contacts peut aller au delà ou être moins que les neuf
contacts enregistrés. En ce qui concerne le nombre de SMS que
l'abonné peut envoyer, seul l'opérateur pourra en définir
le quota.
ü le jour que l'abonné perd son portable et avec
lui ses contacts, alors il lui suffit d'envoyer le mot clef
« perte » au même shortcode. Si cela
est fait, alors l'ensemble des SMS que l'abonné avait
précédemment envoyé pour la sauvegarde lui sera
envoyé successivement par le programme. Mais il lui faudra d'abord,
retirer son numéro avec lequel, il avait souscrit au service, afin que
le programme puisse le reconnaître.
PARTIE V :
CONCEPTION D'UNE PLATEFORME DE SAUVEGARDE DE RÉPERTOIRE PAR WEB
I. SYNCML : PROTOCOLE DE SYNCHRONISATION DES TERMINAUX
MOBILES [7]
La norme de synchronisation des terminaux mobiles est le
protocole SyncML (Synchronization Markup Language).
Il est né du projet Sync4J Open Source Projet
initié par les constructeurs des télécommunications, dont
la plupart disposait déjà de protocoles propriétaires.
II. FONDEMENTS [7]
La nécessité d'une solution de synchronisation
se fait de plus en plus ressentir dans la société mobile. En
effet, la plupart des abonnés possèdent actuellement des
téléphones portables dotés d'applications telles que
calendrier ou carnet d'adresses qui gagnent en utilité s'ils sont
connectés à Internet ou à la plateforme d'un
opérateur. Mais les terminaux mobiles ne sont pas connectés au
réseau en permanence et ont donc besoin d'une copie locale
(c'est-à-dire une sauvegarde) des informations utiles. Ces informations
se doivent également d'être maintenues à jour et donc en
concordance avec la version des données stockées du
côté serveur. Cela implique donc qu'il y ait un échange
d'informations entre le terminal mobile et le réseau, qui est la
synchronisation. Le problème survenu au début des solutions de
synchronisation est qu'il n'existait aucune norme de synchronisation car chaque
fabricant développait son propre protocole de synchronisation. Cette
diversité a incité les constructeurs du marché de la
téléphonie mobile à établir un standard
appelé SyncML décrivant les actions de synchronisation
entre les terminaux et les applications. Les entreprises qui ont mis en place
le consortium SyncML étaient huit au départ. Il s'agit de Nokia,
IBM, Openware, Ericson, Motorola, Symbian, Panasonic, Starfish. Aujourd'hui,
vingt quatre (24) constructeurs ont déjà implémenté
le protocole SyncML dans le système d'exploitation de leurs terminaux
mobiles.
Le but est que les fabricants de téléphones
mobiles intègrent ce protocole de synchronisation au système
d'exploitation de leurs produits de manière à ce que
l'interopérabilité entre les appareils des différents
fabricants soit possible.
Le protocole SyncML à été
développé en tenant compte des objectifs suivants :
ü prendre en considération les
caractéristiques du réseau comme :
- le degré de latence réseau ;
- la bande passante limitée dans le domaine de la
téléphonie mobile ;
- le coût élevé des paquets de
données qui doit être minimal en limitant le nombre d'interactions
client-serveur ;
- les interruptions de connexion auxquelles une
synchronisation doit pouvoir survivre en reprenant à l'endroit de
l'interruption lorsque la connexion a été rétablie.
ü être indépendant du protocole de
transport. Le protocole doit être fonctionnel avec les protocoles
réseaux tels que HTTP, OBEX, SMTP,
POP3, IMAP, etc ;
ü être indépendant des données
synchronisées. Les formats de données que le protocole doit
supporter nativement sont :
- les formats de données personnelles tels que :
vCard, vCalendar, iCalendar;
- les emails ;
- les données relationnelles ;
- les documents XML et HTML ;
ü être indépendant du langage de
programmation afin de permettre l'accès aux données d'une
variété d'applications ;
ü prendre en compte les limitations technologiques des
téléphones portables tels que capacité de calcul et
mémoire interne ;
ü faire usage des technologies Web existantes et
standardisées tel que XML afin de permettre une grande
interopérabilité ;
ü promouvoir l'interopérabilité en
permettant la synchronisation de n'importe quel type de terminal mobile avec
n'importe quel type de données réseau et vice versa.
Ainsi donc, la mise en place de SyncML crée un standard
pour la synchronisation des données :
ü quelques soient les données (agenda, messagerie,
carnet d'adresses, ...) ;
ü quelque soit l'outil (ordinateur, assistant personnel,
téléphone, ...) ;
ü quelques soient le logiciel (Outlook, Lotus, ...) et le
système d'exploitation ;
ü quelque soit le protocole (USB, Bluetooth, IrDA,
TCP-IP, GPRS/WAP,...).
Les avantages qui découlent du standard SyncML sont
également nombreux :
ü pour l'utilisateur, un usage simplifié et
étendu des procédures de synchronisation :
ü pour le constructeur, la possibilité d'inclure
dans un terminal, dont la mémoire est limitée, un protocole
unique avec une gamme plus large de services ;
ü pour les prestataires de services et les
développeurs, des produits plus compétitifs en matière de
coût d'exploitation ou de développement.
III. TYPES DE SYNCHRONISATION [7]
Il existe plusieurs types de synchronisation :
ü SLOW SYNC/FULL SYNC :
méthode qui consiste à envoyer toute les entrées d'une
base de données client au serveur qui par la suite compare les
données reçues avec sa propre base de données afin
d'éviter les redondances et d'éventuellement se mettre à
jour. Par la suite, le serveur renvoie la base de données mise à
jour au client. Le désavantage de cette méthode est que la
totalité des données, même non modifiées, sont
transmises. Cela génère du trafic inutile. De plus cette
méthode prend du temps et peut être coûteuse. Mais elle ne
peut pas être évitée pour la première
synchronisation et dans le cas où les entités engagées
dans la précédente synchronisation ont perdu la trace du contenu
qui a déjà été synchronisé auparavant. C'est
le cas d'une réinitialisation de la mémoire interne du
client ;
ü FAST SYNC : méthode
qui consiste à envoyer uniquement les entrées modifiées au
serveur à des fins de mises à jour. La difficulté ici
consiste à trouver une solution pour détecter les modifications
au sein d'une base de données. Ce type de synchronisation n'est possible
que si les bases de données des entités concernées ont
été synchronisées au moins une fois auparavant ;
ü ONE-WAY SYNC : dans ce type
de synchronisation, les données ne sont envoyées que dans un
sens. Une utilisation possible est celui d'un serveur public qui envoie des
informations vers plusieurs clients qui n'y ont accès qu'en lecture
seule ou dans le sens opposé, le client envoie ses mises à jour
vers le serveur ;
ü TWO-WAY SYNC : le client et
le serveur échangent des informations sur les données
modifiées. C'est le mode de synchronisation le plus courant ;
ü SERVER ALERTED SYNC : le
serveur donne une alerte au client pour l'informer que des modifications ont
été apportées dans la base de données et qu'il
doit se synchroniser.
Dans cette alerte, le type de synchronisation demandée
par le serveur est également spécifié ;
ü REFRESH SYNC : type de
synchronisation où le client envoie toutes les données
stockées dans une base de données vers le serveur. Ce dernier
est supposé remplacer les données présentes dans la base
de données cible avec les données reçues par le client.
Ce type de synchronisation est également possible dans le sens inverse,
c'est-à-dire du serveur vers le client.
IV. PROTOCOLES DE SYNCHRONISATION PROPRIÉTAIRES
[7]
Il existe plusieurs protocoles de synchronisation
propriétaires qui sont des alternatives au protocole SyncML. Parmi
ceux-ci, on dénombre HotSync, Intellisync, Microsoft Exchange
ActiveSync, que nous abordons à présent.
IV.1. HOTSYNC
C'est le protocole développé par l'entreprise
Palm. Il permet la synchronisation d'un terminal unité mobile avec un
poste fixe. Avec ce protocole, deux types de synchronisation sont
possibles :
ü FAST SYNC : n'est utilisé que
dans la condition où un PDA se synchronise avec le même poste fixe
que pour la dernière synchronisation. Ce type de synchronisation utilise
les indicateurs d'état pour détecter les changements qui se sont
produits dans la base de données depuis la dernière
synchronisation. Un indicateur d'état est défini pour chaque
entrée de la base de données et lorsqu'une entrée est
insérée, modifiée ou supprimée, l'état de
l'indicateur change permettant ainsi la détection de modifications. Lors
de la synchronisation, l'unité mobile envoie toutes les entrées
dont l'état de l'indicateur au poste fixe et ce dernier procède
à la même opération envers le téléphone PDA.
A la fin de la synchronisation, tous les indicateurs sont
réinitialisés ;
ü SLOW SYNC : ce type de synchronisation
est entrepris lorsque la condition d'un Fast Sync n'est pas satisfaite,
c'est-à-dire lorsque le PDA se synchronise avec plusieurs postes fixes.
Dans cette situation, l'unité mobile envoie toutes les entrées de
sa base de données vers le poste fixe lors d'une synchronisation car
les indicateurs d'états ne sont plus un système fiable. Le poste
fixe détecte les modifications en comparant les entrées
envoyées par le PDA avec une copie de sauvegarde des données de
celui-ci qu'il a effectué lors de la dernière synchronisation.
IV.2. INTELLISYNC
Ce protocole a été développé par
l'entreprise Pumatech (rachetée par Nokia) dans le but de rendre
n'importe quelle synchronisation capable de Fast Sync et ainsi réduire
les temps de connexion et l'ampleur des transferts de données. Les
unités mobiles se synchronisent avec un serveur central qui maintient un
compte pour chaque utilisateur où sont stockés notamment
l'historique des modifications et les indicateurs d'état. De cette
manière, les conditions d'un Fast Sync sont satisfaites étant
donné que les périphériques se synchronisent toujours avec
le même serveur. Les points faibles du protocole Intellisync sont le
risque de panne ou de congestion du serveur central qui affecterait la
synchronisation de tous les clients utilisant ce serveur et
l'impossibilité de synchronisation directe entre deux unités
mobiles sans passer par le serveur.
Intellisync Anywhere (produit utilisant le protocole
Intellisync) permet la synchronisation avec les applications d'entreprise
telles que Microsoft Outlook et Exchange.
IV.3. MICROSOFT EXCHANGE ACTIVESYNC
Il s'agit d'un composant logiciel installé sur les
téléphones mobiles ayant Windows Mobile comme système
d'exploitation et permettant la synchronisation de données avec un
serveur Exchange ou un ordinateur où ActiveSync est présent.
Actuellement, ActiveSync est également installé sur la
dernière version du système d'exploitation de l'iPhone d'Apple.
Exchange ActiveSync est un service qui est exécuté sur un serveur
Exchange qui permet aux clients mobiles de se synchroniser avec leurs dossiers
stockés sur le serveur Exchange. Le client mobile peut se connecter au
service grâce à une liaison filaire (câble série,
USB), une connexion sans fil (infrarouge, Wifi) ou un réseau
téléphonique. Le protocole ActiveSync permet à un
téléphone portable de recevoir des mises à jour lorsque
des modifications ont été apportées du côté
serveur ou lorsque du nouveau contenu y a été ajouté. Les
types de données que ce protocole permet de synchroniser sont les
e-mails, les calendriers, les contacts et les tâches. ActiveSync offre
les fonctionnalités suivantes:
ü Synchronisation planifiée :
l'utilisateur a la possibilité de définir la date et l'heure
exacte à laquelle il désire que la synchronisation se fasse. Au
moment indiqué, le client initie une connexion avec le serveur Exchange
et extrait toutes les nouvelles données qui se trouvent dans le dossier
Exchange de l'utilisateur ;
ü Always-Up-To-Date (AUTD) : cette
fonctionnalité notifie le client qu'il y a eu des modifications sur le
serveur Exchange. Cette notification est faite grâce à un SMS
envoyé sur le téléphone portable de l'utilisateur
concerné. A la réception du message, le client initie une
connexion avec le serveur et se synchronise afin d'être à
jour ;
ü Direct Push : cette technologie
garantit que les e-mails et les éléments de calendrier, de
contact et de tâche sont rapidement mis à jour du
côté client et que le téléphone portable est
constamment synchronisé avec le serveur Exchange. Le fonctionnement de
Direct Push se déroule en plusieurs étapes:
1. le téléphone portable envoie une demande de
connexion HTTPS à long terme au serveur Exchange. Cette connexion est
maintenue pendant un intervalle de temps nommé « heartbeat
interval » dont la durée est définie par
l'algorithme Direct Push du côté client et est envoyé au
serveur grâce à une requête ping.
Dans la demande de connexion, le client spécifie également la
liste des dossiers Exchange qui le concernent et donne comme instruction au
serveur de l'avertir en cas de modifications dans ces dossiers durant
l'intervalle défini. Afin de réduire la consommation de batterie
et de bande passante du téléphone portable, la connexion peut
passer en veille (c'est-à-dire que le client ne transmet plus rien)
jusqu'à ce qu'un événement le sollicitant se produise
suite à quoi la connexion est réactivée (grâce
à une notification du serveur). Cet événement peut
être soit l'expiration du « heartbeat interval
» soit une modification dans les dossiers Exchange ;
2. le client passe en mode attente ;
3. s'il n'y a aucune modification qui survient durant
l'intervalle, le serveur envoie un message HTTP 200
OK au client. A la réception de ce message, le client
reprend son activité puis renvoie une demande de connexion au serveur,
ce qui relance le processus ;
4. si au contraire, il y a eu des modifications durant
l'intervalle, le serveur envoie un message au client pour l'informer que des
modifications ont eu lieu sur le serveur Exchange et lui indique à quel
endroit ces changements sont survenus ;
5. le client émet une demande de synchronisation envers
le serveur pour se mettre à jour.
6. à la fin de la synchronisation, le client renouvelle
sa demande de connexion HTTPS et le processus recommence.
V. ETUDE ET CONFIGURATION D'UN SERVEUR FUNAMBOL
[3][4][5][13][14][25]
V.1. PRÉSENTATION DE FUNAMBOL
Le projet Sync4J Open Source Projet débuté en
2001, qui est appelé aujourd'hui Funambol est une initiative des
constructeurs des télécommunications. C'est de ce projet qu'est
né le protocole SyncML. Funambol répond aujourd'hui au
problème de sauvegarde de données abonnées. Le
déploiement d'un serveur Funambol ne demande pas de grands
investissements. Funambol n'a rien à envier aux solutions
propriétaires dont la mise en place revient chère aux
entreprises. Les produits Funambol s'adaptent à diverses sortes
d'entreprises incluant les opérateurs. Les différents produits
Funambol comprennent:
ü Push e-mail. Il s'agit d'une
méthode de messagerie mobile permettant d'envoyer directement des
messages reçus sur un serveur vers des terminaux mobiles. Plutôt
qu'une synchronisation régulière entre serveur de messagerie et
terminal, les messages sont " poussés " (push) vers l'appareil
mobile. Un e-mail arrivant sur le serveur est donc aussitôt
redirigé vers le PDA permettant à son destinataire de le recevoir
dans un délai très court.
ü Synchronisation de PIM
(Personal Information Manager) qui comprend la gestion du carnet
d'adresses et des informations propres à un abonné.
ü Un Framework de synchronisation Open
Source qui permet a chacun de développer une solution de
synchronisation adaptée à ses besoins. Nous nous servirons de
cette plateforme pour l'adapter au contexte de notre étude.
La solution de Funambol permet la synchronisation avec
plusieurs millions de téléphones mobiles ainsi que diverses
applications et services en ligne parmi lesquels on peut compter
Gmail, Yahoo!, AOL, Hotmail,
Microsoft Outlook ou
Thunderbird. Le projet Funambol se base sur le
langage SyncML. Tous les téléphones mobiles supportant
ce langage sont donc compatibles avec le serveur Funambol. Pour les
téléphones ne disposant pas d'un support SyncML, il
existe des clients adaptés pour la synchronisation, gratuitement
téléchargeables sur le site internet
www.funambol.com. C'est le cas de la plupart des
Smartphones actuels dont l'iPhone d'Apple, les téléphones qui
tournent sur Windows Mobile ainsi que les Blackberry de RIM
(Research In Motion).
V.2. ARCHITECTURE SYSTÈME DE FUNAMBOL
V.2.1. Schéma illustratif de l'architecture de
Funambol
L'architecture système de Funambol est composée
de trois éléments : les dispositifs mobiles, le serveur
Funambol et une base de données. La figure 5
est une illustration de l'architecture.
Figure 5: Architecture système d'une plateforme
Funambol.
V.2.2. Dispositifs mobiles de Funambol
Les dispositifs mobiles sont les appareils de communication
avec Funambol. Il s'agit des appareils suivants:
ü un terminal mobile muni d'un client SyncML lors de sa
fabrication. La liste des terminaux mobiles ayant un client SyncML à
leur sortie d'usine est disponible à l'adresse
http://www.funambol.com/solutions/devices.php. On y
retrouve les téléphones mobiles de vingt quatre (24)
constructeurs.
ü un terminal mobile exécutant Funambol Mobile
Sync Client. On trouve ici les portables Windows Mobile, Blackberry et
Iphone.
ü un ordinateur sur lequel est installé Mozilla
Thunderbird avec le plugin Funambol ou Funambol Outlook Sync Client ou Funambol
Ipod Sync Client.
V.2.3. Serveur Funambol
Comme illustré dans le schéma
précédent, le serveur Funambol est constitué de plusieurs
composantes. Celles-ci permettent non seulement la synchronisation de contacts,
mais aussi l'extension du serveur Funambol à d'autres applications en
ligne. Le service de synchronisation de données est la composante qui
permet la sauvegarde des données.
Service de synchronisation de
données
Ce service fournit les techniques de synchronisation et permet
de communiquer directement avec les dispositifs mobiles à travers des
messages SyncML. Il se charge entre autres de l'hébergement du
moteur de synchronisation, d'accepter et d'envoyer des requêtes de
synchronisation. Ce service est constitué du moteur Funambol qui
déclenche la synchronisation de données. Le moteur est disponible
à l'adresse :
http://ip-address:8080/funambol/ds,
où ip-address désigne l'adresse IP de
la machine qui héberge le serveur Funambol. Voici le contenu du moteur
de synchronisation :
---------------------------------------------------------------------------------------------------------------
Funambol Data Synchronization Server
v.8.7.0
Man=Funambol
Mod=DS Server
SwV=8.7.0
HwV=-
FwV=-
OEM=-
DevID=funambol
DevTyp=server
VerDTD=1.2
UTC=true
SupportLargeObjs=true
SupportNumberOfChanges=true
Ext=X-funambol-smartslow
-------------------------------------------------------------------------------------------------------------
Le moteur de synchronisation fait partie du service de
synchronisation des données. Les responsabilités du moteur de
synchronisation sont :
ü identification de la source et de la cible des
données qui doivent être synchronisées.
ü identification des données qui doivent
être mise à jour, ajoutées ou supprimées.
ü détermination des procédures de mises
à jour.
ü détection des conflits liés aux
priorités dans le cas où plusieurs synchronisations se
déroulent conjointement.
ü résolution des conflits de synchronisations.
V.2.4. Base de données
Le système de gestion de base de données
Hypersonic est activé avec toute nouvelle installation de Funambol. Les
autres systèmes de gestion de bases de données tels que MySQL et
Oracle peuvent être supportés par Funambol. La base de
données jointe au serveur Funambol est chargée d'enregistrer
l'ensemble des données abonnées, notamment les contacts et bien
d'autres informations.
V.2.5. Installation et mise en oeuvre de Funambol
Il existe trois versions de Funambol adaptées aux
systèmes d'exploitation Windows, Linux et MacOS. Dans la perspective
d'étendre les fonctionnalités de Funambol à d'autres
serveurs et applications en ligne, nous choisirons la version Linux pour
héberger le serveur Funambol. Funambol est disponible gratuitement
à l'adresse www.funambol.com.
V.2.6. Système matériel et logiciel
requis avant l'installation
Funambol est une plateforme développée en Java.
Avant toute installation, il faut installer l'application JDK (Java
Développement Kit). Le répertoire d'installation de Funambol
occupe un grand espace de stockage. Pour les tests, nous recommandons une
machine aux caractéristiques suivantes:
ü un pentium 4 CPU de vitesse supérieure à
1.8 GHZ.
ü au moins 300 MB d'espace libre.
ü au moins 1 GB de mémoire RAM.
Une machine plus performante que celle décrite plus
haut est encore mieux pour la phase de l'implémentation. Dans le cas de
l'installation sur un système d'exploitation Linux CentOS (sur lequel
nous avons travaillé), il faut se rassurer que Apache est bien
configuré. Si Apache n'est pas configuré correctement, alors on
ne pourra pas accéder à l'interface Web du serveur Funambol.
V.2.7. Installation et activation des
différents services de Funambol
Funambol est gratuitement téléchargeable
à l'adresse www.funambol.com. Quoique nous
ayons fait des tests avec la version Windows de Funambol, la version Linux sera
particulièrement décrite dans ce rapport en raison de sa
compatibilité avec d'autres serveurs linux. Lorsqu'on se trouve à
l'adresse
www.funambol.com,
on télécharge la version avec l'extension
.bin, qui est celle de linux. Ceci étant, on
peut soit même créer son propre répertoire d'installation.
Nous avons pris le répertoire suivant :
/home/digital/Desktop/Funambol. Le terme
$Funambol-Home sera employé par la suite
à la place du répertoire
/home/digital/Desktop/Funambol.
ü Installation de Funambol
On copie les packages Funambol dans le répertoire
$Funambol-Home.
Dès que cela est fait, on lance la commande
suivante :
sh
funambol-<numéro_de_la_version>.bin
La dernière version de Funambol au moment où
nous rédigeons ce rapport est la version 8.7. Donc l'expression
<numéro_de_la_version> dans la commande
précédente sera remplacée par 8.7. Lorsque la commande est
lancée, alors il faut accepter la licence après l'avoir lue en
tapant la commande y pour dire
yes (oui).
Ceci fait, Funambol s'installe rapidement en quelques minutes.
L'ensemble des composants qui s'installent avec Funambol sont les
suivants :
Ø Funambol Data Synchronisation
Service, qui est le moteur de synchronisation de Funambol.
Ø Java Runtime Environment, un
environnement de développement Java.
Ø Hypersonic database : le
système de gestion de base de données par défaut de
Funambol. Mais dans sa phase de déploiement, Funambol s'adapte aux
systèmes de gestion de bases de données MySQL et Oracle.
Ø Funambol Administration Tool :
c'est l'outil d'administration des différents composants et utilisateurs
Funambol.
Ø Les différents accessoires du service
de synchronisation.
ü Activation des ports Funambol
Lorsque Funambol est installé, l'on doit maintenant
activer les différents ports de communication avec les terminaux mobiles
et les ordinateurs, qui sont des clients de communication avec le serveur
Funambol. Pour activer les ports, on ouvre un terminal dans le
répertoire $Funambol-Home, et on tape la
commande :
sh funambol start.
Cette commande active tous les ports de communication de
Funambol avec ses dispositifs externes de communication. Il s'agit des ports
4101, 3101, 8005, 8080, 8101, 4745, 7101. Les ports 4101 et 3101 sont les ports
Blakberry. L'activation de ces ports permet la communication avec tous les
terminaux mobiles compatibles avec Funambol. Le port 8080 est le port par
défaut d'accès à l'interface Web de Funambol. Le port 8005
active le moteur de synchronisation. Les autres ports permettent d'activer les
accessoires de Funambol et les connecteurs.
ü Interface WEB de Funambol
Pour accéder à l'interface Web de Funambol, il
faut ouvrir un onglet dans un navigateur et taper l'adresse suivante :
127.0.0.1:8080/funambol.
L'adresse 127.0.0.1 est l'adresse locale de la machine sur
laquelle est installé Funambol. A partir d'une autre machine, on peut
accéder à cette même machine en tapant dans le navigateur
adresse-ip:8080/funambol, où
adresse-ip désigne l'adresse IP de la machine
qui héberge le serveur Funambol.
Lorsque Funambol est nouvellement installé, deux
utilisateurs sont déjà installés dans l'outil
d'administration du serveur. Il s'agit de l'utilisateur
guest avec mot de passe
guest et de l'administrateur Funambol
admin avec le mot de passe
sa.
Avec ces deux utilisateurs, l'on peut se connecter à
l'interface Web et effectuer des opérations sur le serveur. La
figure 6 est une image de l'interface WEB de
Funambol.
Figure 6: Interface WEB de Funambol
Pour accéder aux services, il suffit de cliquer sur le
lien Web Demo Client. On aura ainsi deux champs
à remplir qui sont le nom d'utilisateur et le
mot de passe. Le lien Terms &
Conditions donne un aperçu des conditions
générales d'utilisation de Funambol.
ü Interface d'administration de
Funambol
Funambol dispose d'une interface d'administration qui permet
d'administrer les différents services de Funambol. Ces services sont
variés et nombreux. Pour accéder à cette interface, on
ouvre un terminal linux et on tape successivement les commandes
suivantes :
ü su (pour se connecter en
mode administrateur) ;
ü digital (mot de passe
administrateur de la machine hébergeant Funambol) ;
ü cd
$Funambol-Home/bin ;
ü . /funamboladmin.
Lorsque l'outil d'administration apparaît, il faut
s'identifier avant d'effectuer des opérations sur son interface. Seul
l'utilisateur admin avec son mot de passe
sa peut accéder à l'interface. Mais par
la suite, l'administrateur de Funambol peut décider d'ajouter ou de
supprimer des utilisateurs et même des administrateurs. Il est
également possible de modifier les différents profils de ces
derniers.
ü Configuration des paramètres du serveur
Funambol
Les paramètres de configuration de Funambol sont
divisés en deux groupes :
- les spécifications du serveur où il est
possible d'entrer des informations concernant le service de synchronisation de
données.
- la configuration du moteur de synchronisation. Il faut noter
que dans la plupart des cas, aucune modification des paramètres par
défaut n'est nécessaire. Néanmoins, les paramètres
à spécifier sont :
· URI : l'adresse du serveur
Funambol que les utilisateurs devront entrer dans leur dispositif mobile afin
d'avoir accès au serveur et ainsi répondre aux messages
SyncML de celui-ci.
· Officer : composante qui est
chargée de l'authentification des utilisateurs.
· Handler : s'occupe de la
gestion des sessions de synchronisation.
· Device Inventory :
gère les dispositifs mobiles.
· Data Transformation Manager :
permet de spécifier le type d'encryptions qui doit être
appliqué aux messages sortants et de quelle manière ces derniers
doivent être décryptés par le serveur lorsqu'il les
réceptionne.
· Strategy : permet de
spécifier les priorités de synchronisation. Ainsi lorsqu'il y a
une modification d'une même donnée à la fois du
côté du serveur que de celui du client mobile entre deux sessions
de synchronisation, il est possible d'indiquer ici qui sera prioritaire. Il est
possible de spécifier une stratégie pour chaque source de
synchronisation. Par défaut, le client mobile est prioritaire.
· User Manager : gère
les utilisateurs.
· Min Value for Max. Msg Size :
spécifie la taille maximale que les messages envoyés par le
serveur au client SyncML peuvent avoir. Par défaut, ce
paramètre à une valeur de 1800.
· Check for updates : recherche
d'éventuelles mises à jour de l'outil d'administration de
Funambol.
Figure 7: Interface de configuration de
Funambol.
Le serveur étant installé, il faut maintenant
paramétrer les différents clients de communication avec le
serveur Funambol en vue de faire les synchronisations pour la sauvegarde des
contacts.
VI. PARAMÉTRAGE DES CLIENTS DE COMMUNICATION AVEC
FUNAMBOL [7]14]
VI.1. FONCTIONNEMENT DES CLIENTS FUNAMBOL
Funambol dispose de plusieurs clients pour la communication
avec le serveur parmi lesquels les terminaux mobiles, les ordinateurs et
plusieurs autres composants électroniques. Cet ensemble est
appelé dispositifs mobiles. Une entrée est créée
dans l'élément Devices (qui se trouve
dans l'interface d'administration) pour chaque dispositif mobile qui
se connecte pour la première fois au service de synchronisation des
données de Funambol. Il est possible d'ajouter un dispositif mobile
manuellement, notamment pour configurer une synchronisation d'une boîte
de réception d'emails étant donné que dans ce cas une
entrée n'est pas ajoutée automatiquement. La figure
8 suivante représente la liste des dispositifs mobiles qui
se sont connectés au serveur Funambol.
Figure 8: Liste des dispositifs mobiles
connectés à Funambol
On constate que chaque dispositif a un identifiant
spécifique et que les informations sur le type, l'adresse et la
description ne sont pas transmises automatiquement mais peuvent être
complétées par l'administrateur. Lorsqu'un utilisateur
synchronise son dispositif mobile pour la première fois avec le serveur
Funambol, une entrée lui est créée dans les
éléments Users et
Devices. Mais il est également
nécessaire de faire une association entre un utilisateur et un
dispositif mobile. L'association peut être de trois types :
ü 1 : 1 : un utilisateur est associé
à un dispositif mobile.
ü 1 : n : un utilisateur est
associé à plusieurs dispositifs mobiles. Il peut arriver, par
exemple, qu'un utilisateur désire synchroniser à la fois son
téléphone portable et Microsoft Outlook avec une même base
de données.
ü n : 1 : plusieurs utilisateurs sont
associés au même dispositif mobile. Lorsque des utilisateurs se
partagent un même dispositif mobile mais se connectent en utilisant des
informations de login personnelles.
On peut voir sur la figure 9
suivante que l'utilisateur hamed est
associé à plusieurs dispositifs mobiles et que le dispositif
mobile ayant l'identifiant fjg-T2IXqkpdNQa0YYj2NH9PKA== est associé aux
deux utilisateurs hamed et
guest.
Figure 9: Liste des dispositifs mobiles et des
utilisateurs de Funambol.
VI.2. CONFIGURATION D'UN PORTABLE DISPOSANT D'UN CLIENT
SYNCML
Cette configuration est identique pour tous les appareils
mobiles énumérés à l'adresse
http://www.funambol.com/solutions/devices.php. Nous
avons effectué les tests avec un portable Nokia N95-8G.
Les étapes de configuration pour l'utilisateur
guest avec mot de passe
guest sont les suivantes :
- Menu,
- Tools,
- Sync,
- Options,
- New Sync Profil,
- Dans Sync Profil Name, on écrit
Funambol,
- Dans Applications, on sélectionne contacts, on a
ainsi trois champs à remplir, que l'on renseigne de la manière
suivante :
· Include in sync :
yes,
· Remote database :
card,
· Synchronization type: Both
ways,
- Back (à sélectionner deux fois),
- Connections settings. Ici on a onze (11) champs à
remplir que l'on paramètre de la manière suivante :
· Server version : 1.2,
· Server ID : Funambol,
· Data bearer: internet,
· Access point: user
defined,
· Host address:
http://ip-address:8080/funambol/ds,
· Port: 8080,
· User name: guest,
· Password: guest,
· Allow sync requests: yes,
· Accepts all sync requests:
yes,
· Network authentication:
no,
ü Back (à sélectionner deux fois).
Remarque : c'est le mot de passe et le
nom d'utilisateur qui font la différence entre les différents
utilisateurs. Nous avons fait la configuration avec l'utilisateur par
défaut de Funambol dont le nom d'utilisateur est
« guest ».
La configuration du portable est ainsi achevée. Pour
faire les synchronisations avec le serveur distant, on
procède comme suit:
ü Menu,
ü Tools,
ü Funambol,
ü Options,
ü Synchronise.
Dès que cela est fait, l'utilisateur
guest pourra vérifier que ses contacts sont
bien enregistrés sur l'interface Web de Funambol en s'identifiant sur
cette même interface.
VI.3. CONFIGURATION DES CLIENTS SPÉCIFIQUES À
L'ORDINATEUR
La procédure de configuration des clients de
l'ordinateur est presque unique. Tout comme le serveur Funambol permet de
recueillir les contacts des téléphones mobiles, ces clients
permettent de faire une copie des contacts non seulement sur l'ordinateur
client mais encore sur le serveur Funambol. Nous avons au total trois
clients : Mozilla Thunderbird, Funambol Outlook Sync Client,
Funambol Ipod Sync Client.
VI.3.1. Mozilla Thunderbird
Mozilla Thunderbird est un client de messagerie compatible
avec le serveur Funambol. Il permet à un internaute d'importer tous ses
courriers emails et de les consulter même en l'absence d'une connexion
internet. Mozilla Thunderbird dispose également d'un carnet d'adresses
que l'on peut remplir manuellement et les sauvegarder sur le serveur Funambol.
La presque totalité des modules incorporés sur les serveurs de
messagerie Gmail où Yahoo Mail, se retrouvent sur Mozilla Thunderbird.
Mozilla Thunderbird n'est pas au départ configuré pour
fonctionner avec le serveur Funambol. Pour procéder à la
configuration, on télécharge gratuitement Mozilla Thunderbird
qu'on installe soit sur une machine linux ou Windows. Bien que nous ayons
installé le serveur Funambol sur une machine Linux, les clients de
Funambol peuvent bien fonctionner sur une machine Windows. Dès que
Mozilla Thunderbird est installé, il va falloir installer le plugin
Funambol. Le plugin Funambol est à télécharger
gratuitement à l'adresse
https://mozilla-plugin.forge.funambol.org. On prend
soin d'enregistrer le plugin, car son téléchargement ne
s'incorpore pas automatiquement au serveur Funambol. On clique sur
Outils dans le menu de Mozilla Thunderbird. Dans
Outils, on choisit modules
complémentaires. La fenêtre suivante
apparaît :
Figure 10: Fenêtre de Mozilla Thunderbird pour
l'ajout de plugin Funambol
Dans cette fenêtre, on clique sur
installer. Le système nous renvoie vers
l'ensemble des fichiers et dossiers se trouvant sur l'ordinateur. C'est alors
qu'on oriente le système vers le dossier où a été
enregistré le plugin Funambol, et on l'ajoute à Mozilla
Thunderbird. Il reste maintenant à indiquer l'adresse du moteur de
synchronisation de Funambol sur le client de messagerie Mozilla Thunderbird. La
figure 11 représente l'interface de
configuration sur laquelle on effectue le paramétrage.
Figure 11: Fenêtre
de configuration du plugin Funambol pour Mozilla Thunderbird
Il ya trois paramètres à indiquer.
ü Location :
http://127.0.0.1:8080/funambol/ds. C'est l'adresse du
moteur de synchronisation. L'adresse IP 127.0.0.1 indique que les tests ont
été faits sur la machine hébergeant Funambol. Si la
machine qui héberge Funambol était une machine distante, il
suffirait d'indiquer l'adresse IP de cette machine à la place de
127.0.0.1.
ü Username:
guest. C'est le nom de l'utilisateur Funambol.
ü Password :
guest. C'est le mot de passe de l'utilisateur
guest.
Pour enregistrer les paramètres, on clique sur
ok. Le client Mozilla Thunderbird est ainsi
configuré pour effectuer les synchronisations avec le serveur Funambol.
Dans le menu de Mozilla Thunderbird, on trouve un module carnet d'adresse dans
lequel, on peut enregistrer ses contacts. Si on enregistre un contact dans
Mozilla Thunderbird, pour le synchroniser avec le serveur Funambol, on va dans
le menu Mozilla Thunderbird, on clique sur le module
Synchronize. La fenêtre suivante
apparaît.
Figure 12:
Déroulement d'une synchronisation avec Funambol Mozilla Sync
Client.
Dans cette fenêtre (figure
12), on clique sur Sync All. La
procédure de synchronisation se met alors en place. On peut même
observer cette procédure, qui apparaît comme un cerceau tournant
sur lui-même. Cette procédure de synchronisation ne dure pas. Mais
pour toute première synchronisation d'un dispositif mobile, le temps de
synchronisation prend quelques minutes, car il s'agit là d'un
SLOW SYNC/FULL SYNC.
VI.3.2. Funambol Outlook Sync client : autre
client de messagerie
Le mode de fonctionnement de Funambol Outlook Sync client est
semblable à celui de Mozilla Thunderbird. Mais son mode de configuration
est beaucoup plus aisé que celui de Mozilla Thunderbird. Il suffit de
télécharger Funambol Outlook Sync Client et de l'installer sur
une machine Windows. Ensuite on indique l'adresse du moteur de synchronisation
et de l'utilisateur Funambol comme cela a été fait dans le cas de
Mozilla Thunderbird. L'avantage de Funambol Outlook Sync Client est que sa
première synchronisation avec le serveur Funambol, permet de configurer
automatiquement la messagerie Microsoft Outlook. On n'aura plus à aller
sur un serveur de messagerie pour écrire ou consulter ses courriers
électroniques. Son interface graphique, figure
13, ressemble à celle de Funambol Mozilla Sync Client.
Figure 13:
Déroulement d'une synchronisation avec Funambol Outlook Sync
Client
VI.3.3. Funambol Ipod Sync Client
Funambol Ipod Sync Client synchronise les contacts par
liaison USB et les garde en mémoire pour un terminal mobile compatible
avec Funambol, que l'on connecte à un ordinateur. Il les
transfère par la suite au serveur Funambol. Il est
téléchargeable gratuitement sur le site de Funambol. Voici
à quoi il ressemble.
Figure 14: Interface
graphique de Funambol iPod Sync Client
Pour le configurer, on clique sur
Edit dans le menu de Funambol Ipod Sync Client, puis
sur communications settings. La fenêtre
suivante apparaît.
Figure 15: Interface de
configuration de Funambol iPod Sync Client
Les éléments à configurer sont les
suivants :
ü Server URL :
http://localhost:8080/funambol/ds. Les tests ayant
été faits sur la même machine hébergeant le serveur,
l'adresse IP est désignée ici par
localhost ;
ü Username :
guest ;
ü Password :
guest ;
ü Device Id : fip-ZGnKgYzSlyKhkKmcnuEnHA== (qui est
attribué automatiquement par Funambol, lors de l'installation. Cette
adresse varie d'une machine à une autre).
VI.3.4. Déroulement d'une requête de
synchronisation
Une requête de synchronisation typique se déroule
en suivant les étapes suivantes tel que le montre le diagramme de
séquence de la figure 16.
ü afin de se synchroniser, le dispositif mobile envoie
une requête au serveur Funambol ;
ü le HTTP Handler prend la requête en
charge afin de la traiter (par exemple association du message à une
session de synchronisation existante) ;
ü le message SyncML est alors transmis au
serveur Funambol et le moteur de synchronisation se charge de le
traiter ;
ü le moteur de synchronisation fait appel à des
sources de synchronisation qui définissent les accès
spécifiques à une base de données afin d'extraire les
données demandées par le client mobile ;
ü le moteur de synchronisation construit un message
SyncML de réponse et le renvoie au HTTP Handler qui va
l'empaqueter en réponse HTTP;
ü la réponse est retournée au dispositif
mobile.
Figure 16: Schéma
illustratif d'une requête de synchronisation
VII. AJOUT DE PLUSIEURS UTILISATEURS ET ADMINISTRATEURS
À FUNAMBOL [5]
A l'installation de Funambol, on dispose d'un compte
administrateur (admin) et d'un compte utilisateur
(guest). Mais l'administrateur de Funambol peut
supporter un million (1 000 000) d'utilisateurs. Pour étendre le serveur
Funambol, on peut enregistrer plusieurs autres utilisateurs en renseignant dans
l'interface administrateur les données suivantes :
ü Username : nom d'utilisateur qui
peut aller jusqu'à 255 caractères ;
ü Password : mot de passe de
l'administrateur, qui est sensible à la casse ;
ü Confirm password : mot de passe
à confirmer ;
ü First name : nom de famille de
l'utilisateur ;
ü Last name : prénom de
l'utilisateur ;
ü Email : l'adresse mail de
l'utilisateur ;
ü Roles : soit administrateur ou
simple utilisateur.
VIII. EXTENSION DU SERVEUR FUNAMBOL : CRÉATION
D'UN CONNECTEUR [5]
Afin de rendre la solution Funambol compatible avec un serveur
externe, il est possible d'étendre cette plateforme en
développant un module, que l'on désigne
généralement par connecteur. Celui-ci peut avoir
plusieurs formes :
ü Source de synchronisation
: pour une compatibilité avec une base de données externe.
Les sources de synchronisation sont utilisées dans le
développement d'un connecteur qui correspond à un module
destiné à permettre la synchronisation avec une base de
données spécifique. Pour chaque type de contenu (comme contacts
d'un carnet d'adresse, événement d'un calendrier, tâches,
etc.), le connecteur doit fournir un type de source de synchronisation
correspondant grâce auquel une instance de source de synchronisation peut
être créée. Ainsi le type de source de synchronisation
ContactSyncSource est utilisé par le serveur Funambol pour
permettre la synchronisation des contacts stockés dans une base de
données spécifique ;
ü Officer : pour une
compatibilité avec un système d'authentification
externe ;
ü Synclet :
définissant les traitements à effectuer sur un message SyncML
avant et après qu'il soit pris en charge par le moteur de
synchronisation.
Un module est composé d'un ensemble de classes Java, de
scripts d'installation, de fichiers de configuration et de scripts SQL. La
structure d'un module type est illustrée par la figure
17. Les noms des fichiers spécifiés sont
donnés à titre d'exemple. Le dossier
lib/ contient les classes Java empaquetées
dans un fichier JAR. Le dossier config/
contient les fichiers de configuration du module. Le dossier
install/ contient le fichier
install.xml qui est appelé lors de
l'installation du module sur le serveur Funambol. Dans le dossier
sql/ sont stockés les scripts SQL qui
permettent de créer, supprimer et initialiser une base de
données.
Figure 17: Arborescence
d'un module Funambol
IX. ARCHITECTURE DE LA PLATEFORME DE SAUVEGARDE UTILISANT
FUNAMBOL[25]
Il existe deux services Funambol. L'un est offert gratuitement
depuis internet. Celui-ci est soumis à certaines conditions. Les
internautes qui découvrent ce service ont seulement quatre vingt dix
(90) jours d'essai. Mais si l'internaute est très actif sur le forum
Funambol, le temps d'essai peut être rallongé. Le service en ligne
s'étend à Facebook, Gmail, Yahoo Mail, AOL, MSN, Picasa Web
Albums et aux différents clients Funambol déjà
étudiés plus haut. La figure 18
représente une architecture complète de la plateforme
Funambol.
Figure 18: Architecture
complète d'une plateforme Funambol
Les composantes comprenant la plateforme sont ainsi
décrites :
ü Mobile phones, connected devices, consumer
electronics : il s'agit des appareils électroniques, qui
sont compatibles avec le moteur de synchronisation du serveur
Funambol ;
ü Emails/Contacts/Calendar
Systems : c'est l'ensemble représentant les serveurs de
messageries et aussi les serveurs de calendriers en ligne ;
ü Social Network : il s'agit des
réseaux sociaux comme Facebook, Picasa. Mais la plupart des services
liés à ces réseaux sont encore en étude ;
ü Desktp Apps : ce sont les clients
spécifiques aux ordinateurs que nous avons déjà
décrits un peu plus haut ;
ü Web portal : c'est le portail web
du serveur Funambol. C'est le service qui est visible par les internautes.
Après avoir enregistré manuellement des contacts sur
Google Contacts, nous les avons importés pour les
incorporer à la plateforme Funambol en ligne. Et nous avons obtenu le
schéma suivant :
Figure 19: Plateforme de
sauvegarde de Funambol en ligne.
Dans ce schéma (figure 19),
on a les sections suivantes :
ü I : c'est le domaine qui permet
de donner une vue des différents serveurs de messageries et les
réseaux sociaux qui s'étendent à Funambol. La version
actuelle de la plateforme regroupe au total huit (8) serveurs de messageries et
de réseaux sociaux ;
ü II : ici, on dispose des
contacts. On peut en enregistrer manuellement. Mais les contacts qui figurent
ici ont été importés depuis la plateforme Google
Contacts ;
ü III : dans cet espace, on peut
définir soit même son calendrier de travail ;
ü IV : ici, nous retrouvons les
paramètres avec lesquels, nous nous sommes enregistrés, qui
comprennent une photo, la marque de portable utilisée qui est
ZTE e760, et l'adresse e-mail. A cela s'ajoutent les liens de
téléchargement de certains clients Funambol.
La plateforme Funambol s'étend donc à
différentes applications en ligne et plusieurs types d'appareils
électroniques. Ce qui est bon de savoir, c'est qu'il est
également possible de développer soit même la plateforme de
la figure 19, en procédant à la
configuration de diverses autres applications. C'est à partir du serveur
Funambol que cela est possible. L'architecture complète d'une plateforme
Funambol est donc semblable à la figure 19.
PARTIE VI : IMPLEMENTATION DES DIFFERENTES SOLUTIONS
Les recommandations pour la mise en oeuvre des
différents services développés, sont décrites dans
cette partie. Il s'agit bien évidemment de la sauvegarde par SMS et par
WEB. A cela, s'ajoutent les intérêts liés aux
différents services. Il est bon de retenir, que la mise en oeuvre de ces
différents services ne nécessitera pas de nouveaux
investissements pour DAT.
CHAPITRE II :
IMPLEMENTATION DU SERVICE DE SAUVEGARDE PAR SMS
Le service de sauvegarde par SMS est développé
pour être vendu aux opérateurs de téléphonie mobile.
Sa mise en oeuvre ne nécessitera pas de grands moyens. De plus ce
service peut être utilisé à d'autres fins.
I. ELÉMENTS NÉCESSAIRES À LA MISE EN
oeUVRE DU SERVICE
Le service de sauvegarde de répertoire par SMS peut
être supervisé soit par les opérateurs soit par DAT. Dans
le cas où DAT devrait héberger le service de sauvegarde par SMS,
alors les éléments suivants seraient indispensables :
ü attribution d'un shortcode par les opérateurs
pour permettre aux abonnés des différents opérateurs de
transférer leur SMS vers un des serveurs de DAT ;
ü une machine sur laquelle les serveurs EasyPHP et KANNEL
sont bien installés et soigneusement configurés ;
ü une connexion internet.
Dans la pratique, DAT n'aura pas à faire de nouveaux
investissements. En effet, c'est seul le shortcode que DAT n'a pas. Celui-ci
relève de la contribution des opérateurs. DAT dispose
déjà d'une connexion internet et de plusieurs autres machines
serveurs sur lesquels les serveurs EasyPHP et KANNEL sont bien fonctionnels.
II. EXTENSION DU SERVICE DE SAUVEGARDE À D'AUTRES
SERVICES
Le service de sauvegarde de répertoire par SMS sera
plus vulgarisé s'il était simplement compris comme un service
permettant de sauvegarder des SMS de tout genre. En effet, les portables
actuels ont des capacités souvent réduites. Dès que la
mémoire est remplie, alors le portable ne reçoit plus de SMS
jusqu'à ce que l'abonné ait supprimé certains de ces SMS
et avoir libéré un peu d'espace pour permettent aux nouveaux SMS
d'être pris en compte. Ce qui entraîne donc une destruction des
anciens SMS au profit des nouveaux. Les abonnés reçoivent par
contre des SMS si importants que certains méritent d'être
sauvegardés. Le service développé dans le cadre de ce
rapport peut donc palier à ce problème en permettant de
protéger ces SMS. On pourra même étendre le service
à la sauvegarde de fichiers plus gros comme des romans, des images, des
fichiers sons et même de la vidéo.
III. AVANTAGES DU SERVICE DE SAUVEGARDE PAR SMS
Les avantages du service de sauvegarde par SMS sont
énormes. La liste suivante en donne un bref aperçu :
ü souscrire au service en tout temps et en tout lieu.
L'abonné n'a pas besoin de se rendre dans une agence de son
opérateur pour bénéficier du service. Il lui suffira
simplement d'envoyer un mot clef au shortcode choisi pour le service ;
ü l'abonné peut enregistrer des SMS ne contenant
pas forcement un contact téléphonique. En effet, un abonné
averti peut enregistrer un SMS selon ses choix ;
ü l'opérateur bénéficie de la
confiance de l'abonné et est rassuré que l'abonné ne
perdra pas ses contacts ;
ü l'opérateur continue de faire sa promotion avec
les abonnés ayant souscrit au service ;
ü le service peut être utilisé par n'importe
quelle marque de téléphone.
IV. LIMITES DU SERVICE DE SAUVEGARDE PAR SMS
Le service de sauvegarde par SMS est limité pour les
raisons suivantes :
ü les contacts sont enregistrés manuellement par
les abonnés ;
ü le temps pris pour écrire un SMS à
sauvegarder est long ;
ü les abonnés peuvent envoyer n'importe quel genre
de messages ne contenant par forcement des contacts sans que le programme
puisse les interdire. Ce qui peut générer un trafic inutile sur
le réseau.
La mise en place du serveur Funambol pour sauvegarder les
contacts depuis internet viendra donc palier aux différents
problèmes rencontrés dans la sauvegarde par SMS.
CHAPITRE III : IMPLEMENTATION DU SERVICE DE SAUVEGARDE PAR
WEB
Le service de synchronisation utilisant un serveur Funambol
s'adapte à différents types d'entreprises. A priori, le service
est destiné aux opérateurs de téléphonie mobile.
Mais à posteriori, le service peut s'étendre à d'autres
entreprises.
I. OUTILS REQUIS POUR LA MISE EN oeUVRE DU SERVEUR
FUNAMBOL
Les ressources suivantes sont suffisantes pour la mise en
place d'un serveur Funambol pour la synchronisation des contacts :
ü une connexion internet haut débit ;
ü une machine où le serveur Funambol est
installé ;
ü une adresse IP publique dans le cas de l'utilisation
de la liaison OTA (c'est à dire utilisant les ondes radio), qui utilise
le réseau GPRS des opérateurs.
III. EXTENSION DU SERVEUR FUNAMBOL[3][4]
En vue de permettre l'extension du serveur Funambol, nous
allons étudier l'extension de Funambol au serveur Zimbra. Mais avant
d'entamer toute procédure d'extension du serveur Funambol, il faut
quelques pré-requis, à savoir :
ü le serveur de synchronisation de Funambol doit
être installé et démarré ;
ü Java 2 SDK (Software Development Kit) version 1.5 ou
supérieure installée sur le serveur ;
ü Apache Maven installé sur le serveur ;
ü Funambol SDK.
Le serveur de synchronisation de données de Funambol et
Java 2 SDK sont installés en même temps que le serveur Funambol.
Il suffit de les activer en démarrant le serveur Funambol. Par contre,
il faut télécharger Funambol SDK sur le site officiel de
Funambol. La dernière version d'Apache Maven est
téléchargeable sur le site d'Apache Maven à l'adresse
maven.apache.org. Apache Maven est un outil logiciel
libre pour la
gestion et
l'automatisation de production des projets logiciels
Java.
Le processus de création d'un connecteur se
déroule en plusieurs étapes.
ü création du projet avec Apache Maven ;
ü développement des sources de
synchronisation ;
ü installation du connecteur.
Les figures suivantes sont des exemples des connecteurs Google
et Yahoo, placés l'un à coté de l'autre. Le connecteur
Google est à gauche et le connecteur Yahoo à la droite.
Figure 20: Interface
graphique des connecteurs Funambol Google et Yahoo
III.1. EXTENSION DU SERVEUR FUNAMBOL AU SERVEUR ZIMBRA
[9][17][24]
III.1.1. Présentation du serveur Zimbra
Zimbra est une solution collaborative Open Source
destinée à remplacer Microsoft Exchange. Elle est facilement
administrable, basée sur des standards, interopérable et
évolutive. Elle repose sur un annuaire LDAP centralisé.
L'administration par une interface Web ou en ligne de commandes et
l'intégration aisée de Samba en facilite la gestion. La
synchronisation des calendriers et des contacts vers les clients de messagerie
ou l'utilisation de l'interface Web en font un outil idéal pour
l'utilisateur nomade, notamment avec le terminal mobile. L'intégration
de Zimbra, Samba et LDAP offre aux utilisateurs de nouveaux services, en
particulier une authentification unique et un accès complet à
toutes les fonctionnalités (courriers électroniques, agendas,
contacts) au travers d'une interface Web ou de clients lourds de messagerie, et
cela, indépendamment de la localisation et de la plateforme.
Zimbra est développé à partir de
logiciels libres et est basé sur des standards :
ü Apache Tomcat, serveur d'applications Web
utilisé par Zimbra ;
ü Postfix, Amavisd-new, ClamAV, SpamAssassin, pour la
gestion de la messagerie, incluant un antipourriel et un antivirus ;
ü OpenLDAP, implémentation libre du protocole LDAP
fournissant l'authentification des ressources de Zimbra ;
ü MySQL, gestion des métadonnées ;
ü Lucene, outil d'indexation et moteur de recherche des
courriels ;
ü James/Sieve, filtres de courriels.
III.1.2. Installation du connecteur Zimbra
Il existe des sources de Zimbra déjà
développées pour Funambol notamment Funambol Zimbra
Connector. Nous aborderons ici l'installation du connecteur Zimbra sur
le serveur Funambol. La dernière version du connecteur Zimbra est
téléchargeable à l'adresse
http://sourceforge.net/projects/zimbrafunambol/.
Lorsqu'on se trouve sur cette page, on clique sur
"View all files" et on télécharge
l'extension .s4j des différentes sources
Zimbra. C'est le fichier ZimbraConnector.s4j.
Dès qu'on finit le téléchargement, on copie le connecteur
dans le répertoire suivant :
$Funambol-Home/ds-server/modules.
On crée un répertoire
connector dans
$Funambol-Home/config.
Ensuite on crée le fichier
« ZimbraConnector.xml » dans le
dossier connector. Il faut maintenant éditer
le fichier ZimbraConnector.xml et copier le code
suivant :
-----------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.5.0" class="java.beans.XMLDecoder">
<object
class="ru.korusconsulting.connector.config.ConnectorConfig">
<void property="dataSource">
<string>jdbc/fnblds</string>
</void>
</object>
</java>
-----------------------------------------------------------------------------------------------------------------
Il faut éditer à présent le fichier
install.properties qui se trouve dans le
répertoire $Funambol-Home/ds-server et copier
l'expression « ZimbraConnector»
à la suite des modules déjà présents sur Funambol.
Ainsi aura-t-on :
modules-to-install=content-provider-8.7.0,email-connector-8.7.0,foundation-8.7.0,phones-support-8.7.0,webdemo-8.7.0,
ZimbraConnector.
Les modules marqués ici en bleu sont déjà
présent à l'installation du serveur Funambol. Le nouveau module
que nous avons ajouté est ZimbraConnector, qui est coloré en
rouge.
Pour achever l'installation, il faut ouvrir un terminal linux
et se placer dans le répertoire
$Funambol-Home/ds-server/bin.
Il faut maintenant taper dans le répertoire
$Funambol-Home, la commande :
install-modules.sh.
Quelques secondes après, plusieurs messages
apparaitront. Le premier message est de la forme :
-----------------------------------------------------------------------------------------------------------------
[echo] Funambol Data Synchronization Server
will be installed on the Tomcat 6.0.x application server
[echo] Undeploying funambol...
[echo] Pre installation for modules
content-provider-8.0.0,email-connector-8.0.0,foundation-8.0.0,phones-support-8.0.0,webdemo-8.0.0,ZimbraConnector
[echo] content-provider-8.0.0
pre-installation...
[echo] content-provider-8.0.0
pre-installation successfully completed
[...]
[echo] ZimbraConnector pre-installation...
[echo] ZimbraConnector pre-installation
successfully completed
[echo] Copying configuration files
-----------------------------------------------------------------------------------------------------------------
S'en suit une série de questions vous demandant, pour
chaque connecteur, si vous souhaitez recréer la base de données.
Répondre "y" écrasera l'éventuelle
configuration existante. Sur un serveur nouvellement installé,
répondre "y" permet de s'assurer que tout est en ordre,
sur un serveur déjà en production, il convient de répondre
"n" à tous les connecteurs, sauf le dernier, qui est Zimbra.
L'installation du connecteur Zimbra est ainsi achevée.
III.1.3. Configuration du serveur Funambol pour
Zimbra
Une simple installation du connecteur Zimbra ne permet pas au
serveur Funambol d'accepter des synchronisations venant du serveur Zimbra. Il
faut à présent configurer les sources de synchronisation pour le
connecteur Zimbra dans l'outil d'administration du serveur Funambol.
Dans la barre de navigation qui s'affiche tout à fait
à gauche de l'outil d'administration,
ü double-cliquer sur
"Modules" ;
ü puis "foundation" ;
ü puis
"FunambolFoundationConnector" ;
ü puis, dans "Pim Calendar
SyncSource", faire un clic droit et choisissez
"delete" sur : "cal", "event",
"scal", "stask" et "task" ;
ü dans "Pim Contact
SyncSource", faire un clic droit et choisissez
"delete" sur : "card"
et "scard".
Il faut maintenant ajouter les sources de données dans
le connecteur Zimbra, comme cela est décrit par la figure
21:
Figure 21:
Procédure d'ajout des sources de synchronisation au connecteur
Zimbra.
Dans le menu FunambolZimbraConnector, il faut double-cliquer
sur CalendarSyncSource, ContacSyncSource, GalContactSyncSource
et remplir les différents champs qui apparaissent à droite de
l'outil d'administration. Un exemple type du remplissage tel qu'il doit
être effectué est décrit par le tableau suivant :
----------------------------------------------------------------------------------------------------------------
Source URI = cal; event; scal; stask; task;
Name = cal; event; scal; stask;
task;
Zimbra URL =
http://Srv_messagerie:port/service/soap/
-----------------------------------------------------------------------------------------------------------------
Le serveur est maintenant opérationnel et peut
accepter les synchronisations.
III.2. INTÉRÊTS DU COUPLAGE DU SERVEUR ZIMBRA
À FUNAMBOL
La version Open Source de
Zimbra ne comprend pas de
modules de synchronisation. Par contre la version Open Source de Funambol
comprend un module de synchronisation. Les utilisateurs des services Funambol
peuvent synchroniser leurs carnets d'adresses et bien d'autres
éléments sans pour autant accéder à ces
données depuis internet. En installant donc Zimbra et son connecteur
Funambol, il y aura donc un transfert de données entre les deux
serveurs. Lorsqu'un utilisateur synchronise son carnet d'adresses, il pourra
donc consulter l'ensemble de ces données sur le serveur Zimbra.
L'utilisateur pourra aussi effectuer des synchronisations sur le serveur et ses
données seront prises en compte sur son mobile. Par ailleurs,
l'opérateur peut également continuer à faire de la
publicité sur l'interface WEB de Zimbra pour tous les abonnés qui
viendront consulter leurs données sur Zimbra.
IV. MISE EN oeUVRE DU SERVEUR FUNAMBOL
Le serveur Funambol peut être commercialisé
auprès de toutes les entreprises désirant obtenir un service de
synchronisation de leurs données, à savoir le carnet d'adresses,
le calendrier, les emails et bien d'autres éléments. Dans le
cadre d'un opérateur, on attribuera un mot de passe et un nom
d'utilisateur à chaque abonné et on renseignera ces
données dans l'interface d'administration du serveur Funambol.
Concernant le mode de configuration d'un client mobile, il peut s'effectuer de
deux manières :
ü soit la procédure de paramétrage est
publiée sur le site de l'opérateur, mais le nom d'utilisateur et
le mot de passe restent payants ;
ü soit l'abonné se rend dans une des agences de
l'opérateur pour que la configuration soit faite pour lui.
Pour les entreprises voulant synchroniser leurs
données, il faudra installer sur leurs machines l'ensemble des clients
Funambol pour les ordinateurs à savoir : Funambol Mozilla
Thunderbird, Funambol iPod Sync Client, Funambol Outlook Sync Client
et leur attribuer des mots de passe et des noms d'utilisateurs
renseignés dans l'interface d'administration du serveur Funambol.
V. INTÉRÊTS DE LA PLATEFORME DE SAUVEGARDE
UTILISANT FUNAMBOL
Les intérêts liés à la mise en
place d'un serveur Funambol sont énormes et iront croisant avec
l'avènement des terminaux UMTS, qui incluent à leur sortie
d'usine des modules SyncML. Parmi les nombreux privilèges de la mise en
place d'un serveur Funambol, on peut énumérer :
ü la possibilité d'une synchronisation en tout
temps et en étant dans n'importe quel pays ;
ü l'adaptation de la plateforme de synchronisation
à diverses entreprises ;
ü possibilité de faire une synchronisation
automatique sans que l'Abonné ait à initier des opérations
de synchronisation ;
ü mise en place pas coûteuse pour DAT ;
ü le serveur Funambol fonctionne dans un réseau
local et aussi sur internet.
PARTIE VII : CONCLUSION
Au terme de notre projet, deux services de sauvegarde ont
été développés, notamment les services de
sauvegarde par SMS et par WEB. L'utilisation des SMS pour sauvegarder des
contacts est applicable à tout type de portable. Mais la
procédure de sauvegarde par SMS est manuelle. Par contre, la technique
de la seconde solution de sauvegarde est simple et ne demande pas de grands
efforts pour les utilisateurs. Néanmoins elle s'adapte aux portables
ayant un module SyncML. L'avancée des réseaux de troisième
génération qui s'accompagne de terminaux mobiles avec le module
SyncML fera le succès dans un futur proche de la solution de
synchronisation par WEB.
Face aux vols récurrents des terminaux mobiles qui
peuvent entrainer une baisse drastique des revenus de la
téléphonie, et également la perte de donnés dans le
monde professionnel, les entreprises ne devraient pas attendre que le pire
arrive pour aller à la recherche de méthodes de sauvegarde. DAT
dispose de solutions toutes prêtes qui s'adaptent à toutes les
entreprises.
Ayant pu parvenir à une solution sans aucune
documentation au départ sur laquelle prendre appui pour la
réalisation de ce projet, ce projet a amplifié en nous le
goût d'internet ; surtout des groupes de travail, des forums, des
applications Open Source et des systèmes d'exploitation Linux. Cela
nous amène à citer IBRAHIM YOUSSRY,
directeur général de Microsoft WCA
« l'utilisation de la technologie pour développer
le volume d'affaires n'implique pas un grand investissement, ..., tout ce qu'il
faut c'est une connexion internet ».
REFERENCES BIBLIOGRAPHIQUES
LIVRES ET DOCUMENTS NUMERIQUES
[1] BARDES ERIC/
Industrialiser une application de téléchargement et
d'administration d'applets sur carte SIM/RAPSODIA software &
Télécommunications/ 6 février 2000/19 pages.
[2] Explosion du
téléphone cellulaire en Afrique/AFRIQUE HORIZON, Vol. 23
N°4, janvier 2010, page 24.
[3] Funambol/Funambol DM Server
Administration Guide/Funambol/juillet 2006 version 3/ 9 pages :
administration du service de synchronisation de Funambol, document
incomplet.
[4] Funambol/Funambol Open-Xchange
Connector Installation and Configuration Guide/Funambol/ 22 juillet 2009/ 17
pages : énumération de toutes les étapes pour
l'extension d'un serveur Funambol à Open Exchange.
[5] Funambol/Funambol version 8.5
Installation and Administration Guide/Funambol/15 avril 2010/ 72 pages :
document fourni en téléchargement à toute
nouvelle installation de Funambol pour l'administration et toute autre
éventuelle installation.
[6] Gemalto/Java Card &
STK Applet Development Guidelines/ GEMALTO/ version 2: 1er
décembre 2009/ 53 pages: guide de développement des
cartes et puces et des STK.
[7] HAMED
SEKANDARY/ Projet de synchronisation entre une plateforme de
courtage immobilier et des clients mobiles/ Groupe de Génie Logiciel
Département d'Informatique de l'Université de Fribourg
(Suisse)/février 2010/ 129 pages : ajout d'un module de
synchronisation au logiciel IMMOMIG COURTAGE par utilisation de Funambol ;
procédure de configuration d'un client mobile non
spécifiée.
[8] IBRAHIM YOUSSRY- Directeur
Général de Microsoft WCA/ le développement par la
technologie/ le journal de l'économie N° 081 du lundi 13 au
dimanche 19 septembre 2010, page 11.
[9] MARC CHANOVE/Zimbra, Samba,
LDAP : un Exchange à la sauce open-source/Maison des Sciences de
l'Homme-Alpes, CNRS de France/non daté/5 pages :
installation et administration de Zimbra ; documentation
partielle sur Zimbra.
[10] Pascal Urien/ Cours cartes
à puce/www.developpez.com/ 2008/99 pages : historique,
évolution et domaines d'application des cartes à
puces.
[11] Pierre TETY/Architecture
Réseaux GSM/ département Génie éclectique et
électronique (GEE) de l'INP-HB/ décembre 2009/ 54
pages : généralités sur le réseau
GSM, architecture, authentification-chiffrement, concept cellulaire et canaux
logiques.
[12] Samia Bouzefrane & Hai
Binh LE/Les Cartes SIM/USIM/Laboratoire CEDRIC CNAM/36 pages :
cours sur les cartes SIM/USIM, date de publication non
indiquée.
[13] Sébastien RAMET Julien
ROSSI/ Syncml, Module UE libre - Développement d'applications pour les
terminaux mobiles/Université de Pircadie (France)/ 24 pages :
présentation du protocole SyncML.
[14] STEFANO
FORNARI/ Funambol Mobile Open Source/PACKT Publissing/
première édition : décembre 2009/ 271 pages.
Stefano Fornari est le directeur technique et cofondateur de
Funambol. Il publie dans Funambol Mobile Open Source, toutes les
procédures pour comprendre et administrer rapidement
Funambol.
[15] TETY Pierre-coordonnateur de
la filière télécom/discours lors de la remise de
diplômes des ingénieurs télécom de la
huitième promotion et du lancement de l'AITP (Association des
Ingénieurs Télécoms de la
Polytechnique)/25-septembre-2010.
WEBOGRAPHIE
[16]
http://code.google.com/apis/contacts/docs/2.0/developers_guide_java.html:
consulté le 17-05-2010.
[17]
http://www.websms.com/fr/index.html: consulté le
17-07-2010.
[18]
http://linux.developpez.com/cours/: consulté le
18-05-2010.
[19]
http://forum.pcastuces.com/sauvegarde__repertoire_telephone_portable-f10s1396.htm:
consulté le 14-05-2010.
[20]
http://www.lefigaro.fr/hightech/2008/01/16/01007-20080116ARTFIG00346-comment-sauvegarder-son-repertoire-de-portable.php:
consulté le 14-05-2010.
[21]
http://assistance.sfr.fr/mobile_forfait/services/repertoire/fc-2413-62065?sfrintid=av_lucie_serv_ass:
consulté 14-06-2010
[22]
http://www.mobilethink.com/homepage/home.jsp, consulté
le 14-07-2010.
[23]
http://www.modulaweb.fr/blog/2009/02/installation-de-funambol-couple-a-zimbra-sur-un-serveur-gnu-linux/,
consulté le 02-07-2010 : documentation sur l'extension
de Funambol à Zimbra.
[24]
http://www.yakakliker.org/index.php/Configurer_Funambol_pour_Zimbra_5.0,
consulté le 05-07-2010 : couplage de Funambol à
Zimbra, documentation peu fournie sur Zimbra.
[25] http://www.funambol.com.
PARTIE VIII : ANNEXES
A. ETUDE DES APPLICATIONS STK
[1][6][10][12]
1. Présentation de la carte SIM
Une carte SIM a presque les mêmes composantes qu'un
ordinateur, à savoir un processeur (CPU) et des mémoires RAM,
ROM, EEPROM.
ü la ROM (Read Only Memory) contient le
système d'exploitation de la carte et les mécanismes de
sécurité (algorithmes spécifiques (API GSM)) ;
ü l'EEPROM (Electrically Erasable
Programmable Read Only Memory) contient des répertoires définis
par la norme GSM (tels que les numéros de téléphones
l'abonné) et des données liées aux applets (service de
messages courts et applications spécifiques) ;
ü la RAM (Random Access Memory) permet
d'effectuer des calculs ou de charger des instructions et les
exécuter.
La figure 22 donne un aperçu
d'une carte SIM, et des différentes actions.
Figure 22:
Schéma illustratif d'une carte SIM.
Une carte SIM réalise les fonctions suivantes :
ü identification et authentification d'un
abonné ;
ü confidentialité des données
inchangées ;
ü sécurisation des accès aux fichiers
à l'aide d'un PIN code.
Pour effectuer toutes les fonctions précédentes,
la carte SIM :
ü contient les détails de l'abonnement : IMSI, Ki,
clé secrète d'authentification, langage de
préférence, carnet d'adresses, ...
ü contient les secrets permettant de réaliser la
confidentialité d'un Abonné :
- codes secrets PIN et PUK ;
- clés secrètes pour l'authentification ou le
cryptage ;
ü permet le chargement de services sur la carte dans un
environnement sécurisé permettant : l'interaction avec le mobile,
l'affichage d'infos sur l'écran, la saisie des données par
l'utilisateur, composer des appels, interagit avec le réseau via
l'envoi/réception de messages SMS, GPRS, obtient des infos de
localisation capable d'interagir avec le système de fichiers de la carte
SIM.
2. Le modèle SimToolKit ou SIM Application
Toolkit
Ce modèle est décrit par les deux documents
suivants :
ü «Digital cellular telecommunications system
(Phase 2+);Specification of the SIM Application Toolkit for the Subscriber
Identity Module - Mobile Equipment (SIM-ME) interface)», ETSI TS 101
267 - 3GPP TS 11.14.
ü «Digital cellular telecommunications system
(Phase 2+); GSM API for SIM toolkit stage», ETSI TS 101 476 - 3GPP TS
03.19.
2.1. Commandes proactives
On désigne par commande proactive, une action
contrôlée par la carte SIM mais exécutée par le
mobile, c'est-à-dire une STK. Les actions effectuées par une STK
sont essentiellement :
ü DISPLAY TEXT, affiche un texte sur
l'écran du mobile ;
ü GET INKEY, affiche un texte sur
l'écran du mobile et attend la frappe d'un caractère en
retour ;
ü GET INPUT, affiche un texte sur
l'écran du mobile et attend une réponse en retour ;
ü GET READER STATUS, délivre de
l'information pour un lecteur de carte additionnel disponible sur le
mobile ;
ü MORE TIME, la carte SIM indique
qu'elle a besoin de plus de temps pour traiter une requête
précédente. Le terminal acquitte cette notification par une
commande TERMINAL RESPONSE (OK) ;
ü PERFORM CARD APDU, la carte SIM
demande au terminal de router une commande APDU vers un lecteur de carte
additionnel ;
ü PLAY TONE, le mobile diffuse une
sonnerie ou tout signal sonore approprié ;
ü POWER OFF CARD, termine une session
avec une carte externe ;
ü POWER ON CARD, démarre une
session avec une carte externe ;
ü PROVIDE LOCAL INFORMATION, le mobile
renvoie des informations relatives au pays et réseau dans lequel il
fonctionne ;
ü REFRESH, demande d'initialisation de
la carte SIM et/ou indication que le contenu de fichiers EF a été
modifié ;
ü RUN AT COMMAND, envoi d'une commande
AT au mobile et attente d'une réponse AT ;
ü SEND DTMF, envoi d'un signal DMTF
durant en phase d'établissement d'appel ;
ü SEND SHORT MESSAGE, envoi d'une
message SMS vers le réseau ;
ü SEND USSD, envoi d'une chaîne
USSD vers le réseau ;
ü SET UP CALL, prise en charge d'un
appel téléphonique ;
ü SET UP EVENT LIST, la carte SIM
fournit une liste d'évènements auxquels il souscrit ;
ü SET UP IDLE MODE TEXT, une
chaîne de caractère utilisé par le mobile en mode
« stand-by mode text » ;
ü SET UP MENU, une liste de choix est
incorporée dans la structure des menus du mobile ;
ü TIMER MANAGEMENT, demande de gestion
d'une horloge (démarrage, arrêt, et lecture de la valeur
courante).
2.2. Les cartes à puces TOP de
Gemalto
Comme nous l'avons déjà signalé plus
haut, Gemalto est le leader mondial de la carte à puce, avec 80% du
marché. La carte à puce dédiée pour la sauvegarde
de répertoire est un produit de Gemalto. Tous les opérateurs qui
ont implémenté ce service dans leur plateforme
bénéficient d'un Blog sur un serveur de Gemalto, de sorte que
pour toute opération de sauvegarde utilisant le répertoire de la
carte SIM, les données de l'abonnées sont
transférées sur les serveurs de Gemalto.
En vue de permettre à plusieurs autres entreprises de
développer des applets java et de les charger sur les puces, Gemalto
offre des cartes nommées TOP : Trusted Open Platform, (plateforme
ouverte de confiance). Ces cartes disposent d'un espace de stockage de 32 Ko
à 128 Ko. Voici le tableau donnant toutes les caractéristiques de
ces cartes.
TOP Java
Card
|
TOP IS GX4
|
TOP IM
FIPS CY2
|
TOP IM
GX4
|
TOP DM
GX4
|
TOP DL
GX4
|
EEPROM
(Ko)
|
36
|
68
|
|
72 78
|
128
|
2.3. Présentation du logiciel «Gemalto
Developer Suite»[6]
Gemalto Developer Suite est une plateforme destinée aux
développements d'applications chargeables sur une carte à puce.
Ce logiciel existe en trois différentes versions :
ü Free Evaluation Kit. Cette version du
logiciel est gratuitement téléchargeable sur le site internet de
Gemalto developer.gemalto.com. Il sert juste à
avoir une vue des différentes outils de « Gemalto
Developer Suite ». Sa date d'utilisation est
limitée ;
ü Full Kit. Pour un développeur
qui apprécie les fonctionnalités de la version
précédente, il peut s'enregistrer sur le site de Gemalto et avoir
quelques fonctionnalités de plus que la version Free Evaluation
Kit ;
ü Enterprise Kit. C'est la version
entreprise. Elle est destinée aux entreprises désirant
développer des applications sur les cartes à puces. Elle est
livrée avec quelques accessoires. Il s'agit entre autres des lecteurs de
cartes à puces, d'un échantillon de cartes et d'un support
technique en vue de l'accélération du développement.
B. LOGICIELS ET MATERIELS UTILISES
1. Logiciels de travail
ü Systèmes d'exploitation Windows, Linux
CentOS.
ü La suite logicielle de Microsoft Office.
ü Putty : pour les connexions à distance.
ü Funambol Open Source.
ü Funambol Mozilla Thunderbird.
ü Funambol Outlook Sync Client.
ü Internet download Manager : pour le
téléchargement rapide des fichiers et l'aspiration du contenu de
sites internet.
ü HTTrack : pour l'aspiration des sites internet.
ü EasyPHP : voir paragraphe 3.1.1.
ü PDFCreator : convertisseur de fichiers au format
PDF.
2. Matériels utilisés
ü Un portable Nokia N95-8G.
ü Un ordinateur Pentium 4 Intel Core 2 Duo E8200 de 3,5
G. de mémoire Ram, sur lequel est installé Windows XP3.
ü Une machine serveur sur laquelle est installé
Linux CentOS pour héberger le serveur Funambol.
GLOSSAIRE
- 3G : troisième
(3ème) génération de
téléphonie mobile, appelé aussi UMTS.
- Abonné : le client voix d'un
opérateur de téléphonie mobile.
- Adresse IP : identifiant d'une machine sur
Internet quand on utilise le protocole IP.
- Base de données : ensemble
structuré d'informations. Une base de données doit être
conçue pour permettre une consultation et une modification aisée
de son contenu, si possible par plusieurs utilisateurs en même temps.
- Blog : abréviation de weblog. Log
personnel, sur le web. C'est l'espace dont dispose un
internaute sur certains sites qui en proposent à leurs visiteurs.
- Bluetooth : technologie de connexion par
micro-ondes entre appareils portables, ordinateurs,
téléphones.
- Client : utilisateur d'un service
offert par un serveur.
- Configurer : paramétrer une
application pour l'adapter à un contexte donné.
- Congestion : type
d'« embouteillage » rencontré sur le réseau
lorsque plusieurs entités utilisent le même chemin pour accomplir
des tâches.
- Consortium : groupe de travail
réfléchissant sur un projet donné.
- Constructeur : fournisseur du
matériel utilisé sur un réseau mobile.
- Convergence réseaux : jonction
des protocoles de l'informatique et des télécommunications pour
la mise en place de services.
- DAT : Digital Afrique
Télécom.
- Faille : anomalies d'une application,
la laissant ouverte aux attaques.
- Fonction : ensemble d'ordres (pouvant
être un seul ordre) accomplissant une tâche particulière.
- FreeBSD : version libre d'Unix
(système d'exploitation de AT&T).
- Funambol : société
italienne installée à San Francisco, qui a
développé le serveur Funambol. Le sigle FUNAMBOL est
décrit par le tableau suivant.
- GPRS: General Packet Radio Service. Norme
de téléphonie mobile permettant aux terminaux mobiles
d'accéder à internet.
- GSM Global System for Mobile Communication
; norme de téléphonie mobile utilisée actuellement.
- Hébergement : c'est le fait
pour une machine de contenir le contenu d'une application ou un site
internet.
- HTTP : HyperText Transfer Protocol,
protocole de transmission dédié aux clients et aux serveurs du
web.
- iCalendar : version
améliorée de vCalendar.
- IMAP : Internet Message Access
Protocol, protocole de gestion de messagerie, destiné
à remplacer POP 3.
- Infrarouge : la partie du spectre
électromagnétique situé juste en-dessous de la
lumière visible (longueurs d'ondes plus grandes).
- IrDA : InfraRed Device Association.
Organisation pour promouvoir les standards de communication en point à
point.
- Localhost : adresse locale d'un
ordinateur, qui est généralement 127.0.0.1.
- MacOS : Mac Operating System,
système d'exploitation de l'entreprise MAC.
- Navigateur : logiciel permettant
d'accéder aux pages Web.
- OBEX : Le protocole OBEX est un
protocole de transfert qui définit des objets de données ainsi
qu'un protocole de communication qui permet à deux
périphériques Bluetooth de les échanger.
- OnePIN: entreprise basée à
Boston (la capitale et la principale ville de l'Etat du Massachusetts, au
nord-est des Etats-Unis d'Amérique), développant des applications
sur carte SIM.
- Onglet : interface graphique d'un
navigateur permettant d'accéder à un seule page Web.
- Open Source : code informatique ouvert
à tous pour toutes les modifications en vue d'une adaptation à un
contexte donné.
- Oracle : système de gestion de
bases de données le plus robuste et très répandu.
- OTA : Other The Air, à travers
l'air ou les ondes radio.
- Package : ensemble de fonctions
regroupées pour former un seul programme.
- Paquet : séquence
d'informations circulant sur un réseau.
- PDA : Personal Digital Assistant, type
de terminal mobile fonctionnant comme un ordinateur.
- PIN : Personal Identification Code,
code secret d'authentification sur une puce.
- Ping : Packet INternet Groper.
« Faire un PING » consiste à envoyer une
requête ICMP à un serveur. S'il répond,
c'est qu'on a des chances de pouvoir l'atteindre. Sinon, c'est qu'il est en
panne ou inaccessible.
- Plugin : module d'extension d'un
logiciel.
- POP3 : Post Office Protocol (version
3), protocole de transfert de courrier électronique, prévu pour
synchroniser les messages.
- Port : canal de communication qui
permet à deux ou plusieurs entités d'un réseau de
s'échanger des paquets.
- Processus : programme en cours
d'exécution.
- Protocole propriétaire : norme
spécifique à une entreprise.
- Protocole : norme établie pour
spécifier le mode de fonctionnement entre des entités dans un
réseau donné.
- PUK : Personal Unlock Code,
deuxième code secret d'authentification sur une puce.
- Pull : Méthode d'accès
aux données dans laquelle l'utilisateur doit aller chercher toutes les
informations lui-même par opposition au push.
- Push : Méthode s'accès
aux données dans laquelle l'administrateur d'un service envoie des
informations aux utilisateurs sans sollicitation préalable de leur
part.
- Répertoire : noeud de
l'arborescence de fichiers, sur un disque (les fichiers sont
les feuilles de ce même arbre).
- Requête : demande
généralement venant d'un client pour effectuer des actions sur un
serveur.
- Réseau social : type de site
internet destiné à faire échanger des informations entre
amis.
- Script : Suite d'instructions simples,
peu structurées, permettant d'automatiser certaines tâches en se
passant d'un réel langage informatique.
- Serveur : logiciel ou machine plus
robuste, effectuant les tâches plus rapidement et offrant des services
spécifiques.
- Shortcode (Numéro court) :
numéro de taille plus petite réservé à un service
donné.
- SIM : Subscriber Identity Module
(Module d'identification de l'abonné). Carte à puce stockant les
données propres à l'utilisateur.
- SMS : Short Message Service, (service
de messages courts).
- SMSCID : Short Message Service Center
Identity, c'est le nom de l'opérateur qui fournit le service de messages
courts.
- SMS-MO : SMS Mobile Originated, les
messages qui proviennent d'un mobile.
- SMS-MT : SMS Mobile Terminated, les
messages qui vont vers un mobile.
- SMTP : Simple Mail Transfer Protocol,
protocole de la famille TCP/IP utilisé pour le
transfert de courrier électronique.
- STK : SimToolKit.
- SVA : Service à Valeur
Ajoutée. Il s'agit de tout service autre que celui de la voix offert par
un opérateur de téléphonie mobile.
- SyncML : Synchronisation Markup
Language.
- Table : collection de listes
d'enregistrements, ceux-ci correspondants à des champs. Une table est
donc un tableau à deux dimensions.
- TCP/IP : Transmission Control Protocol
/ Internet Protocol. Les deux protocoles de communication qui forment les
fondements de l'Internet.
- Télécharger : aspirer
depuis une machine distante un fichier numérique.
- Terminal : appareil mobile.
- Tutorial: documentation consacrée
à l'apprentissage d'une technologie.
- USB : Universal Serial Bus. Interface
destinée à remplacer pas mal de choses dans un
PC (à commencer par le port
série et le port parallèle).
- Variable : emplacement en
mémoire stockant une donnée pouvant varier au cours de
l'exécution d'un programme.
- vCalendar : Format et méthode
de transport pour l'échange de calendrier et d'emplois du temps.
- vCard : visited card, (carte de visite
au format numérique).
- WAP : Wireless Application Protocol.
C'est un standard d'accès aux services internet sur le
téléphone portable.
- WCA: West, East and Central Africa.
- WEB : méthode d'exploitation
d'internet à l'aide d'hypertexte.
- Webmail : messagerie interne à
une entreprise.
- WIFI : Wireless Fidelity ; norme
des réseaux sans fil.
- XML: eXtensible Markup Language.
Année académique :
2009-2010
Maître de stage
M. TASSIHON KPA
Directeur Technique
Encadreur pédagogique
Professeur KONAN KOUAKOU
Maître de Conférences à
l'INP-HB
Présenté par SORO Namongon
Adama
En vue de l'obtention du diplôme
d'Ingénieur en Télécommunications et
Réseaux
Période de stage : 22 Avril 2010- 22
Octobre 2010
ETUDE, CONCEPTION ET REALISATION D'UNE PLATEFORME
DE SAUVEGARDE DE REPERTOIRE
THEME
MEMOIRE DE FIN DE CYCLE
N° d'ordre : 8 / 11 / ESI / ING TLC /
2010
Génie Electrique &
Electronique
Ecole Supérieure d'Industrie
Félix Houphouët Boigny
Institut National Polytechnique
Ministère de l'Enseignement
Supérieur et de la Recherche
Scientifique
République de Côte d'Ivoire
Union - Discipline - Travail
|