| 
  _ 
REPUBLIQUE TUNISIENNE 
MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE
SCIENTIFIQUE 
  
Université de Jendouba 
Faculté des Sciences Juridiques, Economiques et de
Gestion de Jendouba 
Mémoire de projet de fin
d'études 
Présenté en vue de  l'obtention du 
Diplôme de Licence Fondamentale en Informatique
Appliquée à la Gestion  
Par 
Moïse Coumbassa 
Sujet 
Développement d'une application mobile
d'apprentissage d'une langue 
Encadré par : Talel Zid 
                                                               
Année universitaire : 2012 - 2013 
Table des
matières
TABLE DES MATIÈRES 
1 
TABLE DES FIGURES 
3 
LISTE  DES  TABLEAUX 
4 
INTRODUCTION  GÉNÉRALE: 
5 
CHAPITRE 1 
6 
PRÉSENTATION DU SUJET 
6 
INTRODUCTION 
7 
I. PRÉSENTATION DU SUJET : 
7 
II. MÉTHODOLOGIE DE
CONCEPTION : 
7 
1. MÉTHODE EXTERME PROGRAMMING
(XP) 
8 
2. LA MÉTHODE 2 TRACK UNIFIED PROCESS
(2TUP) : 
9 
3. LA MÉTHODE UP (UNIFIED
PROCESS) : 
11 
4. ETUDE COMPARATIVE ENTRE LES TROIS
MÉTHODES : 
14 
CONCLUSION : 
14 
CHAPITRE 2 
16 
ETUDE PRÉLIMINAIRE 
16 
INTRODUCTION : 
17 
I. ETUDE DE L'EXISTANT : 
17 
1. BUSUU : 
17 
2. LINGLING : 
18 
3. BABEL : 
18 
4. MOSALINGUA : 
19 
II. ANALYSE DES  BESOINS 
FONCTIONNELS 
19 
III. ANALYSE DES  BESOINS NON
FONCTIONNELS : 
20 
CONCLUSION : 
21 
CHAPITRE 3 
22 
CONCEPTION 
22 
INTRODUCTION 
23 
I. DIAGRAMME DE CAS D'UTILISATION : 
23 
1. DÉFINITION : 
23 
2. DESCRIPTION DES CAS
D'UTILISATION : 
24 
3. DESCRIPTION DU  VOCABULAIRE PAR
THÈME : 
25 
4. DESCRIPTION DE LA GRAMMAIRE PAR
THÈME : 
27 
II. DIAGRAMME DE CLASSE : 
31 
1. LISTE DES CLASSES ET DES
ATTRIBUTS : 
31 
2. DIAGRAMME DE CLASSES : 
31 
III. DIAGRAMME DE SÉQUENCES 
32 
I. CAS DE 
L'APPRENANT : 
32 
1. DICTIONNAIRE 
33 
2. VOCABULAIRE : 
34 
3. ACCÉDER À  LA GRAMMAIRE 
36 
CONCLUSION 
36 
CHAPITRE 4 
37 
RÉALISATION &
TEST 
37 
INTRODUCTION 
38 
I. ENVIRONNEMENT  DE TRAVAIL : 
38 
1. ENVIRONNEMENT MATÉRIEL : 
38 
2. ENVIRONNEMENT LOGICIEL : 
38 
II. DESCRIPTION DES OUTILS 
39 
1. XML 
39 
2. JAVA 
39 
3. SQLITE 
39 
4. STARUML 
40 
III. CONFIGURATION DE L'ENVIRONNEMENT  DE 
DÉVELOPPEMENT INTÉGRÉ (IDE) : 
40 
1. INSTALLATION DU JDK (JAVA
DÉVELOPPEMENT KIT) 
40 
2. INSTALLATION DU SDK D'ANDROID : 
41 
3. OUVERTURE D'ECLISPSE POUR LE
PARAMÉTRAGE DU PLUGIN ADT 
43 
4. CRÉATION D'UN AVD  (ANDROID
VIRTUAL  DEVICE) : 
45 
IV. PRÉSENTATION DES
INTERFACES : 
47 
1. MENU PRINCIPAL DE L'APPLICATION 
47 
2. GRAMMAIRE  PAR THÈME : 
48 
3. GRAMMAIRE CONTENUS D'UN THÈME
D'ÉTUDE 
49 
4. VOCABULAIRE PAR THÈME 
50 
5. VOCABULAIRE  CONTENUS D'UN THÈME
D'ÉTUDE 
51 
6. DICTIONNAIRE 
52 
7. VOCABULAIRE RECHERCHE PAR MOT
CLÉ : 
53 
CONCLUSION GÉNÉRALE 
55 
BIBLIOGRAPHIE 
56 
Table des Figures
Figure 1: graphe représentant   eXterme
programming 
2 
Figure 2 : graphe représentant la
méthode two track unified process 
11 
Figure 3: graphe représentant le processus
unifié 
13 
Figure 4 : Diagramme de Cas d'utilisation 
global 
25 
Figure 5 : diagramme de cas d'utilisation
vocabulaire par thème 
26 
Figure 6 : diagramme de cas d'utilisation grammaire
par thème 
28 
Figure 7: Diagramme de classe 
33 
Figure 8:Dictionnaire  rechercher  le mot et sa
définition 
34 
Figure 9 : Accès vocabulaire recherche par
mot clé 
35 
Figure 10 : Règles grammaticale et phrase
d'exemple 
37 
Figure 11:Installations du JDK 
42 
Figure 12: Installation du SDK Android 
43 
Figure 13: Installation des Configurations des
Framework d'android OS 
44 
Figure 14: URL Plugin 
45 
Figure 15: Barre de Menu et d'outils  pour la
création de L'AVD 
46 
Figure 16:Création  de l'Android   Virtual 
Device 
47 
Figure 17: Menu principal 
48 
Figure 18: la grammaire par thème 
49 
Figure 19: Contenus d'un thème 
50 
Figure 20: Vocabulaire par thème 
51 
Figure 21: Contenus d'un thème
d'étude 
52 
Figure 22 : Dictionnaire rechercher un mot et sa
définition 
53 
Figure 23: Vocabulaire recherche par mot
clé 
54 
Liste  des  Tableaux
Tableau 1: représentant les points forts et
faible de  XP 
2 
Tableau 2: point fort  et point faible du two track
unified process 
11 
Tableau 3: points forts et point  faible  de
processus unifié 
13 
Tableau 4: Tableau de Comparaison 
15 
Tableau 5: Classe et Méthode 
32 
Tableau 6: Outils  de  développement 
39 
Introduction 
Générale:
Le développement de l'informatique mobiles'est
accéléré depuis le 21esiècle. Denouveaux
dispositifs (mobiles, tablette PC, PDA, téléphone mobile,
Smartphone, etc.) Offrent une portabilité accrue de l'information et des
communications sans fil (Wifi, Bluetooth, UMTS, etc...). Ces technologies ont
influencées les changements des comportements et les habitudes des
usagers dans beaucoup de secteurs comme l'éducation, la vie quotidienne,
et l'apprentissage.  Les  technologies mobiles  peuvent avoir une grande
influence  sur l'apprentissage. L'apprentissage  commence à sortir des
salles de cours  et à entrer dans des environnements moins classiques,
liés au contexte de l'apprenant. L'apprentissage devient ainsi
situé, contextuel, personnel, collaboratif, et continu tout au long de
la vie de l'apprenant. Utiliser des dispositifs  mobiles pour apprendre,
n'importe où et n'importe quand c'est l'objectif  de l'apprentissage
mobile (Mobile Learning  M-Learning).    
Étant donné qu'une langue ason rythme, ses
liaisons et son fonctionnement. C'est à force d'apprendre et
d'écouter régulièrement qu'on se familiarise avec une
langue authentique telle qu'elle est parlée au quotidien. Cet
apprentissage de langue s'il est fait par un système  mobile facilitera
la tâche à l'apprenant  (utilisateur) pour apprendre de
manière formelle et non formelle.    
Dans ce travail il est question de réaliser une
application qui permettra à l'utilisateur d'un terminal mobile
équipé de la plate-forme Android, d'apprendre une langue de
manière authentiques, telle qu'on l'utilise à l'orale. Et
permettre aussi à l'usager de tirer profit de l'application et de toutes
les fonctionnalités qui lui seront intégrés. 
En grande partie, il comprend la conception et la
réalisation de l'application. Ainsi une  étude préalable
du sujet est nécessaire : la présentation du sujet, les
besoins fonctionnels et non fonctionnels. Au niveau de la  conception nous
parlerons de toutes les fonctionnalités de  l'application à
créer, les acteurs intervenants et les méthodes de conception.
Dans la  réalisation, nous allons programmer les interfaces et vues
permettant de faire fonctionner l'application. 
Chapitre 1
Présentation du sujet
Introduction 
Etudier un projet consiste à concevoir, créer et
réaliser un logiciel  à partir d'un besoin à satisfaire,
le logiciel peut être entièrement nouveau ou être
amélioré à partir d'un produit existant. Cette
démarche peut être expliquée par son illustration
systémique. C'est dans ce cadre que se situe le présent chapitre.
Il porte sur  la présentation du sujet et de sa description
méthodologique. 
I.
Présentation du sujet :
Notre sujet intitulé «développement d'une
application mobile d'apprentissage d'une langue » consiste à 
créer une application d'apprentissage d'une langue vivante, partant des
activités (communément appelé interfaces)
spécifiques à la programmation android pour apprendre une langue
à travers des terminaux mobiles (tablette PC, Smartphone, Personal
digital Assistant(PDA), téléphone mobile etc.). De sorte à
ce que  l'utilisateur (apprenant),  se familiarise à cette langue. Il
s'agit de proposer des activités de lecture, d'écoute de mot, 
d'accès au vocabulaire de la recherche par mot clé, 
l'étude de la grammaire en consultant les règles grammaticale et 
les phrases d'exemples. 
II.
Méthodologie de conception :
Une méthodologie d'analyse de conception est un
procédé qui a pour objectif de permettre la formalisation des
étapes préliminaires du développement d'un système
afin de rendre ce développement plus fidèle aux besoins des
utilisateurs. Pour cela nous partons d'un énoncé informel :
le besoin exprimé par l'utilisateur, ainsi  que l'analyse de l'existant
éventuel. 
Ils existent plusieurs méthodes de conception, nous
présenterons quelques-unes, et par la suite nous ferons une nette
comparaison entre elles dans le but de sélectionner la méthode la
plus adaptée à notre projet. 
1.
Méthode eXterme Programming (XP)
La méthode eXterme Programming a été
inventée par 
Kent Beck, 
Ward Cunningham et
Ron Jeffries  pendant leur travail sur un projet « C3 (de calcul des
rémunérations) » celle-ci est née officiellement
en octobre 
1999avec le livre eXterme
Programming  Explained de Kent Beck. XP est une 
méthode
agileplus particulièrement orientée sur l'aspect
réalisation d'une application. Elle  définit un certain nombre,
recommande de bonnes pratiques permettant de développer un logiciel dans
les conditions optimales en plaçant le client au centre du processus de
développement. 
XP est  notamment basé sur les  concepts
suivants : 
· Les équipes de développeur travaillent
directement avec le client sur des cycles très courts d'une à
deux semaines maximum. 
· Les livraisons de version du logiciel interviennent
très tôt et à une fréquence élevée
pour maximiser l'impact des  retours utilisateurs. 
· l'équipe de développeur travaille en
collaboration totale  sur la  base de binôme. 
· le code est testé et nettoyé tout au long du
processus de développement. 
· Les indicateurs  permettent de mesurer l'avancement du
projet afin de permettre une mise à jour du plan de
développement. 
  
Figure 1: graphe
représentant   eXterme programming 
Point  fort  et faible de la méthode  XP : 
 
| 
 XP 
eXterme Programming 
 | 
 Point  fort  
 | 
 Point faible 
 | 
 
| 
 -Itératif 
-Simpleàmettreenoeuvre 
Faitunelargeplaceauxaspectstechniques:prototypes,règlesdedéveloppement,tests... 
 | 
 - Necouvrepaslesphasesenamontetenavalaudéveloppement
descapturesdesbesoins,support, maintenance,testsd'intégration... 
- Eludelaphase 
d'analyse,sibienqu'onpeutdépensersonénergieàfaireetdéfaire 
- Assezfloudanssa 
miseenoeuvre:quelsintervenants,quelslivrables 
 | 
 
  
Tableau 1:
représentant les points forts et faible de  XP 
2. La
Méthode 2 Track Unified Process (2TUP) :
2TUP est un processus de développement logiciel qui
implémente le processus unifié (la méthode
générique de développement logiciel proche des
mécanismes architecturaux de RUP « Rational Unified
Process »). Chacune des étapes du cycle découle des
précédentes. Il préconise un cycle de vie en y, et
s'apparente  à un cycle de développement en cascade, par
ailleurs elle est incrémentale : à partir de la capture des
besoins fonctionnels, on définit plusieurs cas d'utilisation
représentant chacun un incrément du cycle de
développement. Elle favorise des formes de recherche de qualité
et de performance intéressante telle que le service 
réutilisation.   
  
Figure 2 : graphe
représentant la méthode two track unified process 
Point fort  et faible duTwo track unified process : 
 
| 
 2UTP 
Two track unified process 
 | 
 Point  fort  
 | 
 Point faible 
 | 
 
| 
 - Itératif 
- Donneuneplace
importanteàlatechnologieetàlagestiondurisque 
Définitlesprofilsdesintervenants,leslivrables,
lesplannings,lesprototypes 
 | 
 -
Plutôtsuperficielsurlesphasessituéesenamontetenavaldudéveloppement:capturedesbesoins,support,maintenance,gestionduchangement... 
- Neproposepasde 
documentstypes 
 | 
 
  
Tableau 2: point fort  et
point faible du two track unified process 
3. La
Méthode UP (Unified Process) :
Unifed Process est une méthode générique
de développement de logiciel. Générique
c'est-à-dire  qu'il est nécessaire d'adapter UP au contexte du
projet, de l'équipe, du domaine d'application ou de l'organisation. 
C'est une méthode de prise en charge de cycle de développement
d'un logiciel, et par ailleurs du développement pour les logiciels
orienté objets. UP est un processus de développement
incrémental et itératif ce qui signifie que le projet est
découpé en phases très courtes  à l'issu de chacune
desquelles une nouvelle Version incrémentée est livrée. 
Les principales  caractéristiques  du  processus
unifié sont : 
· le processus unifié est à la base de
composants. 
· le processus unifié utilise le langage UML
(ensemble d'outils et de diagramme). 
· le processus unifié est piloté par les cas
d'utilisation. 
· centré sur l'architecture. 
· itératif et incrémental. 
L'objectif principal d'un système logiciel est de
rendre un service à ses utilisateurs, il faut par conséquent
comprendre les désirs et les besoins  des utilisateurs du futur
système. Le processus de développement est donc centré sur
l'utilisateur. Le terme utilisateurs ne se focalisant pas seulement sur les
utilisateurs humains mais également les autres systèmes.
L'utilisateur représente donc une personne ou un objet dialoguant avec
le système en cours de développement. 
  
Figure 3: graphe
représentant le processus unifié 
Point fort  et  point  faible   du processus 
unifié : 
 
| 
 UP 
Processus Unifié 
 | 
 Point  fort  
 | 
 Point faible 
 | 
 
| 
 Distingue clairement les phases projet 
 | 
 · itératif
  
·  Ne propose pas de modèles de documents 
 | 
 
  
Tableau 3: points forts et
point  faible  de processus unifié 
· Le  Processus Unifié est  centré sur
l'architecture 
Dès le démarrage du processus, on aura une vue
sur l'architecture à mettre en place. L'architecture d'un système
logiciel peut être décrite comme les différentes vues du
système qui doit être construit. L'architecture logicielle
équivaut à l'aspect statique et dynamique les plus significatifs
du système. Elle  émerge des besoins de l'entreprise, tels qu'ils
sont exprimés par les utilisateurs et autres intervenants et tels qu'ils
sont reflétés par les cas qui sont exprimés par les
utilisateurs et autres intervenants et également tels qu'ils sont
reflétés par les cas d'utilisation. 
· Le Processus Unifié est itératif et
incrémental 
Le  développement d'un produit logiciel destiné
à la commercialisation est une vaste entreprise qui peut
s'étendre sur plusieurs mois. On ne va pas tout développer d'un
coup. On peut découper le travail en plusieurs parties qui sont autant
de mini projets. Chacun d'entre eux représentant une itération
qui donne lieu à un incrément. 
Une itération désigne une succession des
étapes de l'enchaînement d'activités, tandis qu'un
incrément correspond à une avancée dans les
différents stades de développement. 
Le choix de ce qui doit être implémenté au
cours d'une itération repose sur deux facteurs : 
Une itération prend en compte un certain nombre de cas
d'utilisation qui ensemble, améliore l'utilisabilité du produit
à un certain stade de développement. Elle traite en
priorité les risques majeurs.  
Le processus unifié répète un certain
nombre de fois une série de cycles. Chaque cycle se traduit  par une
nouvelle version du système. 
Le processus unifié qui n'utilise pas le cycle de vie
en cascade, puis qu'est-elle trop figé et rigide, Et les tests seront
fait à chaque itération sans attendre la fin du projet. 
4. Etude comparative entre les
trois méthodes :
Le tableau ci-dessous présente une comparaison entre ces
trois méthodes 
 
| 
 Critère 
 | 
 XP (eXterme Programming) 
 | 
 2TUP ( Two Track Unified Process) 
 | 
 UP (Unified Process) 
 | 
 
| 
 Accueil du changement 
 | 
 Flexible et adaptable 
 | 
 Adaptable 
 | 
 Adaptable 
 | 
 
| 
 Collaboration Etroite avec le client 
 | 
 OUI 
 | 
 OUI 
 | 
 OUI 
 | 
 
| 
 Application Fonctionnelles 
 | 
 Assez fonctionnelle 
 | 
 Assez fonctionnelle 
 | 
 Assez fonctionnelle 
 | 
 
| 
 Documentation 
 | 
 Non 
 | 
 OUI 
 | 
 Oui 
 | 
 
| 
 Processus et outils 
 | 
 Non 
 | 
 OUI 
 | 
 OUI 
 | 
 
| 
 Cycle de vie 
 | 
 Non 
 | 
 En (Y) 
 | 
 En (v) 
 | 
 
| 
 Taille de l'Equipe du projet 
 | 
 De petite Equipe et de petits projets 
 | 
 Petite et grandes équipes autant que pour le projet  
 | 
 Petites et grandes équipe autant que pour le projet 
 | 
 
  
Tableau 4: Tableau de
Comparaison 
Après cette brève comparaison, notre choix 
s'est porté  sur  la méthode UP, car elle est beaucoup plus
complète que les méthodes agiles (XP). De même, elle
s'avère aussi être beaucoup plus simple que la méthode
2TUP.  
Au faite elle se base sur UML (Unified Modeling  Language)
raison pour laquelle notre  choix sera centré sur la méthode XP.
 
Conclusion :
Le présent chapitre avait pour objectif de
présenter le cadre général de notre projet, qui consiste
à développer une application d'apprentissage d'une langue. De
cette étude, il en ressort que, du fait de sa simplicité, notre
travail devrait être fait sur la base de l'Unified Process, basé
sur le  langage UML. Ceci nous amène donc à introduire notre
second chapitre qui est l'étude de l'existant et l'analyse des
besoins. 
Chapitre 2
Etude
préliminaire
Introduction : 
L'analyse des besoins est une démarche qui
« consiste à rechercher et à caractériser les
fonctions offertes par une application pour satisfaire les besoins de ses
utilisateurs. Tel est l'objectif de ce chapitre, qui portera sur l'étude
de l'existant. Nous présenterons quelques logiciels existants par la
suite  l'analyse des  besoins fonctionnels et non fonctionnels. 
I. Etude de l'existant :
L'étude de l'existant est une phase importante pour
bien comprendre notre application actuelle et définir ses objectifs.
L'application est sensée offrir à l'utilisateur des unités
d'apprentissage. Cependant elle permettra de mettre à profit,
l'apprentissage d'une langue vivante en toute simplicité en offrant
à l'apprenant des activités d'apprentissage en partant du
vocabulaire de base  illustré par les mots et les phrases. Parlant d'une
application d'apprentissage, elle fournit les activités telles que la
révision lors d'un apprentissage déjà fait, la sauvegarde,
ainsi qu'un dictionnaire. Généralement les applications mobiles
d'apprentissage sont des applications ayant pour but de combiner les
perspectives pédagogiques aux technologies. Nous présenterons
quelques applications mobiles d'apprentissage de langue existantes : 
1. Busuu :
Busuu est une application mobile d'apprentissage d'une langue,
elle permet d'apprendre la langue de façon idéal où que tu
sois. Qui est  centré sur des   unités d'apprentissage du 
vocabulaire complet environs  3000 mots et phrases clés, ainsi qu'un 
niveau débutant et  avancé, par ailleurs un nombre de sujet
différents avec des situations de la vie quotidienne, un outil
d'apprentissage audio-visuel  complet comprenant des images et des
enregistrements  effectuer. Il est conçu sur la base  de modèle 
très court car  elle dispose d'une version gratuite (d'essais) qui 
n'offre que 20 unités d'apprentissages, la version complète peut
être achetée directement dans l'application. Cette application
d'apprentissage de langue  appelée busuu est disponible en plus de onze
langues différentes. Elle offre à ses usagers de
synchronisés leurs progrès lors de l'apprentissage sur la toile
via leurs site 
www.busuu.com, l'une des
célèbres communautés  d'apprentissage de langue en
ligne. 
2. LingLing :
Lingling est une application
mobile qui utilise une répétition espacée d'apprentissage,
qui est basé sur la courbe de l'oubli  d'Hermann Ebbinghaus
établit qu'après une séance de  lecture qu'on a
oublié plus de 50% à 80% des informations qu'on a lues. Elle
présente un apprentissage de la langue  avec beaucoup d'amusement, pour
ses développeurs  ces deux facteurs accélère le processus
d'apprentissage jusqu'à 20 fois. De plus le lingling dispose  plus  de
42000 mots et enregistrement disponible dans 18 langues, et une
possibilité d'apprendre plus de 10 000  mots  par an.Au dire de son
représentant aucun programme informatique ou application, ou
méthode ne pouvant le faire au paravent. Cette application permet
à ses utilisateurs d'apprendre la langue à travers le choix des
paquets, le choix d'un avatar est indispensable pour débuter
l'apprentissage avec le lingling, d'où une possibilité est
offerte à l'apprenant de changer son avatar au cours de l'apprentissage
elle offre  également  d'apprendre de nouveaux mots par jours, ainsi que
de replanifier l'apprentissage, constituer  de différentes parties
élémentaires d'apprentissage les autres parties seront 
acheté  dans l'application  valables pour les autres niveau à
savoir l'avancé et expert. Elle  présente des
fonctionnalités telles que les mini  jeux  après avoir
mémorisé un certains nombres de mots, et le défis entre
apprenant à la base des apprentissages effectués. 
3. Babel :
Cette application permet d'apprendre une langue en toute
simplicité. Apprendre le vocabulaire n'importe quand et n'importe
où sur votre terminal mobile  ainsi que  les outils d'une reconnaissance
vocale et un vocabulaire de base avancé lui sont intégrés.
Elle  contient plus de 2000 et 3000 mots de vocabulaire par langue. Tous ces
mots et phrase sont illustrés par des images et prononcé par un
locuteur natif, et une reconnaissance vocale qui lui est intégrée
et permettant aux usagers d'améliorer leur prononciation et de constater
leurs progrès.  Babel analyse les termes et phrases que vous avez appris
et vous interroge sur ceux-ci, exactement au bon moment. Ceci permet
d'assimiler le vocabulaire de façon durable, sans effort 
supplémentaire. Babel est un logiciel qui sert  à divertir, car 
la lecture est  relativement  facile mais la prononciation pas du tout. Cette
application vous aidera pour cela et  vous divertira dans le processus. 
4. Mosalingua :
Comme toute application mobile
d'apprentissage mosalingua, permet tout simplement d'apprendre et de 
s'améliorer  dans  plusieurs langues étrangères (Anglais,
anglais business, espagnol, italien et allemand). L'application comprend
également  un  système de répétition espacé
capable de calculer le planning adapté au niveau utilisateurs, de ses
difficultés et de son emploi du temps  pour  favoriser 
l'apprentissage. 
Dans  mosalingua est
inclut : 
· 3000 cartes
composées de mots et de phrases avec prononciation audio par des
natifs 
· 14 grandes
catégories (comme exemple : les bases indispensables, achat,
tourisme, informatique, social, urgence, etc.) et plus de 100
sous-catégories (exemple : au restaurant, acheter et
négocier, sport etc.  .) 
· Dix niveaux disponibles
(essentiel)  
· Des conseils
d'apprentissage et des petits dialogues. 
Toutes ces applications
étant  performantes les unes des autres présentent de nombreuses
fonctionnalités.  Toutefois, elle propose des défauts  de ne  pas
 avoir un dictionnaire, donc  qui n'offrent pas à l'apprenant de
connaitre  le contexte d'un mot qui ne lui est pas familier. 
II.
Analyse des  Besoins  fonctionnels
L'analyse fonctionnelle,  permet
d'aboutir à un résultat satisfaisant et efficace du thème
d'étude, il faut à ce stade définir avec précision
la bordure de la solution à développer. Ceci inclut
l'énumération des différents services que notre
application est supposée offrir à l'utilisateur. 
Notre solution qui consiste au
développement d'une application mobile d'apprentissage d'une langue 
vivante est sensée offrir  aux usagers : 
v Pour cela  la
création d'une base de données sera nécessaire,  afin  de
mieux  gérer nos interfaces, en vue d'établir un vocabulaire de
base ainsi  que la grammaire et y stocker les mots 
nécessaires. 
v L'application devra
également être dotée d'un dictionnaire dans le but de
permettre à l'utilisateur,  de  mieux comprendre les mots et phrases
ainsi que leurs contextes à partir de laquelle l'utilisateur pourra
écouter quelques mots recherchés. 
v L'utilisation de dictionnaire hors ligne 
III. Analyse des  besoins non
fonctionnels :
Un besoin non fonctionnels  est 
une restriction ou une contrainte qui pèse sur un service du
système, telle que les contraintes liées à
l'implémentation, les exigences en matière de performance, les
dépendances de plate-forme, la facilité de maintenance,
l'extensibilité et la fiabilité. 
ü L'ergonomie des
interfaces  
La solution doit présenter une
interface ergonomique englobant  toutes les fonctionnalités offertes. La
manipulation des interfaces  ne doit pas  nécessité une
connaissance poussée en informatique, elle doit être simple  et
claire afin de s'adapter aux connaissances informatiques de notre 
utilisateur. 
ü Fiabilité et
rapidité  
Notre système doit garantir la
rapidité et la fiabilité de la recherche, ainsi que la gestion
optimale des ressources. 
ü La compatibilité de l'application avec
différent système ou plateforme  
La compatibilité de
l'application avec d'autre plateforme n'a pas d'impact sur le logiciel à
développer. 
Conclusion :
Ce chapitre nous a permis l'élaboration du cahier de
charge, il a également permis d'avoir un aperçu plus net des
besoins auxquels devra répondre notre application. Avec ces besoins qui
ont été spécifié nous pouvons commencer le chapitre
suivant qui est la conception. 
Chapitre 3
Conception
Introduction
La conception d'un système d'information ou d'un projet
c'est la pierre angulaire dans tout développement logiciel. Elle permet
de modéliser le projet à travers ses diagrammes, à partir
des besoins recueillis auprès des utilisateurs. Il est indispensable de
biens les comprendre et les décrire avec des diagrammes qui seront
utilisés dans le projet. Nous allons commencer par les diagrammes de cas
d'utilisation, en suite le diagramme de classes et en fin le diagramme de
séquences. 
I.
Diagramme de cas d'utilisation :
1.
Définition :
Le Diagramme de cas d'utilisation permet d'obtenir un certain
nombre d'informations qui ont été recueillis auprès des
utilisateurs. Ces besoins spécifient l'utilisation du système
dans ses aspects statiques. Elle est l'image des fonctionnalités du
système déclenchées en réponse à la
stimulation d'un acteur.  
2.
Description des cas d'utilisation :
  
 
 
Figure 4 : Diagramme de Cas
d'utilisation  global 
v Apprenant : 
L'apprenant (acteur externe au système) est celui sur
qui sont focalisées les unités d'apprentissage. Bien qu'il soit
le seul utilisateur du système. Il peut   consulter les
fonctionnalités telles que le vocabulaire,  le dictionnaire et la
grammaire. 
v Vocabulaire : 
Ce cas d'utilisation sera doté des
fonctionnalités telles que :les mots et phrases illustrés
par thème, dont le système offrira à l'utilisateur dans le
but de mettre à profit  une bonne connaissance linguistique en fonction
d'un ensemble de termes utilisés. 
v Grammaire : 
 Ce cas d'utilisation nous  illustre une possibilité
d'apprendre la grammaire  par thème, et de bénéficier de
toutes ses unités proposées. 
v Dictionnaire :  
Le système offre la possibilité à
l'utilisateur de rechercher un mot, pour connaître la définition
du mot et son contexte. 
v Rechercher Mot: 
Ce cas d'utilisation formalise une dépendance
d'obligation avec  le dictionnaire, elle permet à l'apprenant
d'écouter un mot recherché par l'utilisateur. 
Diagramme d'utilisation Vocabulaire cas par cas et
recherche par thème : 
Ce diagramme nous permettrons d'illustrer certains cas
d'utilisation du système, en essayant de faire une recherche par
thème du vocabulaire étudié fournies par l'application en
vue de mieux cerner les limites du système.  
3.
Description du  Vocabulaire par thème :
  
Figure 5 : diagramme de cas
d'utilisation vocabulaire par thème 
Description textuelle des cas
d'utilisations : 
a. Service 1 : «  Sélectionner
un thème » 
Sommaire d'identification  
Titre : choix par thème du
vocabulaire  
Résumé : ce cas
d'utilisation permet à l'utilisateur de choisir un thème
d'étude du vocabulaire. 
Acteur : apprenant / l'utilisateur du
Terminal Mobile, du smart phone ou du PDA. 
Description des Scénarios : 
Pré condition : Aucune  
Scénario Nominal : 
1. L'utilisateur demande au système le vocabulaire et
ainsi que les thèmes d'études. 
2. Le système lui offrira à son tour une Interfaces
contenant les vocabulaires par thème.  
3. L'utilisateur pourra parcourir la liste du vocabulaire  ou
sélectionner un thème.    
4. Le système affiche le thème d'étude et
offre la possibilité à l'utilisateur d'apprendre. 
b. service 2 : « recherche par
mot clé » 
 
 
Sommaire d'identification : 
Titre : Recherche par mot clé 
Résumé : Ce  cas d'utilisation permet à
l'apprenant de faire la  recherche du vocabulaire par mot clé. 
Acteur:apprenant / l'utilisateur du Terminal
Mobile, du smart phone ou du PDA. 
Pré conditions : Aucune 
Scénario nominal : 
1. L'utilisateur Edit un mot   recherché et presse le
bouton de rechercher  
2. Le système recherche le mot dans la base de
données si le mot existe il affiche le mot et sa traduction. 
4.
Description de la Grammaire par thème :
  
Figure 6 : diagramme de cas
d'utilisation grammaire par thème 
Description textuelle des cas
d'utilisation : 
a.  Service 1 : « Etude de Grammaire
par thème  » 
Sommaire d'identification  
Titre : choix d'une Catégorie
grammaticale 
Résumé : ce cas
d'utilisation permet à l'utilisateur de choisir un thème
d'étude de la grammaire. 
Acteur : apprenant / l'utilisateur du
Terminal Mobile, du smart phone ou du PDA. 
Description des Scénarios : 
Pré condition : Aucune 
Scénario Nominal : 
1. L'utilisateur demande au système la grammaire et
ainsi que les thèmes d'études. 
2. Le système lui offre à  son tour une
Interfaces contenant la grammaire par thème.  
3. Le choix de l'utilisateur se portera  sur un thème
choisi. 
4. Le système affiche le thème d'étude et
offre la possibilité à l'utilisateur d'apprendre la grammaire. 
b. Service 2 : « Consulter des
d'exemples » 
 Sommaire d'identification : 
Titre : consulter des  exemples 
Résumé : Ce cas
d'utilisation permet de consulter les exemples de phrase de chaque
catégorie grammaticale sélectionné par l'apprenant. 
Acteur : apprenant/l'utilisateur du
Terminal Mobile, du smart phone ou du PDA. 
Description des Scénarios : 
Pré conditions : Aucune 
Scénarios nominal : 
1. l'utilisateur demande une catégorie grammaticale. 
2. le Système lui affiche le contenu d'une
catégorie et l'offre la possibilité d'apprendre à travers
les phrases d'exemples, et règle grammaticale. 
b.  Service 2 : « Etude de Grammaire
par thème  » 
Sommaire d'identification  
Titre : choix d'une Catégorie
grammaticale 
Résumé : ce cas
d'utilisation permet à l'utilisateur de choisir un thème
d'étude de la grammaire. 
Acteur : apprenant / l'utilisateur du
Terminal Mobile, du smart phone ou du PDA. 
Description des Scénarios : 
Pré condition : Aucune 
Scénario Nominal : 
1. L'utilisateur demande au système la grammaire et
ainsi que les thèmes d'études. 
2. Le système lui offre à  son tour une
Interfaces contenant la grammaire par thème.  
3. Le choix de l'utilisateur se portera  sur un thème
choisi. 
4. Le système affiche le thème d'étude et
offre la possibilité à l'utilisateur d'apprendre la grammaire. 
b. Service 2 : « Consulter des
d'exemples » 
 Sommaire d'identification : 
Titre : consulter des  exemples de
phrase et règle grammaticale 
Résumé : Ce cas
d'utilisation permet de consulter les exemples de phrase et règle
grammaticale de chaque catégorie grammaticale sélectionné
par l'apprenant. 
Acteur : apprenant/l'utilisateur du
Terminal Mobile, du smart phone ou du PDA. 
Description des Scénarios : 
Pré conditions : Aucune 
Scénarios nominal : 
1. l'utilisateur demande une catégorie grammaticale. 
2. le Système lui affiche le contenu d'une
catégorie et l'offre la possibilité d'apprendre les règles
grammaticales. 
II.
Diagramme de Classe :
Les  diagrammes de classes expriment de manière
générale l'aspect statique du système, en termes de classe
et de relation entre ses classes. Une classe décrit un ensemble d'objet
(attribut et comportement). Ainsi ses relations ou associations permettent
d'établir un lien entre ses objets. 
1.
Liste des Classes et des Attributs :
 
| 
 Classes  
 | 
 Attributs 
 | 
 Méthodes 
 | 
 
| 
 Thème 
 | 
 Contenus 
 | 
   | 
 
| 
 Mot 
 | 
 Id_mot 
mot 
Définition 
prononciation 
 | 
 Ecouter () 
Ajouter () 
 | 
 
| 
 Catégorie grammaticale 
 | 
 Id_categorie 
Libellé 
 | 
   | 
 
| 
 Exercice 
 | 
 Id_exercice 
Description 
 | 
   | 
 
  
Tableau 5: Classe et
Méthode 
2.
Diagramme de Classes :
  
Figure 7: Diagramme de
classe 
III.
Diagramme de Séquences 
Le diagramme de séquence  est un diagramme qui permet
d'illustrer  l'interaction entre les objets. Participant à une
interaction qui particulière      et les messages qu'ils
échangent organisés en séquences chronologique.
Axés sur ce que fait un système et non sur la manière dont
il le fait, un diagramme de séquence définit la logique d'une
instance particulière d'un cas d'utilisation. En général,
dans un diagramme de séquence, la Dimension Verticale représente
les heures (de haut en bas) appelé ligne de vie et la dimension
horizontales représente les différents objets. 
Les principales informations contenues dans un diagramme de
séquence sont les messages échangés entre les lignes de
vie,  présents dans un ordre chronologique. Ainsi contrairement au
diagramme de communication, le temps y est représenté
explicitement par une dimension (la dimension verticale) et s'écoule de
haut en bas.   
Pour cela, nous allons détailler les diagrammes des cas
d'utilisation de que service du système. 
IV. Cas de 
L'apprenant :
1.
Dictionnaire
  
Figure 8:Dictionnaire 
rechercher  le mot et sa définition 
L'apprenant  déclenche  une opération de
recherche en saisissant un mot  le système (interface) va traduire
cette demande en contrôle  qui va à son tour la traduire à
la table  mot à une recherche de données saisie. Si celles-ci
existe, le mot sera alors afficher,  sinon rien ne sera afficher. 
2.
Vocabulaire :
  
Figure 9 : Accès
vocabulaire recherche par mot clé 
Pour  avoir accès au vocabulaire, l'apprenant  doit  au
préalable sélectionner le vocabulaire tout en accédant 
à la  liste de vocabulaire, puis sélectionner un thème
d'étude. Ou   choisir une  recherche par mot clé  puis le
système lui afficher le résultat de la recherche.    
3.
Accéder à  la Grammaire 
  
Figure 10: Règles
grammaticale et phrase d'exemple 
Cette Séquence, illustre comment se passe
l'accès à la rubrique  grammaire, au préalable l'apprenant
doit sélectionner  la grammaire par la suite choisir une
catégorie grammaticale puis le système va l'afficher la grammaire
et sont Contenus. 
Conclusion
Dans ce chapitre, nous avons développé notre
approche méthodologique grâce au langage UML, nous avons
essayé de montrer en détail et la manière dont chacune des
fonctions doit être exécutée en un premier temps et par la
suite nous avons eu  à présenter une conception de notre
système. 
Notre étude conceptuelle  terminée, nous allons
entamer  la réalisation proprement dite de notre projet. 
Chapitre 4
Réalisation & test
Introduction
Ce  chapitre fait l'objet  de la réalisation du projet
proprement dite. Il  s'agit de l'implémentation du  code et la mise en
oeuvre  du système à concevoir.  Dans ce cadre nous commencerons
à présenter l'environnement  de travail et matériel  ainsi
que le logiciel utilisé. Par  la suite, l'illustration des interfaces de
notre application. 
I.
Environnement  de Travail :
La réalisation de ce travail  a nécessité
l'usage de plusieurs outils matériel et logiciel à
savoir : 
1.
Environnement matériel :
Le matériel utilisé pour ce travail est un
ordinateur dont les références sont les suivantes :  
v Portable HP 630 
v Processeur : Intel Core i3 CPU  M370  @ 2.4GHz 240.GHz 
v RAM : 4.00 Go 
v DD : 500 Go 
v OS : Windows  7  Edition  Intégrale 
1. Environnement
Logiciel : 
 
 
Les outils logiciel qui ont été utilisé
pour ce travail  son récapitulé dans le tableau ci-dessous. 
 
| 
 Système d'Exploitation  
 | 
 Windows  7 
 | 
 
| 
 Langage de développement   
 | 
 XML   Java 
 | 
 
| 
 Outils de Développement  
 | 
 Eclipse  
 | 
 
| 
 SGBD 
 | 
 SQLite 
 | 
 
| 
 Modélisation 
 | 
 StarUML 
 | 
 
  
Tableau 6: Outils  de 
développement 
II.
Description des Outils
1.
XML
XML (Extensible Markup Language) se traduit comme un langage
de balisage étendu, ou langage à balisage extensible. Il est en
quelque sorte un langage  qui permet de définir de  nouvelle balise. Il
s'agit effectivement d'un langage permettant de mettre en forme les interfaces
graphiques sous android et d'y placée les vues  grâce aux balises
(markup). 
2.
Java
Le Langage Java fut développé en 1991 par James
Gosling et Partrick Naughton  de  Sun Microsystems, mais également
un environnement d'exécution. 
Ce groupe  de chercheur  spécialisé  dans le
développement de logiciel conçus pour contrôler des
appareils  électronique. Et souhaitaient développer un langage de
programmation qui permette de contrôler  les appareils du futur. 
Java peut être segmentée en deux  parties votre
programme écrit en langage java  et d'autre part, une machine virtuelle 
JMV (Java Virtual Machine) qui va se charger de l'exécution de votre
programme java.  C'est cette plateforme qui garantit la portabilité de
Java puisse fonctionner. 
Avec ce langage, on peut développer, des applications
(console), développer des applications mobiles, développer des
applets pour vos sites web, développer des sites JSP. 
3.
SQLite 
Le SQLite  est  une base de données très
appréciée car elle fournit une interface SQL  tout en offrant une
empreinte mémoire très réduite et une rapidité de
traitement suffisante. En outre il appartient au domaine public tout le monde
peut l'utiliser. De nombreuse société (Adobe, Apple,  Google,
Sun,  Symbian) et  plusieurs open-source (Mozilla, Php,  Phyton) fournissent
désormais des produits intégrants le SQLite. Le SQLite  est SGBD
étant intégré au moteur d'exécution d'Android. 
4. StarUML 
StarUML est un Logiciel de modelage UML qui est rentré
récemment dans le monde de l'Open Source. Ecrit en Delphi, il est
modulaire et propose plusieurs générateurs de code. Centré
sur UML, il permet donc de représenter sous forme graphique les
digrammes qu'il propose. C'est un logiciel efficace, facile à prendre en
main, avec ses points forts et ses points faibles. 
Son principal avantage est que tous les diagrammes UML 1.x
peuvent être générés. La possibilité du code
source est un avantage indéniable pour l'utilisateur afin d'assurer la
pérennité du logiciel. 
Cependant ce qu'on lui reproche est qu'il n'est disponible que
sous Windows. 
Notre choix c'est porté sur ce logiciel car il est
simple et pratique. De plus, notre  méthodologie étant
basée sur UML, StarUML convient le mieux pour modéliser nos
diagrammes. 
III.
Configuration de l'environnement  de  développement
intégré (IDE) :
1.
Installation du JDK (Java Développement Kit)
Une fois que la Machine Virtuelle est lancée, on
procède à l'installation de    l'environnement Java  Oracle JDK
7. 
  
Figure 11:Installations du
JDK 
Au préalable, il faut commencer par préparer
l'environnement sous Windows et télécharger les outils
nécessaires ; suivi de l'installation Android SDK, Après
avoir Installé la plateforme Android, on continue avec l'installation
des outils nécessaire comme cela : 
2.
Installation du SDK d'Android :
L'installation du Sdk Android nécessite au
préalable la préparation de l'environnement sous Windows
télécharger les outils nécessaire ; suivi de
l'installation d'Android SDK.  
  
Figure 12: Installation du
SDK Android 
L'installation du SDK seras suivie de l'installation des
différentes composantes du l'Android SDK. Le lancement de «Android
SDK  Manager » depuis la racine du dossier ou à partir du menu
démarrer nous avions la possibilité de voir les
«périphériques virtuelles » (Virtual Devices)
appelé couramment émulateurs,  les  packages installés
disponibles  « Avaible Packages » là où on
trouve la liste des Packages  installés disponibles disponible chez
Google ou chez des développeurs tierce parties. 
  
Figure 13: Installation des
Configurations des Framework d'android OS 
3.
Ouverture d'eclispsepour le paramétrageduplugin ADT
Un IDE est un logiciel dont l'objectif est de faciliter le
développement, généralement pour un ensemble restreint de
langages. Il contient un certain nombre d'outils, dont au moins un
éditeur de texte souvent étendu pour avoir des
fonctionnalités avancées telles que l'auto-complétion ou
la génération automatique de code des outils de compilation et un
débogueur. Dans le cas du développement Android, un IDE est
très pratique pour ceux qui souhaitent ne pas avoir à utiliser
les lignes de commande. Eclipse est l'IDE  le plus répandus chez les 
développeurs pour la programmation en Java. Il n'a pas besoin
d'être installé  il s'exécute comme une application
portable. 
Paramétrage d'éclipse et installation du
pluginADT 
  
Figure 14: URL
Plugin 
Afin d'intégrer  les outils d'Android  dans Eclipse  il
faut installer Android Développement Tools (ADT) à partir de
l'url si vous posséder une connexion   Internet « 
https://dl-ssl.google.com/android/eclipse/»
  Ces  derniers constituent un plugin  de IDE  Eclipse pour l'installation de 
émulateur. Il étend la capacité de l'IDE pour l'OS  de 
Google, permettant de Compiler, d'exécuter du code Android, de
créer des interfaces graphiques. Après cela notre  environnement
de travail prêt à l'emploi. 
                  
4.
Création d'un AVD  (Android Virtual  Device) :
Un AVD  qui est aussi appelé Android Virtual Device,
est un émulateur de terminal sous Android, c'est-à-dire c'est un
logiciel qui fait croire à la machine (ordinateur) qu'il est un appareil
mobile sous Android. C'est la raison pour laquelle  vous n'avez pas besoin de
périphérique  pour l'exécution de  nos applications il va
nous falloir un AVD pour ce faire, dans le menu Windows de la barre de menu  ou
 en cliquant sur l'icône . 
Pui ajouter un nouveau AVD en attribuant un nom et en choisissant la cible 
indiquant sa capacitéé de stockage. 
  
Figure 15: Barre de Menu et
d'outils  pour la création de L'AVD 
  
Figure 16:Création 
de l'Android   Virtual  Device 
IV.
Présentation des Interfaces :
1.
Menu Principal de L'application
  
Figure 17: Menu
principal 
L'interface ci-dessus c'est le Menu principal de l'application
elle constitué d'un listviewqui est composé de trois parties le
dictionnaire, la grammaire et le vocabulaire.  
2.
Grammaire  par thème :
  
Figure 18:la grammaire par
thème 
Cette interface résume les thèmes d'étude de
la rubrique grammaire.   
                                                               
                                                                       
   
3.
Grammaire Contenus d'un thème d'étude
  
Figure 19: Contenus d'un
thème 
Cette interface illustre le contenu d'un thème
d'étude  de la  grammaire  
                                                              
                          
4.
Vocabulaire par thème
  
 
 
Figure 20: Vocabulaire par
thème 
Cette interface affiche les thèmes d'étude de  la
rubrique Vocabulaire Composé de deux boutons menus : la
première rechercher permet de faire une recherche du vocabulaire par mot
clé et le second bouton menu (quitter) permet un retour à
l'interface d'accueil. 
                                                                 
                                                                         
5.
Vocabulaire  Contenus d'un thème d'étude
  
Figure 21: Contenus d'un
thème d'étude 
Cette interface illustre le contenu d'un thème
d'étude coté vocabulaire  suite à la sélection d'un
thème par l'apprenant. 
6.
Dictionnaire
  
Figure 22 : Dictionnaire
rechercher un mot et sa définition 
Cette  interface illustre la recherche d'un mot et sa
définition, ainsi  lorsque l'utilisateur saisira un mot et cliqué
sur le bouton de rechercher une réponse lui seras  transmise  si le mot
existe dans la base si non rien ne seras affiché.    
7. Vocabulaire recherche par
mot clé :
  
Figure 23: Vocabulaire
recherche par mot clé 
L'interface si permet la recherche par mot clé pour  y
accéder l'apprenant doit au préalable sélectionner le
vocabulaire par la suite presser le bouton menu de son mobile deux menus
apparaîtront le premier rechercher le deuxième quitter. Appuyer
sur le première, une nouvelle activité lui seras affiché
par le système celle de la recherche par mot clé et l'apprenant
pourra faire sa recherche par mot. 
Conclusion  
Dans ce chapitre, nous avons présenté la phase
de l'implémentation de notre application tout en mentionnant
l'environnement logiciel et matériel ainsi que les technologies
utilisées. 
L'aperçu de nos interfaces réalisés et
des tests unitaires effectués qui nous ont permis de mieux cerner le
principe de fonctionnement de notre application. 
Conclusion générale
Ce projet a été mise en oeuvre dans le but
d'offrir une solution logicielle autrement dit une application mobile
d'apprentissage d'une langue vivante à travers les technologies mobiles
(smart phone, personal digital assistant et terminaux mobile etc...). Pour y
parvenir, il a fallu au préalable présenter notre sujet et
définir la méthodologie de conception utilisée. Par la
suite, l'étude de l'existant  nous a permis de couvrir  tous les besoins
du point de vue  utilisateur  que nous aurons à traiter, notamment 
celui d'offrir  une  application  facile à utiliser et de
répondre aux attentes  des utilisateurs. L'étude
détaillée des diagrammes a facilité
l'implémentation de nos interfaces. 
Ce projet de fin d'étude m'a beaucoup appris, car
chaque outil utilisé et chaque rechercher effectuée m'ont
octroyé une nouvelle connaissance. Comme StarUML et l'environnement
de développement Intégré utilisé.
L'évolution constante et rapide des nouvelles technologies implique
qu'une application comme la nôtre soit sans cesse
améliorée, afin de présenter des fonctionnalités
plus complètes et d'actualité. Un avantage certain serait de
doter notre application d'un dictionnaire. Bien que la solution
développée semble répondre aux besoins
énumérés dans le cahier de charge, toute fois il faut
révéler  que cette solution s'adapterait mieux si l'application
est implémentée via un serveur distant (le web service). 
Bibliographie
hellart.fr/android/art_du_developpement_android.pdf 
http://www.memoireonline.com/04/12/5643/m_Conception-et-realisation-d-une-application-de-gestion-du-personnel-cas-de--CONGELCAM-S-A5.html 
http://manu.kegtux.org/ 
http://android.developpez.com/faq/?page=envId#pres_plugin 
www.ecole.ensicaen.fr/~elallam/mini.../livrable_methode_comparatif.pdfý 
http://manu.kegtux.org/Java/Tutoriels/Android/androidAvance.html#persistance 
Webographies 
http://www.anglaisfacile.com/free/news/pdf.php 
http://www.siteduzero.com/informatique/tutoriels/creez-des-applications-pour-android/l-emulateur-de-telephone-android-virtual-device 
http://fr.wikipedia.org/wiki/Extreme_programming 
http://fr.wikipedia.org/wiki/Unified_Process 
www.commentcamarche.net/contents/477-methodes-agiles-rad-xp 
http://www.freewebs.com/fresma/Formation/UML/Processus%20Unifie.pdfý 
http://marketing-webmobile.fr/2012/11/application-lingling-apprenez-une-langue-en-seulement-10-mois/ 
http://www.babbel.com/apprendre-anglais-en-ligne/61428-vocabulaire-et-phrases 
fr.wiktionary.org/wiki/axe 
   
 |