Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Les 22 & 23 novembre : Accès 100% GRATUIT à  
la Bibliothèque Numérique ENI. Je m'inscris !
  1. Supports de cours
  2. Kotlin - Développement backend d’applications web avec Ktor et Exposed

Kotlin Développement backend d’applications web avec Ktor et Exposed

Bientôt disponible !
Suivez-nous pour être informé dès la sortie

Caractéristiques

  • Reliure spirale - 17 x 21 cm (Médian)
  • ISBN : 978-2-409-04702-2
  • EAN : 9782409047022
  • Ref. ENI : EIMKOTBACK
Ce support sur le langage de programmation Kotlin et ses fra­meworks Ktor et Exposed vise à familiariser les développeurs backend avec une stack technologique entièrement basée sur ce langage. Il montre comment Kotlin peut être utilisé pour dé­velopper toutes les couches d’une application web moderne et performante. L’auteur commence par une introduction détaillée aux bases du langage Kotlin (variables, fonctions, structures de contrôle) et à sa syntaxe, avant de vous guider à travers les tests...
Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Parution novembre 2024
Ce support sur le langage de programmation Kotlin et ses fra­meworks Ktor et Exposed vise à familiariser les développeurs backend avec une stack technologique entièrement basée sur ce langage. Il montre comment Kotlin peut être utilisé pour dé­velopper toutes les couches d’une application web moderne et performante.

L’auteur commence par une introduction détaillée aux bases du langage Kotlin (variables, fonctions, structures de contrôle) et à sa syntaxe, avant de vous guider à travers les tests et l’utilisation des coroutines, un des principes avancés du langage.

La deuxième partie est entièrement dédiée à la création de ser­vices REST avec Ktor, le framework développé par JetBrains pour développer des applications web performantes et robustes.

Ensuite, vous explorez le framework Exposed, également déve­loppé par JetBrains, qui facilite la connexion et la gestion des bases de données relationnelles. Vous pourrez ainsi apprendre à manipuler les données efficacement et en toute sécurité.

Enfin, le support aborde des concepts avancés tels que le déve­loppement multi-plateforme avec Kotlin Multiplatform et le développement frontend, vous permettant d’étendre vos com­pétences et de créer des applications complètes et cohérentes.

Téléchargements

Avant-propos
  1. 1. À propos de Kotlin
  2. 2. Audience de cet ouvrage
  3. 3. Organisation de l’ouvrage
Présentation du langage Kotlin
  1. 1. Pourquoi Kotlin ?
  2. 2. Outils de développement
    1. 2.1 Environnement de développement intégré
    2. 2.2 Compilateur Kotlin
    3. 2.3 Maven
    4. 2.4 Gradle
    5. 2.5 SonarQube
    6. 2.6 Ktlint
  3. 3. Les bases de Kotlin
    1. 3.1 Programme minimal
    2. 3.2 Les commentaires
    3. 3.3 Les variables
    4. 3.4 Les types nullable et non-nullable
    5. 3.5 Conversion entre deux types (cast)
    6. 3.6 Les chaînes de caractères
    7. 3.7 Les fonctions
      1. 3.7.1 Déclarer une fonction
      2. 3.7.2 Appeler une fonction
      3. 3.7.3 Les paramètres nommés
      4. 3.7.4 Les paramètres avec valeurs par défaut
      5. 3.7.5 Surcharge des fonctions
      6. 3.7.6 Les fonctions d’ordre supérieur
      7. 3.7.7 Les fonctions anonymes
      8. 3.7.8 Les lambdas
    8. 3.8 Les structures de contrôle
      1. 3.8.1 Les conditions
      2. 3.8.2 Les boucles
    9. 3.9 Les packages
    10. 3.10 Les indicateurs de visibilité
    11. 3.11 Les classes
      1. 3.11.1 Les propriétés
      2. 3.11.2 Personnalisation des getters et des setters
      3. 3.11.3 Les constructeurs
      4. 3.11.4 Les méthodes
      5. 3.11.5 Les classes data
      6. 3.11.6 Les classes Enum
    12. 3.12 L’héritage
      1. 3.12.1 Surcharge des méthodes
      2. 3.12.2 Surcharge des propriétés
    13. 3.13 Les interfaces
    14. 3.14 Les classes abstraites
    15. 3.15 Les classes et interfaces scellées
    16. 3.16 Les classes imbriquées
    17. 3.17 Les extensions
      1. 3.17.1 Les fonctions d’extension
      2. 3.17.2 Les propriétés d’extension
    18. 3.18 La délégation
    19. 3.19 L’objet singleton
    20. 3.20 Les collections
      1. 3.20.1 Les tableaux
      2. 3.20.2 Les listes
      3. 3.20.3 Les collections de type Map
  4. 4. Les coroutines
    1. 4.1 Introduction
    2. 4.2 Fonctionnement des coroutines
      1. 4.2.1 L’installation
      2. 4.2.2 Les fonctions suspendues
      3. 4.2.3 La création d’une coroutine
      4. 4.2.4 Les répartiteurs
  5. 5. Tester son code
    1. 5.1 Introduction
      1. 5.1.1 Installation de Kotest avec Gradle
      2. 5.1.2 Installation de Kotest avec Maven
      3. 5.1.3 Configuration d’IntelliJ
    2. 5.2 Écrire des tests avec Kotest
      1. 5.2.1 FunSpec
      2. 5.2.2 StringSpec
      3. 5.2.3 FreeSpec
      4. 5.2.4 AnnotationSpec
    3. 5.3 Utiliser la bibliothèque d’assertions
    4. 5.4 Simuler les comportements des objets
  6. 6. Conclusion
Développement d’API avec Ktor
  1. 1. Introduction
    1. 1.1 Qu’est-ce que Ktor ?
    2. 1.2 Comparaison avec le framework Spring
      1. 1.2.1 Le temps de démarrage
      2. 1.2.2 L’écosystème
      3. 1.2.3 La syntaxe
      4. 1.2.4 La performance
    3. 1.3 Créer une application serveur en utilisant Ktor
      1. 1.3.1 Choisir un moteur HTTP pour le serveur
      2. 1.3.2 Ajouter Ktor à un projet Gradle
      3. 1.3.3 Ajouter Ktor à un projet Maven
      4. 1.3.4 La fonction main de l’application
      5. 1.3.5 Le fichier de configuration
      6. 1.3.6 Les modules Ktor
    4. 1.4 Fonctionnement de Ktor
      1. 1.4.1 Architecture basée sur un système de plugins
      2. 1.4.2 Installation d’un plugin
  2. 2. Les bases de Ktor
    1. 2.1 Écrire une API REST
      1. 2.1.1 Définir l’API
      2. 2.1.2 Récupérer les variables d’un chemin de routage
      3. 2.1.3 Récupérer les paramètres de la requête
    2. 2.2 La sérialisation des objets
      1. 2.2.1 Ajouter le plugin Gradle/Maven de sérialisation
      2. 2.2.2 Désérialisation des messages des requêtes HTTP
      3. 2.2.3 Sérialisation des messages des réponses HTTP
    3. 2.3 Validation des contenus des requêtes
      1. 2.3.1 Installation du plugin de validation de requêtes
      2. 2.3.2 Configuration du plugin de validation de requêtes
    4. 2.4 Contrôler le code HTTP renvoyé lors d’une exception
    5. 2.5 Gérer les en-têtes HTTP
      1. 2.5.1 Récupérer les en-têtes HTTP d’une requête
      2. 2.5.2 Définir des en-têtes HTTP d’une réponse
    6. 2.6 Servir du contenu statique
      1. 2.6.1 Servir des fichiers depuis le système de fichiers
      2. 2.6.2 Servir des ressources depuis le classpath
      3. 2.6.3 Exclure des fichiers
    7. 2.7 Templates HTML
      1. 2.7.1 Générer le code HTML en Kotlin
      2. 2.7.2 Créer des composants réutilisables
      3. 2.7.3 Utiliser des balises HTML personnalisées
      4. 2.7.4 Gérer des templates complexes
    8. 2.8 Bien structurer son application
  3. 3. Sécuriser son API
    1. 3.1 Authentification basique
    2. 3.2 Utilisation d’un token JWT
    3. 3.3 Intégration avec LDAP
    4. 3.4 Authentification OAuth
    5. 3.5 Gestion des sessions et des cookies
      1. 3.5.1 Installation du plugin de gestion des sessions
      2. 3.5.2 Représentation des données d’une session
      3. 3.5.3 Passer la session dans un en-tête HTTP
      4. 3.5.4 Passer la session dans un cookie
      5. 3.5.5 Protéger les données de la session
  4. 4. Ktor : documenter son API
    1. 4.1 Documentation OpenAPI
    2. 4.2 Exposer l’interface OpenAPI
    3. 4.3 Exposer l’interface Swagger
  5. 5. Tester son API REST
    1. 5.1 Configuration de l’environnement de test
    2. 5.2 Écriture du test
  6. 6. Se connecter à une API REST avec le client HTTP
    1. 6.1 Installation et configuration
    2. 6.2 Configuration d’un plugin
    3. 6.3 Envoyer des requêtes HTTP
  7. 7. Utilisation des WebSockets
    1. 7.1 Configurer le plugin WebSockets
    2. 7.2 Définir un point d’accès WebSocket
    3. 7.3 Utiliser les WebSockets côté client
  8. 8. Monitoring d’une application Ktor
    1. 8.1 Logging
    2. 8.2 Intégration avec Micrometer
  9. 9. Déploiement de l’application
    1. 9.1 Déploiement sous forme d’un Fat-JAR
      1. 9.1.1 Génération du Fat-JAR avec Gradle
      2. 9.1.2 Génération du Fat-JAR avec Maven
    2. 9.2 Déploiement sous forme d’un dossier d’installation
    3. 9.3 Déploiement sous forme d’image Docker
      1. 9.3.1 Créer l’image Docker en utilisant le plugin Gradle de Ktor
      2. 9.3.2 Créer l’image Docker avec un DockerFile
  10. 10. Conclusion
Connexion aux bases de données avec Exposed
  1. 1. Introduction
  2. 2. Comparaison entre Exposed et Hibernate
    1. 2.1 Maintenabilité
    2. 2.2 Maturité
    3. 2.3 Performance
  3. 3. Installation et configuration
    1. 3.1 Ajout des dépendances
    2. 3.2 Configuration de la connexion
    3. 3.3 Gestion des transactions
  4. 4. Les bases du framework Exposed
    1. 4.1 Représentation des tables
      1. 4.1.1 Déclarer les tables
      2. 4.1.2 Ajouter des contraintes
      3. 4.1.3 Définir les index
      4. 4.1.4 Définir les relations
      5. 4.1.5 Initialiser le schéma
    2. 4.2 Utilisation de Flyway
      1. 4.2.1 Définir les migrations
      2. 4.2.2 Appliquer les migrations
    3. 4.3 Exécution des requêtes
      1. 4.3.1 Utiliser l’API DAO
      2. 4.3.2 Utiliser l’API DSL
  5. 5. Gérer les jointures
    1. 5.1 Gérer les jointures avec la syntaxe DSL
      1. 5.1.1 Les jointures internes
      2. 5.1.2 Les jointures à droite
      3. 5.1.3 Les jointures à gauche
      4. 5.1.4 Les jointures complètes
    2. 5.2 Gérer les jointures avec la syntaxe DAO
  6. 6. Utilisation des fonctions SQL
  7. 7. Tester les requêtes
  8. 8. Monitoring des requêtes
    1. 8.1 Activation des logs
    2. 8.2 Intégration avec Micrometer
  9. 9. Conclusion
Aller plus loin avec Kotlin Multiplatform
  1. 1. Introduction
  2. 2. Structuration de code
    1. 2.1 Le plugin Gradle
    2. 2.2 Structure du projet
    3. 2.3 Gestion des dépendances
    4. 2.4 Génération du binaire
    5. 2.5 Les avantages de la compilation Kotlin en native
  3. 3. Développement frontend avec Kotlin/JS
    1. 3.1 Création et configuration d’un projet Kotlin/JS
    2. 3.2 Ajouter des dépendances NPM
    3. 3.3 Ajouter des feuilles de style CSS
    4. 3.4 Utilisation du framework React
    5. 3.5 Appeler une API REST
    6. 3.6 Déploiement de l’application web
  4.  
  5.  
  6.  
  7.  
  8. Conclusion
  9. Index
Auteur : Ghassane LATFI

Ghassane LATFI

Diplômé de l’IMT Atlantique, Ghassane LATFI a débuté sa carrière comme développeur Java, avant d’évoluer vers des fonctions de lead technique et d’architecte logiciel. Tout au long de son parcours, il a travaillé avec différents langages de programmation et frameworks. Plus récemment, il s'est tourné vers le langage Kotlin, impressionné par ses capacités et son potentiel, ce qui l'a poussé à l'utiliser comme langage principal dans ses projets. Les avantages de Kotlin en termes de productivité et de qualité du code l’ont motivé à partager ses connaissances à travers ce livre.
En savoir plus

Nos nouveautés

voir plus