Intro à Kotlin et environnement de développement 🏠
Contenu
- Application : architecture, exceptions, robustesse et tests automatisés
- Kotlin comme langage, Android comme plateforme
- Plan de cours et logistique
Évaluations et date
- Politique concernant les absences / retards
- Politique concernant le plagiat
En cours avec le prof (démos)
- Créer un repo GitHub privé 3M5-NomDeFamille-Prenom pour vos exercices, notes etc.
- Ouvrir l'IDE pour Kotlin (Intellij IDEA)
- Premier projet, première classe Kotlin
- Point d'arrêt et débogueur
- Configuration d'exécution et .idea
- Ajouter une librairie avec gradle
- Définir une fonction en Kotlin
Visionnez la vidéo afin de vous familiarisez avec la création d'un nouveau projet sur IntelliJ, l'utilisation de points d'arrêt, ainsi que les bases du langage Kotlin.
Étant donné la nature de ce cours, vous serez amenés à vous référer à la documentation de Kotlin. Commencez dès à présent à prendre l'habitude de vous y référer :
- Tour d'horizon de Kotlin : les sections Hello world et Basic types pour débutants sont des bons points de départ. Vous y trouverez des exemples, ainsi que de courts exercices.
- Tutoriel : Déboger sa première application Kotlin. Tutoriel très pratique pour vous familiarisez avec les outils de débogage. Ce seront des outils essentiels !
Explorez également les recettes à votre disposition :
- Mettre en place un projet Kotlin
- Commencer les exercices
- Finir les exercices
- Commencer le premier travail (création du projet, création de la classe pour l'application, exécution et débogue).
Exercice Bonjour Kotlin
Tu dois créer un projet Kotlin nommé BonjourKotlin au format (Build system) gradle dont le nom de package de base (GroupId) est org.nomdefamille en changeant le nom de famille pour le tien.
Crée 2 fichiers Kotlin exécutables (avec un main qui suit la convention Kotlin).
Le premier s'appelle NomDeFamille.kt et affiche "Bonjour [Nom de famille]" à l'exécution.
Le deuxième s'appelle PrenomDuProf.kt et affiche "Salut [Prénom du prof]" à l'exécution.
N'OUBLIE PAS DE FAIRE UN COMMIT DANS TON REPO AVEC L'EXERCICE, PUIS DE FAIRE UN PUSH.
Exercice Triangle
Toujours dans le même projet, crée un fichier exécutable Triangle.kt qui reproduit un triangle en prenant sa hauteur par un argument de ligne de commande.
*
**
***
****
Indications
- Pour transformer une chaîne de caractères en entier, tu peux utiliser une méthode de la classe String.
- Pour afficher un caractère sans sauter de ligne :
print()
N'OUBLIE PAS DE FAIRE UN COMMIT DANS TON REPO AVEC L'EXERCICE PUIS DE FAIRE UN PUSH.
Exercice Triangles
Dans un fichier exécutable Triangles.kt, tu dois produire 5 triangles de suite en utilisant une fonction Kotlin qui:
-
prend la hauteur en paramètre
-
renvoie une String qui contient le triangle
-
Indice : Part de l'exercice précédent
-
Indice 2 : Puisque le triangle devrait se retrouver dans la String qui est retournée par la fonction, il ne devrait y avoir aucun
printdans la fonction.
fun triangle(hauteur : Int) : String {
return "TODO"
}
Utilise des appels à cette fonction dans le main pour afficher 5 triangles de suite. Fait des tests avec des triangles de taille 4, 8, 10 et 100.
N'OUBLIE PAS DE FAIRE UN COMMIT DANS TON REPO AVEC L'EXERCICE PUIS DE FAIRE UN PUSH.
Exercice trace d'exécution
Dans ce cours, nous allons avoir des traces d'exécution papier dans les examens.
On va donc se pratiquer dès aujourd'hui. Nous allons suivre la recette sur les traces d'exécution avec le code suivant :
fun main() {
val monNombre = .1 + .1 + .1
var maChaine = "Bonjour"
maChaine += " le monde"
println("monNombre = $monNombre")
println("maChaine = $maChaine")
}
Dans un fichier appelé TraceSimple.md dans ton repo, tu dois faire la trace d'exécution en suivant la recette Recette.
Tu vas maintenant créer un projet Kotlin pour vérifier ta trace d'exécution:
- créer un projet Kotlin dont le nom est TraceSimple dans ton repo
- placer les points d'arrêt appropriés pour vérifier ligne par ligne
- valider que les valeurs que tu trouves sont les mêmes que celles que tu as écrites dans TraceSimple.md
Comme c'est sans doute ta première trace dans le cours, valide avec ton prof.
Exercice librairie JSOUP
Tu dois créer un projet Kotlin au format (Build system) gradle dont le nom est DemoJSoup.
Tu dois inclure JSoup dans les dépendances de ton projet dans le build.gradle (indice : regarde la Recette pour savoir comment faire).
Tu dois créer un fichier exécutable appelé SuperDuperDemo.kt.
Dans le main, copie un des exemples que tu trouves sur la page de JSOUP https://jsoup.org/:
- les exemples sont en Java
- tu peux essayer de les traduire en Kotlin
- tu peux demander à ChatGPT de traduire l'exemple en Kotlin
- tu peux aussi copier le code de l'exemple en Java et le coller dans un fichier .kt dans IntelliJ, il te proposera de traduire pour toi
Démontre la bonne exécution de ton programme.
N'OUBLIE PAS DE FAIRE UN COMMIT DANS TON REPO AVEC L'EXERCICE PUIS DE FAIRE UN PUSH.
Défi de la semaine (optionnel)
Exercice UnUn
Tu dois programmer une méthode en Kotlin qui transforme une String en une autre String:
fun unUn(source: String): String{
TODO()
}
Par exemple, si la source est "111213", on compte le nombre de chiffres identiques
- source commence par "111" ce qui va donner 3 fois 1, soit "31"
- "2" va donner 1 fois 2 donc "12"
- "1" va donner 1 fois 1 donc "11"
- "3" va donner 1 fois 3 donc "13"
Le résultat de "111213" serait donc "31121113"
Exercice UnUnSequence
Programme une méthode qui affiche une séquence de n String partant du paramètre source.
fun sequence(source: String, longueur: Int): List<String>{
TODO()
}
Par exemple, sequence("1", 6) donne :
1
11
21
1211
111221
312211
Produis des fichiers exécutables pour répondre aux questions suivantes :
- Quel est le nombre le plus élevé qu'on peut atteindre en partant de "1"? Par exemple, dans les 100 000 premières itérations.
- Est-ce qu'il peut arriver que le résultat de unUn soit plus court que la source? Si oui, donne un exemple.