0% ont trouvé ce document utile (0 vote)
9 vues24 pages

Types d'applications web et mobiles

Transféré par

tabkihugdu
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues24 pages

Types d'applications web et mobiles

Transféré par

tabkihugdu
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Applications natives CHapitre I

Module: Applications web mobile natives

Code: MQ7

Chapitre I :Les concepts de base

Introduction

Le terme "Applications web, mobiles et natives" fait référence à différents types


d'applications selon la plateforme ciblée et la technologie utilisée pour leur développement.

I. les catégories d’application web mobile native :

1. Application Web

Définition :

Une application accessible via un navigateur web. Elle fonctionne sur n'importe quel appareil
(ordinateur, tablette, smartphone) sans installation.

Technologies :

 HTML, CSS, JavaScript


 Frameworks : [Link], Angular, [Link]

Avantages :

 Un seul code pour tous les appareils


 Pas besoin de passer par les stores (App Store, Play Store)
 Mise à jour facile et centralisée

Inconvénients :

 Accès limité aux fonctionnalités du téléphone (GPS, appareil photo, etc.)


 Moins performante qu'une app native
 Fonctionne mal sans connexion Internet (sauf si PWA)

2. Application Mobile Native

Définition :

Une application développée spécifiquement pour une plateforme mobile (iOS ou Android).

Technologies :

 Android : Java, Kotlin


 iOS : Swift, Objective-C

p. 1
Applications natives CHapitre I

Avantages :

 Accès complet aux fonctionnalités du téléphone (Bluetooth, capteurs, caméra, etc.)


 Meilleure performance et fluidité
 Expérience utilisateur optimale

Inconvénients :

 Développement séparé pour chaque plateforme (double coût, double maintenance)


 Publication sur les stores avec validation

3. Application Mobile Hybride / Cross-platform

Parfois confondue avec "native", mais c’est différent.

Définition :

Une seule base de code pour plusieurs plateformes mobiles, avec rendu quasi natif.

Technologies :

 Flutter (Dart)
 React Native (JavaScript)
 Xamarin (C#)

Avantages :

 Un seul code pour iOS et Android


 Accès à la plupart des fonctionnalités natives
 Coût réduit par rapport au natif pur

Inconvénients :

 Moins performant que le 100% natif dans certains cas


 Bugs liés aux ponts entre le code natif et le code partagé

4. PWA – Progressive Web App

Un entre-deux entre une application web et une application mobile.

Avantages :

 Fonctionne hors ligne (cache)


 Peut être installée sur l’écran d’accueil
 Pas besoin de store

Inconvénients

p. 2
Applications natives CHapitre I

Accès limité au matériel :

o Les PWA n’ont pas accès à toutes les API natives (Bluetooth, NFC, biométrie
avancée, capteurs précis, etc.), surtout sur iOS.
o Impossible d’exploiter certaines fonctionnalités matérielles disponibles dans
les apps natives.

Fonctionnalités réduites sur iOS (Safari) :

o Apple limite volontairement les PWA (pas de notifications push fiables avant
iOS 16.4, restrictions sur l’exécution en arrière-plan, stockage limité).
o Moins d’intégration avec l’écosystème Apple que les apps natives.

Performance inférieure aux apps natives :

o Bien que rapides, elles ne rivalisent pas toujours avec des applications natives
optimisées (surtout pour les jeux 3D, traitement intensif ou AR/VR).

Pas de présence complète dans les stores :

o Même si on peut publier une PWA sur certains stores (Google Play via un
wrapper), elles n’ont pas la même visibilité qu’une application native dans les
App Stores.

Support hors-ligne limité :

o Les PWA peuvent fonctionner offline grâce au service worker, mais ce n’est
pas aussi robuste qu’une application native (surtout avec des données lourdes
ou complexes).

Moins de confiance des utilisateurs :

o Beaucoup d’utilisateurs préfèrent télécharger une "vraie application" depuis un


store officiel, par habitude ou sécurité.

Fonctionnalités UX limitées :

o Pas toujours possible d’avoir la même fluidité et ergonomie que les


applications natives.

Moins de personnalisation système :

o Pas d’accès aux raccourcis système avancés, intégrations profondes (widgets


iOS/Android), ou interactions riches avec d’autres apps.

Moins de monétisation directe :

p. 3
Applications natives CHapitre I

o Les stores (Apple App Store, Google Play) intègrent nativement les paiements
in-app. Avec une PWA, il faut mettre en place son propre système de
paiement, ce qui peut limiter la confiance des utilisateurs.

Manque de marketing via les stores :

 Les applications natives bénéficient de la visibilité et du référencement des App


Stores. Une PWA, hébergée comme un site web, dépend surtout du SEO et du partage
de liens.

Tableau récapitulatif entre les 04 catégories d’applications


Critère Web App App Natif App Hybride
Installation Non Oui Oui
Accès aux fonctionnalités Limité Complet Quasi complet
Performance Moyenne Excellente Bonne
Coût de développement Faible Élevé Moyen
Maintenance Facile Complexe Moyenne

p. 4
Applications natives CHapitre I

II.Définition du langage Kotlin

Kotlin est un langage de programmation moderne, statiquement typé, qui s’exécute sur la
machine virtuelle Java (JVM). Il est développé par JetBrains, la même entreprise qui a créé
IntelliJ IDEA.

II.1Caractéristiques principales :
Caractéristique Détail
🔤 Type Langage statiquement typé
⚙️Plateforme JVM, Android, JavaScript (Kotlin/JS), Natif (Kotlin/Native)
🏢 Créateur JetBrains
📅 Lancement initial 2011, avec version stable en 2016
🤝 Interopérabilité 100% compatible avec le code Java
🧠 Paradigmes Orienté objet et fonctionnel

[Link] et Android

 Depuis 2017, Google a officiellement recommandé Kotlin pour le développement


Android.
 Depuis 2019, Kotlin est le langage préféré pour Android, devant Java.

III.1 Avantages de Kotlin :

 Concis : Moins de code qu’en Java pour faire la même chose


 Sécurisé : Gestion stricte des nulls avec le système Nullable / Non-nullable
 Lisible : Syntaxe claire et moderne
 Interopérable avec Java : Tu peux utiliser des bibliothèques Java existantes
 Coroutines intégrées : Pour une gestion simplifiée de l’asynchrone

III.2Exemple simple de code Kotlin :


fun main() {
val name = "Said"
println("Bonjour, $name !")
}
III.3Critères de choix de Kotlin

Choisir Kotlin comme langage de programmation dépend de plusieurs facteurs liés au projet,
à la plateforme cible, à l’équipe de développement et aux besoins techniques. Voici les
principaux critères à considérer pour décider si Kotlin est un bon choix pour ton projet :

1. Plateforme cible

p. 5
Applications natives CHapitre I

 Android :

 Kotlin est le langage recommandé par Google pour Android.


 Meilleure productivité et moins de bugs que Java.
 Accès aux coroutines pour la gestion de l’asynchrone.

Remarque le développement Android → Kotlin est clairement un excellent choix.

 Backend :

 Kotlin est compatible avec les frameworks Java : Spring Boot, Ktor, etc.
 Utilisable pour créer des API REST, microservices, etc.

Remarque : Bon choix si tu veux un backend moderne mais rester dans l’écosystème Java.

 Multiplateforme :

 Kotlin Multiplatform permet de partager du code entre Android, iOS, Web, Desktop.
 Encore en développement mais très prometteur.

Remarque : Utile si tu veux partager la logique métier sur plusieurs plateformes (ex : app
mobile + web).

2. Interopérabilité avec Java

 Kotlin peut appeler du code Java et vice versa.


 Idéal si tu as une base de code existante en Java et que tu veux moderniser
progressivement.

Remarque : Excellente transition pour les équipes Java vers un langage plus moderne.

3. Lisibilité et concision du code

 Code plus clair, plus court, et plus facile à maintenir.


 Moins de "boilerplate code" que Java (ex : getters/setters, findViewById, etc.)

Remarque : Moins de lignes = moins de bugs, meilleure maintenance.

4. Gestion des erreurs : null safety

 Le système de null safety évite les erreurs courantes comme le NullPointerException


(le "cauchemar" en Java).
 Tu déclares explicitement si une variable peut être null.

Remarque : Renforce la fiabilité et la robustesse du code.

p. 6
Applications natives CHapitre I

5. Support de la communauté et écosystème

 Large adoption depuis que Google l’a adopté.


 Très bon support JetBrains (éditeur officiel).
 Beaucoup de ressources, de tutoriels, de bibliothèques compatibles.

Remarque : En constante évolution et soutenu par un bon écosystème.

6. Productivité développeur

 Fonctionnalités modernes :
o Type inference
o Lambdas
o Extensions functions
o Coroutines pour l’asynchrone
 Intégration native avec IntelliJ/Android Studio

remarque on développe plus vite, avec moins de code et une syntaxe plus élégante.

7. Maintenance et évolutivité

 Code plus modulaire et clair


 Facilite les tests unitaires et la modularisation
 Moins de duplication

Remarque : Meilleur pour les projets à long terme ou en croissance rapide.

8. Apprentissage et montée en compétences

 Syntaxe simple à apprendre si tu connais Java ou un autre langage orienté objet.


 Beaucoup de ressources pédagogiques.
 La communauté est active et accessible.

Remarqe : Bon choix pour les débutants comme pour les développeurs expérimentés.

III.3 Limites et scénarios défavorables à Kotlin


Situation Pourquoi Kotlin n’est pas idéal

Projet très spécifique à iOS Swift est plus adapté

Équipe uniquement formée à JavaScript/TypeScript Trop de courbe d’apprentissage

Besoin de très haute performance système (ex: OS, drivers) Langage natif plus approprié

Tu utilises un framework 100% incompatible avec Kotlin Risques de bugs ou limitations

p. 7
Applications natives CHapitre I

En résumé : Kotlin est un bon choix si...

 Tu développes pour Android


 Tu veux moderniser une app Java
 Tu cherches un langage concis, sûr et moderne
 Tu vises un projet multiplateforme (avec Kotlin Multiplatform)
 Tu veux améliorer la productivité de ton équipe

p. 8
Applications natives CHapitre I

[Link]éparer l’environnement de travail Android Kotlin


IV.1Installation d’Android Studio (étape par étape, à jour 2025)

Android Studio est l’IDE officiel pour développer des applications Android (Java / Kotlin).
Voici comment l’installer proprement, quelle que soit ta plateforme.

IV.1.1 Prérequis

Système Version minimum recommandée

Windows Windows 10 / 11 (64 bits)

macOS macOS 12+

Linux Ubuntu 20.04+ ou équivalent

RAM 8 Go minimum (16 Go recommandé)

Stockage Environ 5 à 10 Go disponibles

Java Inclus avec Android Studio (pas besoin d’installer séparément)

IV.2 Étapes d’installation

🔽 1. Télécharger Android Studio

Va sur le site officiel :


[Link]

 Clique sur "Download Android Studio"


 Accepte les conditions
 Télécharge le fichier adapté à ton système (Windows / macOS / Linux)

2. Installation (par système)

✅ Sous Windows :

1. Lance le fichier .exe téléchargé


2. Suis l’assistant d’installation
3. Laisse les options par défaut (Android Studio + SDK + AVD + Intel HAXM)
4. Une fois terminé, clique sur Finish

✅ Sous macOS :

p. 9
Applications natives CHapitre I

1. Ouvre le fichier .dmg


2. Glisse Android Studio dans le dossier Applications
3. Ouvre l'application (clic droit > Ouvrir si Gatekeeper bloque)
4. Suis les étapes de configuration

✅ Sous Linux :

1. Extrais l’archive .zip téléchargée


2. Ouvre un terminal et exécute :
3. cd android-studio/bin
4. ./[Link]

5. Suis les instructions de l’assistant

3. Premier lancement & configuration

1. Choisis un thème (clair ou sombre)


2. Laisse les options par défaut (y compris SDK et Virtual Device)
3. Clique sur Finish
4. Android Studio télécharge les composants nécessaires (ça peut prendre du temps)

4. Créer ton premier projet Android

1. Clique sur "New Project"


2. Choisis "Empty Activity"
3. Langage : choisis Kotlin
4. Configure ton application :
o Nom : ExempleApp
o Package name : [Link]
o Emplacement : ton choix
o Minimum SDK : API 21 ou plus (selon ton besoin)
5. Clique sur Finish

Android Studio va générer ton projet. Tu peux ensuite lancer l’émulateur pour tester.

IV.3 Facultatif : Créer un émulateur Android

1. Menu : Tools > Device Manager

p. 10
Applications natives CHapitre I

2. Clique sur Create Device


3. Choisis un appareil (ex : Pixel 6)
4. Choisis une image système (ex : Android 13 x86_64)

Lance l’émulateur via le bouton ▶


5. Clique sur Finish
6.

IV.4 Vérification rapide

Élément Doit être opérationnel

IDE Android Studio ✅ Ouvert sans erreur

SDK installé ✅ Dans "SDK Manager"

AVD (émulateur) fonctionnel ✅ Démarre et affiche Android

Création d’un projet Kotlin ✅ Compile et lance l’app "Hello"

p. 11
Applications natives CHapitre I

IV.5 Les paramètres essentiels d’Android Studio


1. Accéder aux paramètres
OS Accès aux paramètres Android Studio

Windows/Linux File → Settings (Ctrl + Alt + S)

macOS Android Studio → Preferences (Cmd + ,)

2. Paramètres les plus importants à configurer

A. Appearance & Behavior → Appearance

 Theme : Light / Darcula (sombre recommandé)


 Font size : Ajuste la taille selon ton confort visuel
 UI Scaling : Pour les écrans haute résolution

B. Keymap

 Change les raccourcis clavier selon ton habitude (Eclipse, VS Code, Mac, etc.)

C. Editor > General > Code Completion

 Active l’auto complétion intelligente (très utile)


 Vérifie que Show suggestions as you type est coché

D. Editor > Font

 Police : JetBrains Mono (recommandée)


 Taille : entre 13 et 16 pour un bon confort

E. Editor > Color Scheme

 Syntaxe couleur selon thème (personnalisable)


 Vérifie bien la lisibilité (ex. couleur des erreurs, des strings, etc.)

F. Editor > Code Style

 Formateur de code automatique


 Tu peux personnaliser les règles de style (indentation, espaces, etc.)
 Bouton Set from > Predefined Style > Kotlin ou Java

p. 12
Applications natives CHapitre I

3. Project Structure / SDK / Build

A. File > Project Structure

✅ Project

 Android Gradle Plugin Version : à jour (ex : 8.3+ en 2025)


 Gradle Version : automatique recommandé

✅ SDK Location

 SDK Path : Indique le chemin du SDK Android (souvent auto-configuré)

✅ Language Level

 Kotlin & Java versions : adapte selon ton projet (Kotlin 1.9.x ou 2.x selon
disponibilité)

B. Build, Execution, Deployment

> Build Tools > Gradle

 Gradle JDK : Choisis un JDK compatible (souvent JDK 17 recommandé)


 Build and run using : Gradle
 Run tests using : Gradle

> Instant Run (si présent) :

 Pour déployer plus rapidement sans reconstruire l’appli

C. Deployment > Emulator / Device Manager

 Configure les paramètres de l’émulateur Android (RAM, résolution, etc.)


 Active ou non la GPU Emulation selon ton PC

🧪 D. Experimental

 Fonctionnalités en cours de test, comme les nouveaux éditeurs ou previews d’UI


 À activer si tu veux tester les nouveautés avant leur sortie stable

4. Plugins

Menu : Plugins

 Tu peux installer des extensions comme :


o Kotlin Multiplatform
o Jetpack Compose UI Preview
o Material Theme UI
o ADB Idea (utilitaire pour gérer les APKs)

p. 13
Applications natives CHapitre I

o Firebase Assistant

5. Paramètres utiles pour l’optimisation

 File > Invalidate Caches / Restart : Pour corriger des bugs de compilation ou lenteur
 Memory Settings : Augmente la RAM allouée à Android Studio (Help > Change
Memory Settings)
 Disable Unused Plugins : Allège l’IDE si tu ne fais pas de Flutter, C++, etc.

✅ Résumé : Paramètres prioritaires à ajuster

Catégorie Paramètres à ajuster

Interface Thème, taille de police, scaling

Éditeur Code completion, syntaxe, raccourcis clavier

SDK/Gradle Chemin SDK, version JDK, plugin Gradle

Emulateur Config des AVD (RAM, résolution, GPU)

Plugins Installer ceux utiles, désactiver ceux inutiles

Performances RAM allouée, désactivation des services non nécessaires

p. 14
Applications natives CHapitre I

IV.6 Définition de l’émulateur Android

Un émulateur Android (AVD - Android Virtual Device) est une simulation d’un appareil
Android sur ton ordinateur. Il te permet de tester ton application sans avoir besoin d’un
smartphone physique.

Étapes pour créer un émulateur Android dans Android Studio

✅ Étape 1 : Ouvrir le Device Manager

 Android Studio > Barre d’outils >


Clique sur "Device Manager" (icône de téléphone)
ou
Menu : Tools > Device Manager

✅ Étape 2 : Créer un nouvel appareil virtuel (AVD)

 Clique sur "Create Device"


 Choisis un modèle d'appareil :

o 📱 Téléphones populaires : Pixel 6 / Pixel 8 (recommandé)


o 📱 Tablettes : Pixel C / Nexus 9
o 📺 Android TV ou 📟 Wear OS (facultatif)
 Clique sur Next

✅ Étape 3 : Choisir l’image système Android

 Choisis la version Android à émuler :

o API 34 (Android 14) ou plus récent


o x86_64 ou ARM64 selon ton processeur

 Clique sur Download (si l’image n’est pas encore installée)


 Une fois téléchargée, clique sur Next

Remarque : ℹ️x86_64 est plus rapide (émulation matérielle via Hypervisor).


Si tu as un Mac M1/M2/M3, préfère les images ARM64.

✅ Étape 4 : Configuration de l’émulateur

1. Donne un nom à ton émulateur (ex : Pixel_6_API_34)


2. Paramètres recommandés :
o Orientation : Portrait
o RAM : 2048 MB (ou plus selon ta machine)
o Graphics : Hardware - GLES 2.0
o Device Frame : coche ou décoche selon tes préférences
3. Clique sur Finish

✅ Étape 5 : Lancer l’émulateur

p. 15
Applications natives CHapitre I

1. Dans le Device Manager, clique sur ▶️"Run" à côté de ton émulateur.


2. L’émulateur démarre (ça peut prendre quelques secondes).
3. Une fois chargé, il simule un vrai téléphone Android.

Optimisations et astuces
Astuce Détail

🖥️Utiliser HAXM / Hypervisor Active la virtualisation dans ton BIOS pour plus de vitesse

📏 Redimensionner l’écran Tu peux ajuster la taille de la fenêtre de l’émulateur

🚀 Snapshot Permet un lancement plus rapide de l’émulateur

🌐 Connexion Internet L’émulateur simule une vraie connexion réseau

🔄 Rotation de l’écran Ctrl + ↑/↓ pour basculer en paysage ou portrait

Exemple d’un émulateur fonctionnel

 Nom : Pixel_6_API_34
 API Level : 34 (Android 14)
 CPU/ABI : x86_64
 RAM : 3 Go
 Résolution : 1080 x 2340
 GPU : OpenGL (émulation matérielle)

Gestion des exceptions

Problème Solution

Erreur "Intel HAXM not Active la virtualisation dans le BIOS + installe HAXM via
installed" SDK

L’émulateur ne démarre pas Redémarre Android Studio / PC + vérifie RAM disponible

Trop lent Baisse la résolution + alloue plus de RAM

Écran noir ou figé Essaie un autre image système (API ou ABI différent)

📱 Préparer un téléphone Android pour le développement

✅ 1. Activer les options pour les développeurs

p. 16
Applications natives CHapitre I

1. Ouvre l’application Paramètres (Settings)


2. Va dans À propos du téléphone (About phone)
3. Trouve le champ "Numéro de build" (Build number)
4. Tape 7 fois rapidement sur ce champ
→ Un message indique que tu es désormais un développeur

✅ 2. Activer le débogage USB

1. Retourne dans les Paramètres


2. Va dans Système > Options pour les développeurs (ou directement dans Options
développeur selon les modèles)
3. Active :
o ✅ "Débogage USB" (USB debugging)
o (optionnel) "Débogage sans fil" si tu veux tester sans câble

✅ 3. Connecter le téléphone à l’ordinateur

1. Branche ton téléphone avec un câble USB (préférablement d’origine)


2. Une boîte de dialogue s’affiche sur le téléphone :
o Accepte le message "Autoriser le débogage USB"
o Coche "Toujours autoriser depuis cet ordinateur" si souhaité

✅ 4. Configurer Android Studio

1. Ouvre Android Studio


2. Branche ton téléphone (s’il ne l’est pas déjà)
3. Android Studio détecte automatiquement l’appareil :

4. Clique sur ▶️Run pour lancer ton app sur le téléphone


o Tu le verras dans la barre de sélection des périphériques (en haut à droite)

✅5. Tester l’application sur le téléphone

 Une fois le build terminé, l’application se lance automatiquement sur ton appareil
 Tu peux interagir avec elle comme si elle venait du Play Store

Options utiles dans les options développeur

Option Utilité

Débogage USB Permet la communication avec Android Studio

Afficher emplacements de touches Montre les zones tactiles à l’écran (utile pour le debug UI)

Ne pas mettre en veille Garde l’écran actif pendant la charge (pratique en

p. 17
Applications natives CHapitre I

Option Utilité

développement)

Logger buffer size Utile pour les logs détaillés dans Logcat

Forcer le GPU Pour tester le rendu matériel

Problèmes fréquents et solutions


Problème Solution

📵 L’appareil ne s’affiche pas dans Active le débogage USB / Change le mode USB à
Android Studio "Transfert de fichiers"

Vérifie que l'app n’est pas déjà installée avec une


🔒 Message "app non installée"
signature différente

🔌 L’appareil se connecte/déconnecte
Change de câble USB ou de port
sans arrêt

🔒 L’écran reste noir L’app plante ? Vérifie Logcat dans Android Studio

Résumé
Étape Action

Activer dev. mode Taper 7 fois sur "Numéro de build"

Activer USB Debug Depuis les options développeur

Brancher le téléphone Via USB, accepter le débogage

Android Studio Détection automatique et lancement de l’app

p. 18
Applications natives CHapitre I

V. Gradle :
Gradle est un outil d’automatisation de construction (build system) utilisé par Android
Studio.
Il sert à compiler, assembler et gérer ton application Android écrite en Java ou Kotlin.

Rôles principaux de Gradle

1. Compilation du code → transforme ton code Kotlin/Java en bytecode utilisable par


Android.
2. Gestion des dépendances → télécharger automatiquement les librairies dont tu as
besoin (exemple : Retrofit, Room, etc.).
3. Configuration multi-modules → permet de séparer ton projet en plusieurs modules
(app, library, tests).
4. Automatisation des tâches → par exemple lancer les tests, générer des APK, signer
l’application.
5. Adaptabilité → tu peux personnaliser les scripts [Link] pour définir les SDK,
versions minimales Android, etc.

Localisation de Gradle dans Android Studio

 [Link] (Project level) → gère la configuration globale du projet (version


de Gradle, repositories, plugins).
 [Link] (Module: app) → gère la configuration spécifique de l’application
(SDK, dépendances, options de compilation).

Exemple simple (extrait d’un [Link])


plugins {
id '[Link]'
id '[Link]'
}

android {
compileSdk 34

defaultConfig {
applicationId "[Link]"
minSdk 24
targetSdk 34
versionCode 1
versionName "1.0"
}
}

dependencies {
implementation "[Link]:core-ktx:1.12.0"
implementation "[Link]:kotlin-stdlib:1.9.0"
}

Ici, Gradle gère la version de l’API Android, la version minimale supportée, et les
librairies Kotlin que ton projet utilise.

p. 19
Applications natives CHapitre I

Remarque : Gradle est le chef d’orchestre qui construit ton application Android en
Kotlin et gère ses dépendances.

Gradle dans Flutter

Flutter n’utilise pas directement Gradle pour tout le projet, mais :

 Pour les apps Android Flutter, la partie Android du projet s’appuie sur Gradle.
 Tu trouveras un dossier android/ dans chaque projet Flutter → c’est un projet
Android classique avec des fichiers [Link].
 Flutter génère son code natif (Dart → code compilé) puis s’appuie sur Gradle pour
construire l’APK ou l’AAB.

Exemple : si tu ouvres android/app/[Link] dans un projet Flutter, tu verras les


mêmes configurations que dans un projet Android Kotlin/Java.

Différence clé

 Projet Android natif → tout ton projet dépend directement de Gradle.


 Projet Flutter → ton app est majoritairement en Dart, mais la partie Android dépend
de Gradle pour l’intégration et le packaging final.

Donc : Gradle existe aussi dans Flutter (côté Android), mais il n’est pas au cœur de
Flutter comme il l’est pour Android natif.

p. 20
Applications natives CHapitre I

VI.Définition d’un plugin en Android/Kotlin


Un plugin est un module complémentaire qui étend les fonctionnalités de Gradle (le système de
build Android).
alors un plugin dit à Gradle comment construire ton projet, ajouter des outils, ou gérer des langages
(comme Kotlin).

Plugins importants dans Android + Kotlin

Dans un fichier [Link] (ou [Link] si tu utilises Kotlin DSL), on déclare


des plugins avec :

plugins {
id("[Link]") version "8.3.0" // Plugin Android
id("[Link]") version "1.9.0" // Plugin Kotlin
pour Android
}

1. [Link]

 Sert à construire une application Android.


 Définit les tâches de compilation, packaging, signature APK/AAB, etc.

2. [Link]

 Sert à créer une librairie Android réutilisable (au lieu d’une app complète).

3. [Link]

 Ajoute le support de Kotlin dans Android Studio.


 Permet de compiler du code Kotlin avec Gradle.

4. Autres plugins utiles :

 kotlin-kapt → pour utiliser l’annotation processing (ex. Room, Dagger).


 kotlin-serialization → pour la sérialisation JSON en Kotlin.
 [Link]-services → pour intégrer Firebase.
 [Link] → pour Hilt (injection de dépendances).

Exemple complet dans un projet Android/Kotlin


plugins {
id("[Link]")
id("[Link]")
id("kotlin-kapt") // annotation processing
id("kotlin-serialization") // JSON avec Kotlin
id("[Link]-services") // Firebase
}

En résumé :
Les plugins Kotlin Android sont des extensions qui indiquent à Gradle comment gérer
Kotlin, Android et d’autres bibliothèques dans ton projet.
Sans eux, ton code Kotlin ne pourrait pas être compilé ni intégré dans une app Android.

p. 21
Applications natives CHapitre I

VII Définition de SDK

SDK = Software Development Kit (Kit de développement logiciel).


👉 C’est un ensemble d’outils, de bibliothèques, de documentation et d’exemples de code
mis à disposition par un éditeur pour aider les développeurs à créer des applications pour une
plateforme spécifique.

Dans le contexte Android

Le Android SDK contient tout ce dont tu as besoin pour développer une application
Android :

 Les APIs Android (fonctions prêtes à l’emploi pour accéder aux capteurs, caméra,
GPS, etc.).
 Les outils de compilation (transformer ton code Kotlin/Java en application Android).
 L’émulateur Android (pour tester sans téléphone physique).
 La documentation et exemples de code.

Remarque : Concrètement, quand tu installes Android Studio, tu installes aussi


l’Android SDK (ou tu le télécharges séparément via le SDK Manager).

🔹 Exemples d’autres SDK

 Java SDK (JDK) → pour développer en Java.


 Firebase SDK → pour intégrer l’authentification, la base de données et les
notifications dans Android/iOS.
 Facebook SDK → pour ajouter un login Facebook dans ton app.

Remarque :
Un SDK est comme une boîte à outils complète qui fournit aux développeurs tout ce qu’il
faut pour créer, compiler et tester une application sur une plateforme donnée.

p. 22
Applications natives CHapitre I

VIII. Définition de JDK

JDK = Java Development Kit (Kit de développement Java).


C’est l’ensemble des outils nécessaires pour développer et exécuter des applications Java.

Contenu du JDK

Le JDK inclut :

1. JRE (Java Runtime Environment) → permet d’exécuter les programmes Java.


2. Compilateur javac → transforme le code source Java (.java) en bytecode (.class).
3. Outils de développement → débogueur (jdb), générateur de documentation
(javadoc), etc.
4. Bibliothèques de base Java → API standard (collections, I/O, réseau, etc.).

Différence entre JDK, JRE et JVM

 JVM (Java Virtual Machine) → exécute le bytecode Java.


 JRE (Java Runtime Environment) → contient la JVM + bibliothèques de base →
permet seulement d’exécuter une app Java.
 JDK (Java Development Kit) → contient le JRE + outils de développement →
permet de développer + exécuter.

Donc si tu veux juste lancer un programme Java, le JRE suffit.


Par contre si tu veux développer, il te faut le JDK.

JDK et Android/Kotlin

 Android ne s’exécute pas directement sur la JVM classique, mais sur la Dalvik/ART
(adaptation pour mobile).
 Cependant, Android Studio et Kotlin ont besoin du JDK pour compiler et
transformer ton code avant que Gradle ne le prenne en charge.

🔹 Exemple pratique

Quand tu tapes :

javac [Link]
java HelloWorld

 javac (du JDK) compile → crée un fichier .class.


 java (du JRE) exécute le bytecode via la JVM.

En résumé :
Le JDK est le kit complet pour programmer en Java. Il inclut le JRE et tous les outils
nécessaires pour écrire, compiler et exécuter ton code.

p. 23
Applications natives CHapitre I

Tableau Comparatif JDK vs JRE vs JVM

JVM (Java Virtual JRE (Java Runtime


Élément JDK (Java Development Kit)
Machine) Environment)

Fournir un environnement
Rôle Exécuter le bytecode Développer et exécuter des
pour exécuter des
principal Java programmes Java
programmes Java

Interpréteur de
JVM + bibliothèques de base JRE + outils de développement
Contient bytecode, gestion
Java (compilateur, débogueur, etc.)
mémoire (GC)

Seulement exécuter le
Lancer des programmes Java Écrire, compiler et exécuter des
Utilisation code déjà compilé
déjà écrits programmes Java
(.class)

Inclut la
✅ ✅ ✅
JVM ?

Inclut le JRE
❌ ✅ ✅
?

Compilateur (javac), débogueur


Aucun outil de dev, Bibliothèques standards (I/O,
Outils inclus (jdb), générateur de doc
juste l’exécution collections, etc.)
(javadoc), etc.

Utilisateurs finaux qui veulent Développeurs Java (et


Public visé Utilisateurs finaux
exécuter des programmes Android/Kotlin)

Résumé :

 JVM → exécute.
 JRE → exécute avec bibliothèques de base.
 JDK → développe + exécute.

p. 24

Vous aimerez peut-être aussi