Au terme de ce Module, tout étudiant consciencieux, régulier, attentif et discipliné sera capable de :
Comprendre les concepts et principes généraux l’environnement mobile;
Maitriser Les bases du développement d'applications Android;
Enfin, développer les applications avec MIT-App Inventor.
2. Organisation du module
CMI: 30H
TD & TP: 15H
TPE: 15H
Volume Horaire : 60h
La participation aux
séances de cours est
obligatoire.
Présence
- Test mi-parcours : 30%
- TPE : 30 %
- Evaluation Finale : 40%
Evaluation
Présentation
PowerPoint
Support de cours
8 février 2024
ADMIN3231
2
Tél : +243974617007
bkabuatila10@gmail.com
Contacts:
3. Plan
0. Introduction
I. Présentation de la plateforme Android
II. Présentation Application Inventeur (App Inventor)
III. Développement des applications avec MIT-App Inventor
3 PM3241 6 février 2024
4. Bibliographie
1. T. Gaddis et R. Halsey, App Inventor for Android, First Edition Pearson Education, New
Yprk, 2015.
2. Damien G, Programmation Android, 2é Ed. Eyrolles, Paris, 2010 ;
3. Pierres N., Programmation Mobile, Ed. Eyrolles, Paris, 2018 ;
4. https://www.lirmm.fr/~seriai/uploads/Enseignement/coursAndroid1.pdf
5. https://www.scg.ulaval.ca/sites/default/files/Documents/cours/plansdecours/gmt-7021.pdf
6. https://www.clicours.com/cours-android-complet-ppt-presentation-sur-android/
4 PM3241 6 février 2024
5. Objectifs du Module
Au terme de ce Module, tout étudiant consciencieux, régulier, attentif et discipliné sera capable de
:
• Comprendre les concepts et principes généraux l’environnement mobile;
• Maitriser Les bases du développement d'applications Android;
• Enfin, développer les applications avec MIT-App Inventor.
5 PM3241 6 février 2024
6. Introduction
6 PM3241 6 février 2024
Le système d’exploitation ANDROID est actuellement l’OS le
plus utilisé dans le monde faisant tourner des
smartphones, tablettes, montres connectées, liseuses
électroniques, télévisions interactives, et bien d’autres.
C’est un système, open source qui utilise le noyau Linux. Il
a été créée par ANDROID Inc. qui fut rachetée par GOOGLE en
2005. Le développement d’applications pour ANDROID
s’effectue en Java ou d’autres langages en utilisant des
bibliothèques spécifiques.
7. Introduction
7 PM3241 6 février 2024
l y a presque 7 milliards de personnes sur la planète, dont 5,1
milliards possèdent un téléphone portable. Le nombre
d’utilisateurs accédant à Internet sur leurs smartphones a plus
que doublé au cours des 5 dernières années, tout comme le
nombre d’utilisateurs téléchargeant et utilisant des applications
mobiles.
Parmi ceux qui utilisent Internet ou le courrier électronique sur
leur téléphone, plus d’un tiers se connectent principalement via
leurs appareils portables.
8. Introduction
8 PM3241 6 février 2024
Application mobile: Une application mobile est un logiciel applicatif conçu
pour un appareil électronique mobile, tel qu'un assistant personnel, un
téléphone portable, un smartphone, un baladeur numérique, une tablette
tactile.
Système embarqué :
Un système embarqué ("embedded system" en anglais) est un système
électronique et informatique autonome qui réalise en temps réel une tâche
précise au sein de l’appareil auquel il est intégré.
Un système d’exploitation mobile : est un système d’exploitation conçu
pour fonctionner sur un appareil mobile.
9. Introduction
9 PM3241 6 février 2024
Un système d’exploitation mobile permet à l’utilisateur
d’exécuter de différents logiciels d’application sur le
mobile, les tablettes, les montres intelligentes, etc.
De plus, on peut dire qu’il s’agit d’un type de système
d’exploitation spécialement conçu pour les mobiles. Ils
sont un mélange de système d’exploitation informatique
avec quelques fonctionnalités supplémentaires.
En outre, ils sont relativement légers et simples.
10. Introduction
10 PM3241 6 février 2024
Fonctions d’un système d’exploitation pour mobile
Gestion de la mémoire
Quel que soit le programme exécuté, il doit être présent dans la mémoire
principale. Par conséquent, il peut y avoir plus d’un programme présent à la
fois ce qui rend nécessaire de gérer la mémoire. Le système d’exploitation
alloue la mémoire pendant le multitraitement.
Gestion du processeur
Lorsque plus d’un processus s’exécute, le système d’exploitation décide
comment et quand un processus utilisera le processeur. Le système
d’exploitation Alloue le processeur aux processus.
11. Introduction
11 PM3241 6 février 2024
Fonctions d’un système d’exploitation pour mobile
Gestion des dispositifs
Les processus peuvent nécessiter des dispositifs pour leur fonctionnement tels que les
capteurs et les périphériques d’entrées sorties. Cette gestion est effectuée par l’OS.
Gestion des fichiers
Les fichiers d’un système sont stockés dans différents répertoires. Le système
d’exploitation : Gère des registres de l’état et de l’emplacement des fichiers.
Alloue des ressources.
Sécurité
Le système d’exploitation assure la sécurité du système et des programmes grâce à
l’authentification d’une part, et la gestion des permissions de l’utilisation des ressources
d’une autre part
14. Les concurrents d’Android
14 PM3241 6 février 2024
À la différence IoS d’Apple et Windows Phone sont des systèmes propriétaires. Qui
par conséquent donnent plus de priorités aux applications natives que celles
développées par des tierces.
15. Marché de OS mobile en 2023
15 PM3241 6 février 2024
A l’échelle mondiale, le marché des systèmes d’exploitation pour téléphones portables se
réduit à trois grands acteurs : iOS (iPhone), Android (Google) et Windows (Microsoft).
16. Publication d’application
16 PM3241 6 février 2024
Elle se peut se faire sur Google Play Store ou d’autres magasins d’applications.
Les applications proposées sont soit gratuites, soit payantes.
La publication se fait par la génération d’un fichier APK que l’on dépose sur Play
Store de Google.
Cette publication n’est pas soumise à une validation. L’application sera évaluée
par les utilisateurs.
Toute fois il y a aussi un outil automatique qui analyse l’application pour détecter
des soft malware, mais cet outil n’est pas fiable à 100%.
La publication est conditionnée par le paiement de droits d’entrée qui s’éléve à
25$.
Pour une application payante Google prélèvera 30% de son prix.
23. App Inventor : Introduction
23 PM3241 6 février 2024
App Inventor est un outil de développement en ligne pour les téléphones et les
tablettes qui fonctionnent avec le système d'exploitation Android. Il faut donc
une liaison internet et un navigateur internet comme Mozilla Firefox ou Chrome.
App Inventor est une application web open-source à l'origine fournie par Google,
et maintenant maintenue par le Massachusetts Institute of Technology (MIT).
Cette plate-forme de développement est utilisable par toutes et tous à condition
de posséder un compte Gmail.
24. App Inventor : Introduction
24 PM3241 6 février 2024
La programmation est réalisée sans taper une seule ligne de code, mais
simplement en associant et en paramétrant des briques logicielles toutes faites.
Des connaissances en programmation orientée objet peuvent toutefois être
nécessaires. Cependant, on pourra s'affranchir complètement de la
connaissance des noms des propriétés et méthodes liées aux objets.
En effet des blocs de propriétés, méthodes et événements seront directement
proposés dès la création d'un objet sans que l'on s'en rende compte ce qui
simplifie la programmation.
25. App Inventor : Introduction
25 PM3241 6 février 2024
L'utilisation de App Inventor rend assez facile la réalisation d'applications
Android (en tout cas plus facile que l'utilisation du programme Google "Android
Studio" qui nécessite de connaître la programmation en Java et des
performances des machines).
26. App Inventor : Introduction
26 PM3241 6 février 2024
Bien que vous deviez installer un programme sur votre ordinateur pour exécuter Android
émulateur, Application Inventor s'exécute dans le cloud . Cela signifie simplement qu'il
fonctionne sur un serveur distant auquel vous accédez via Internet.
Cette approche basée sur le cloud présente plusieurs avantages.
Par exemple, vous pouvez accédez à App Inventor et à vos projets à partir de n'importe
quel ordinateur correctement configuré et connecté à Internet. De plus, les fichiers que
vous créez avec App Inventor sont maintenu et sauvegardé par l'hôte.
28. App Inventor : premier projet
28 PM3241 6 février 2024
Pour pouvoir créer des applications en utilisant la plateforme Mit app inventor, suivez le
lien appinventor.mit.edu et cliquez sur le bouton Create apps! (1), créez un compte (2), cliquez sur le bouton
Commencer nouveau project (3) puis l'écran avec un nouveau projet s'ouvrira (4).
29. App Inventor : premier projet
29 PM3241 6 février 2024
Notre première app doit afficher à l’écran
Bienvenue à l’UKV.
30. App Inventor : Projet 2
30 PM3241 6 février 2024
Utilisation de bouton et Zone de texte
Développer une application mobile qui récupère
un nom saisi au clavier et affiche ce nom dans
label.
31. App Inventor : Projet 2
31 PM3241 6 février 2024
Utilisation de Label et Zone de texte
32. App Inventor : Projet 2
32 PM3241 6 février 2024
Utilisation de Label et Zone de texte
Améliorer l’exercice précédant pour afficher
dans le label Bonjour suivi du nom saisi.
33. App Inventor : Projet 2
33 PM3241 6 février 2024
Utilisation de Label et Zone de texte
Améliorer l’exercice précédant pour afficher
dans le label Bonjour suivi du nom saisi.
34. App Inventor : Projet 3
34 PM3241 6 février 2024
Utilisation d’operateurs mathématiques
35. App Inventor : Projet 3
35 PM3241 6 février 2024
Utilisation d’operateurs mathématiques
Développer une application mobile qui récupère
deux entiers saisis au clavier, et affiche la
somme de dans la zone résultat.
36. App Inventor : Projet 3
36 PM3241 6 février 2024
Utilisation d’operateurs mathématiques
37. TPE N°01
37 PM3241 6 février 2024
Développer une application mobile qui
réalise les tâches d’une calculatrice
classique.
38. App Inventor : Projet 4
38 PM3241 6 février 2024
Utilisation d’operateurs mathématiques
Développer une application mobile qui récupère
un nombre saisi au clavier, ensuite converti ce
nombre pour afficher son équivalence en
binaire
39. App Inventor : Projet 4
39 PM3241 6 février 2024
Utilisation d’operateurs mathématiques
41. Projet 1: Utilisation des variables
41 PM3241 6 février 2024
En informatique, les variables sont des éléments qui associent un nom (l'identifiant) à
une valeur.
La valeur peut être de nature différente : nombre, texte, etc. Les variables sont
physiquement implantées dans la mémoire du système programmé (ordinateur, carte
microprocesseur.)
42. Projet 1: Utilisation des variables
42 PM3241 6 février 2024
App Inventor vous permet de créer deux types de variables : locales et globales.
Une variable locale est créée à l'intérieur d'une méthode ou d'une fonction et elle
n'est accessible que par des blocs qui sont également dans cette méthode ou
fonction.
Une variable globale est créée en dehors de toutes les méthodes et fonctions dans
l'espace de travail, et elle est accessible par tous les blocs de l'espace de travail.
43. Projet 1: Utilisation des variables
43 PM3241 6 février 2024
Création d’une Variable locale
Pour créer une variable locale dans App Inventor, vous devez l' initialiser . Cela signifie
simplement que vous stockez une valeur de départ dans la variable. Pour créer et
initialiser un local variable, vous ouvrez le tiroir Variables , qui se trouve dans la
section Intégré des Blocs colonne.
44. Projet 1: Utilisation des variables
44 PM3241 6 février 2024
Attribution un Initial Valeur à le Variable
Lorsque vous créez une variable, vous devez également définir la valeur de départ de la variable.
chaque variable a l’initialisation bloc avec une prise étiquetée à . Cette prise a besoin d’une
valeur. Le valeur peut être :
nombre ;
texte chaîne blocs
Booléen blocs ( vrai ou FAUX )
Liste blocs
Couleur blocs
45. Projet 1: Utilisation des variables
45 PM3241 6 février 2024
Attribution d’un initial Valeur à le Variable
Pour exemple, deux variables initialisations blocs. Le supérieur bloc définit une variable
nommée Âge et initialisée avec la 25. Le inférieur bloc définit une variable nommée Prénom et
initialisée avec le texte Johnny .
46. Projet 1: Utilisation des variables
46 PM3241 6 février 2024
Il existe deux instructions que vous utiliserez souvent lorsque vous travaillez avec des
variables : get et set . Vous utilisez l’instruction get pour obtenir la valeur d'une variable et vous
utilisez une instruction set pour stocker une valeur dans la variable. Vous trouverez les blocs
get et set dans les Variables tiroir.
47. Projet 2: Utilisation fonctions mathématiques
47 PM3241 6 février 2024
Il existe deux instructions que vous utiliserez souvent lorsque vous travaillez avec des
variables : get et set . Vous utilisez l’instruction get pour obtenir la valeur d'une variable et vous
utilisez une instruction set pour stocker une valeur dans la variable. Vous trouverez les blocs
get et set dans les Variables tiroir.
48. Projet 2: Utilisation de variables
48 PM3241 6 février 2024
Il existe deux instructions que vous utiliserez souvent lorsque vous travaillez avec des
variables : get et set . Vous utilisez l’instruction get pour obtenir la valeur d'une variable et vous
utilisez une instruction set pour stocker une valeur dans la variable. Vous trouverez les blocs
get et set dans les Variables tiroir.
Exemple utilisation get
50. TPE N°02
50 PM3241 6 février 2024
Développer une application mobile qui
convertit le Gigaoctet en octet.
51. variable globale
51 PM3241 6 février 2024
Une variable globale est créée en dehors de toutes les méthodes et fonctions. La portée d'une
globale la variable représente l’intégralité de l’espace de travail, elle est donc accessible à tout
le code du work- espace.
52. Projet 3 : utilisation des foncions math
52 PM3241 6 février 2024
Le Mathématiques tiroir dans le Blocs Éditeur fournit nombreux les fonctions que sont utile
pour effectuer avancé mathématique opérations.
53. Projet 3: utilisation des foncions math
53 PM3241 6 février 2024
Développer une application mobile qui
récupère une valeur saisie au clavier et
affiche sa racine carrée .
54. Projet 4: Les opérateurs Logiques
54 PM3241 6 février 2024
55. Projet 4: utilisation d’opérateurs Logique
55 PM3241 6 février 2024
Développer une application mobile qui
récupère un nombre saisi au clavier et
affiche vrai si le nombre est supérieur à 5.
56. Projet 5: utilisation de structure de contrôle
56 PM3241 6 février 2024
Le Si… Alors
57. Projet 5: utilisation de structure de contrôle
57 PM3241 6 février 2024
Développer une application mobile qui
récupère le sexe saisi au clavier et affiche
Bonjour Monsieur ou Madame selon le
statut.
58. TPE 3
58 PM3241 6 février 2024
Développer une application mobile qui récupère l’âge saisi au
clavier et affiche le statut correspondant.
0-11 mois: bébé
1-5 ans : enfant
6-17 ans : mineur
18-24 ans : majeur
25-30 ans : jeune
31-50 ans: adulte
51-100 ans : vieux
59. Projet 6: utilisation de liste déroulante
59 PM3241 6 février 2024
Un sélecteur de liste composant affiche une liste d’articles et permet à l’utilisateur de
sélectionner un article depuis la liste. Un composant ListPicker apparaît initialement sous la
forme d'un bouton sur l'écran d'une application. Quand le L'utilisateur clique sur le bouton
ListPicker, une liste d'éléments apparaît parmi lesquels l'utilisateur peut sélectionner.
Les éléments DeChaîne propriété: Cette propriété tient le liste de articles qui s’affiche quand
l’utilisateur clic sur le contrôle ListPicker. Il suffit simplement de taper les articles qu’on
souhaite afficher dans le Composants liste, séparé par des virgules, dans le ÉlémentsDeChaîne
propriété.
60. Projet 6: utilisation de liste à sélection
60 PM3241 6 février 2024
La propriété Sélection : Une fois que l'utilisateur sélectionne un élément dans la liste, l'élément
sélectionné article est copié dans le Sélection propriété.
61. Projet 6: utilisation de liste déroulante
61 PM3241 6 février 2024
Développer une application mobile qui
permet à un utilisateur de choisir le sexe
dans la liste et afficher Bonjour Monsieur
ou Madame selon choix.
62. TPE 4
62 PM3241 6 février 2024
Développer une application mobile qui
réalise les tâches d’une calculatrice
classique en utilisant la liste de choix.
63. Projet 7: utilisation des cases à cocher
63 PM3241 6 février 2024
En informatique, une case à cocher est un composant des interfaces graphiques permettant à
l'utilisateur d'indiquer des choix. L'utilisateur peut cocher/décocher une case en cliquant
dessus, ou avec la touche espace.
Exemple: Utilisation de case à cocher
64. Projet 8: utilisation de boite de dialogue
64 PM3241 6 février 2024
Un Notifiant est un invisible composant que permet une application à afficher des boites
dialogue. Une boîte dialogue est une petite fenêtre que affiche un message ou une instruction.
Types des boites de dialogue :
Boîte de dialogue de message : une fenêtre qui affiche un titre et un message et attend
l’utilisateur à Cliquez sur un bouton.
Texte boîte de dialogue : une fenêtre qui affiche un titre et un message, et permet à l'utilisateur
doit saisir du texte en entrée, puis cliquer sur un bouton OK et éventuellement sur un bouton
Annuler .
Boîte de dialogue à trois options: une fenêtre qui affiche un titre et un message, permettant à
l’utilisateur Cliquez sur un de deux boutons, et une option Annuler.
65. Projet 8: utilisation de boite de dialogue
65 PM3241 6 février 2024
Développer une application mobile
utilisant une boite de dialogue pour
récupérer une valeur à afficher dans une
zone de texte qui.
66. Projet 8: utilisation de boite de dialogue
66 PM3241 6 février 2024
Développer une application mobile
utilisant une boite de dialogue pour
récupérer une réponse à afficher dans une
zone de texte qui.
67. Projet 9: utilisation de boucles
67 PM3241 6 février 2024
A. While
En programmation, la boucle while, francisée en boucle tant que, est une structure
de contrôle permettant d'exécuter un ensemble d'instructions de façon répétée sur
la base d'une condition booléenne.
68. Projet 9: utilisation de boucles
68 PM3241 6 février 2024
A. While
Exo: Développer une application mobile qui affiche cinq fois dans une boite de
dialogue je suis programmeur.
69. Projet 9: utilisation de boucles
69 PM3241 6 février 2024
B. For each
En informatique, la boucle for est une structure de contrôle de programmation qui
permet de répéter l'exécution d'une séquence d'instructions en mettant l’accent sur
l’incrémentation du compteur.
Exo: Développer une application mobile qui affiche cinq fois dans une boite de
dialogue je suis programmeur.
70. TPE 4
70 PM3241 6 février 2024
Développer une application mobile qui récupère l’âge et le sexe au
clavier et affiche dans une boite de dialogue Bonjour Madame ou
Monsieur avec son âge selon le statut correspondant.
1-5 ans : enfant
6-17 ans : mineur
18-24 ans : majeur
25-30 ans : jeune
31-50 ans: adulte
51-100 ans : vieux
71. TPE 4
71 PM3241 6 février 2024
Développer une application mobile qui
réalise les tâches d’une calculatrice
classique en utilisant la liste de choix.
72. Projet 9: utilisation de boucles
72 PM3241 6 février 2024
B. For each
Exo: Développer une application mobile à plusieurs formulaires qui reçoit un nom tapé au clavier et
émet cinq fois l’effet sonore Bonjour suivi du nom.
Form_1
Form_2
73. Projet 9: utilisation de boucles
73 PM3241 6 février 2024
B. For each
Développer une application mobile à plusieurs formulaires qui reçoit un nom tapé au clavier et
émet cinq fois l’effet sonore Bonjour suivi du nom.
74. Projet 9: utilisation de boucles
74 PM3241 6 février 2024
B. For each
Exo TD : ajouter listebox choix du sexe et émettre le son
bonjour Madame ou Monsieur selon le sexe choisi.
Durée : 5’
75. Projet 10: utilisation de listes
75 PM3241 6 février 2024
Les listes App Inventor sont une structure de données qui nous permet de stocker et
d'organiser plusieurs éléments d'information dans une seule variable. En d'autres
termes, une liste est une collection ordonnée d'éléments qui peuvent être de
différents types, comme des nombres, des textes ou même d'autres listes.
76. Projet 10: utilisation de listes
76 PM3241 6 février 2024
Exo: Modifier et supprimer élément de la liste
77. Projet 10: utilisation de listes
77 PM3241 6 février 2024
TP: Rechercher un élément dans la liste, afficher la taille de la liste.
Durée: 10’
78. Projet 10: utilisation de dictionnaire
78 PM3241 6 février 2024
Le dictionnaire app inventor c’est un contrôle qui permet au développeur de faire un
test sur base des valeurs stockées dans le contrôle; nous prenons comme exemple la
création d’un dictionnaire de cinq mots français.
79. Projet 10: utilisation de dictionnaire
79 PM3241 7 février 2024
TP: Concevoir une application dictionnaire comprenant la traduction de 60 mots
français en Kikongo. L’application doit avoir un formulaire d’authentification, après
trois tentatives du mauvais password et login l’application se bloque.
80. Projet 11: utilisation de Tiny DB
80 PM3241 7 février 2024
Dans la plupart des environnements de programmation, créer une application qui
communique avec une base de données est une technique de programmation avancée : vous
devez configurer un serveur avec un logiciel de base de données comme Oracle ou MySQL,
puis écrire du code qui s'interface avec cette base de données.
Dans les universités, une telle programmation n’est généralement enseignée qu’après un
cours de niveau supérieur en génie logiciel ou en bases de données.
Une base de données est un ensemble d'informations qui est organisé de manière à être
facilement accessible, géré et mis à jour.
81. Projet 11: utilisation de Tiny DB
81 PM3241 7 février 2024
TinyDB est une base de données locale, elle permet d’enregistrer des données
dans la mémoire de son téléphone. C’est une base de données très simple; Elle
enregistre un paquet de données sous une étiquette ou tag
Elle enregistre et relit les données sans s’occuper du contenu; C’est à l’application
de se rappeler comment exploiter ce qu’il y a dedans. Nous allons enregistrer les
listes de mots et réponses
Les données stockées dans un TinyDB seront disponibles à chaque exécution de
l'application.
82. Projet 11: utilisation de Tiny DB
82 PM3241 7 février 2024
Développer une application qui récupère un nom et numéro saisis au clavier pour
enregistrer dans la base Tiny DB.
84. Projet Interrogation en groupe
84 PM3241 7 février 2024
Développer une application mobile complète qui présente le programme de cours
de la faculté d’informatique de l’Ukv. L’application comprendra:
- Un formulaire d’accueil
- Un formulaire d’authentification (login : Ukv & password: 2024)
- Un formulaire de menu qui donne la possibilité de lancer le formulaire de la
présentation de la faculté et lancer le formulaire programme de cours.
- Le formulaire de programme de cours comprendra le choix de programme pour
chaque promotion.
NB: utilisez toutes les notions vues dans le cadre du cours.
TD: - faire un rapport comprenant les explications et des captures de l’app;
- Produire l’apk de l’app.
- envoyer les deux à l’adresse bkabuatila10@gmail.com au plus tard 25/02 à
20h