{"id":404188,"date":"2023-11-08T18:19:03","date_gmt":"2023-11-08T17:19:03","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=404188"},"modified":"2023-11-09T11:23:12","modified_gmt":"2023-11-09T10:23:12","slug":"publication-de-kotlin-1-9-20","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/fr\/kotlin\/2023\/11\/publication-de-kotlin-1-9-20\/","title":{"rendered":"Publication de Kotlin 1.9.20"},"content":{"rendered":"<p>Kotlin 1.9.20 est disponible, le compilateur K2 pour toutes les cibles est en <strong>B\u00eata<\/strong> et <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2023\/11\/kotlin-multiplatform-stable\/\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/blog.jetbrains.com\/kotlin\/2023\/10\/kotlin-multiplatform-stable\/\" rel=\"noreferrer noopener\">Kotlin Multiplatform est <strong>Stable<\/strong><\/a>.<\/p>\n<p>Voici quelques-uns des points cl\u00e9s de cette version\u00a0:<\/p>\n<ul>\n<li>K2 est d\u00e9sormais en B\u00eata pour toutes les cibles<\/li>\n<li>Kotlin Multiplatform est stable<\/li>\n<li>Nouveau mod\u00e8le de hi\u00e9rarchie par d\u00e9faut pour configurer les projets multiplateformes<\/li>\n<li>Prise en charge compl\u00e8te du cache de configuration Gradle dans Kotlin Multiplatform<\/li>\n<li>Allocateur de m\u00e9moire personnalis\u00e9 activ\u00e9 par d\u00e9faut dans Kotlin\/Native<\/li>\n<li>Am\u00e9lioration des performances pour le ramasse-miettes dans Kotlin\/Native<\/li>\n<li>Nouvelle cible et cible renomm\u00e9e dans Kotlin\/Wasm, prise en charge de la derni\u00e8re version de Wasm GC<\/li>\n<li>Prise en charge de l&#8217;API WASI dans la biblioth\u00e8que standard pour Kotlin\/Wasm<\/li>\n<\/ul>\n<p>Pour la liste compl\u00e8te des mises \u00e0 jour de cette version, consultez la page <a href=\"http:\/\/kotlinlang.org\/docs\/whatsnew1920.html\" data-type=\"link\" data-id=\"http:\/\/kotlinlang.org\/docs\/whatsnew1920.html\" target=\"_blank\" rel=\"noopener\">Nouveaut\u00e9s de Kotlin 1.9.20<\/a> ou les <a href=\"https:\/\/github.com\/JetBrains\/kotlin\/releases\/tag\/v1.9.20\" target=\"_blank\" rel=\"noopener\">notes de publication sur GitHub<\/a>.<\/p>\n\n\n<!--more-->\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"What&#039;s new in Kotlin 1.9.20\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Ol_96CHKqg8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n<h2 class=\"wp-block-heading\">Le nouveau compilateur Kotlin K2 est en B\u00eata pour toutes les cibles<\/h2>\n<p>L&#8217;\u00e9quipe Kotlin de JetBrains poursuit son travail de stabilisation du compilateur K2, en vue d&#8217;apporter des am\u00e9liorations de performance significatives, d&#8217;acc\u00e9l\u00e9rer le d\u00e9veloppement de nouvelles fonctionnalit\u00e9s du langage, d&#8217;unifier toutes les plateformes prises en charge par Kotlin et de fournir une meilleure architecture pour les projets multiplateformes.<\/p>\n<p><strong>Avec la version 1.9.20, le nouveau compilateur K2 a atteint la phase B\u00eata pour toutes les plateformes : JVM, Native, JS et Wasm. Cela signifie qu&#8217;il est d\u00e9sormais possible d&#8217;essayer K2 dans tous les projets Kotlin.<\/strong><\/p>\n<p>L&#8217;\u00e9quipe Kotlin s&#8217;est assur\u00e9e de la qualit\u00e9 du nouveau compilateur en compilant avec succ\u00e8s des dizaines de projets utilisateurs et internes. De nombreux utilisateurs ont \u00e9galement \u00e9t\u00e9 impliqu\u00e9s dans le processus de stabilisation, en essayant le nouveau compilateur K2 dans leurs projets et en nous signalant les probl\u00e8mes rencontr\u00e9s.<\/p>\n<p><strong>La version 1.9.20 de Kotlin apporte \u00e9galement la prise en charge de K2 dans le plugin de compilateur kapt. <\/strong>D\u00e9sormais, tous les plugins essentiels du compilateur Kotlin prennent en charge K2. Cela inclut kapt, serialization, AtomicFU, Lombok, SAM with receiver, all-open, no-arg, jvm-abi-gen, Android Lint et le plugin de compilateur Jetpack Compose. Kotlin Symbol Processing (KSP) avec prise en charge de K2 sera publi\u00e9 moins d&#8217;une semaine apr\u00e8s Kotlin 1.9.20.<\/p>\n<p>Si vous utilisez d&#8217;autres plugins de compilateur, consultez leur documentation pour v\u00e9rifier s&#8217;ils sont compatibles avec K2.<\/p>\n<h3 class=\"wp-block-heading\">Prochaine \u00e9tape : Kotlin 2.0<\/h3>\n<p><strong>La prochaine mise \u00e0 jour majeure de Kotlin sera sa version 2.0.0, avec le nouveau compilateur K2 par d\u00e9faut et stable pour toutes les cibles.<\/strong><\/p>\n<p>Afin de r\u00e9soudre tous les probl\u00e8mes rencontr\u00e9s le plus rapidement possible, nous avons planifi\u00e9 une s\u00e9rie de petites mises \u00e0 jour fr\u00e9quentes de stabilisation pour Kotlin 2.0 : Beta1, Beta2, Beta3, RC1 et RC2.<\/p>\n<p>Lors de la publication de Kotlin 2.0.0-RC1, nous pr\u00e9voyons d&#8217;assurer la compatibilit\u00e9 binaire avec le code compil\u00e9 par d&#8217;autres versions des compilateurs Kotlin et d&#8217;\u00e9liminer l&#8217;empoisonnement des fichiers binaires compil\u00e9s avec K2. Cela vous permettra d&#8217;utiliser le nouveau compilateur K2 dans des environnements de production.<\/p>\n<h3 class=\"wp-block-heading\">Participez : contribuez \u00e0 Kotlin 2.0 et essayez le compilateur K2 d\u00e8s maintenant<\/h3>\n<p>Le compilateur K2 est en voie de stabilisation et sera activ\u00e9 par d\u00e9faut dans Kotlin 2.0, il est donc crucial qu&#8217;autant de d\u00e9veloppeurs que possible l&#8217;essayent et nous fassent part de tout probl\u00e8me rencontr\u00e9.<\/p>\n<p>Vos retours nous permettront de traiter ces probl\u00e8mes au plus vite et de nous assurer que K2 fonctionne parfaitement, y compris dans les sc\u00e9narios les plus complexes. Une seule compilation de votre projet avec K2 peut \u00eatre une contribution significative dans notre parcours vers Kotlin 2.0. Essayez K2 d\u00e8s aujourd&#8217;hui\u00a0!<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"Essayer le compilateur K2\" href=\"https:\/\/kotlinlang.org\/docs\/whatsnew1920.html#how-to-enable-the-kotlin-k2-compiler?utm_source=kotlinblog&amp;utm_medium=button&amp;utm_campaign=release\" target=\"_blank\" rel=\"noopener\">Essayer le compilateur K2<\/a><\/p>\n<h2 class=\"wp-block-heading\">Comment installer Kotlin 1.9.20<\/h2>\n<p>Si vous utilisez d\u00e9j\u00e0 <a href=\"https:\/\/www.jetbrains.com\/idea\/download\/\" target=\"_blank\" rel=\"noopener\">IntelliJ IDEA<\/a> 2023.1 ou 2023.2, l&#8217;IDE vous sugg\u00e9rera de faire la mise \u00e0 jour vers la version 1.9.20 de Kotlin automatiquement. Vous pouvez \u00e9galement faire la mise \u00e0 jour manuellement en suivant <a href=\"https:\/\/kotlinlang.org\/docs\/releases.html#update-to-a-new-release\" target=\"_blank\" rel=\"noopener\">ces instructions<\/a>. IntelliJ IDEA 2023.3 inclura le plugin Kotlin 1.9.20.<\/p>\n<p>Pour Android Studio Flamingo (231) et Iguana (232), le plugin Kotlin 1.9.20 sera inclus dans les prochaines mises \u00e0 jour d&#8217;Android Studio. Si vous avez besoin du compilateur en ligne de commande, t\u00e9l\u00e9chargez-le sur la <a href=\"https:\/\/github.com\/JetBrains\/kotlin\/releases\/tag\/v1.9.20\" target=\"_blank\" rel=\"noopener\">page Github de la nouvelle version<\/a> de Kotlin.<\/p>\n<h3 class=\"wp-block-heading\">En cas de probl\u00e8me<\/h3>\n<ul>\n<li>Trouvez de l&#8217;aide sur <a href=\"http:\/\/kotlinlang.slack.com\/\" target=\"_blank\" rel=\"noopener\">Slack<\/a> (<a href=\"https:\/\/surveys.jetbrains.com\/s3\/kotlin-slack-sign-up\" target=\"_blank\" rel=\"noopener\">recevoir une invitation<\/a>).<\/li>\n<\/ul>\n<ul>\n<li>Signalez les probl\u00e8mes dans notre outil de suivi <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT\" target=\"_blank\" rel=\"noopener\">YouTrack<\/a>.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">Un grand merci \u00e0 nos EAP Champions &#x1f947;&#x1f44f;<\/h2>\n<ul>\n<li><a href=\"https:\/\/twitter.com\/ZacSweers\" target=\"_blank\" rel=\"noopener\">Zac Sweers<\/a><\/li>\n<li><a href=\"https:\/\/twitter.com\/noraltavir\" target=\"_blank\" rel=\"noopener\">Alexander Nozik<\/a><\/li>\n<li><a href=\"https:\/\/twitter.com\/why_oleg\" target=\"_blank\" rel=\"noopener\">Oleg Yukhnevich<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/joshfriend\" target=\"_blank\" rel=\"noopener\">Josh Friend<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/lwasyl\" target=\"_blank\" rel=\"noopener\">\u0141ukasz Wasylkowski<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/SimonMarquis\" target=\"_blank\" rel=\"noopener\">Simon Marquis<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/BoD\" target=\"_blank\" rel=\"noopener\">Benoit \u2018BoD\u2019 Lubek<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/ychescale9\" target=\"_blank\" rel=\"noopener\">Yang<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/jvmusin\" target=\"_blank\" rel=\"noopener\">Rustam Musin<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/russhwolf\" target=\"_blank\" rel=\"noopener\">Russell Wolf<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/JakeWharton\" target=\"_blank\" rel=\"noopener\">Jake Wharton<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/rickclephas\" target=\"_blank\" rel=\"noopener\">Rick Clephas<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/amal\" target=\"_blank\" rel=\"noopener\">Artyom Shendrik<\/a><\/li>\n<li><a href=\"https:\/\/www.linkedin.com\/in\/johannessvensson\/\" target=\"_blank\" rel=\"noopener\">Johannes Svensson<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/fluxxion82\" target=\"_blank\" rel=\"noopener\">Sterling Albury<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/HagamosVideojuegos\" target=\"_blank\" rel=\"noopener\">David Lopez<\/a><\/li>\n<\/ul>\n<div style=\"background-color: #f1f6fe;margin-bottom: 2px;padding: 5px;margin-right: 0%;text-align: left;min-height: px\">\n<p>Tenez-vous au courant des derni\u00e8res fonctionnalit\u00e9s de Kotlin ! Abonnez-vous en remplissant le formulaire en bas de cet article pour recevoir les actualit\u00e9s relatives \u00e0 Kotlin. &#x2b07;&#xfe0f;<\/p>\n<\/div>\n<h2 class=\"wp-block-heading\">Autres lectures et vid\u00e9os<\/h2>\n<ul>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew1920.html\" target=\"_blank\" rel=\"noopener\">Documentation sur les nouveaut\u00e9s de Kotlin 1.9.20<\/a><\/li>\n<li><a href=\"https:\/\/youtu.be\/Ol_96CHKqg8\" target=\"_blank\" rel=\"noopener\">Nouveaut\u00e9s de Kotlin 1.9.20 sur YouTube<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2023\/02\/k2-kotlin-2-0\/\">Le compilateur K2 sera stable dans Kotlin 2.0<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2023\/11\/kotlin-multiplatform-stable\/\">Kotlin Multiplatform est stable et pr\u00eat \u00e0 \u00eatre utilis\u00e9 en production<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/11\/eap-champions\/\">Kotlin EAP Champions<\/a><\/li>\n<\/ul>\n<p><em>Auteur de l&#8217;article original en anglais<\/em> :<\/p>\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/?s=200&#038;r=g\" width=\"200\" height=\"200\" alt=\"\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":813,"featured_media":402128,"comment_status":"closed","ping_status":"closed","template":"","categories":[907],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/kotlin\/404188"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/813"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=404188"}],"version-history":[{"count":11,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/kotlin\/404188\/revisions"}],"predecessor-version":[{"id":405158,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/kotlin\/404188\/revisions\/405158"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/402128"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=404188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=404188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=404188"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=404188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}