Vous êtes sur la page 1sur 111

Ecole Nationale d’Informatique Août 2014

CURRICULUM VITAE
RAMPANARIVO Andrianantenaina Fidèle
Lot 05G40 Bis Ampatana ANTSIRABE – MADAGASCAR
Tél: 033 49 198 28, 034 04 192 72
26 ans, célibataire
rampanarivoandry@gmail.com

I -FORMATIONS ET DIPLÔMES

 2012-2013: Etudiant en 2ème année de formation en MASTER à l’Ecole Nationale d’


Informatique (ENI), Université de Fianarantsoa

 2011-2012: Etudiant en 1ème année de formation en MASTER à l’Ecole Nationale d’


Informatique (ENI), Université de Fianarantsoa
 2010-2011: Etudiant en 3ème année en Mathématiques à la Faculté des Sciences, Université de
Fianarantsoa
Diplôme obtenu : LICENCE en Mathématique
Option : Mathématiques Physique
 2008-2009: Etudiant en 2ème année en Mathématiques à la Faculté des Sciences, Université de
Fianarantsoa
Diplôme obtenu : D.E.U.S II en Mathématique
Option : Mathématiques Physique
 2007-2008: Etudiant en 1ère année en Mathématiques à la Faculté des Sciences, Université de
Fianarantsoa
Diplôme obtenu : LICENCE en Mathématiques
Option : Mathématiques Physique
 2006-2007: Elève au lycée André Résampa Antsirabe
Diplôme obtenu: BACC série C
II- STAGES ET EXPERIENCES PROFESSIONNELLES
 Septembre 2013 : Stage de fin d’étude pour l’obtention du diplôme master professionnel
Durée du stage : 6 mois
Thème : conception et réalisation de site mobile et d’application mobile
Lieu : société Madagile Ambohitsoa Mahazoarivo Antananarivo
i

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

MINI-PROJETS EN INFORMATIQUE
 Juin 2013 : Réalisation d’un logiciel « Gestion de Service-Employé sous JAVA et
surveillance de sa Base de Données sous postgreSQL.»
 Décembre 2012 : Réalisation d’un logiciel « Système d’Information Géographique (SIG) des
22 régions de Madagascar.»
 Novembre 2012 : Réalisation d’un logiciel « Gestion d’une location de voiture utilisant le
Framework Java Server Faces et Hibernate.»
III -COMPETENCES INFORMATIQUES

 Systèmes d’ exploitation : SP2, SP3, Windows 7, Windows 8, Linux


 Langages de programmation :
o C/C++, JAVA, VB, Python
o Utilisation de framework : JavaServer Faces (JSF), Google Web Toolkit (GWT), .NET
o E-commerce : magento
o Développement d’application mobile sous Androïde
 Technologies web : html, css, PHP, ASP, JSP
 Script : java script, jquery, jquery mobile
 Méthode de conception : MERISE
 Notation : UML
 SGBD : MySQL, PostgreSQL, ACCESS
 Outils de développement : Eclipse, Netbeans, Adobe Dreamweaver CS6, Macromedia
 Serveurs d’applications : Apache, Tomcat, Wamp, Pgadmin, EasyPHP, IIS
IV - COMPETENCES LINGUISTIQUES

(1 : mauvaise, 2 : moyenne, 3 : bonne, 4 : excellente)

Langues Comprendre Lire Parler Ecrire et Rédiger


Français 4 3 2 2
Anglais 2 2 2 2
V -DIVERS

 Loisirs : enregistrer de chansons sur des CD, DVD, écouter de musiques


 Consulter du site internet
 Sports pratique : basketball, football
Je déclare sur l’honneur que les renseignements ci-dessus sont exacts et je signe.
RAMPANARIVO Andrianantenaina Fidèle ii

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

DEDICACE
Je dédie ce mémoire :
 A Dieu éternel, qui est mon appui tout au long de mes études ;
 A mes Parents RAPANARIVO Désiré et RASOARIMALALA Jeannette qui m’ont
soutenu aussi bien matériellement que moralement et sans ménager leurs efforts;
 A mes frères et sœurs et toute la famille ;
 A tous les personnes proches de moi qui m’ont aidé moralement pendant les périodes
difficiles de mes études ;
 A tous les personnels de la société Madagile Ambohitsoa Mahazoarivo
Antananarivo ;
 A tous les étudiants membres du groupe Texas qui m’ont fournis des aides précieuses
et aussi d’encouragement.

RAMPANARIVO andrinantenaina fidèle

iii

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

REMERCIEMENTS
Nous tenons à remercier Dieu qui, nous a donné la force et la santé pendant la période
d’études et aussi pour la bonne réalisation du stage.
Nous remercions tous les employés et les stagiaires de la société Madagile pour tout
le temps et l’aide qu’ils nous ont offert pour la réalisation de ce projet, et aussi la solidarité
et la bonne humeur dans laquelle nous avons pu travailler ensemble durant le stage.
Nous exprimons également nos sincères remerciements plus particulièrement aux
personnes suivantes :
 Docteur RAFAMANTANANTSOA Fontaine Directeur de l’Ecole Nationale
d’Informatique, d’avoir assuré la bonne direction des étudiants ainsi que l’école et qui
nous a permis d’effectuer le stage pour compléter notre formation ;
 Monsieur ANDRIAMAHEFARIVO Serge, Directeur de la société Madagile, qui n’a
pas hésité à nous prendre comme stagiaire au sein de son établissement ;
 Monsieur RABEMANANTSOA Désiré, Chef de projet de la société Madagile et
aussi notre encadreur professionnel, qui nous a énormément aidé et donné des
conseils pour réaliser le projet ;
 Docteur RATIARSON Venot, enseignant à l'Ecole Nationale d'Informatique, de nous
avoir encadré pédagogiquement, dirigé et donné des remarques pendant le stage ;
 Tous les enseignants de l'Ecole Nationale d'Informatique de nous avoir transmis leurs
expériences et leurs connaissances
 Notre famille pour leur soutien moral et financier, tout au long de nos études.

 A tous ceux que nous oublions mais qui d’une manière ou d’autre manière nous ont
permis de bien terminer notre stage.

iv

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

SOMMAIRE
CURRICULUM VITAE ................................................................................................................ i
DEDICACE ................................................................................................................................ iii
REMERCIEMENTS .................................................................................................................. iv
SOMMAIRE................................................................................................................................ v
NOMENCLATURE .................................................................................................................... vi
LISTE DES TABLEAUX ........................................................................................................... vii
LISTE DES FIGURES .............................................................................................................. viii
INTRODUCTION GENERALE .................................................................................................. 1
Partie I : ...................................................................................................................................... 2
PRESENTATION ...................................................................................................................... 2
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique .................................................. 3
Chapitre 2. Présentation de la Société ...................................................................................... 10
Chapitre 3. Description du Projet ............................................................................................. 12
Partie II : ................................................................................................................................... 15
ENSEMBLE DES TECHNOLOGIES ..................................................................................... 15
Chapitre 4. Informatique mobile, Smartphones et internet mobile ........................................ 16
Chapitre 5. Système d’exploitation Android .......................................................................... 21
Partie III : ................................................................................................................................. 30
ANALYSE ET CONCEPTION ............................................................................................... 30
Chapitre 6. Analyse préalable ................................................................................................. 31
Chapitre 7. Méthodologie de développement ......................................................................... 35
Chapitre 8. Présentation de la notation UML ......................................................................... 41
Chapitre 9. Conception détaillée ............................................................................................. 46
Partie IV : ................................................................................................................................. 67
REALISATION ....................................................................................................................... 67
Chapitre 10. Outils, langages, architecture informatique Ajax et Framework open-source
Cordova .................................................................................................................................... 68
Chapitre 11. Création et configuration du projet..................................................................... 74
Chapitre 12. Représentation graphique ................................................................................... 81
CONCLUSION GENERALE ..................................................................................................... 88
REFERENCES BIBLIOGRAPHIQUES ...................................................................................... x
REFERENCES WEBOGRAPHIQUES ........................................................................................ x
GLOSSAIRE .............................................................................................................................. xi
ANNEXES ............................................................................................................................... xiii
TABLES DES MATIERES ....................................................................................................... xix

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

NOMENCLATURE
AJAX Asynchronous Javascript And Xml
API Application Program Interface
ASP Active Server Page
BSD Berkeley Software Distribution
CGB Caribbean Global Business
CSS Cascading Style Sheet
DOM Document Object Model
DSDM Dynamic Systems Development Method
ENI Ecole Nationale d’Informatique
FTP File Transfert Protocol
GPL General Public License
GPRS General Packet Radio Service
GPS Global Positionning System
GSM Groupe Spécial Mobile
HTML5 HyperText Markup Language 5
HTTP HyperText Transfer Protocol
IPC Inter-Process Communication
JNI Java Native Interface
OHA Open Hanset Alliance
PDA Personal Digital Assistant
PHP Personal Hme Page
RAD Rapid Application Developpement
RIM Research In Motion
SDK Software Development Kit
STL Standard Template Library
UML Unified Modeling Language
USB Universal Serial Bus
VM Virtual Machine
W3C World Wide Web Consortium
vi
WWW Word Wide Web
XP extrême Programming

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

LISTE DES TABLEAUX


Tableau 1 : Caractéristiques d’Android ................................................................................... 22
Tableau 2 : Liste des packages JSE 1.5 utilisés par Android ................................................... 25
Tableau 3 : Liste des packages JSE 1.5 utilisés par Android ................................................... 26
Tableau 4 : Services essentiels au fonctionnement d’Android ................................................ 27
Tableau 5 : Services fournissant l’accès vers les API matérielles de bas niveau d’Android ... 27
Tableau 6 : Services fournissant l’accès vers les API matérielles de bas niveau d’Android ... 28
Tableau 7 : Expertises de la société Madagile ......................................................................... 32
Tableau 8 : Valeurs fondamentales de XP ............................................................................... 37
Tableau 9 : Pratiques détaillés de XP ....................................................................................... 38
Tableau 10 : Pratiques détaillés de XP ..................................................................................... 39
Tableau 11 : Séquences des tâches cas d’utilisation gérer compte client ................................ 48
Tableau 12 : Séquences des tâches cas d’utilisation gérer compte client ................................ 49
Tableau 13 : Séquences des tâches cas d’utilisation gérer compte client ................................ 50
Tableau 14 : Séquences des tâches cas d’utilisation gérer compte abonné .............................. 51
Tableau 15 : Séquences des tâches cas d’utilisation gérer compte abonné .............................. 52
Tableau 16 : Séquences des tâches cas d’utilisation gérer panier ............................................ 54
Tableau 17 : Séquences des tâches cas d’utilisation gérer commande .................................... 56
Tableau 18 : Séquences des tâches cas d’utilisation gérer paiement ....................................... 58
Tableau 19 : Séquences des tâches cas d’utilisation gérer produits pour les abonnées ........... 60
Tableau 20 : Dictionnaire de données ...................................................................................... 62
Tableau 21 : Dictionnaire de données ...................................................................................... 63
Tableau 22 : Dictionnaire de données ...................................................................................... 64
Tableau 23 : Liste des fonctionnalités par appareils supportés ................................................ 73

vii

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

LISTE DES FIGURES


Figure 1 : Organigramme de l’ENI ............................................................................................ 7
Figure 2 : Organigramme de la société Madagile .................................................................... 11
Figure 3 : iPhone ...................................................................................................................... 17
Figure 4 : Android .................................................................................................................... 18
Figure 5 : Windows mobile ...................................................................................................... 18
Figure 6 : BlackBerry ............................................................................................................... 18
Figure 7 : Réseau mobile et téléphones .................................................................................... 19
Figure 8 : clé 3G ....................................................................................................................... 20
Figure 9 : Tablette 3G .............................................................................................................. 20
Figure 10 : Architecture d'Android .......................................................................................... 23
Figure 11 : Description du démarrage du fonctionnement d’Android .................................... 29
Figure 12 : Interaction des composantes qui construit Android............................................... 29
Figure 13 : Services de la société Madagile ............................................................................. 32
Figure 14 : Modèle d’un acteur ................................................................................................ 42
Figure 15 : Modèle de cas d’utilisation .................................................................................... 43
Figure 16 : Relation d'inclusion ............................................................................................... 43
Figure 17 : Relation d'extension ............................................................................................... 44
Figure 18 : Formalité du diagramme de séquence ................................................................... 44
Figure 19 : Formalité de diagramme de classe ......................................................................... 45
Figure 20 : Diagramme du cas d’utilisation préliminaire ........................................................ 47
Figure 21 : Détail du cas d’utilisation gérer compte client ...................................................... 48
Figure 22 : Diagramme de séquence nominal du cas d’utilisation gérer compte client ........... 50
Figure 23 : Détail du cas d’utilisation gérer compte abonné.................................................... 51
Figure 24 : Diagramme de séquence nominal du cas d’utilisation gérer compte abonnée ...... 53
Figure 25 : Détail du cas d’utilisation gérer panier .................................................................. 53
Figure 26 : Diagramme de séquence nominal du cas d’utilisation gérer panier ...................... 55
Figure 27 : Détail du cas d’utilisation gérer commande .......................................................... 55
Figure 28 : Diagramme de séquence nominal du cas d’utilisation gérer commande ............... 57
Figure 29 : Détail du cas d’utilisation gérer paiement ............................................................ 57
Figure 30 : Diagramme de séquence nominal du cas d’utilisation gérer paiement.................. 59
Figure 31 : Détail du cas d’utilisation gérer produits pour les abonnées ................................ 59
Figure 32 : Diagramme de séquence nominal du cas d’utilisation gérer produits pour les
abonnés ..................................................................................................................................... 61
Figure 33 : Diagramme de cas d’utilisation général de la partie front du client ...................... 61
Figure 34 : Diagramme de cas d’utilisation général de la partie front d’abonné ..................... 62
Figure 35 : Diagramme de classe générale de l’application..................................................... 66
Figure 36 : Dialogue entre serveur et navigateur ..................................................................... 72
Figure 37 : Nouveau projet Android PhoneGap....................................................................... 75
Figure 38 : Donner un nom au projet ....................................................................................... 75
Figure 39 : Donner la version supportée .................................................................................. 76
Figure 40 : Donner le nom du package .................................................................................... 76
Figure 41 : Création des dossiers ............................................................................................. 77
Figure 42 : Ajout des fichiers de PhoneGap dans le projet ...................................................... 77
Figure 43 : Architecture de l’application ................................................................................. 80 viii
Figure 44 : Page d’accueil de l’application .............................................................................. 81
Figure 45 : Page d’accueil visiteur ........................................................................................... 82
Figure 46 : Liste des annonces d’achats et liste des produits ................................................... 83

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 47 : Page d’authentification et inscription client .......................................................... 84


Figure 48 : Page d’accueil du client et page nouveau message ............................................... 85
Figure 49 : Page d’accueil d’abonné et page compte d’un abonné ........................................ 86
Figure 50 : A propos de plate-forme ........................................................................................ 87

ix

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

INTRODUCTION GENERALE
Aujourd’hui, le téléphone portable fait partie de notre vie quotidienne. Le marché du
téléphone portable est un marché qui n’a cessé de s’étendre à grande vitesse depuis quelques
années. On utilise le téléphone non seulement pour passer des appels et envoyer des
messages, mais aussi pour écouter des musiques, voir des vidéos, surfer sur le web, jouer avec
divers jeux et exécuter des d'applications.
Le commerce électronique ou vente en ligne, désigne l'échange de biens, de services et
d'informations entre les réseaux informatiques, notamment Internet. Il ne se limite pas au seul
réseau Internet. Dans le cadre du commerce interentreprises, des transactions électroniques se
réalisent sur les réseaux téléphoniques mobiles. Ainsi, nous avons choisi de réaliser une
application mobile pour la plate-forme abtobmarket en raison de faciliter les besoins des
utilisateurs et de les satisfaire.
D’autre part, cette application procure de nouveaux usages et une multitude
d’opportunités commerciales.
C'est dans cette perspective que la société Madagile choisit de mettre en place le projet
: « Conception et réalisation d’application mobile de la plate-forme abtobmarket »
A l’issue de ce projet, on espère que l’application va offrir l'ensemble des fonctions
indispensables qui permettront aux utilisateurs de voir et d’accéder aux données de la plate-
forme.
Pendant la réalisation et la conception du projet, nous avons opté d'appliquer la
méthode XP comme méthode de développement et nous avons utilisé la notation UML pour
la modélisation.
Par la suite, nous présenterons succinctement dans la première partie la présentation
générale, la seconde partie l’ensemble des technologies utilisées, la troisième partie, l’analyse
et la conception. Et pour terminer la quatrième partie, la phase de la mise en œuvre du projet.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Partie I :
PRESENTATION

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 1. Présentation de l’Ecole Nationale d’Informatique


1.1 Localisation
Localisation : Tanambao Fianarantsoa
Boîte postale : 1487
Code postal : 301
Téléphone : 75 508 01
Adresse électronique : eni@univ-fianar.mg.

1.2 Historique et missions de l’Ecole


Avec 30 ans d’expérience, l’Ecole Nationale d’Informatique est une des Ecoles les plus
réputées de Madagascar, elle forme les meilleurs informaticiens du pays. Et avec ses
nombreux partenaires, les étudiants sortants ont l’opportunité de travailler à l’étranger.
Elle constitue à l’heure actuelle la pépinière des élites informaticiennes malgaches. On
peut considérer cette Ecole Supérieure comme la vitrine et la mesure de l’avancée
technologique du Pays.
Elle se positionne dans le système socio-éducatif malgache comme le plus puissant
vecteur de diffusion et de vulgarisation des connaissances et des technologies informatiques.
Créée par le Décret N°83-185 du 24 mai 1983, elle est le seul Etablissement universitaire
professionnalisé du pays ayant pour mission de former des Techniciens Supérieurs, des
Licenciés et des Ingénieurs en informatique de haut niveau, aptes à répondre aux besoins et
exigences des entreprises, des sociétés et des organismes implantés à Madagascar.
L’implantation de cette Ecole Supérieure de technologie de pointe dans un pays en voie de
développement et dans une province, à tissu économique et industriel faiblement développé,
ne l’a pourtant pas empêché de former des spécialistes informaticiens de bon niveau
répondant aux besoins des sociétés et des organismes.
Depuis sa création jusqu’à aujourd’hui, l’ENI, placée sous la tutelle de l’Université de
Fianarantsoa, a formé et déversé sur le marché de l’emploi :
 13 promotions d’Analystes Programmeurs, soit 447 diplômés,
 24 promotions d’Ingénieurs Informaticiens, soit 649 diplômés,
 13 promotions de Techniciens Supérieurs en Maintenance des Systèmes 3
Informatiques, soit 310 diplômés,
 1 promotion de licence, soit 101 diplômés.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Soit en tout 1507 diplômés.


La filière de formation d’Analystes Programmeurs est créée en 1983, et est gelée par la
suite en 1996.
La filière de formation d’ingénieurs est ouverte en 1986.
La filière de formation de Techniciens Supérieurs en Maintenance des Systèmes
Informatiques est mise en place au sein de l’Ecole en 1996 grâce à l’appui matériel et
financier de la Mission Française de Coopération dans le cadre du Programme de
Renforcement de l’Enseignement Supérieur (PRESUP).
Une formation pour l’obtention du certificat CCNA et/ou Network+, appelée « Cisco
Networking Academy à Madagascar », en 2002-2003, est en 2002-2003 créée grâce au
partenariat avec le Cisco System et l’Ecole Supérieure Polytechnique d’Antananarivo
(ESPA). Cette formation n’existe plus actuellement.
Une formation doctorale a été ouverte depuis l’année universitaire 2003-2004 grâce à la
coopération entre l’Université de Fianarantsoa (ENI) et l’Université Paul Sabatier de
Toulouse.
Enfin, une formation, en vue de licence professionnelle en informatique ayant comme
options Administration des systèmes et des réseaux, génie logiciel et Base de données, est
ouverte à l’ENI depuis l’année universitaire 2007-2008.
La filière de formation de Techniciens Supérieurs en Maintenance des Systèmes
Informatiques est gelée en 2008.

1.3 Architecture pédagogique


L’ENI forme des Licenciés et des Ingénieurs directement opérationnels au terme de leur
formation respective. Ce qui oblige l’Ecole à entretenir des relations de collaboration étroites
et permanentes avec les entreprises et le monde professionnel de l’Informatique à
Madagascar.
La responsabilité de l’Ecole pour cette professionnalisation des formations dispensées
l’oblige à:
 Suivre les progrès technologiques et méthodologiques en Informatique (recherche
appliquée, veille technologique, technologies Réseau, Multimédia, Internet,…).
4
 Prendre en considération, dans son programme de formation, les besoins évolutifs des
entreprises et des autres utilisateurs effectifs et potentiels, de la technologie
informatique.
Madagile | Ambohitsoa Mahazoarivo Antanarivo 101
Ecole Nationale d’Informatique Août 2014

Cependant la professionnalisation ne peut se faire qu’en « vase close » ; elle exige une
«orientation client » et une « orientation marché ». Ce sont les entreprises qui connaissent le
mieux leurs besoins en personnel informatique qualifié. Ces entreprises partenaires
collaborent avec l’ENI en présentant des pistes et des recommandations pour aménager et
réactualiser périodiquement les programmes de formation. Ainsi, dans le cadre de ce
partenariat avec les sociétés dans les divers bassins d’emploi en Informatique, l’Ecole offre
sur le marché de l’emploi des cadres de bon niveau, directement opérationnels et avec des
connaissances mise à jour.
L’architecture des programmes pédagogiques dispensés à l’Ecole s’appuie sur le couple
théorie-pratique :
 Des enseignements théoriques et pratiques de haut niveau sont dispensés intra-muros à
l’Ecole,
 Des voyages d’études sont effectués pour les étudiants nouvellement inscrits et ayant
passé une année d’études à l’Ecole
 Des stages d’application et d’insertion professionnelle sont pratiqués en entreprise
chaque année par les étudiants au terme de chaque formation académique à l’Ecole.
 Les stages effectués en entreprise par les étudiants de l’ENI sont principalement des
stages de pré-embauche.
Ces stages pratiques font assurer l’Ecole d’un taux moyen d’embauche de 97%, six mois
après la sortie de chaque promotion de diplômés.

1.4 Filières existantes et diplômes délivrés


 Cycle de formation Licence en informatique spécialisé en Administration des
systèmes et des réseaux, et puis en Génie logiciel et Base de Données. L’effectif des
étudiants durant l’année universitaire 2011 – 2012 :
 L1 (Première année de Licence) : 100,

 L2 (Deuxième année de Licence) : 101,

 L3 (Troisième année de Licence) : 62.


 Cycle de formation de Master Professionnel et académique avec de compétences en
Gestion, Systèmes et réseaux, de niveau Baccalauréat + 5 ans. L’effectif des étudiants
durant l’année 2011-2012 : 5
 M1 (Première année de la formation Master) : 100,

 M2(Deuxième année de la formation Master) : 100.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

 La formation en DEA en informatique est organisée en partenariat avec l’Université


Paul Sabatier de Toulouse. Les trois meilleurs étudiants de la promotion effectuent
des travaux de recherche à Toulouse. Cette formation est un élément du système de
formation de troisième cycle et d’études doctorales qui sera mise en place
progressivement à l’ENI. Durant l’année 2011 – 2012, l’effectif est :
 DEA (Diplôme d’Etude Approfondie) : 27.
 Depuis l’année universitaire 2011-2012, il y a aussi la formation hybride :
 Hybride Fianarantsoa : 105,
 Hybride Tuléar : 49.
 Une formation non diplômant en CISCO ACADEMY, soutenue par les Américains,
avec certification CCNA. Les effectifs des étudiants dans le système depuis sa
création ont été la suivante :
 CISCO Première promotion 2002/2003 : 28,
 CISCO Deuxième promotion 2003/2004 : 5.
 Le recrutement d’étudiants à l’ENI se fait, chaque année, uniquement par voie de
concours d’envergure nationale, excepté pour le « Cisco Academy » et la filière de
formation en DEA, qui font l’objet de sélections des dossiers de candidature.
Bien qu’il n’existe pas, au niveau international, de reconnaissance écrite et
formelle des diplômes délivrés par l’ENI, les diplômés de l’Ecole sont plutôt bien
accueillis dans les Institutions universitaires étrangères. Des étudiants diplômés de
l’Ecole poursuivent actuellement leurs études supérieures en 3ème cycle dans
différentes Universités françaises et francophones, notamment à l’IREMIA de
l’Université de La Réunion, à l’Université LAVAL au Canada, à l’Ecole
Polytechnique Fédérale de Lausanne en SUISSE, à l’Ecole Doctorale STIC (Sciences
et Technologies de l’Information et de la Communication) de l’Ecole Supérieure en
Science Informatique de l’Université de Nice Sophia Antipolis.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

1.5 Organigramme
La figure 1 représente l’organigramme de l’ENI :

Figure 1 : Organigramme de l’ENI

1.6 Ressources humaines


 Directeur : Docteur Fontaine RAFAMANTANANTSOA
 Chef de Département de la Formation Théorique : Monsieur Venot RATIARSON
 Chef de Département de la Formation Pratique : Monsieur Cyprien
RAKOTOASIMBAHOAKA
 Chef de Département de la formation Doctorale : Professeur Josvah Paul
RAZAFIMANDIMBY
 Nombre d’Enseignants permanents : 12
 Nombre d’Enseignants vacataires : 10
 Personnel administratif et technique : 19
1.7 Relations partenariales de l’ENI avec des organismes
1.7.1 Au niveau national
7
Les stages pratiqués chaque année par ses étudiants mettent l’Ecole en relation
permanente avec plus de 300 entreprises, sociétés et organismes, publics et privés,
nationaux et internationaux.
Madagile | Ambohitsoa Mahazoarivo Antanarivo 101
Ecole Nationale d’Informatique Août 2014

Parmi ces Etablissements, on peut citer : ACCENTURE Maurice, AIR MAD, AMBRES
ASSOCIATES, AUF, B2B, Banque Centrale, BFV SG, BIANCO, BLUE LINE, BNI-CA,
BOA, CEDII Fianarantsoa, CEM, Central Test, Centre Mandrosoa Ambositra, CNA, CNRIT,
COLAS, COPEFRITO, Data Consulting, D.G. Douanes Tana, DLC, DTS/MOOV , FID,
FTM, GNOSYS, IBONIA, IFIR des paramédicaux Fianar, INGENOSYA, INSTAT, IOGA,
JIRAMA, Lazan’i Betsileo, MADADEV, MADARAIL, MAEP, MECI, MEF, MEN,
MESupReS, MFB, MIC, MICROTEC, MININTER, MIN TélCom et Nouvelles
Technologies, NEOV MAD, NY HAVANA, OMNITEC, ORANGE , OTME, PRACCESS,
QMM Fort-Dauphin, SECREN, SIMICRO, SNEDADRS Antsirabe, Société d’Exploitation
du Port de Toamasina, Softewell, Strategy Consulting, TACTI, TELMA , AirTel, WWF,…
L’organisation de stages en entreprise contribue, non seulement à assurer une meilleure
professionnalisation des formations dispensées, mais à accroître, de façon exceptionnelle, les
opportunités d’embauche pour les diplômés de l’Ecole.
Ces derniers sont recrutés, non seulement par des entreprises et organismes nationaux,
mais aussi par des organismes de coopération internationale tels que l’USAID
MADAGASCAR, la Délégation de la Commission Européenne, la Banque Africaine de
Développement (BAD), la Mission Résidente de la Banque Mondiale, la Commission de
l’Océan Indien, etc.
1.7.2 Au niveau international
Entre 1996 et 1999, l’ENI a bénéficié de l’assistance technique et financière de la
Mission Française de Coopération et d’Action Culturelle dans le cadre du PRESUP.
La composante du PRESUP consacrée à l’ENI a notamment porté sur :
 Une dotation en logiciels, microordinateurs, équipements de laboratoire de
maintenance et de matériels didactiques ;

 Une réactualisation des programmes de formation assortie du renouvellement du fond


de la bibliothèque ;

 Un appui à la formation des formateurs ;

 Une affectation à l’Ecole d’Assistants techniques français.

Et depuis le mois de mai 2000, l’ENI fait partie des membres de bureau de la 8
Conférence Internationale des Ecoles de formation d’Ingénieurs et Techniciens
d’Expression Française (CITEF).

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

L’ENI a signé un Accord de coopération interuniversitaire avec l’IREMIA de


l’Université de La Réunion, l’Université de RENNES 1 et l’Institut National Polytechnique
de Grenoble (INPG).
Depuis le mois de juillet 2001, l’ENI abrite le Centre du Réseau Opérationnel (Network
Operating Center) du point d’accès à Internet de l’Ecole et de l’Université de Fianarantsoa.
Grâce à ce projet américain financé par l’USAID Madagascar, l’ENI et l’Université de
Fianarantsoa ont été dotées d’une Ligne Spécialisée d’accès permanent à INTERNET. Par
ailleurs, depuis 2002, une nouvelle branche à vocation professionnelle a été mis en place
grâce au partenariat avec Cisco System.
Enfin et non de moindres, l’ENI a noué des relations de coopération avec l’Institut de
Recherche pour le Développement (IRD). L’objet de cette coopération porte sur la
Modélisation environnementale du corridor forestier de Fianarantsoa. Dans le même cadre, un
atelier scientifique international sur la modélisation des paysages a été organisé à l’ENI au
mois de Septembre 2008.
Comme l’ENI constitue une pépinière incubatrice de technologie de pointes, d’emplois
et d’entreprises, elle peut servir d’instrument efficace pour la lutte contre la pauvreté.
En effet, l’Ecole permet de renforcer la position concurrentielle de la Grande île sur
l’orbite de la mondialisation grâce au développement de nouvelles technologies.
1.8 Projets et perspectives de développement institutionnel
 Restructuration du système pédagogique de l’Ecole selon le schéma LMD (Licence-
Master-Doctorat) ;
 Mise en place à l’Ecole d’un Département de Formation de 3ème cycle et d’études
doctorales en Informatique ; création d’une Laboratoire de Modélisation informatique
des systèmes complexes ;
 Création à l’Ecole d’une Unité de Production Multimédia, et d’un Club de logiciel
libre Unix.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 2. Présentation de la Société


2.1 Fiche d’Identification
MADAGILE est une société à responsabilité limitée (SARL), au capital de 2 000 000
Ar, immatriculée au RCS TANA 2013 B 00207 - NIF : 5 001 153 792 dont le siège social est
au lot VN 57 Bis A Ambohitsoa Mahazoarivo Antananarivo 101.
2.2 Historique
Madagile est une société offshore d’ingénierie informatique basée à Madagascar. Elle
propose à ses clients des solutions marketing web ainsi que web afin de leur permettre de se
placer au-devant de tous concurrents. Madagile est une filiale du groupe Français CGB.

Forte d’une équipe d’ingénieurs, avec plus d’une dizaine d’années d’expérience dans
leur domaine, Madagile est le partenaire idéal pour tous vos besoins en communication et en
commercialisation.

Madagile à des agences partenaires à Paris, Madagascar, Trinidad, à Tobago,


Guadeloupe ainsi qu’à la Dominique.

Madagile repose ses valeurs sur la compétence et l’expertise de son équipe formée
d’ingénieurs expérimentés et de techniciens chevronnés dans le domaine de la communication
et de la relation clientèle.

2.3 Objectifs
L’objectif, c’est le profit généré par le développement des outils de communication et
de commercialisation des clients. Madagile engage à offrir des services de qualité et un
respect des délais grâce à sa structure de travail.

Madagile assure une approche client irréprochable en mettant à la disposition des


clients un chef de projet expérimenté.

Les clients bénéficient des tarifs les plus compétitifs sur le marché de l’externalisation
grâce à la qualité de société offshore Madagile.

10

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

2.4 Organisation
La figure 2 représente l’organigramme de la société Madagile.

Figure 2 : Organigramme de la société Madagile

 Madagile est une filiale du Groupe Caribbean Global Business créée en 2011.
 Cette filiale gère une partie technologique du Groupe.
 La majorité de ses actions est détenue par Caribbean Global Business, soit plus de
50%.

11

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 3. Description du Projet


3.1 Formulation
Une application mobile est un logiciel applicatif développé pour être installé sur un
appareil électronique mobile, tel qu'un téléphone portable , un Smartphone. Abtobmarket est
un site e-commerce qui gère le commerce électronique ou vente en ligne. Le projet «
Conception et réalisation d’application mobile de la plate-forme abtobmarket » consiste à
créer une application mobile capable de synchroniser les informations concernant les clients
et les données utilisées dans la plate-forme.

3.2 Objectif
L’objectif de la société pour le projet est d’avoir une application utilisant de
technologies sans fil, plus particulièrement la téléphonie mobile, afin d’accéder à tous les
données de la plate-forme, d’élargir le marché et de répondre aux besoins des clients.
Autrement dit, l’application assure aussi les différents aspects fonctionnels de e-commerce
comme :
 Visite ;
 Administration de mode de paiement ;
 Gestion de panier ;
 Gestion des commandes.

3.3 Environnement Technique


L’application respecte les conditions suivantes :
La réalisation de l’application utilise :
 HTML5 et CSS3
 PHP
 JavaScript, jQuery et jQuery Mobile
 Ajax
 Apache Cordova ou Apache Callback ou PhoneGap
 Des autres API et bibliothèques javaScript
 Android
 MySQL
L’application peut s’adapter à n’importe quelle taille d’écran de téléphone. 12

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

3.4 Moyens personnels


Il y a quatre personnes qui participent à réaliser le projet dont le chef de projet, un
représentant du client et deux développeurs.

3.5 Moyens matériels et Logiciels


Chaque développeur de la société travaille sur un ordinateur de bureau connecté sur
internet et ayant les caractéristiques suivantes :
 Marque: GSTAR ;
 Modèle: H61MLV2 ;
 Processeur: Inter(R) Celeron(R) CPU G1610 2.60GHz (2CPUs), 2,6GHz ;
 RAM: DDR2, 4 Go;
 HDD: SATA, 500 Go;
Durant la réalisation et la conception du projet, nous utilisons les logiciels suivants :
 Eclipse Juno et Adobe Dreamweaver CS6 : éditeur pour le développement et la
réalisation ;
 Visual Paradigm : comme outil de conception ;
 Filezilla : comme client FTP ;
 IE, Firefox et Google Chrome : comme navigateurs web ;
 Apache : comme serveur web local ;
 MySQL : comme SGBD
3.6 Résultats attendus
En adéquation avec les objectifs définis, le résultat attendu est d’avoir une application
mobile gratuite pour un système d’exploitation androïde répondant à toutes les fonctionnalités
de la plate-forme abtobmarket décrite ci-dessous :
Les utilisateurs abonnés peuvent :
Présenter leur entreprise, ses activités, ses produits et ses services ;
Exposer le catalogue des produits ou des services ;
Vendre les produits en ligne dans un système de paiement sécurisé ;
Gérer ses produits et ventes.
Déposer une demande d’achat ou de vente.
Gérer les alertes 13
Les visiteurs peuvent :
Rechercher des produits, ou services ;

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Rechercher des secteurs d’activités ;


Visiter des boutiques selon le secteur d’activité choisis
Les utilisateurs enregistrés (clients) peuvent :
Acheter un produit ;
Faire un commande ;
Répondre à une annonce;
Contacter un annonceur ;
Déposer une demande d’achat.

14

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Partie II :
ENSEMBLE DES TECHNOLOGIES

15

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 4. Informatique mobile, Smartphones et internet


mobile
4.1 Informatique mobile
4.1 .1 Définition
La mobilité signifie ce qui peut se mouvoir, ce qui peut changer de place ou de
position. Ainsi, cette notion se traduit cependant par trois aspects différents, et autant
d'approches, dans le domaine de l'informatique : le nomadisme, l'ubiquité, les systèmes
sensibles au contexte. On peut déduire donc de ces approches la définition de l’informatique
mobile [3].

4.1.2 Nomadisme
Le nomadisme désigne les usages et usagers des technologies électroniques et
informatiques sans-fil. Ces dernières permettent d’accéder aux médias et aux informations
numériques, de les modifier et de les communiquer par la téléphonie mobile ou par l’internet.
Mais aussi de travailler en ligne ou hors-ligne, quel que soit l’endroit où l’on se trouve [14].

4.1.3 Informatique Ubiquitaire


Le but de l'informatique ubiquitaire est de rendre accessible toutes sortes de services,
n'importe où, tout en masquant l'ordinateur. Elle rend la liberté d'actions, notamment la liberté
de mouvements, aux utilisateurs. Autrement dit l'ubiquité permet donc souvent la mobilité.

4.1.4 Systèmes sensibles au contexte


Un Système sensible au contexte est un système dont le comportement ou la structure
peut varier en fonction de l’état de l’espace des informations de contexte. Par exemple, le
mode de communication peut varier en fonction de l’état du réseau,...
L’utilisation de téléphonies mobile, incluant les Smartphones, fait partie de
l’informatique mobile.

4.2 Smartphones
4.2.1 Définition et fonctionnalités
Un Smartphone ou téléphone intelligent, est un téléphone mobile évolué qui permet
bien plus de choses qu’envoyer ou recevoir des messages textes et /ou passer des appels. La 16
[16]
saisie des données se fait le plus souvent par le biais d'un écran tactile ou d'un clavier .
Selon le principe d'un ordinateur, il peut exécuter divers logiciels ou applications grâce à un

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

système d'exploitation spécialement conçu pour mobiles comme Android ou iOS. Il se


distingue des téléphones ordinaires par divers fonctionnalités comme :
 La navigation sur le web qui ressemble à une utilisation d’un ordinateur ;
 L’utilisation de géolocalisation GPS ;
 L’utilisation de norme GPRS ;
 La présence de Bluetooth, du Wi-Fi, et l’existence de 3G ;
 L’envoi de courrier électronique;
 La mise à jour pour proposer de nouvelles fonctionnalités ;
 La gestion des tâches ;
 La possibilité de prendre et de regarder des photos, de voir ou d’écouter des vidéos et
des musiques au format mp3 ;
 Ect …
Les Smartphones les plus sophistiqués disposent également d’une reconnaissance et
synthèse vocale rapide.

4.2.2 Type de Smartphones


Voici quelques grandes familles des Smartphones avec les images correspondantes:
a. IPhone
C’est une gamme de Smartphones commercialisée par Apple Inc. depuis 2007(figure 3).

Figure 3 : iPhone

b. Android
C’est un système d'exploitation pour Smartphones, tablettes tactiles, PDA et terminaux
mobiles. C'est un système open source utilisant le noyau Linux. Il a été lancé par une startup
rachetée par Google en 2005 (figure 4).
17

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 4 : Android

c. Windows Mobile
C’est le nom générique donné aux différentes versions de Microsoft Windows conçues
pour des appareils mobiles tels que les Smartphones (figure 5).

Figure 5 : Windows mobile

d. BlackBerry
C’est une ligne de téléphones intelligents développée depuis 1999, d'abord sous le nom
de RIM, nom de produit BlackBerry. Puis En janvier 2013, elle a adopté le nom unique de
BlackBerry. Ces téléphones sont fabriqués par la compagnie canadienne Research In Motion
(RIM), utilisant le système d'exploitation propriétaire Blackberry OS (figure 6) [18].

Figure 6 : BlackBerry

18

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

4.3 Internet mobile


4.3.1 Mobile de troisième génération (3G)
La 3G est une technologie mobile permettant à un téléphone de recevoir un débit bien
supérieur aux technologies précédentes, comme GSM qui ne fait que recevoir et transmettre
de la voix et des textos par les ondes [7] [17].
Avec l'apparition d’internet sur les Smartphones, la visiophonie et les besoins en
bande passante ont considérablement augmenté. On pourrait définir une bande passante par la
capacité d'une antenne d'émettre et de recevoir des informations.
La figure 7 représente le réseau mobile et les téléphones.

Figure 7 : Réseau mobile et téléphones

4.3.2 Evolution de 3G
L’amélioration de 3G donne 3G+ et la version améliorée de la 3G est la 4G. La
quatrième génération technologique permettra des débits encore plus grands pour couvrir les
besoins futurs. 4G permet de très haut débit mobile.
4.3.3 Appareils utilisant l’internet mobile
Les appareils qui utilisent la technologie 3G sont :
 Les Smartphones
Ils utilisent la 3G pour l’internet et leurs applications. Mais pour se faire, un
Smartphone doit être compatible à la 3G pour pouvoir bénéficier des avantages offerts par
cette technologie. Il doit aussi disposer d’une carte SIM 3G et d’un abonnement à l’internet
chez un opérateur mobile.
19

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

 Les ordinateurs portables équipés d’une clé 3G


Il est possible d'acquérir chez un opérateur une clé 3G ou bien 3G+ qui contient une
carte SIM et qui se branche en USB. En connectant cette clé à un ordinateur portable, on peut
avoir une connexion internet.
La figure 8 représente quelques clés 3G.

Figure 8 : clé 3G

 Les tablettes 3G
Les tablettes tactiles sont apparues en 2010 (figure 9). Pour se naviguer en internet, elles
utilisent également une carte SIM. Son avantage par rapport aux Smartphones est la
dimension de son écran qui est bien plus supérieure.

Figure 9 : Tablette 3G

20

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 5. Système d’exploitation Android


5.1 Présentation
5.1 .1 Android
Android est une plateforme complète pour appareil mobile. Elle est composée d'un
système d'exploitation, de librairies qui s’appelle middleware, et d'un ensemble d'applications
par exemple un navigateur, un calendrier, ….
Android est basé sur un kernel linux. Les librairies qui le compose sont écrite en C et/
ou C++ et le Framework est écrit en java [4].
5.1.2 OHA
Android est développé par l'OHA (Open Hanset Alliance), une alliance internationale
de compagnie. Cette alliance se compose de compagnie ne faisant pas partie du même secteur.
Ainsi elle se compose :

 d'opérateur mobile : Vodafone, Teleponica, Telecom Italia, China Mobile,…


 de fabricants de téléphone mobiles : Asus, HTC, LG, Motorola,…
 de fabricants de semi-conducteur : Intel, Nvidia, ARM,…
 d'éditeurs logiciels : Ebay, Google, PacketVideo,…
 de distributeurs : Aplix corporation, Borqs, TAT

5.1.3 Historique
En juillet 2005, Google a acquis Android Inc, une petite startup qui développait des
applications pour téléphones mobiles.

Après ce rachat de Google, une équipe dirigée par Andy Rubin, un ancien d'Android
Inc, a commencé à travailler sur un système d'exploitation pour appareil mobile basé sur
linux.

En 2007, le 5 novembre, l'OHA a été officiellement annoncée, ainsi que son but :
Développer des standards open source pour appareil mobile.

Le premier standard annoncé a été Android, une plate-forme pour appareils mobiles
basée sur un kernel linux 2.6.
21
En septembre 2008, la première version stable du SDK est sortie. Actuellement, la
dernière version est la 1.2.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

5.1.4 Caractéristiques
Le tableau 1 représente les caractéristiques d’Android.
Tableau 1 : Caractéristiques d’Android

Framework Framework Java pour le développement d'application pour la


plateforme Android
Machine virtuelle Machine virtuelle spécialement développée pour Android. Elle
Dalvik permet d'exécuter les applications java développées avec le
Framework.
Navigateur web Navigateur web basé sur le moteur de rendu Webkit
Graphique Librarie graphique 2D, 3D basé sur OpenGL ES 1.0.
Accélération matériel possible.
Stockage Base de données SQL : SQLite est utilisé pour le stockage des
données
Média Android supporte les formats audio/video/image suivants :
MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF
Connectivité gsm, edge, 3G, bluetooth, wifi
Support Matériel Android est capable d'utiliser : Camera, GPS, accéléromètre
Environnement de Android possède un environnement de développement
développement complet contenant : un émulateur, un débuggeur, un analyseur
de mémoires et de performances et un plugin eclipse.

5.2 Architecture
5.2.1 Description de l’architecture d'Android
Android est basé sur un kernel linux 2.6, au-dessus du kernel il y a l'« hardware
abstraction layer » qui permet de séparer la plateforme logique du matériel.
Au-dessus de cette couche d'abstraction on voit les librairies C/C++ utilisées par certain
nombre de composants du système Android.
Au-dessus des librairies se trouve l'Android Runtime, qui contient les librairies cœurs du
Framework ainsi que la machine virtuelle exécutant les applications.
Au-dessus de la couche « Android Runtime » et des librairies cœurs se trouve le 22
Framework permettant au développeur de créer des applications.
Enfin au-dessus du Framework il y a les applications.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

La figure 10 représente l'architecture complète d'Android

Figure 10 : Architecture d'Android

5.2.2 Kernel linux


Android utilise une libc customisé appelé Bionic libc. Comme nous avons vu ci-dessus, il
utilise un kernel. Ce kernel est accompagné de différents patches pour la gestion
d’alimentation, le partage mémoire et bien plus encore… il permet aussi une meilleure gestion
de ses caractéristiques pour les appareils mobiles.
Android n'est pas linux mais il est basé sur un kernel linux parce que ce kernel a un
système de gestion mémoire et de processus reconnu pour sa stabilité et ses performances. De
plus ce kernel fournit un système de driver permettant une abstraction avec le matériel. Il
permet également le partage de librairies entre différents processus, le chargement et le
déchargement des modules à chaud. Ensuite, il est entièrement open source et il y a une
communauté de développeurs qui l'améliorèrent et rajoutent des drivers. Et enfin, le model de
sécurité utilisé par linux, basé sur un système de permission, est connu pour être robuste et
performant. Il n’a pas changé depuis les années 70.

a. Quelques patches se présentant avec un kernel d’Android


 Alarme : fournir un certain nombre de « timeurs »
Exemple : permettre de rallumer l'appareil quand il est en veille
 Ashmem : permet aux applications le partage de mémoire
23
Exemple : Dans le cas où le partage de mémoire est très utilisé dans la
plateforme Android car la mémoire dans les appareils mobiles est limitée par rapport à
des ordinateurs.
Madagile | Ambohitsoa Mahazoarivo Antanarivo 101
Ecole Nationale d’Informatique Août 2014

5.2.3 Librairies
Rappelons que ces librairies sont écrites en C/C++. Elles sont natives et fournissent les
fonctionnalités de bas niveau d'android.
Mais Android ne supporte pas la glibc, donc les ingénieurs d'Android ont développé une
librairie C nommé Bionic libc.

a. Bionic libc
C’est une librairie légère et rapide. Elle est optimisée pour les appareils mobiles et a été
développé spécialement pour Android. Cette libc est sous licence BSD
Quelques caracteristiques de Bionic libs :
 Elle pèse environ 200Ko soit la moitié de la glibc ;
 Bionic libc ne supporte pas les threads POSIX ;
 Les exceptions C++ et les wide char ne sont pas supportées ;
 Il n'y a pas de STL.

b. WebKit
C’est un moteur de rendu, qui fournit une fondation pour pouvoir développer un
navigateur web. WebKit est composé de deux librairies : WebCore et JavascriptCore qui sont
disponible sous licence GPL. Il supporte le CSS, Javascript, DOM et AJAX et sa version
présente dans Android a été légèrement modifiée pour s'adapter aux appareils mobiles.

c. Media Framework
C’est une librairie basée sur OpenCore de PacketVideo. Elle permet de supporter des
standards audio, vidéo et images.

d. Surface et Audio Flinger


Le Surface Flinger permet de construire le rendu graphique, il manipule toutes les surfaces
à afficher provenant du frame buffer. Il peut combiner de la 2D et de la 3D provenant de
différentes applications. Les surfaces à afficher sont passées par buffer via le Binder. Le
Surface Flinger utilise un double buffer permettant de basculer d'une surfaces à une autre. Il
affiche toujours d’affichage complet.
L'audio flinger gère tous périphériques audio. Il traite les flux audio et les route vers les
périphériques de sortie par exemple haut-parleur, Bluetooth, casque,….
24

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

5.2.4 Hardware Abstraction Layer


C’est une couche qui se situe entre les librairies et le kernel. Elle fournit les interfaces que
doivent implémenter les drivers kernel et sépare la plateforme logique des interfaces
matérielles. Son but est de faciliter le portage des librairies sur différents matériels.
5.2.5 Android Runtime
C’est une couche qui se compose du "cœur" du Framework et de la machine virtuel
dalvik.

a. Dalvik
Dalvik est une machine virtuelle basée sur une architecture de registre comme des
machines virtuelles qui ont une architecture de pile. Cette architecture dépend des stratégies
de compilation et d'interprétation choisies.
Après compilation, les applications Java développées pour Android doivent avoir une
extension dex. C’est un format dalvik exécutable avec l'outil dx. L’outil dx compile les .java
en .class et ensuite il convertit ces .class en .dex. Un .dex peut contenir plusieurs classes. Les
strings dupliqués et les autres constantes utilisées dans de multiples classes sont regroupés
dans un .dex et le bytecode utilisé dans les .dex est le Dalvik bytecode.
Notons que la taille d’un .dex décompressé est un peu plus petit qu'un .jar compressé
dérivé des mêmes fichiers .class.

b. Core libraries
Les libraries Core sont des librairies qui fournissent le langage Java disponible pour les
applications. Avec Android, le langage Java reprend en grande partie l'API JSE 1.5. Il y a des
APIs qui ne sont pas nécessaires pour Android et aussi ceux qui sont spécifiques.
Les tableaux 2 et 3 représente la liste des packages JSE 1.5 supportés, non supportés par
Android et spécifiques dans les librairies Core d'Android.
Tableau 2 : Liste des packages JSE 1.5 utilisés par Android

Packages JSE 1.5 Packages JSE 1.5 non Librairies spécifiques


supportés par Android supportés par Android ajoutées dans les Core
Libraries d'Android
 java.io  java.applet  org.apache.commons.c
 java.awt odec 25
 java.beans

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Tableau 3 : Liste des packages JSE 1.5 utilisés par Android

Packages JSE 1.5 Packages JSE 1.5 non Librairies spécifiques


supportés par Android supportés par Android ajoutées dans les Core
Libraries d'Android
 java.lang (sauf  java.lang.management  org.apache.commons.ht
java.lang.manageme  java.rmi tpclient
nt)  javax.accessibility 
 support  javax.activity  org.bluez
 java.math  javax.imageio  org.json
 java.net  javax.management
 java.nio  javax.naming
 java.security  javax.print
 java.sql  javax.rmi
 java.text  javax.security.auth.ker
 java.util beros
 javax.crypto  javax.security.auth.spi
 javax.net  javax.security.sasl
 javax.security (sauf  javax.swing
javax.security.auth.k  javax.transaction
erberos,  javax.xml (sauf
javax.security.auth.s javax.xml.parsers)
pi, and  org.ietf.*
javax.security.sasl)  org.omg.*
 javax.sound  org.w3c.dom.*
 javax.sql (sauf
javax.sql.rowset)
 javax.xml.parsers
 org.w3c.dom
 org.xml.sax

5.3 Framework
26
Le framework est une couche qui se situe au-dessus de l'Android Runtime et des librairies.
Il fournit des API permettant aux développeurs de créer des applications riches.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

5.3.1 Core Plateform Services


Rappelons qu’un service est une application qui n'a pas d’interaction avec l'utilisateur. Il
tourne en arrière-plan pendant un temps indéfini.
Pour Android, les services cœurs de la plateforme ou Core Plateform Services fournissent
des services essentiels au fonctionnement de la plateforme. Le tableau 4 représente ces
services.
Tableau 4 : Services essentiels au fonctionnement d’Android

Activity Manager Elle gère le cycle de vie des applications et maintient une pile de
navigation qu’on appelle navigation backstack qui permet d'aller
d'une application à une autre et de revenir à la précédente quand la
dernière application ouverte est fermée.
Package Manager Ce package est utilisé par l'Activity Manager pour charger les
informations provenant des fichiers .apk. C’est l’Android package
file.
Window Manager Il gère les fenêtres des applications, autrement dit, il gère la fenêtre
qui doit s’afficher devant une autre à l'écran.
Resouce Manage C’est ce qui gère tout ce qui n'est pas du code, c’est à dire toutes les
ressources comme images, fichier audio, ….
Content Provider Il gère le partage de données entre les applications, comme par
exemple une base de données peut être consultée par d'autres
applications que l'application. Les Données peuvent se partager à
travers une base de données SQLite, des fichiers, le réseau, ….
View System Il fournit tous les composants graphiques comme listes, grille, texte
box, buttons et aussi le navigateur web embarqué.

5.3.2 Hardware Services


Hardware Services sont des services matériels qui fournissent l’accès vers les API
matérielles de bas niveau. Les tableaux 5 et 6 représentent ces services.
Tableau 5 : Services fournissant l’accès vers les API matérielles de bas niveau d’Android
Telephony Service Il permet d'accéder aux interfaces téléphoniques comme gsm, 3G, etc,...
Location Service Elle permet d'accéder au GPS. 27
Bluetooth Service Il permet d'accéder à l'interface bluetooth.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Tableau 6 : Services fournissant l’accès vers les API matérielles de bas niveau d’Android

WiFi Service Il permet d'accéder à l'interface Wifi.


USB Service Il permet d'accéder aux interfaces USB.
Sensor Service Il permet d'accéder aux détecteurs comme les détecteurs de luminosité,
….

5.4 Fonctionnement
5.4.1 Démarrage
Rappelons qu’au démarrage de tout système Linux, le bootLoader charge le kernel et
lance le processus init. C’est le père de tous les processus [8].
Ensuite, un certain nombre de daemons est lancé comme USB daemon ou usbd, Android
Debug Bridge ou adbd, Debugger Daemon ou debuggerd qui permet de gérer les requêtes de
debug de processus. Par exemple : dump memory et Radio Interface Layer Daemon ou rild.
Puis, le processus init lance le processus zygote. C’est le service le plus important. Il
initialise une instance de Dalvik VM, aprés charge les classes et écoute sur un socket pour
créer des Dalvik VM. Les VM créées partagent des zones mémoires communes qui permet de
minimiser la mémoire utilisée et chaque VM crée par zygote est une mère ou fork d'une VM.
Cette fork permet d'accélérer le démarrage d'une application.
Ensuite, le processus init lance le processus runtime. Ce dernier lance le Service Manager
comme DNS qui permet d'enregistrer et de récupérer des références vers des services. Après,
runtime enregistre ce Service Manager comme le Context Manager par défaut.
Et après, le processus runtime envoie une requête au processus zygote en lui demandant
de lancer le System Service. Zygote va créer une nouvelle instance de Dalvik VM pour le
processus System Service et démarrer le service. Ce System Service va lancer l'Audio Flinger
et le surface Flinger, qui vont par la suite s'enregistrer auprès du Service Manager.
La figure 11 représente la description de ce démarrage.

28

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 11 : Description du démarrage du fonctionnement d’Android


Le System Manager lance ensuite les services d'Android. Ces services, une fois lancés,
vont s'enregistrer auprès du Service Manager.
Une fois que tous les services sont lancés, le système est enfin prêt. Alors des
applications utilisateur peuvent être lancées.

5.4.2 Interaction
L'application utilisateur récupère la Location Manager Service en utilisant Binder IPC.
Ensuite la Location Manager interroge le GpsLocationProvider qui, lui-même interroge la
librairie C/C++ en utilisant JNI (Java Native Interface). C’est le GpsLocationProvider qui va
charger la librairie dynamique libgps.so.
La figure 12 représente cette interaction.

29
Figure 12 : Interaction des composantes qui construit Android

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Partie III :
ANALYSE ET CONCEPTION

30

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 6. Analyse préalable


6.1 Analyse de l’existant
CGB Group ou Caraïbes Global Business Group, avec ses filiales, cherchent à devenir
le chef de file dans le secteur des technologies de l'information et des communications pour
les Caraïbes.
Elle est spécialisée dans les solutions numériques et logiciels, et a pour objectif de
proposer des solutions innovantes aux entreprises dans le but d’améliorer la communication
sur tous les canaux numériques et d'étendre leur présence sur la scène internationale.
Elle a été créée en 2008 afin de faciliter les échanges commerciaux entre les entreprises des
Caraïbes et les entreprises internationales. Expertise CGB groupe comprend des solutions
numériques pour les entreprises, le développement web, la conception graphique et web, et les
solutions e-business. Elle offre ses services à des clients mondiaux à travers des partenariats
et des solutions en ligne. La CGB Group agit en tant que société mère pour ses filiales.
Pour atteindre son objectif : devenir un chef de file dans le secteur des TIC pour les
Caraïbes, la stratégie de la CGB est axée sur:
 le développement de solutions pour le groupe à travers ses filiales;
 le développement/la mise en place de solutions innovantes pour ses clients;
 la réalisation de projets en sous traitance pour d'autres structures.
Approche du CGB projet (CGB Project Approach) :
 Évaluation des besoins
 Pré-vente
 Caractéristiques techniques de développement
 Expertise Technique
 Réponses d'appel d'offres d'appel
 Conception
 Ergonomie, création et production
 Conseils Story
 Modèles
 Gestion de projet
 Suivi technique et fonctionnel
 Respect de délai garanti 31

 Assurance de la qualité
 Réalisations

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

 Développement par une équipe d'architectes qualifiés, des ingénieurs et


des experts
 Maintenance et développement
Les entreprises subsidiaires :
 Global Media
 Global Trade Services
 Madagile
 Seloger97
Toutes ces sociétés sont subsidiaires de la société CGB, mais la société où nous faisons le
stage est Madagile, parlons alors de Madagile.
Madagile
Madagile est un des services d'ingénierie et société informatique qui travaille sur le
développement de mobile, de web et des applications d'entreprise. La figure 13 représente les
services de la société Madagile.

Figure 13 : Services de la société Madagile


Et le tableau 7 montre quelques expertises de la société Madagile :
Tableau 7 : Expertises de la société Madagile

Mobile Web et IT
IPhone, Android, Windows Mobile, Mangeto, WordPress, Joomla, Drupal, Zend Framework
BlackBerry, Etc Prestashop, Symfony, Ext JS, FX, Java, Microsoft.net
Etc 32
6.1.1 Configuration matériel informatique de la société Madagile
Ordinateur de bureau

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

 Nombres : 4
 Système d’exploitation : Windows 7
Ordinateur portable
 Nombres : 2
 Système d’exploitation : Windows 7, Mac
Imprimante
 Nombre : 1
 Marque : HP Deskjet 1050
Connexion
 Connexion internet avec WIFI
 Débit 512ko/s
 Fournisseur : Bleuline
 Type : 4G/Wifi

6.2 Critique de l'existant


La conception et la réalisation de la plate-forme abtobmarket est un projet à long
terme. Pour cela, les analyses effectuées ont été mal étudiées, ce qui a produit une mauvaise
organisation de travail et a entrainé par la suite un désordre pour le développement de ce site.
En ce moment, cette plate-forme est en cours de réalisation et ne possède pas encore
de version mobile.
Vu l'inefficacité rencontrées, la société risque de perdre ses clients et d’avoir beaucoup
de difficultés à finir les tâches qui lui sont confiées.
6.3 Les solutions adoptées
Pour solutionner ces problèmes, nous avons décidé d’adopter la solution suivante:
 La creation d’application mobile s’adaptant à toutes les fonctionnalités de la plate-
forme.
6.4 Conception avant-projet
Durant la réalisation et la conception du projet, nous utiliserons:
 XP comme méthode de développement ;
 UML pour la modélisation ;
 Eclipse Juno et Adobe Dreamweaver CS6 comme éditeur pour le
33
développement;
 Visual Paradigm comme outil de conception ;
 Filezilla comme client FTP ;
Madagile | Ambohitsoa Mahazoarivo Antanarivo 101
Ecole Nationale d’Informatique Août 2014

 IE, Firefox et Google Chrome comme navigateurs web ;


 Apache comme serveur web local ;
 MySQL comme SGBD ;
 HTML5, CSS3, Javascript, Ajax, PHP comme langage de développement ;
 JQuery comme bibliothèque ;
 JQuery mobile et PhoneGap comme Frameworks.

34

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 7. Méthodologie de développement


7.1 Introduction à la méthode agile
Les méthodes agiles sont des méthodes de développement dites en anglais Agile
Modeling et seront abrégées par AG. Elles visent à réduire le cycle de vie du logiciel en
développant une version minimale et en intégrant les fonctionnalités par un processus itératif
basé sur une écoute client et des tests tout au long du cycle de développement [2].
Dans l’histoire des méthodes agiles, on trouve en premier lieu la méthode RAD, puis
DSDM, la version anglaise du RAD. Plusieurs autres méthodes, comme ASD ou FDD
reconnaissent leur parenté directe avec la RAD. Désormais, les deux méthodes agiles les plus
utilisées actuellement sont la méthode SCRUM et la méthode XP.
Les méthodes agiles prennent 4 valeurs fondamentales qui se traduisent comme suit :
a. L'équipe :
Les individus et leur interaction, plutôt que les processus et les outils. Autrement dit,
l'équipe est bien plus importante que les outils ou les procédures de fonctionnement.
b. L'application :
Des logiciels opérationnels, plutôt qu'une documentation complète. En d’autre terme, il
est important que l'application fonctionne, la documentation technique est une aide précieuse.
c. La collaboration
La collaboration avec les clients, plutôt que la négociation de contrat. En d’autre terme, le
client doit être impliqué dans le développement, il doit collaborer avec l'équipe et fournir un
feed-back continu sur l'adaptation du logiciel à ses attentes.
d. L'acceptation du changement
L'adaptation au changement, plutôt que le suivi d'un plan. Autrement dit, il doit y avoir
une planification initiale et une structure du logiciel flexibles pour permettre l'évolution de la
demande du client tout au long du projet.
Dans notre cas, nous utilisons XP comme méthodologie de développement. Ainsi, on va
voir cette méthode beaucoup plus en détail.
7.2 La méthodologie XP
7.2.1 Origine et pratiques extrêmes
XP a été inventé par Kent Beck, Ward Cunningham et Ron Jeffries. En mars 1996, Kent
Beck, chef de projet, commença à affiner la méthode de développement utilisée sur le projet 35

et en octobre 1999, la méthode est née officiellement avec le livre Extreme Programming
Explained de Kent Beck [2].

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Dans ce livre Extreme Programming Explained, la méthode est définie comme :

 Une tentative de réconcilier l'humain avec la productivité ;


 Un mécanisme pour faciliter le changement social ;
 Une voie d'amélioration ;
 Un style de développement ;
 Une discipline de développement d'applications informatiques.

7.2.2. Objectifs
L’objectif principal de la méthode XP est de réduire les coûts du changement. Elle met
l’accent sur la revue de code faite en permanence par un binôme, sur les tests qui sont faits
systématiquement avant chaque développement, la conception continue ou refactoring, la
simplicité et la traduction des besoins en métaphores.

7.2.3. Cycle de développement


Les cycles de développement utilisé par XP sont rapides c’est-à-dire itérations de
quelques semaines et les étapes sont décrites comme suit :

 Une phase d'exploration détermine les scénarios client qui seront fournis
pendant cette itération
 L'équipe transforme les scénarios en tâches à réaliser et en tests fonctionnels
 Chaque développeur s'attribue des tâches et les réalise avec un binôme
 Lorsque tous les tests fonctionnels passent, le produit est livré

Le cycle se répète tant que le client peut fournir des scénarios à livrer. Généralement le cycle
de la première livraison se caractérise par la durée et le volume important de fonctionnalités
embarquées. Après la première mise en production, les itérations peuvent devenir plus
courtes.

7.2.4. Valeurs de XP
XP repose sur cinq valeurs fondamentales, nous allons les décrire sur le tableau 8 :

36

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Tableau 8 : Valeurs fondamentales de XP

Communication La communication est le moyen fondamental pour éviter les


problèmes. Les pratiques de XP demandent une communication
intense. Les tests, la programmation en binôme et le jeu du planning
obligent les développeurs, les décideurs et les clients à communiquer.
Si un manque apparaît malgré tout, un coach se charge de l'identifier
et de remettre ces personnes en contact.

Simplicité La façon la plus simple d'arriver au résultat est la meilleure. Débuter


avec des structures simples. Une application simple sera plus facile à
faire évoluer.
Feed-back Le retour d'information est essentiel pour le programmeur et le client.
Les tests unitaires indiquent si le code fonctionne. Les tests
fonctionnels donnent l'avancement du projet. Les livraisons
fréquentes permettent de tester les fonctionnalités rapidement.
Courage En cours de réalisation, il est possible d’avoir des changements qui
demandent beaucoup de courage. Il faut parfois changer l'architecture
d'un projet, jeter du code pour en produire un meilleur ou essayer une
nouvelle technique. Le courage permet de sortir d'une situation
inadaptée. C'est difficile, mais la simplicité, le feedback et la
communication rendent ces tâches accessibles.
Respect Le respect est une valeur fut ajoutée dans la deuxième édition de XP
de Kent Beck.
7.2.5 Pratiques
Les pratiques où nous allons détaillés sur les tableaux 9 et 10 renforcent simultanément
ces cinq valeurs.

37

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Tableau 9 : Pratiques détaillés de XP

Client sur Un représentant du client doit, si possible, être présent pendant


l’application
toute la durée du projet. Il doit avoir les connaissances de
l'utilisateur final et avoir une vision globale du résultat à obtenir. Il
réalise son travail habituel tout en étant disponible pour répondre
aux questions de l'équipe.
Jeu du Planning Le client crée des scénarios pour les fonctionnalités qu'il souhaite
obtenir. L'équipe évalue le temps nécessaire pour les mettre en
œuvre. Le client sélectionne ensuite les scénarios en fonction des
priorités et du temps disponible.
Intégration continue Lorsqu'une tâche est terminée, les modifications sont
immédiatement intégrées dans le produit complet. On évite ainsi la
surcharge de travail liée à l'intégration de tous les éléments avant la
livraison. Les tests facilitent grandement cette intégration : quand
tous les tests passent, l'intégration est terminée.
Petites livraisons Les livraisons doivent être les plus fréquentes possibles.
L'intégration continue et les tests réduisent considérablement le
coût de livraison.
Rythme soutenable L'équipe ne fait pas d'heures supplémentaires. Si le cas se présente,
il faut revoir le planning. Un développeur fatigué travaille mal.

Tests fonctionnels À partir des scénarios définis par le client, l'équipe crée des
procédures de test qui permettent de vérifier l'avancement du
développement. Lorsque tous les tests fonctionnels passent,
l'itération est terminée. La recette fonctionnelle d'une application
est de plus en plus souvent confiée à des experts du test
indépendants des développeurs.
Tests unitaires Avant de mettre en œuvre une fonctionnalité, le développeur écrit
un test qui vérifiera que son programme se comporte comme
prévu. Ce test sera conservé jusqu'à la fin du projet, tant que la
fonctionnalité est requise. À chaque modification du code, on lance
tous les tests écrits par tous les développeurs, et on sait 38

immédiatement si quelque chose ne fonctionne plus.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Tableau 10 : Pratiques détaillés de XP

Conception simple L'objectif d'une itération est de mettre en œuvre les scénarios
sélectionnés par le client et uniquement cela. Il n’est pas nécessaire
d’envisager des prochaines évolutions car cela ferait perdre du
temps sans avoir la garantie d'un gain ultérieur. Les tests
permettront de changer l'architecture plus tard si nécessaire. Plus
l'application est simple, plus il sera facile de la faire évoluer lors
des prochaines itérations.
Utilisation de On utilise des métaphores et des analogies pour décrire le système
métaphores
et son fonctionnement.

Refactoring Amélioration régulière de la qualité du code sans en modifier le


comportement. On retravaille le code pour repartir sur de
meilleures bases tout en gardant les mêmes fonctionnalités. Les
phases de refactoring n'apportent rien au client mais permettent
aux développeurs d'avancer dans de meilleures conditions et donc
plus vite.
Appropriation L'équipe est collectivement responsable de l'application. Chaque
collective du code
développeur peut faire des modifications dans toutes les portions
du code, même celles qu'il n'a pas écrites. Les tests diront si
quelque chose ne fonctionne plus.
Convention de Puisque tous les développeurs interviennent sur tout le code, il est
nommage
indispensable d'établir et de respecter des normes de nommage
pour les variables, méthodes, objets, classes, fichiers, etc.
Programmation en La programmation se fait par deux. Le premier appelé driver ou
binôme
pilote tient le clavier. C'est lui qui va travailler sur la portion de
code à écrire. Le second appelé partner ou copilote est là pour
l'aider en suggérant de nouvelles possibilités ou en décelant
d'éventuels problèmes.

D’apres les tableaux 9 et 10, et comme nous avons déjà mentionné les participants dans la 39
réalisation du projet (Chapitre 3, 3.4), alors :
 Le PDG du groupe CGB est à la fois client, testeur et aussi tracker ;

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

 Le chef de projet représente le coach ;


 Les deux stagiaires est à la fois programmeurs et aussi testeurs.

Enchainement de travail
 La semaine de 16/09/2013, nous avons commencé à faire le « jeu de la
planification », puis la « conception simple » et enfin la « métaphore ».
 La semaine de 30/09/2013, nous avons livré une première version du logiciel et nous
avons commencé à faire le test et aussi l’itération.
 La semaine de 07/10/2013, nous avons fait le « refactoring ».
 La semaine de 14/10/2013, nous avons entré dans la phase d’itération et de test par
semaine. Dans la première itération, l’implémentation de la méthode courante a été
faite par l’autre stagiaire et puis dans la deuxième cet implémentation a été faite par
Andry.
 Chaque semaine, on a fait changer de place et ainsi de suite jusqu’à la fin de notre
période de stage.
 Chaque jour, on intègre dans le code de base tous les changements (intégration
continue) et on fait le test après.

40

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 8. Présentation de la notation UML


Dans un projet informatique, une étude des besoins du client est nécessaire pour
faciliter le développement et la maintenance d’une application et aussi pour obtenir une
qualité optimale de l’application même. Ainsi, Nous avons choisi UML comme notation de
base.
8.1 UML
UML est un langage de modélisation graphique et textuel. Il a pour but de comprendre
et décrire des besoins, spécifier et documenter des systèmes, esquisser des architectures
logicielles, concevoir des solutions et communiquer des points de vue [1].
UML est une norme, un langage de modélisation objet, un cadre méthodologique. Il
comporte de nombreux types de diagrammes représentant autant de vues distinctes pour
représenter des concepts particuliers du système d'information. Les concepts transmis par un
diagramme ont une sémantique précise et sont porteurs de sens au même titre que les mots
d’un langage. Les diagrammes en UML se répartissent en deux grands groupes :
 Diagrammes structurels ou statiques :
1. Diagramme de cas d'utilisation ou « Use case diagram »

2. Diagramme de classes ou « Class diagram »

3. Diagramme d'objets ou « Object diagram »

4. Diagramme de composants ou « Component diagram »

5. Diagramme de déploiement ou « Deployment diagram »

6. Diagramme de paquetages ou « Package diagram »

7. Diagramme de structures composites ou « Composite structure diagram »


 Diagrammes comportementaux ou dynamiques :
1. Diagramme d'activités ou « Activity diagram »

2. Diagramme d'états-transitions ou « State machine diagram »

3. Diagramme d'interaction ou « Interaction diagram »

4. Diagramme de séquence ou « Sequence diagram »


41
5. Diagramme de communication ou « Communication diagram »

6. Diagramme global d'interaction ou « Interaction overview diagram »

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

7. diagramme de temps ou « Timing diagram »

Selon les cas, il y a une utilité variable donc ces diagrammes ne sont pas
nécessairement tous produits à l’occasion d’une modélisation. Dans le cadre du notre projet,
seuls les diagrammes suivants sont produits pour la conception des applications :

 Le diagramme de cas d’utilisation

 Le diagramme de séquence

 Le diagramme de classe.

8.2 Diagramme de cas d’utilisation


Le diagramme des cas d’utilisation modélise une interaction entre le système informatique
à concevoir et l’utilisateur qui interagisse avec le système. Un diagramme de cas d’utilisation
est formé d’un chemin de communication entre un acteur et un cas d’utilisation.

8.2.1 L'acteur
Tout ce qui est à l’extérieur du système et qui interagit avec ce dernier est dit «acteur». Ils
peuvent donc être des utilisateurs humains, ou d’autres systèmes ou encore des matériels
informatiques.

Un acteur prend des décisions, à l’inverse d’un élément de l’application, et possède un


rôle par rapport au système. Il se représente par un petit bonhomme avec son nom (son rôle)
inscrit dessous comme nous allons voir sur la figure 14.

Figure 14 : Modèle d’un acteur

8.2.2 Le cas d'utilisation


Un cas d'utilisation ou « use case » est une unité cohérente d'une fonctionnalité visible de
l'extérieur. Il réalise un service de bout en bout, avec un déclenchement, un déroulement et
une fin, pour l'acteur qui l'initie. Un cas d'utilisation modélise donc un service rendu par le 42

système, sans imposer le mode de réalisation de ce service.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Un cas d'utilisation se représente par une ellipse contenant le nom du cas soit un verbe soit
à l’infinitif (figure 15).

Figure 15 : Modèle de cas d’utilisation

8.2.3 La Relation d'association


Une relation d'association est un chemin de communication entre un acteur et un cas
d'utilisation. Elle est représentée par un trait continu.
8.2.4 Relation d'inclusion
Une dépendance se représente par une flèche avec un trait pointillé. Un cas A inclut un cas
B si le comportement décrit par le cas A inclut le comportement du cas B : le cas A dépend de
B. Cette dépendance est symbolisée par le stéréotype « include » comme nous allons voir sur la
figure suivante. Par exemple, l'accès aux informations d'une personne abonnée inclut
nécessairement une phase d'authentification avec un identifiant et un mot de passe.
Les inclusions permettent essentiellement de factoriser une partie de la description d'un
cas d'utilisation qui serait commune à d'autres cas d'utilisation (figure16).

Figure 16 : Relation d'inclusion

8.2.5 Relation d'extension


La relation d'extension est probablement la plus utile car elle a une sémantique qui a un
sens du point de vue métier.
On dit qu'un cas d'utilisation A étend un cas d'utilisation B lorsque le cas d'utilisation A
peut être appelé au cours de l'exécution du cas d'utilisation B. L’exécution de B peut entraîner
l'exécution de A qui est contrairement à l'inclusion. Cette dépendance est symbolisée par le
stéréotype « extend » comme nous allons voir sur la figure 17.

43

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 17 : Relation d'extension

8.3 Diagramme de séquence


Les diagrammes de séquences permettent de représenter des collaborations entre
objets selon un point de vue temporel, on y met l'accent sur la chronologie des envois de
messages. Parmi les diagrammes dynamiques, elles font partie des plus importantes d'UML.
Les diagrammes de séquences peuvent servir à illustrer un cas d'utilisation. L'ordre
d'envoi d'un message est déterminé par sa position sur l'axe vertical du diagramme et le temps
s'écoule de haut en bas de cet axe. La disposition des objets sur l'axe horizontal n'a pas de
conséquence pour la sémantique du diagramme.

La figure 18 représente la fonctionnalité du diagramme de séquence.

Figure 18 : Formalité du diagramme de séquence


8.4 Diagramme de classe
Le diagramme de classe est le point central dans un développement orienté objet. Il 44

représente la structure interne autrement dit l’architecture conceptuelle du système, en


représentant les classes et les relations entre elles (figure 19).

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Un diagramme de classes offre une vue statique. Il permet de:


 Fournir une représentation abstraite des objets du système qui vont interagir ensemble
pour réaliser les cas d’utilisation ;
 Modéliser les concepts du domaine d’application et les concepts internes créés de
toutes pièces dans le cadre de l’implémentation d’une application,
 Modéliser les classes du système et leurs relations indépendamment du langage de
programmation.

Figure 19 : Formalité de diagramme de classe

45

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 9. Conception détaillée


9.1 Point de vue comportemental
D’après les introductions concernant les cas d'utilisations, nous allons commencer à
identifier les acteurs et les cas d’utilisation à fin de pouvoir structurer, relier et classer ces cas
d’utilisation ainsi que les représentations graphiques UML associées.
9.1.1 Identification des acteurs
Dans notre application, nous aurons quatre groupes d’internautes :
 les visiteurs : les visiteurs sont les internautes ;
 les clients : ce sont les internautes qui ont déjà un compte;
 les abonnées : ce sont les internautes qui ont un store et qui s’occupent du suivi des
commandes des clients ;
 l’administrateur : l’internaute qui a le droit d’administrer la plate-forme.
a. Les visiteurs
Ils peuvent :
o Consulter les pages de l’application;
o Contacter la plate-forme abtobmarket;
o Consulter des produits, des services, des annonces….
b. Les clients
Ils peuvent prendre la place des visiteurs, et en plus ils ont le droit de :
o S’identifier sur son compte ;
o Gérer leur paniers;
o Faire le payement;
o Retrouver son mot de passe;
o Envoyer des messages aux annonceurs ;
o Suivre les livraisons de ses commandes ;
o Voir les informations concernant les stores.
c. Les abonnés
Ce sont les internautes qui ont le droit :
o D’administrer son store : gérer son compte, ses produits, ses services, ses actualités,
ses annonces, ses messages, ses ventes, ses alertes;
o De communiquer avec les clients pour donner des informations nécessaires pour le 46

suivi de leurs commandes.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

d. Administrateur
Le seul qui a le droit de modifier le contenu de l’application, il peut :
o Gérer les statuts de la commande;
o Administrer le moyen de paiement;
o Gérer les comptes d’accès clients;
o Gérer les comptes d’accès des abonnées;
o Consulter les statistiques de visites de l’application;
o Consulter les statistiques des ventes;
9.1.2. Identification des cas d’utilisations
D’après la description des acteurs ci-dessus, nous allons présenter sur la figure 20 le.

Figure 20 : Diagramme du cas d’utilisation préliminaire

a. Cas d’utilisation gérer compte


Le cas d’utilisation « Gérer compte » spécifie les droits d’accès de l’internaute sur
l’application.
 Client
Nous allons montrer sur la figure 21 le détail du cas d’utilisation gérer compte pour les
clients. 47

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 21 : Détail du cas d’utilisation gérer compte client

o Description textuelle
Dans la description textuelle, il y a des règles communes à suivre comme:
 Ecrire un paragraphe qui décrit l'ordre des actions ;
 Lister deux colonnes y compris les actions de l'acteur et les réponses
du système ;
 Utiliser un patron identifiant les acteurs, les conditions préalables, les
postconditions, les scénarios principaux de réussite du processus, ….

En conséquent, le but du processus de modélisation est de pouvoir illustrer le mieux


possible les besoins du système, aussi d’employer toutes les méthodes qui permettront une
meilleure compréhension des membres du projet.
Pour le cas d’utilisation « gérer compte », toutes les séquences des tâches sont
présentées dans les tableaux 11, 12 et 13.
Tableau 11 : Séquences des tâches cas d’utilisation gérer compte client

Identification de cas d'utilisation


Nom Gérer compte client
Objectif Manager les comptes du client
Acteur Principal Internaute
Date de création : 18/09/2013 Date de modification : 01/02/2014
Auteur Andry
48
Version 1.0

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Tableau 12 : Séquences des tâches cas d’utilisation gérer compte client

Description des scenarii

Les Préconditions Client existé ou non

Les Scénarii Nominaux 1.1 Accéder l’application


1.2 Naviguer dans la page compte
1.3 Pas encore client
1.4 Formulaire d’inscription
1.5 Remplir formulaire
1.6 Validation information
1.7 Inscription acceptée
1.8 Consulter ses informations personnelles

Les Scénarii Alternatifs Au point 1.6


2.1 Client déjà inscrit/ Inscription annulée
2.2 Message d’information
2.3 Connexion en tant que client
2.4 Validation
Au point 1.2
3.1 Client déjà inscrit/Mot de Passe oublié
3.2 Formulaire de récupération mot de passe
3.3 Recevoir Mail de récupération mot de passe
3.4 Confirmation
3.5 Obtention de nouveau mot de passe
3.6 Connecter espace compte
3.7 Validation de l’authentification
3.8 Consulter ses espaces personnelles

Les Scénarii d'Exception Au point 1.4


4.1 Erreur de saisie des informations
4.2 Retour formulaire inscription 49

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Tableau 13 : Séquences des tâches cas d’utilisation gérer compte client

Les Scénarii d'Exception Au point 2.4


5.1 Mot de passe ou login erroné
5.2 Retour à la page d’authentification

Les Postconditions Client est enregistré dans la base de données

o Description graphique
Nous allons montrer dans le diagramme de séquence (figure 22), le diagramme du
scenario nominal correspondant au cas d’utilisation.

Figure 22 : Diagramme de séquence nominal du cas d’utilisation gérer compte client


 Abonné
Un store est une entreprise qui va être créée par un abonné après avoir s’inscrire. Un
abonné est un visiteur qui s’inscrit pour pouvoir gérer un store. Quand il réussit à s’inscrire, il
va créer son store. Dans un store il y a un menu qui comprend: compte, produits, services,
actualités, annonces, messages, ventes et alertes. Dans le cas d’utilisation « gérer compte »
pour les abonnés, nous allons entrer dans le détail du cas produits (figure 23).

50

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 23 : Détail du cas d’utilisation gérer compte abonné

o Description textuelle
Pour le cas d’utilisation « gérer compte abonné », toutes les séquences des tâches sont
présentées dans les tableaux 14 et 15.
Tableau 14 : Séquences des tâches cas d’utilisation gérer compte abonné

Identification de cas d'utilisation


Nom Gérer compte abonné
Objectif Manager les comptes d’abonné
Acteur Principal Internaute
Date de création : 20/09/2013 Date de modification : 05/02/2014
Auteur Andry
Version 1.0
Description des scenarii

Les Préconditions Abonné existé ou non

Les Scénarii Nominaux 1.1 Accéder l’application


1.2 Naviguer dans la page compte
1.3 Pas encore abonnée
1.4 Formulaire d’inscription
1.5 Remplir formulaire
1.6 Validation information 51
1.7 Inscription acceptée
1.8 Accès à l’espace abonné

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Tableau 15 : Séquences des tâches cas d’utilisation gérer compte abonné

Les Scénarii Alternatifs Au point 1.6


2.1 Abonné déjà inscrit/ Inscription annulée
2.2 Message d’information
2.3 Connexion en tant qu’abonnée
2.4 Validation
Au point 1.2
3.1 Abonné déjà inscrit/Mot de Passe oublié
3.2 Formulaire de récupération mot de passe
3.3 Recevoir Mail de récupération mot de passe
3.4 Confirmation
3.5 Obtention de nouveau mot de passe
3.6 Connecter espace compte
3.7 Validation de l’authentification
3.8 Gérer son espace

Les Scénarii d'Exception Au point 1.4


4.1 Erreur de saisie des informations
4.2 Retour formulaire inscription
Au point 2.4
5.1 Mot de passe ou login erroné
5.2 Retour à la page d’authentification

Les Postconditions Abonné est enregistré dans la base de données

o Description graphique
La figure 24 présente le diagramme de séquence nominal du cas d’utilisation « gérer
compte » pour les abonnés

52

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 24 : Diagramme de séquence nominal du cas d’utilisation gérer compte abonnée

b. Cas d’utilisation gérer panier


Un panier est un sac qui sert à contenir des provisions ou des marchandises ou des
produits.
Notons que le panier de l’internaute ne sera pas sauvegardé dans la base de données. Les
simples visiteurs n’ont pas le droit de gérer un panier, autrement dit, seul les clients peuvent
faire cette action.
Nous allons montrer dans la figure 25 le détail de cette action.

Figure 25 : Détail du cas d’utilisation gérer panier

o Description textuelle
Pour le cas d’utilisation « gérer panier », toutes les séquences des tâches sont 53
présentées dans le tableau 16.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Tableau 16 : Séquences des tâches cas d’utilisation gérer panier

Identification de cas d'utilisation


Nom Gérer panier
Objectif Création et mis à jour du panier
Acteur Principal Internaute
Date de création : 20/09/2013 Date de modification : 05/02/2014
Auteur Andry
Version 1.0
Description des scenarii

Les Préconditions Client existé

Les Scénarii Nominaux 1.1 Voir produit


1.2 Accès sur formulaire authentification si
n’est encore connecté
1.3 S’authentifier
1.4 validation
1.5 Ajout dans le panier
1.6 Validation
1.7 Visualiser les produits dans le panier
1.8 Modifier quantité ligne panier
1.9 Supprimer ligne panier
1.10 Vider panier

Les Scénarii Alternatifs Au point 1.4


2.1 Pas encore client
2.2 création compte
2.3 remplir le formulaire
2.4 validation
2.5 devenu client

Au point 1.6
Les Scénarii d'Exception
2.1 Erreur d’ajouter au panier 54
2.2 Retour à la liste des produits

Les Postconditions Remplir le panier afin de passer la commande


Madagile | Ambohitsoa Mahazoarivo Antanarivo 101
Ecole Nationale d’Informatique Août 2014

o Description graphique
La figure 26 montre le diagramme de séquence nominal du cas d’utilisation « gérer
panier ».

Figure 26 : Diagramme de séquence nominal du cas d’utilisation gérer panier

c. Cas d’utilisation gérer commande


Pour gérer une commande, le client doit pouvoir accéder au formulaire du bon de
commande, autrement dit, quand il valide son panier il va saisir ses coordonnées et les
informations nécessaires au paiement et à la livraison.
Pour la sécurisation et la confidentialité des échanges, il faut que l’envoi des données
se fasse de manière cryptée. Si le client s’avance, le système va lui imprimer un devis pour
commander par fax ou par courrier.
Les commandes seront enregistrées, puis traitées ultérieurement par le service
clientèle. Le client pourra consulter l’historique de toutes ses commandes.
La figure 27 représente le diagramme de cas d’utilisation gérer commande.

Figure 27 : Détail du cas d’utilisation gérer commande


55
o Description textuelle
Toutes les séquences des tâches sur le cas d’utilisation « gérer commande » sont
présentées dans le tableau 17.
Madagile | Ambohitsoa Mahazoarivo Antanarivo 101
Ecole Nationale d’Informatique Août 2014

Tableau 17 : Séquences des tâches cas d’utilisation gérer commande

Identification de cas d'utilisation


Nom Gérer commande
Objectif Ajout et consultation de commande
Acteur Principal Internaute
Date de création : 20/09/2013 Date de modification : 05/02/2014
Auteur Andry
Version 1.0
Description des scenarii

Les Préconditions Client existé

Les Scénarii Nominaux 1.1 Commander les produits dans son panier
1.2 Accès sur formulaire authentification si
n’est encore connecté
1.3 S’authentifier
1.4 validation
1.5 Formulaire d’adresse de facturation et de
livraison
1.6 Mise à jour des adresses si nécessaires
1.7 Validation
1.8 Page transport

Les Scénarii Alternatifs Au point 1.4


2.1 Pas encore client
2.2 création compte
2.3 remplir le formulaire
2.4 validation
2.5 devenu client

Au point 1.4
Les Scénarii d'Exception
2.1 authentification erroné
2.2 retour page compte 56

Les Postconditions Passer les commandes

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

o Description graphique
La figure 28 présente le diagramme de séquence nominal du cas d’utilisation gérer
commande.

Figure 28 : Diagramme de séquence nominal du cas d’utilisation gérer commande

d. Cas d’utilisation gérer paiement


Dans notre application, le mode de paiement que nous allons utiliser est paypal.
L’identification du produit et le numéro de carte seront stockés dans la base. La banque
concernée validera la transaction.
La figure 29 représente le diagramme de cas d’utilisation gérer paiement.

Figure 29 : Détail du cas d’utilisation gérer paiement 57

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

o Description textuelle
Pour le cas d’utilisation « gérer paiement », toutes les séquences des tâches sont
présentées dans le tableau 18.
Tableau 18 : Séquences des tâches cas d’utilisation gérer paiement

Identification de cas d'utilisation


Nom Gérer paiement
Objectif Avoir la commande
Acteur Principal Internaute
Date de création : 21/09/2013 Date de modification : 06/02/2014
Auteur Andry
Version 1.0
Description des scenarii

Les Préconditions Client existé

Les Scénarii Nominaux 1.1 Voir les produits


1.2 Ajout dans le panier
1.3 Création commande
1.4 Visualiser liste de paiement
1.5 Choix de mode de paiement
1.6 Validation
1.7 Voir historiques de d’achat

Les Scénarii Alternatifs Au point 1.6


2.1 erreur de paiement ou erreur
d’authentification sur le compte de paiement
(carte bancaire ou paypal)
2.2 retour sur le choix de mode de paiement

Au point 1.6
Les Scénarii d'Exception
2.1 mode de paiement inactif
58
2.2 retour choix de mode de paiement

Les Postconditions Remplir le panier afin de passer la commande

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

o Description graphique
La figure 30 montre le diagramme de séquence nominal du cas d’utilisation gérer
paiement.

Figure 30 : Diagramme de séquence nominal du cas d’utilisation gérer paiement

e. Cas d’utilisation gérer produits


Dans ce cas, nous allons voir la gestion de produits effectuée par un abonné dans son
espace.
La figure 31 montre le diagramme de cas d’utilisation de cette action.

59

Figure 31 : Détail du cas d’utilisation gérer produits pour les abonnées

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

o Description textuelle
Le tableau 19 montre toutes les séquences de tâches en cas d’utilisation « gérer
produits ».
Tableau 19 : Séquences des tâches cas d’utilisation gérer produits pour les abonnées
Identification de cas d'utilisation
Nom Gérer produit
Objectif Visualisation et mis à jour de produits
Acteur Principal Internaute
Date de création : 23/09/2013 Date de modification : 07/02/2014
Auteur Andry
Version 1.0
Description des scenarii

Les Préconditions Abonné existé

Les Scénarii Nominaux 1.1 Mettre à jour les produits dans son espace
1.2 Accès sur formulaire authentification si
n’est encore connecté
1.3 S’authentifier
1.4 validation
1.5 Mise à jour des produits
1.6 Validation

Au point 1.4
Les Scénarii d'Exception
2.1 authentification erroné
2.2 retour page compte

Les Postconditions Mis à jour effectuer

o Description graphique
La figure 32 montre le diagramme de séquence nominal en cas d’utilisation « gérer
produit » pour les abonnés. 60

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 32 : Diagramme de séquence nominal du cas d’utilisation gérer produits pour les
abonnés

9.1.3 Diagramme de cas d’utilisation générale de la partie Front


 Partie client
Le diagramme (figure 33) montre tous les cas d’utilisation utilisés dans la partie Front
Office de la partie client.

61

Figure 33 : Diagramme de cas d’utilisation général de la partie front du client

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

 Partie abonnée
Le diagramme (figure 34) montre tous les cas d’utilisation dans la partie Front Office
de la partie abonnée.
Notons que « gérer produits », « gérer services », « gérer ventes », « gérer actualités »,
« gérer annonces » ont les mêmes actions. Alors nous n’allons prendre que le cas « gérer
produits » dans le diagramme.

Figure 34 : Diagramme de cas d’utilisation général de la partie front d’abonné

9.2 Point de vue structurel


9.2.1 Dictionnaire de données
Nous allons montrer dans les tableaux 20, 21 et 22 le dictionnaire de données.
Tableau 20 : Dictionnaire de données

Rubrique Description de la rubrique Type Taille


Active_ Abn Valeur pour savoir si l’abonné est active N 5
Adresse_ Abn Adresse d’un abonné AN 60
Alerte_active_ Abn Valeur pour savoir si l’alerte de l’abonné est active N 5 62
Code_postale_ Abn Code postale de l’abonné N 11
Grille d’évaluation : A = Alphabétique, AN = Alphanumérique, C = Calculer, D = Date

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Tableau 21 : Dictionnaire de données

Rubrique Description de la rubrique Type Taille


Date_inscription_ Abn Date de l’inscription de l’abonné D 1
Date_modification_ Abn Date de modification du compte d’un abonné D 1
Date_suppr_ Abn Date de suppression du compte d’un abonné D 1
Id_Abn Identifiant d’un abonné N 11
Id_pack Identifiant du pack d’un abonné N 5
Pays_ Abn Pays originaire d’un abonné A 30
Telephone_ Abn Numéro téléphone d’un abonné N 60
Ville_ Abn Ville de lieu où l’abonné s’habite A 60
Adresse_ Cli Adresse d’un client AN 60
Code_postale_ Cli Code postale du client N 11
Date_inscription_ Cli Date de l’inscription du client D 1
Date_modification_ Cli Date de modification du compte d’un client D 1
Date_suppr_ Cli Date de suppression du compte d’un client D 1
Id_Cli Identifiant d’un client N 11
Pays_ Cli Pays originaire du client A 60
Telephone_ Cli Numéro téléphone d’un client N 60
Ville_ Cli Ville de lieu où le client s’habite A 60
Cout_ Comd Cout totale d’une commande C 1
Date_ Comd Date d’une commande D 1
Date_paiement Date du paiement d’une commande D 1
Desti_ Comd Mail du destinataire d’une commande AN 60
Etat_ Comd Etat d’une commande A 60
Id_ Comd Identifiant d’une commande N 11
Montant_ Comd Montant d’une commande C 1
Prix_Exp_Comd Prix de l’expédition de commande C 1
Taxe_Comd Taxe de commande C 1
Code_prom_Pan Code de promotion du panier A 30
Cout_total_Pan Cout total d’un panier C 1
63
Date_expir_Pan Date d’expiration d’un panier D 1
Date_ajout_Pan Date d’ajout du panier D 1
Grille d’évaluation : A = Alphabétique, AN = Alphanumérique, C = Calculer, D = Date
Madagile | Ambohitsoa Mahazoarivo Antanarivo 101
Ecole Nationale d’Informatique Août 2014

Tableau 22 : Dictionnaire de données

Rubrique Description de la rubrique Type Taille


Id_pan Identifiant du panier N 11
Poids_Pan Poids du panier C 1
Id_Pro Identifiant d’un produit N 11
Id_Store_Pro Identifiant du store qui contient le produit N 11
Nom_Pro Nom du produit AN 60
Poids_Pro Poids d’un produit N 11
Prix_Pro Prix unitaire du produit N 11
Stock_Pro Nombre des stocks d’un produit N 11
Taxe_Pro Taxe d’un produit C 1
Id_Secteur Identifiant d’un secteur d’activité N 11
Image_Secteur Logo d’un secteur d’activité AN 60
Nom_Secteur Nom d’un secteur d’activité A 60
Capital_Store Capital en dollar utilisé par le store N 30
Date_creation_Store Date de création d’un store D 1
Deccription_Store Description d’un store AN
Id_Abonné_Store Identifiant de l’abonné qui a le store N 11
Id_Secteur_Store Identifiant du secteur d’activité contenant le store N 11
Id_Store Identifiant d’un store N 11
Nom_Store Nom d’un store AN 60
Site_web_Store Lien du site d’un store AN 60
Id_U Identifiant d’un utilisateur N 11
Mail_U Mail d’un l’utilisateur AN 60
Nom_U Nom d’un l’utilisateur AN 60
Password_U Mot de passe d’un utilisateur AN 60
Prenom_U Prénom d’un utilisateur AN 60
Grille d’évaluation : A = Alphabétique, AN = Alphanumérique, C = Calculer, D = Date

64

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

9.2.2 Règle de gestion


– Un store concerne un secteur d’activité.
– Un store concerne un abonné.
– Un abonné ou client gère un ou plusieurs messages.
– Un abonné ou client gère une ou plusieurs annonces.
– Les produits peuvent être gérer par plusieurs clients.
– Un ou plusieurs produit(s) concerne(nt) un abonné.
– Une vente concerne un abonné.
– Parfois, les alertes pouvaient ne pas être gérées par un abonné.
– Un client peut gérer ou ne pas gérer une ou plusieurs commande(s).
– Parfois, un panier pourrait ne pas être commandé.
– Un ou plusieurs panier(s) peut (peuvent) contenir un ou plusieurs produit(s).
– Une taxe concerne un ou plusieurs produit(s).
– Une taxe concerne une ou plusieurs commande(s).
– Parfois, les produits peuvent être mis en promotion.
– Parfois, un panier peut être en promotion.
– Une livraison concerne une ou plusieurs commande(s).
– Un état de livraison concerne un ou plusieurs livraison(s).
– Une facture concerne une ou plusieurs commande(s).
– Une expédition concerne une ou plusieurs commande(s).
– Un service de transport concerne une ou plusieurs expédition(s).
– Une TVA concerne une ou plusieurs commande(s).
– Une TVA concerne un pays.
– Un pays concerne une ou plusieurs expédition(s).
– Un type de paiement concerne une ou plusieurs commande(s).
– Une commande peut être payer par un choix de type de payement.

9.2.3 Diagramme de classe


Dans le diagramme de classe (figure 35), nous allons montrer les classes utilisées
dans l’application.

65

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 35 : Diagramme de classe générale de l’application

66

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Partie IV :
REALISATION

67

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 10. Outils, langages, architecture informatique Ajax et


Framework open-source Cordova
10.1 Outils
10.1.1 Adobe Dreamweaver
Dreamweaver est un éditeur de site web pour Microsoft Windows, et Mac OS X. Sa
première version est créée en 1997. C’est l'un des premiers éditeurs HTML de type « tel
affichage, tel résultat ». Il est également parmi les premiers à intégrer un gestionnaire de site.
Dreamweaver est édité par la société Adobe Systems et fait partie de la suite de
développement Studio 8 de l'éditeur, qui comprend Macromedia Flash, Macromedia
Fireworks et Macromedia Coldfusion. En décembre 2005, Macromedia, qui éditait
Dreamweaver auparavant, a été racheté par Adobe [19].
Dreamweaver offre deux modes de conception par son menu affichage :
 L'utilisateur peut effectuer la mise en page directement à l'aide d'outils simples,
comme dans un logiciel de traitement de texte ;
 L’utilisateur peut afficher et modifier directement le code qui compose la page.
Aujourd'hui, Dreamweaver a la possibilité de concevoir des feuilles de style. Les liaisons
avec des bases de données et le chargement des fichiers sur les serveurs d'hébergement ont été
améliorées.
Depuis la version MX, il peut être utilisé avec des langages web dynamiques comme ASP,
PHP. Il permet ainsi de développer des applications dynamiques sans connaissance préalable
des langages de programmation.
Dans notre projet nous avons utilisé Dreamweaver CS6 qui est sorti en mai 2012.
10.1.2 Eclipse
Eclipse est un environnement de développement intégré libre, supportant de nombreux
langages de programmation. Il produit et fournit des outils pour la réalisation de logiciels,
englobant les activités de programmation, de modélisation, de conception, de test et de
reporting [6] [20].
Parmi les grandes réussites de l'Open source, Eclipse est devenu un standard du marché
des logiciels de développement, intégré par de grands éditeurs logiciels et sociétés de
services.
68
10.1.3 MySql
Un système de gestion de base de données est un logiciel qui permet de décrire, modifier,
interroger et administrer les données d’une base de données.
Madagile | Ambohitsoa Mahazoarivo Antanarivo 101
Ecole Nationale d’Informatique Août 2014

MySQL est un système de gestion de base de données relationnelle (SGBDR). Il fait


partie des logiciels de gestion de base de données les plus utilisés au monde [5].

a. Caractéristiques
Nous allons citer quelques caractéristiques de MySQL
 Avantages
 Rapide ;
 Robuste (On peut stocker une importante quantité d’informations sous
différents types) ;
 Facile à utiliser et à administrer ;
 Compatible sur différentes plateformes ;
 Licence Open Source.
 Inconvénients
 Taille de données limitées (maximum trente Go)
 Support incomplet des triggers et procédures stockées ;
 Assez peu de richesse fonctionnelle ;
 Pas d'héritage de table.
10.1.4 Apache
Apache HTTP Server ou Apache, est un logiciel de serveur HTTP produit par l'Apache
Software Foundation.
Apache est aussi un logiciel libre avec un type spécifique de licence, nommée licence
Apache.
Ses performances, sa robustesse, son utilisation aisée, et sa licence font de lui le serveur
web le plus populaire au monde, depuis mars 1997.
Ce serveur est aussi multiplateforme, il peut tourner sous plusieurs systèmes
d’exploitation. De plus, il exécute du PHP et permet de stocker plusieurs sites web.

10.2 Langages
10.2.1 HTML5
HTML5, la dernière révision majeure d'HTML pour représenter les pages web. C’est un 69
[9]
langage qui désigne un ensemble de technologies Web : HTML5, CSS3 et JavaScript .

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

10.2.2 CSS3
Les feuilles de style en cascade CSS forment un langage informatique pour décrire la
présentation des documents HTML et XML. Les standards définissant CSS sont publiés par
W3C. Au milieu des années 1990, CSS devient couramment utilisé dans la conception de sites
web et bien pris en charge par les navigateurs web dans les années 2000. CSS3 est la dernière
norme CSS qui est totalement rétro compatible avec les versions antérieures de CSS.
10.2.3 JavaScript, JQuery et Jquery mobile
JavaScript souvent abrégé JS un langage de programmation de scripts principalement
utilisé dans les pages web interactives mais aussi côté serveur [10] [11].
JQuery, une bibliothèque JavaScript libre qui porte sur l'interaction entre JavaScript et
comprenant Ajax et HTML, son but est de simplifier des commandes communes de
JavaScript.
Et jQuery Mobile, un tactile optimisée Framework web plus connu sous le nom de
bibliothèque JavaScript ou un cadre mobile actuellement développé par le jQuery équipe de
projet.
10.2.4 PHP
PHP: Hypertext Preprocessor, plus connu sous son sigle PHP, un langage de
programmation libre principalement utilisé pour produire des pages Web dynamiques via un
serveur HTTP, il peut fonctionner comme n'importe quel langage interprété de façon locale.
C’est est un langage impératif orienté-objet [15].
10.3 Architecture informatique Ajax
10.3.1 Définition
L'architecture informatique Ajax : Asynchronous Javascript And XML, est une méthode
de développement web basée sur l'utilisation d'un script Javascript. Elle permet de construire
des applications Web et des sites web dynamiques interactifs sur le poste client. Elle combine
JavaScript, les CSS, XML, le DOM et le XMLHttpRequest pour l’amélioration et le confort
d'utilisation des Applications Internet Riches [21].
10.3.2 Historique
En 1989, le WWW a été créé et en 1990 il a été popularisé. En 1996, JavaScript est
apparu pour la première fois, il utilise le navigateur Web Netscape Navigator. En 1998, W3C
a normalisé le DOM : Document Object Model. En cette année même, XMLHttpRequest qui
70
initialise un composant ActiveX a été créé par Microsoft pour l’application web Outlook Web
Access. Entre 2002 et 2005, XMLHttpRequestajout a été ajouté à la norme ECMAScript et

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

mis en œuvre sur la plupart des navigateurs du marché. Le 18 février 2005, le terme Ajax a
été introduit dans un article sur le site Web par un informaticien americain Jesse James
Garrett.
10.3.3 Les technologies utilisées
La méthode Ajax consiste à utiliser de manière conjointe diverses technologies
normalisées :
 Javascript
 HTML et CSS
 DOM
 XMLHttpRequest
 XML et JSON

10.3.4 Principe
Dans une application Web avec la méthode classique, lors de chaque manipulation faite
par l'utilisateur, le navigateur envoie une requête contenant une référence à une page Web,
puis le serveur Web effectue des calculs, et envoie le résultat sous forme d'une page Web à
destination du navigateur. Celui-ci affichera alors la page qu'il vient de recevoir. Chaque
manipulation entraîne la transmission et l'affichage d'une nouvelle page. L'utilisateur doit
attendre l'arrivée de la réponse pour effectuer d'autres manipulations. Cette méthode utilise
des mécanismes propres au WWW, qui sont incorporés dans tous les navigateurs et ne
nécessite pas de programmation.
Tandis qu’avec la méthode utilisant Ajax, un programme est écrit en langage de
programmation JavaScript, incorporé dans une page web, est exécuté par le navigateur. Ajax
envoie en arrière-plan des demandes au serveur Web, puis modifie le contenu de la page
actuellement affichée par le navigateur Web en fonction du résultat reçu du serveur, évitant
ainsi la transmission et l'affichage d'une nouvelle page complète. De plus, les demandes sont
effectuées de manière asynchrone. Autrement dit, le navigateur Web continue d'exécuter le
programme JavaScript alors que la demande est partie, il n'attend pas la réponse envoyée par
le serveur Web et l'utilisateur peut continuer à effectuer des manipulations pendant ce temps.

71

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

La figure 36 représente le principe de dialogue entre un navigateur et un serveur et


compare la méthode classique et la méthode utilisant Ajax.

Figure 36 : Dialogue entre serveur et navigateur

10.4 PhoneGap ou Cordova


10.4.1 Définition et historique
PhoneGap est un Framework multiplateforme libre et open source. Autrement dit il
permet de créer des applications mobiles pour différentes plateformes comme Android, iOS,
Windows Phone....Il utilise le langage HTML et JavaScript et les feuilles de style en cascade
72
CSS [12].
Les applications qui en résultent ne sont ni vraiment natives, ni purement basées sur
HTML, CSS et JavaScript. Ce sont des applications hybrides.
Madagile | Ambohitsoa Mahazoarivo Antanarivo 101
Ecole Nationale d’Informatique Août 2014

En Octobre 2011, ce Framework est racheté par Adobe et passe sous licence Open Source
Apache sous le nom Cordova.

10.4.2 Support
Le tableau 23 représente la liste des fonctionnalités par appareils supportés par Cordova.
Tableau 23 : Liste des fonctionnalités par appareils supportés
iPhone / iPhone Android Blackberry Blackberry Web-OS Windows Symbian Bada
iPhone 3GS and OS 6.0+ 10 Phone 7 et
3G newer 8

Accéléromètre Oui Oui Oui Oui Oui Oui Oui Oui Oui

Appareil photo Oui Oui Oui Oui Oui Oui Oui Oui Oui

Boussole Non Oui Oui Non Oui Oui Oui Non Oui

Contacts Oui Oui Oui Oui Oui Non Oui Oui Oui

Fichiers Oui Oui Oui Oui Oui Non Oui Non Non

Géolocalisation Oui Oui Oui Oui Oui Oui Oui Oui Oui

Médias Oui Oui Oui Non Oui Non Oui Non Non

Réseau Oui Oui Oui Oui Oui Oui Oui Oui Oui

Notifications Oui Oui Oui Oui Oui Oui Oui Oui Oui

Stockage Oui Oui Oui Oui Oui Oui Oui Oui Non

10.4.3 Adobe PhoneGap Build


PhoneGap Build est un service de cloud computing qui se trouve au-dessus du Framework
PhoneGap. Il permet de développer et compiler des applications en ligne, sans installation. Il
utilise GitHub pour le stockage des différents éléments de l'application, et aussi pour la
récupération automatiquement de ces éléments pour compiler l'application.

73

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 11. Création et configuration du projet


11.1 Création du projet
11.1.1 Installation d’Eclipse
Pour pouvoir utiliser l’ 'environnement de développement Eclipse, Nous allons suivre les
[4]
démarches suivantes :
 Téléchargeons le package Eclipse Classic correspondant au système
d'exploitation Windows sur le lien http://www.eclipse.org/downloads/ ;
 On décompresse l'archive téléchargée sur le disque dur local ;
 Lançons Eclipse en double-cliquant sur l'application Eclipse.
11.1.2. Mise en place d’outils Android
Afin d'utiliser les outils de développement pour Android, on va configurer notre
environnement Eclipse. Différentes étapes sont alors nécessaires:
 Téléchargeons SDK Android sur le lien
http://developer.android.com/sdk/index.htm ;
 On décompresse l'archive téléchargée sur le disque dur local ;
 Configurons le plugin ADT (Android Development Tools) pour Eclipse en
démarrant Eclipse et quand la configuration sera terminée, on le redémarre ;
 Configurons Eclipse pour utiliser le SDK Android de référence.
 Installons PhoneGap en le téléchargeant sur le lien
http://www.phonegap.com/download ;
 On décompresse l'archive téléchargée sur le disque dur local ;
Notons que nous allons utiliser la version PhoneGap 2.9.0 sous le nom de Cordova 2.9.0.
Nous pouvons maintenant créer un projet Android avec PhoneGap en suivant les étapes ci-
après :
Création du nouveau projet Android
Nous allons présenter sur la figure 37 la création du nouveau projet Android
PhoneGap.

74

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 37 : Nouveau projet Android PhoneGap


Puis, nous allons nommer notre projet (figure 38).

75

Figure 38 : Donner un nom au projet

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Ensuite, nous allons choisir la version cible, dans notre cas, nous utilisons Android 3.0 (figure
39).

Figure 39 : Donner la version supportée


Et pour terminer la création du projet, nous allons donner le nom du package correspondant
au projet. Dans notre cas, le nom du package est com.pkg (figure 40).

Figure 40 : Donner le nom du package 76


En cliquant sur le bouton finish, la création du projet est terminée. Nous allons maintenant
procéder à l’instanciation du projet pour pouvoir utiliser PhoneGap.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

11.2 Instanciation du projet pour utiliser PhoneGap


À ce stade, Eclipse a créé un projet vide Android. Cependant, il n'a pas encore été
configuré pour utiliser PhoneGap. Nous allons suivre l’étape suivante pour pouvoir configurer
PhoneGap.
1. Créons un dossier "www" (à placer dans le dossier "assets") et un dossier "libs" à
l'intérieur de notre projet Android (figure 41).

Figure 41 : Création des dossiers


Notons que tout le code HTML et JavaScript de notre interface de l'application
PhoneGap va se trouver dans le dossier "assets/www".
Comme nous avons déjà décompressé l'archive téléchargée de PhoneGap, alors :
Prenons (figure 42)
 le fichier cordova.js et plaçons dans le dossier www ;
 le fichier cordova.jar et plaçons dans le dossier libs ;
 le dossier xml et plaçons dans le dossier res.

77
Figure 42 : Ajout des fichiers de PhoneGap dans le projet

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

1. Dans le dossier www créons un fichier que nous allons nommer index.html. Ce fichier
sera utilisé comme point d'entré principal pour l'interface de notre application PhoneGap.
Dans la balise <head> </head> le script suivant est obligatoire à chaque fichier html:
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
2. Nous aurons besoin d'ajouter la bibliothèque cordova.jar au chemin de génération pour
le projet Android: faisons un clic droit sur cordova.jar puis entrons dans Build Path et
ajouter au Build Path.
3. Ouvrons le fichier d'activité créé précédemment :
 Ajoutons l'instruction d'import : import org.apache.cordova.DroidGap;
 Modifions la classe Activity en la faisant hériter de DroidGap à l'aide du mot extends :
public class MonProjet_Activity extends DroidGap {
 Remplaçons l'appel à setContentView() par une référence vers le fichier
android_asset/www/index.html (cela permet de charger l'interface PhoneGap):
super.loadUrl("file:///android_asset/www/index.html");
Alors notre fichier d’activité sera comme suit:

4. Configuration des métadonnées du projet


Cette configuration permet le démarrage de Phone Gap.
 Ouvrons le fichier AndroidManifest.xml qui se trouve à la racine de notre projet en
utilisant l'éditeur de texte Eclipse.
 Ajoutons à l'intérieur de la balise principale manifest la balise supports-screen:

78
Cette balise sert à identifier les tailles d'écrans qui sont prises en charge par l’application. On
peut changer d'écran et varier la taille du support en modifiant le contenu de cette balise.

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

5. Configurons les autorisations pour l'application PhoneGap. Pour se faire, ajoutons à


l'intérieur de la balise principale <manifest> du fichier AndroidManifest.xml les balises
suivantes :

Ces balises servent à identifier les fonctionnalités que nous voulons activer pour
l’application. Les lignes ci-dessus activent toutes les autorisations nécessaires à l'ensemble
des fonctionnalités de PhoneGap pour qu'il puisse fonctionner.
6. Après la configuration des autorisations d'applications, nous allons modifier la balise
<activity> existante qui se trouve à l'intérieur de la balise <application>. Ajoutons lui
l'attribut suivant : android:configChanges="orientation|keyboardHidden".
7. Pour terminer la configuration, nous devons créer une nouvelle balise
<activity></activity> de la classe org.apache.cordova.DroidGap à la suite de la première

79

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

balise activity mais rester dans la balise <application>. Le contenu de cette balise est :

11.3. Configuration des fichiers au serveur


Comme nous avons vu sur la figure 36, qui indique le dialogue entre serveur et
navigateur, cette figure nous montre que le moteur Ajax envoie une requête HTTP au serveur.
Mais dans notre application, nous utilisons PhoneGap. Dans ce cas, la requête envoyée par
Ajax ne connait pas le serveur. Nous avons besoin de portion du code suivant pour résoudre
ce problème : header ("Access-Control-Allow-Origin: *");
Cette ligne de code doit se placer à l’entête de chaque fichier du serveur.
11.4. Architecture de l’application
L’architecture de l’application est de trois niveaux ou architecture 3 tiers :
1. Les clients : Conteneur d’application et demandeur de ressources ;
2. Le serveur d’application : serveur web qui gère la communication entre le client et le
serveur de base de données ;
3. Le serveur de données : fournis les données au serveur d’application.
Cette architecture est représentée par la figure 43 :

Figure 43 : Architecture de l’application 80

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 12. Représentation graphique


12.1 Page d’accueil
Après une petite animation, la fenêtre qui s’affichera après le lancement de
l’application est la page d’accueil (figure 44).

Figure 44 : Page d’accueil de l’application


Dans cette page, l’utilisateur va choisir au menu ce qu’il va faire 81
12.1.1 Visiteurs
Si l’utilisateur clique sur Visiteurs, il aurra la page d’accueil des visiteurs (figure 45).

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Dans cette page le visiteur va choisir ce qui lui intéresse.


Exemple 1: s’il clique sur Entreprise, il aura un sous menu et s’il clique sur Annonces
d’achats il va avoir la liste des annonces d’achats (figure 46).
Exemple 2: s’il clique sur Produits, il aura un sous menu et s’il clique sur Top produits il va
avoir la liste des produits (figure 46).

Figure 45 : Page d’accueil visiteur

82

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 46 : Liste des annonces d’achats et liste des produits

12.1.2 Clients
Si l’utilisateur clique sur Clients, il aurra la page d’authentification (figure 47).
S’il est un client déjà inscrit, il va s’authentifier pour avoir la page d’accueil du client (figure
48). Sinon il va s’inscrire en tant que client en remplissant le formulaire (figure 47) et il aura
après la page d’accueil du client (figure 48).
Si le client clique par exemple sur Mes Messages, il aura un sous-menu et s’il veut
envoyer un message à un autre client, il va cliquer sur Créer un nouveau message (figure 48).

83

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 47 : Page d’authentification et inscription client


Notons que si le client n’a pas réussi l’authentification, il revient sur la page
d’authentification. De même pour l’inscription s’il n’a pas réussi son inscription, il revient sur
la page d’inscription.

84

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 48 : Page d’accueil du client et page nouveau message

12.1.3 Abonnés
Si l’utilisateur clique sur Abonnés, il aurra la même page d’authentification comme dans
le cas de client (figure 47). Mais ce sont deux pages différentes car l’utilisateur s’authentifie
en tant qu’abonné.
Si l’abonné réussit l’authentification, il sera redirigé vers la page d’accueil des abonnés
(figure 49), sinon il revient à la page d’authentification.
Cette page d’accueil d’abonné représente son espace. Si l’abonné clique sur Mes
Informations par exemple, il peut faire la mise à jour de son compte, sa connexion et son pack
(figure 49).

85

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 49 : Page d’accueil d’abonné et page compte d’un abonné

12.1.4 A propos de nous


Si l’utilisateur clique sur « A propos de nous », il aurra les informations concernant la
plate-forme, les conditions générale et il peut aussi contacter directement la plate-forme
(figure 50).

86

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Figure 50 : A propos de plate-forme

87

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

CONCLUSION GENERALE
Pour conclure, en vue de ne pas perdre les clients de la plate-forme abtobmarket, la
société Madagile cherche à concevoir et à réaliser une application Android compatible
pour la version 3.0 et toutes les autres versions ultérieures.

L’application est un logiciel de gestion de vente en ligne permettant aux


visiteurs de consulter des produits, des annonces, des opportunités d’affaires,…Elle
permet aussi aux clients et aux abonnes de faire des achats en ligne, d’avoir accès aux
données de la plate-forme et de les synchroniser car l’application et la plate-forme ont
les mêmes fonctionnalités.

Ainsi, l’application est un outil qui facilite les tâches des utilisateurs car ils ont
la possibilité d’utiliser un téléphone portable.

Pour procéder à la réalisation du projet, nous avons utilisé la méthode XP et les


logiciels Eclipse et Dreamweaver, les langages HTML5, CSS3, Javascript, Ajax, PHP, le
bibliothèque JQuery, les Framework JQuery mobile et PhoneGap, le SGBD MySql. Pour la
modélisation, grâce aux différents diagrammes de vue statique et de vue dynamique, le
langage UML nous a permis de bien notifier et représenter les principaux besoins des
utilisateurs.

Dans la perspective, nous envisageons d’améliorer cette plate-forme en introduisant


des fonctionnalités comme « gestion des ventes » et « gestion des alertes ».

La réalisation de ce projet nous a permis d’acquérir des connaissances


techniques et professionnelles parce que nous avons eu l'occasion de travailler avec
des outils spécifiques et au sein d'une entreprise ayant ses disciplines et
organisations internes.

88

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

REFERENCES BIBLIOGRAPHIQUES
[1]. Tarak Chaari, 2010, UML : Atelier UML, 94 pages.
[2]. Kieran Conboy & Brian Fitzgerald, "The Agile Manifesto was put forward in 2001,
and several method instantiations, such as XP, SCRUM, and Crystal exist.", Extreme
Programming And Agile Methods - XP/Agile Universe 2004: 4th Conference On Extreme
Programming And Agile Methods, Calgary, Canada, August 15-18, 2004, Proceedings,
chap. Toward a Conceptual Framework of Agile Methods, Springer Verlag, New York,
août 2004, (ISBN 354022839X)

REFERENCES WEBOGRAPHIQUES
[3].www.cours-informatique-gratuit.fr/facile/multimedia/7.l-internet-mobile consulté le 05
décembre 2013
[4].www-igm.univ-mlv.fr/~dr/XPOSE2008/android/archi_comp.html consulté le 10 janvier
2014
[5]. http://dev.mysql.com/doc consulté le 12 janvier 2014
[6]. http://www.developpez.com consulté le 02 février 2014
[7]. http://fr.wikipedia.org/wiki/Commerce_%C3%A9lectronique 02 février 2014
[8]. http://fr.wikipedia.org/wiki/Application_mobile 04 février 2014
[9]. http://fr.wikipedia.org/wiki/HTML5 12 février 2014
[10]. http://fr.wikipedia.org/wiki/JavaScript 20 février 2014
[11]. http://fr.wikipedia.org/wiki/JQuery 20 février 2014
[12]. http://fr.wikipedia.org/wiki/Apache_Cordova 25 février 2014
[13]. http://fr.wikipedia.org/wiki/Adobe_PhoneGap 02 mars 2014
[14]. http://fr.wikipedia.org/wiki/Nomadisme_num%C3%A9rique 08 mars 2014
[15]. http://fr.wikipedia.org/wiki/PHP 08 mars 2014
[16]. http://fr.wikipedia.org/wiki/Smartphone 30 mars 2014
[17]. http://www.cours-informatique-gratuit.fr/facile/multimedia/7.l-internet-mobile 31
mars 2014
[18]. http://fr.wikipedia.org/wiki/BlackBerry 08 mars 2014
[19]. http://fr.wikipedia.org/wiki/Adobe Dreamwer 26 février 2014
[20]. http://fr.wikipedia.org/wiki/Eclipse 28 février 2014 x
[21]. http://fr.wikipedia.org/wiki/Ajax 08 avril 2014

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

GLOSSAIRE

A F
Authentification Framework
Mécanisme utilisé pour vérifier l’identité Un Framework est un ensemble d'outils et de
d’un correspondant sur Internet et assurer le composants logiciels organisés
respect de l’intégrité du message qu’il émet. conformément à un plan d'architecture et des
design patterns. L'ensemble forme un
B
squelette de programme. Il est souvent fourni
Back Office sous la forme d'une bibliothèque logicielle, et
Le terme back office est un terme accompagné du plan de l'architecture cible du
d'architecture logicielle qui, par rapport à une Framework.
architecture trois tiers, regroupe la partie Front Office
métier et données. Dans les sites web Le terme front office est un terme
commerciaux, le back office est l’interface d'architecture logicielle. Il désigne la partie
qui regroupe la partie gestion. qui prend en charge l'interface d'une
Base de données application. On retrouve typiquement le front
Ensemble structuré de données portant sur un office dans les sites web commerciaux qui
sujet bien déterminé, stockées d’une manière permettent de commander en ligne ou celui
cohérente. des banques permettant de gérer des comptes

E en ligne.

E-commerce H
Le commerce électronique ou « e-commerce HTTP
» est l’ensemble des échanges électroniques Protocole de transfert des pages HTML sur le
liés aux activités commerciales, il désigne réseau Internet. Préfixe des adresses des sites
aussi l’échange de biens et de services entre WEB et protocole de base du Net. Il indique
deux entités sur les réseaux informatiques, aux serveurs Web ce qu’ils doivent envoyer
notamment Internet. au poste client en fonction de la requête.

xi

I
Madagile | Ambohitsoa Mahazoarivo Antanarivo 101
Ecole Nationale d’Informatique Août 2014

Internet
Réseau mondial associant des ressources de
télécommunication et des ordinateurs,
serveurs et clients, destiné à l’échange de
messages électroniques, d’informations
multimédias et de fichiers. Il fonctionne en
utilisant un protocole commun.

M
Mobile
Un mobile peut être soit un téléphone
portable, soit un petit ordinateur de poche.

S
Serveur
Ordinateur servant plusieurs utilisateurs
(clients). Il contient généralement les
données et effectue un certain nombre de
traitements sur ces données.
SGBD
Outil logiciel composé d’un ensemble de
procédures qui permettent de décrite et de
manipuler des données et bien sûr de
protéger ces données.
SQL
Langage standard de structuration et
d’interrogation des bases de données
relationnelles.

xii

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

ANNEXES

A. Code source
A.1 Configuration Paramètres et configuration au démarrage de l’application

Nous allons utiliser ces codes de configuration pour avoir le code complet de la page
d’authentification du client suivante.

xiii

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

A.2 Code complet de la page d’authentification du client

A.2.1 Code html, css et java script

xiv

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

xv

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

xvi

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

A.2.2 Code php

Ce fichier utilise le fichier de configuration suivant qui permet de se connecter à la


base de données et aussi la classe Client suivante.

Connexion à la base de données

Classe client

xvii

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

xviii

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

TABLES DES MATIERES


CURRICULUM VITAE ................................................................................................................ i
DEDICACE ................................................................................................................................ iii
REMERCIEMENTS .................................................................................................................. iv
SOMMAIRE................................................................................................................................ v
NOMENCLATURE .................................................................................................................... vi
LISTE DES TABLEAUX ........................................................................................................... vii
LISTE DES FIGURES .............................................................................................................. viii
INTRODUCTION GENERALE .................................................................................................. 1
Partie I : ...................................................................................................................................... 2
PRESENTATION ...................................................................................................................... 2
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique .................................................. 3
1.1 Localisation ..................................................................................................................... 3
1.2 Historique et missions de l’Ecole .................................................................................... 3
1.3 Architecture pédagogique ................................................................................................ 4
1.4 Filières existantes et diplômes délivrés ........................................................................... 5
1.5 Organigramme ................................................................................................................. 7
1.6 Ressources humaines....................................................................................................... 7
1.7 Relations partenariales de l’ENI avec des organismes .................................................... 7
1.7.1 Au niveau national ...................................................................................................... 7
1.7.2 Au niveau international ........................................................................................ 8
1.8 Projets et perspectives de développement institutionnel ................................................ 9
Chapitre 2. Présentation de la Société ...................................................................................... 10
2.1 Fiche d’Identification .................................................................................................... 10
2.2 Historique ...................................................................................................................... 10
2.3 Objectifs ........................................................................................................................ 10
2.4 Organisation .................................................................................................................. 11
Chapitre3. Description du Projet .............................................................................................. 12
3.1 Formulation .................................................................................................................. 12
3.2 Objectif .......................................................................................................................... 12
3.3 Environnement Technique ........................................................................................... 12
3.4 Moyens personnels ....................................................................................................... 13
3.5 Moyens matériels et Logiciels ...................................................................................... 13
3.6 Résultats attendus ......................................................................................................... 13
Partie II : ................................................................................................................................... 15
ENSEMBLE DES TECHNOLOGIES ..................................................................................... 15
Chapitre 4. Informatique mobile, Smartphones et internet mobile ........................................ 16
4.1 Informatique mobile ..................................................................................................... 16
4.1 .1 Définition ......................................................................................................... 16
4.1.2 Nomadisme........................................................................................................ 16
4.1.3 Informatique Ubiquitaire ................................................................................... 16
4.1.4 Systèmes sensibles au contexte ......................................................................... 16
4.2 Smartphones ................................................................................................................. 16 xix
4.2.1 Définition et fonctionnalités .............................................................................. 16
4.2.2 Type de Smartphones ........................................................................................ 17
a. IPhone ............................................................................................................. 17
Madagile | Ambohitsoa Mahazoarivo Antanarivo 101
Ecole Nationale d’Informatique Août 2014

b. Android ........................................................................................................... 17
c. Windows Mobile ............................................................................................ 18
d. BlackBerry ...................................................................................................... 18
4.3 Internet mobile ............................................................................................................. 19
4.3.1 Mobile de troisième génération (3G) ................................................................ 19
4.3.2 Evolution de 3G ................................................................................................ 19
4.3.3 Appareils utilisant l’internet mobile .................................................................. 19
Chapitre 5. Système d’exploitation Android .......................................................................... 21
5.1 Présentation .................................................................................................................. 21
5.1 .1 Android............................................................................................................. 21
5.1.2 OHA .................................................................................................................. 21
5.1.3 Historique .......................................................................................................... 21
5.1.4 Caractéristiques ................................................................................................ 22
5.2 Architecture .................................................................................................................. 22
5.2.1 Description de l’architecture d'Android ............................................................ 22
5.2.2 Kernel linux ...................................................................................................... 23
a. Quelques patches se présentant avec un kernel d’Android ........................... 23
5.2.3 Librairies ........................................................................................................... 24
a. Bionic libc....................................................................................................... 24
b. WebKit............................................................................................................ 24
c. Media Framework........................................................................................... 24
d. Surface et Audio Flinger................................................................................. 24
5.2.4 Hardware Abstraction Layer ............................................................................. 25
5.2.5 Android Runtime ............................................................................................... 25
a. Dalvik ............................................................................................................. 25
b. Core libraries .................................................................................................. 25
5.3 Framework ................................................................................................................... 26
5.3.1 Core Plateform Services .................................................................................... 27
5.3.2 Hardware Services............................................................................................ 27
5.4 Fonctionnement ............................................................................................................ 28
5.4.1 Démarrage ......................................................................................................... 28
5.4.2 Interaction.......................................................................................................... 29
Partie III : ................................................................................................................................. 30
ANALYSE ET CONCEPTION ............................................................................................... 30
Chapitre 6. Analyse préalable ................................................................................................. 31
6.1 Analyse de l’existant .................................................................................................... 31
6.1.1 Configuration matériel informatique de la société Madagile ........................... 32 xx
6.2 Critique de l'existant ...................................................................................................... 33
6.3 Les solutions adoptées ................................................................................................... 33
6.4 Conception avant-projet ................................................................................................ 33

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Chapitre 7. Méthodologie de développement ......................................................................... 35


7.1 Introduction à la méthode agile ..................................................................................... 35
a. L'équipe .......................................................................................................... 35
b. L'application ................................................................................................... 35
c. La collaboration .............................................................................................. 35
d. L'acceptation du changement ......................................................................... 35
7.2 La méthodologie XP...................................................................................................... 35
7.2.1 Origine et pratiques extrêmes ............................................................................ 35
7.2.2. Objectifs ............................................................................................................ 36
7.2.3. Cycle de développement ................................................................................... 36
7.2.4. Valeurs de XP.................................................................................................... 36
7.2.5 Pratiques ............................................................................................................ 37
Chapitre 8. Présentation de la notation UML ......................................................................... 41
8.1 UML .............................................................................................................................. 41
8.2 Diagramme de cas d’utilisation ..................................................................................... 42
8.2.1 L'acteur ............................................................................................................... 42
8.2.2 Le cas d'utilisation .............................................................................................. 42
8.2.3 La Relation d'association................................................................................... 43
8.2.4 Relation d'inclusion ............................................................................................ 43
8.2.5 Relation d'extension ........................................................................................... 43
8.3 Diagramme de séquence................................................................................................ 44
8.4 Diagramme de classe ..................................................................................................... 44
Chapitre 9. Conception détaillée ............................................................................................. 46
9.1 Point de vue comportemental ........................................................................................ 46
9.1.1 Identification des acteurs .................................................................................... 46
a. Les visiteurs .................................................................................................... 46
b. Les clients ....................................................................................................... 46
c. Les abonnés .................................................................................................... 46
d. Administrateur ................................................................................................ 47
9.1.2. Identification des cas d’utilisations .................................................................... 47
a. Cas d’utilisation gérer compte ........................................................................ 47
b. Cas d’utilisation gérer panier .......................................................................... 53
c. Cas d’utilisation gérer commande .................................................................. 55
d. Cas d’utilisation gérer paiement ..................................................................... 57
e. Cas d’utilisation gérer produits....................................................................... 59
9.1.3 Diagramme de cas d’utilisation générale de la partie Front ........................... 61
9.2 Point de vue structurel .............................................................................................. 62 xxi
9.2.1 Dictionnaire de données ..................................................................................... 62
9.2.2 Règle de gestion ................................................................................................. 65
9.2.3 Diagramme de classe .......................................................................................... 65

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

Partie IV : ................................................................................................................................. 67
REALISATION ....................................................................................................................... 67
Chapitre 10. Outils, langages, architecture informatique Ajax et Framework open-source
Cordova .................................................................................................................................... 68
10.1 Outils ........................................................................................................................... 68
10.1.1 Adobe Dreamweaver ....................................................................................... 68
10.1.2 Eclipse ............................................................................................................. 68
10.1.3 MySql .............................................................................................................. 68
a. Caractéristiques .............................................................................................. 69
10.1.4 Apache ............................................................................................................. 69
10.2 Langages...................................................................................................................... 69
10.2.1 HTML5............................................................................................................. 69
10.2.2 CSS3 ................................................................................................................. 70
10.2.3 JavaScript, JQuery et Jquery mobile ................................................................ 70
10.2.4 PHP................................................................................................................... 70
10.3 Architecture informatique Ajax .................................................................................. 70
10.3.1 Définition ......................................................................................................... 70
10.3.2 Historique ......................................................................................................... 70
10.3.3 Les technologies utilisées ................................................................................. 71
10.3.4 Principe............................................................................................................. 71
10.4 PhoneGap ou Cordova ............................................................................................... 72
10.4.1 Définition et historique.................................................................................... 72
10.4.2 Support ........................................................................................................ 73
10.4.3 Adobe PhoneGap Build .............................................................................. 73
Chapitre 11. Création et configuration du projet..................................................................... 74
11.1 Création du projet ..................................................................................................... 74
11.1.1 Installation d’Eclipse ....................................................................................... 74
11.1.2. Mise en place d’outils Android ....................................................................... 74
11.2 Instanciation du projet pour utiliser PhoneGap .......................................................... 77
11.3. Configuration des fichiers au serveur......................................................................... 80
11.4. Architecture de l’application ...................................................................................... 80
Chapitre 12. Représentation graphique ................................................................................... 81
12.1 Page d’accueil ............................................................................................................ 81
12.1.1 Visiteurs ........................................................................................................... 81
12.1.2 Clients............................................................................................................... 83
12.1.3 Abonnés ............................................................................................................ 85
12.1.4 A propos de nous .............................................................................................. 86
CONCLUSION GENERALE ..................................................................................................... 88
REFERENCES BIBLIOGRAPHIQUES ...................................................................................... x xxii
REFERENCES WEBOGRAPHIQUES ........................................................................................ x
GLOSSAIRE .............................................................................................................................. xi
ANNEXES ............................................................................................................................... xiii

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101


Ecole Nationale d’Informatique Août 2014

A. Code source ................................................................................................................. xiii


A.1 Configuration Paramètres et configuration au démarrage de l’application ........ xiii
A.2 Code complet de la page d’authentification du client .......................................... xiv
A.2.1 Code html, css et java script .......................................................................... xiv
A.2.2 Code php....................................................................................................... xvii
TABLES DES MATIERES ....................................................................................................... xix

xxiii

Madagile | Ambohitsoa Mahazoarivo Antanarivo 101

Vous aimerez peut-être aussi