Kotlin : automatisation des tâches répétitives. Écrivons des utilitaires qui font vraiment gagner du temps

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Automatisation avec Kotlin : pourquoi ça mérite votre attention



Avez-vous déjà passé une heure à renommer une centaine de fichiers, à analyser manuellement des logs ou à copier des données d'une API à une autre ? Une douleur familière. Habituellement, pour ces tâches, on se tourne vers Python ou Bash, mais Kotlin est un outil étonnamment puissant et élégant pour l'automatisation avec Kotlin. Il allie la concision d'un langage moderne aux performances de la JVM et à un accès complet à l'écosystème Java.



Dans cet article, nous n'allons pas écrire un énième « Hello, World ». Nous allons directement au but : nous analyserons des exemples de code Kotlin qui seront réellement utiles dans le travail quotidien d'un développeur, d'un administrateur système ou d'un testeur. Vous apprendrez à écrire des scripts Kotlin pour la gestion de fichiers, l'envoi de requêtes HTTP, l'analyse de données et l'exécution de commandes système. C'est parti !



Pourquoi Kotlin plutôt que Python ou Bash ?



Chaque langage a sa niche. Bash est idéal pour des one-liners rapides, Python pour la logique complexe et la data science. Mais Kotlin pour l'automatisation offre plusieurs avantages uniques :



  • Sécurité des types. Vous n'obtiendrez pas d'erreur « string vs int » à l'exécution — le compilateur la détectera au départ.
  • Compatibilité totale avec Java. Toute bibliothèque Java (Apache POI, OkHttp, Jackson) est disponible directement.
  • Kotlin Script (.kts). Vous pouvez écrire des scripts sans compilation — exécutez-les comme un fichier .sh ordinaire.
  • Syntaxe concise. Moins de code passe-partout, plus de lisibilité.


Configuration de l'environnement pour les scripts Kotlin



Pour exécuter des scripts Kotlin, vous n'avez pas besoin d'installer Android Studio. Il suffit de :



  1. Installer le compilateur Kotlin (ou SDKMAN).
  2. Créer un fichier avec l'extension .kts.
  3. L'exécuter avec la commande : kotlinc -script script.kts


Voilà. Maintenant, écrivons notre premier script vraiment utile.



Exemple 1 : Renommage en masse de fichiers



Imaginez : vous avez un dossier de photos IMG_001.jpg, IMG_002.jpg ... IMG_100.jpg. Vous devez les renommer en holiday_01.jpg, holiday_02.jpg .... À la main : 10 minutes. Avec un script : 2 secondes.



import java.io.File

fun main() { val folder = File("/path/to/photos") val files = folder.listFiles()?.filter { it.extension == "jpg" } ?: return

files.sorted().forEachIndexed { index, file -> val newName = "holiday_${index.toString().padStart(2, '0')}.jpg" val newFile = File(folder, newName) file.renameTo(newFile) println("Renamed: ${file.name} -> $newName") }}

// Exécution : kotlinc -script rename.kts


Cet exemple de code Kotlin fait trois choses : il filtre uniquement les fichiers JPG, les trie par nom (pour ne pas perdre l'ordre), et les renomme avec une numérotation. Notez l'utilisation de padStart — une fonctionnalité élégante de Kotlin pour le formatage des nombres.



Exemple 2 : Requête HTTP et analyse JSON



Il est souvent nécessaire d'automatiser la collecte de données depuis une API web. Supposons que nous récupérions une liste d'utilisateurs et que nous la sauvegardions dans un CSV. Avec Kotlin pour l'automatisation, cela se fait en quelques lignes en utilisant la bibliothèque ktor-client (ou le bon vieux java.net.HttpURLConnection).



Mais pour un script, il est plus simple d'inclure une bibliothèque externe via @file:DependsOn :



@file:DependsOn("com.google.code.gson:gson:2.10.1")@file:DependsOn("io.ktor:ktor-client-core:2.3.7")@file:DependsOn("io.ktor:ktor-client-java:2.3.7")

import io.ktor.client.*import io.ktor.client.request.*import io.ktor.client.statement.*import com.google.gson.Gsonimport com.google.gson.reflect.TypeTokenimport java.io.File\

Blogs

Book Recommendations