{"id":211815,"date":"2021-11-11T13:38:30","date_gmt":"2021-11-11T12:38:30","guid":{"rendered":"https:\/\/blog.jetbrains.com\/kotlin\/2021\/11\/kotlin-roadmap-autumn-2021\/"},"modified":"2021-12-13T10:25:40","modified_gmt":"2021-12-13T09:25:40","slug":"feuille-de-route-de-kotlin-pour-fin-2021","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/fr\/kotlin\/2021\/11\/feuille-de-route-de-kotlin-pour-fin-2021\/","title":{"rendered":"Sept points cl\u00e9s de la feuille de route de Kotlin pour fin 2021"},"content":{"rendered":"<p>Kotlin est con\u00e7u pour traduire des id\u00e9es en code. Nous essayons d&#8217;\u00e9liminer tous les obstacles qui se mettent sur la route de vos id\u00e9es et de rendre l&#8217;\u00e9criture et la lecture de Kotlin simples et agr\u00e9ables. Pour ce faire, nous avons besoin d&#8217;un syst\u00e8me d&#8217;ing\u00e9nierie tr\u00e8s complexe, qui comprend\u00a0: la syntaxe du langage, le frontend et backend du compilateur, l&#8217;IDE, les outils de build, les biblioth\u00e8ques et tous les autres outils. La maintenance et d\u00e9veloppement de tous ces composants mobilise 110\u00a0personnes. Tous travaillent de mani\u00e8re simultan\u00e9e sur les diff\u00e9rents projets et t\u00e2ches.<\/p>\n<p>Pour ne rien manquer de ces projets, vous pouvez consulter <a href=\"https:\/\/kotl.in\/h4nimn\" target=\"_blank\" rel=\"noopener\">la feuille de route publique de Kotlin<\/a>. Nous venons de la mettre \u00e0 jour pour y inclure nos projets pour Kotlin 1.7.0 et ses versions ult\u00e9rieures\u00a0! Si vous voulez juste consulter un aper\u00e7u rapide des projets sur lesquels nous travaillons sans rentrer dans les d\u00e9tails, lisez cet article de blog, qui pr\u00e9sente sept points cl\u00e9s de notre feuille de route.<\/p>\n<p>Et pour ceux qui ne veulent pas lire, nous avons pr\u00e9par\u00e9 une vid\u00e9o sur ces points cl\u00e9s !<\/p>\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\">\n<div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\" title=\"Kotlin Roadmap Highlights November 2021\" src=\"https:\/\/www.youtube.com\/embed\/zcpUt5q8ihw?feature=oembed\" width=\"500\" height=\"281\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/div>\n<\/figure>\n<h2>1. Le frontend du compilateur K2 va passer en phase Alpha<\/h2>\n<p>Le compilateur est le c\u0153ur de Kotlin. Il s&#8217;agit du moteur du langage, qui r\u00e9git tous les aspects de la cr\u00e9ation d&#8217;une application, notamment la r\u00e9activit\u00e9 de l&#8217;IDE, la vitesse de build, la taille des binaires et l&#8217;efficacit\u00e9. C&#8217;est pourquoi nous investissons activement dans le compilateur Kotlin, notamment en d\u00e9veloppant le <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/10\/the-road-to-the-k2-compiler\/\">nouveau compilateur K2<\/a>.<\/p>\n<p>Notre \u00e9quipe travaille actuellement \u00e0 faire passer le frontend du compilateur K2 au stade <a href=\"https:\/\/kotlinlang.org\/docs\/components-stability.html#stability-levels-explained\" target=\"_blank\" rel=\"noopener\">Alpha<\/a>. Le frontend est la partie du compilateur qui est responsable de l&#8217;analyse du code et de sa transformation en une repr\u00e9sentation interm\u00e9diaire, qui est ensuite trait\u00e9e par les backends. Le nouveau compilateur montre d\u00e9j\u00e0 d&#8217;excellents r\u00e9sultats\u00a0! Il est capable de compiler d&#8217;\u00e9normes projets de production JVM, tels que Kotlin lui-m\u00eame et IntelliJ IDEA. Pour ces projets, la vitesse de compilation est en moyenne deux fois plus rapide.<\/p>\n<p>Nous allons continuer \u00e0 le stabiliser en compilant plus de projets et en r\u00e9solvant les bugs et probl\u00e8mes de performance. L&#8217;objectif est de publier la version public preview du compilateur K2\/JVM d&#8217;ici le printemps 2022. La version Alpha offrira un aper\u00e7u de l&#8217;infrastructure du nouveau plugin, qui permettra \u00e0 la communaut\u00e9 de construire plus d&#8217;outils.<\/p>\n<p>Nous investissons \u00e9galement dans la prise en charge des backends non-JVM, ce qui permettra de concevoir des projets multiplateforme dans le compilateur K2.<\/p>\n<p>Consultez les tickets de la feuille de route\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-46756\" target=\"_blank\" rel=\"noopener\">Lancer le compilateur K2\/JVM en Alpha<\/a><\/li>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-49508\" target=\"_blank\" rel=\"noopener\">Stabiliser l&#8217;API du plugin du compilateur<\/a><\/li>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-49510\" target=\"_blank\" rel=\"noopener\">Examiner le backend JS pour le compilateur K2<\/a><\/li>\n<\/ul>\n<h2>2. Focus sur la stabilit\u00e9 et la robustesse pour KMM<\/h2>\n<p><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/10\/kmm-beta-roadmap-video-highlights\/\">KMM passera en B\u00eata au printemps 2022<\/a> ! Nous nous concentrons donc maintenant sur la d\u00e9tection et la correction du plus grand nombre possible de probl\u00e8mes affectant les workflows des utilisateurs. Cela inclut la mise en \u00e9vidence du code, la navigation, la saisie semi-automatique, le d\u00e9bogage et la stabilit\u00e9 des outils de build.<\/p>\n<p>Nous continuons \u00e9galement d&#8217;am\u00e9liorer l&#8217;exp\u00e9rience pour le d\u00e9veloppement multiplateforme. Nous venons de lancer un <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/08\/try-the-new-kotlin-native-memory-manager-development-preview\/\">gestionnaire de m\u00e9moire Kotlin\/Native<\/a> exp\u00e9rimental. Il att\u00e9nue les diff\u00e9rences entre la JVM et les plateformes natives et vous permet d&#8217;\u00e9crire plus facilement du code partag\u00e9 et concomitant pour les plateformes iOS et Android. Nous pr\u00e9voyons aussi d&#8217;am\u00e9liorer la stabilit\u00e9 et les performances afin de faciliter la future migration vers le nouveau gestionnaire de m\u00e9moire.<\/p>\n<p>Consultez les tickets de la feuille de route\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-49525\" target=\"_blank\" rel=\"noopener\">Am\u00e9liorer la stabilit\u00e9 et la robustesse de la cha\u00eene d&#8217;outils multiplateforme<\/a><\/li>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-49520\" target=\"_blank\" rel=\"noopener\">Passer le nouveau gestionnaire de m\u00e9moire en phase Alpha<\/a><\/li>\n<\/ul>\n<p><em>Kotlin \u00e9volue vite ! <\/em><a href=\"https:\/\/kotl.in\/h4nimn\" target=\"_blank\" rel=\"noopener\"><strong><em>Consultez notre feuille de route publique<\/em><\/strong><\/a><em> pour avoir une vue compl\u00e8te de toutes les fonctionnalit\u00e9s sur lesquelles nous travaillons en ce moment !<\/em><\/p>\n<h2>3. Recherche d&#8217;espaces de nom et prototypage<\/h2>\n<p>Avec Kotlin, on ne peut avoir une extension de classe que si la classe correspondante d\u00e9clare un objet compagnon. Cela entra\u00eene des cons\u00e9quences ind\u00e9sirables, comme l&#8217;impossibilit\u00e9 d&#8217;\u00e9tendre de nombreuses classes de biblioth\u00e8ques tierces et un manque d&#8217;efficacit\u00e9 lors de la d\u00e9claration des membres statiques priv\u00e9s des classes.<\/p>\n<p>Nous pr\u00e9voyons de r\u00e9aliser le prototype d&#8217;une solution bas\u00e9e sur l&#8217;introduction du nouveau concept d&#8217;espace de nom\u00a0: une sorte d&#8217;objet \u00e9ph\u00e9m\u00e8re sans instance que chaque classe poss\u00e8de automatiquement. Les membres d&#8217;espaces de noms sont naturellement compil\u00e9s en tant que membres statiques sur la JVM. Cela permet de garder les assistants statiques regroup\u00e9s dans la source et de supprimer toute la surcharge de l&#8217;objet. L&#8217;objectif est d&#8217;am\u00e9liorer l&#8217;interop\u00e9rabilit\u00e9 de Kotlin avec les m\u00e9thodes statiques de Java et de permettre des extensions sur tous les types Java. Ces \u00e9volutions devraient favoriser l&#8217;adoption de Kotlin\/JVM.<\/p>\n<p>Consultez les tickets de la feuille de route\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-11968?_gl=1*13zrdzm*_ga*ODQyNTk4NDYzLjE2MTIzNzY3ODE.*_ga_J6T75801PF*MTYzNjM1OTAzNC4yOTguMS4xNjM2MzU5MTI5LjA.&amp;_ga=2.124001795.881152214.1636359035-842598463.1612376781\" target=\"_blank\" rel=\"noopener\">Rechercher et prototyper une solution bas\u00e9e sur les espaces de noms pour les \u00e9l\u00e9ments et les extensions statiques<\/a><\/li>\n<\/ul>\n<h2>4. Kover, un outil de couverture de test pour Kotlin<\/h2>\n<p>Nous pensons qu&#8217;il est essentiel pour la croissance de notre \u00e9cosyst\u00e8me de disposer d&#8217;une solution robuste et sp\u00e9cifique \u00e0 Kotlin qui permette de collecter la couverture de test des applications et des biblioth\u00e8ques Kotlin. C&#8217;est pourquoi nous avons lanc\u00e9 <a href=\"https:\/\/www.youtube.com\/watch?v=jNu5LY9HIbw\" target=\"_blank\" rel=\"noopener\">Kover<\/a>, un plugin Gradle qui mesure la couverture de code pour le code Kotlin et fonctionne avec toutes les constructions du langage, y compris les fonctions inline.<\/p>\n<p>Parmi nos projets \u00e0 long terme figurent le DSL pour les r\u00e8gles de v\u00e9rification, la stabilisation de l&#8217;utilisation de JaCoCo, le filtrage avanc\u00e9 et la prise en charge avanc\u00e9e d&#8217;Android. Nous pr\u00e9voyons de d\u00e9velopper Kover en fonction de vos retours, alors essayez-le et faites-nous part de vos commentaires\u00a0!<\/p>\n<p>Consultez les tickets de la feuille de route\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-49527\" target=\"_blank\" rel=\"noopener\">Lancer kotlinx-kover et le d\u00e9velopper davantage<\/a><\/li>\n<\/ul>\n<h2>5. Dokka, un outil repens\u00e9 pour g\u00e9n\u00e9rer de la documentation de biblioth\u00e8que<\/h2>\n<p>Nous travaillons \u00e9galement sur Dokka, un outil de g\u00e9n\u00e9ration de documentation destin\u00e9 aux d\u00e9veloppeurs de biblioth\u00e8ques. Nous le faisons passer en B\u00eata avec la version 1.6.0, avec un focus sur l&#8217;ergonomie et sur l&#8217;unification du design avec la documentation officielle de Kotlin. Nous voulons que les d\u00e9veloppeurs b\u00e9n\u00e9ficient d&#8217;une exp\u00e9rience fluide et agr\u00e9ables lorsqu&#8217;ils travaillent avec la documentation Kotlin, qu&#8217;il s&#8217;agisse de la r\u00e9f\u00e9rence officielle du langage ou de documentation de biblioth\u00e8que. L&#8217;utilisation d&#8217;un style visuel et d&#8217;une structure uniformes permet d&#8217;att\u00e9nuer les cons\u00e9quences des changements de contexte.<\/p>\n<p>La prochaine \u00e9tape est de faire passer Dokka en version stable avec un seul format de sortie\u00a0: HTML. Les autres formats de sortie tels que GitHub Markdown ou Jekyll, l&#8217;API pour les d\u00e9veloppeurs de plugins et la prise en charge int\u00e9grale de Java resteront en Alpha. Pour les faire \u00e9voluer nous r\u00e9aliserons une s\u00e9rie d&#8217;entretiens et prendrons en compte vos commentaires !<\/p>\n<p>Consultez les tickets de la feuille de route\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-48998\" target=\"_blank\" rel=\"noopener\">Faire passer Dokka en version stable<\/a><\/li>\n<\/ul>\n<p><em>Conseil\u00a0: vous voulez participer aux \u00e9tudes sur l&#8217;exp\u00e9rience utilisateur\u00a0? <\/em><a href=\"https:\/\/surveys.jetbrains.com\/s3\/kotlin-panel\" target=\"_blank\" rel=\"noopener\"><em>Inscrivez-vous <\/em><\/a><em>!<\/em><\/p>\n<h2>6. Am\u00e9liorer l&#8217;adoption du plugin d&#8217;IDE Kotlin<\/h2>\n<p>La migration du plugin d&#8217;IDE Kotlin vers l&#8217;infrastructure de d\u00e9veloppement de la plateforme IntelliJ a \u00e9t\u00e9 une t\u00e2che d&#8217;ing\u00e9nierie complexe qui nous a permis de prendre en charge la nouvelle fonctionnalit\u00e9 de l&#8217;outil en m\u00eame temps que la plateforme IntelliJ. Elle pr\u00e9sente cependant quelques inconv\u00e9nients. Par exemple, si vous participez au programme d&#8217;acc\u00e8s anticip\u00e9 (EAP), vous avez peut-\u00eatre remarqu\u00e9 que les versions EAP d&#8217;IntelliJ IDEA ne prennent pas en charge les versions pr\u00e9liminaires des prochaines versions de Kotlin. Nous pr\u00e9voyons de r\u00e9gler ceci et d&#8217;autres probl\u00e8mes avec l&#8217;adoption de la version du plugin Kotlin IDE en am\u00e9liorant notre infrastructure interne.<\/p>\n<p>Consultez les tickets de la feuille de route\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KTIJ-20044\" target=\"_blank\" rel=\"noopener\">Acc\u00e9l\u00e9rer la mise \u00e0 jour des versions du compilateur et de la plateforme<\/a><\/li>\n<\/ul>\n<h2>7. Am\u00e9liorations de Playground<\/h2>\n<p>Avez-vous d\u00e9j\u00e0 voulu montrer \u00e0 des amis ou coll\u00e8gues une toute nouvelle fonctionnalit\u00e9 de Kotlin et r\u00e9alis\u00e9 que vous n&#8217;aviez pas votre PC portable\u00a0? Pour cette situation et beaucoup d&#8217;autres, comme apprendre le langage, r\u00e9aliser un prototype et partager des connaissances, nous avons <a href=\"https:\/\/play.kotlinlang.org\/\" target=\"_blank\" rel=\"noopener\">Kotlin Playground<\/a>. Kotlin Playground \u00e9tant devenu tr\u00e8s populaire, nous souhaitons vous offrir encore plus de possiblit\u00e9s !<\/p>\n<p>Pour les nouveaux utilisateurs, nous pr\u00e9voyons de simplifier l&#8217;exp\u00e9rience en proposant davantage d&#8217;exemples et d&#8217;astuces. Pour les utilisateurs exp\u00e9riment\u00e9s, nous voulons notamment permettre de synchroniser la progression entre diff\u00e9rents appareils, d&#8217;ouvrir plusieurs onglets et d&#8217;exporter des fichiers. Nous allons aussi rendre Kotlin Playground mobile friendly, afin de ne pas ruiner le moment si vous avez oubli\u00e9 votre PC portable\u00a0!<\/p>\n<p>Consultez les tickets de la feuille de route\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-49536\" target=\"_blank\" rel=\"noopener\">Am\u00e9liorer Kotlin Playground<\/a><\/li>\n<\/ul>\n<p>\u2014\u2014\u2013<\/p>\n<p>La communaut\u00e9 nous permet de faire \u00e9voluer Kotlin. Nous planifions ses am\u00e9liorations en fonction de vos retours et de vos id\u00e9es, alors n&#8217;h\u00e9sitez pas \u00e0 les partager avec nous via YouTrack, Slack ou nos autres canaux.\u00a0<\/p>\n<p>Nous continuerons \u00e0 vous informer de nos projets pour Kotlin sur notre <a href=\"https:\/\/blog.jetbrains.com\/kotlin\">blog<\/a> et notre <a href=\"https:\/\/youtube.com\/kotlin\" target=\"_blank\" rel=\"noopener\">cha\u00eene YouTube<\/a>, alors abonnez-vous aux deux pour ne rien manquer !<\/p>\n<h3>En savoir plus<\/h3>\n<ul>\n<li><a href=\"https:\/\/kotl.in\/h4nimn\" target=\"_blank\" rel=\"noopener\">La feuille de route de Kotlin<\/a><\/li>\n<li>Canal Slack <a class=\"ek-link\" href=\"https:\/\/kotlinlang.slack.com\/archives\/C01AAJSG3V4\" target=\"_blank\" rel=\"noopener\">#kotlin-roadmap<\/a> (<a href=\"https:\/\/surveys.jetbrains.com\/s3\/kotlin-slack-sign-up\" target=\"_blank\" rel=\"noopener\">recevoir une invitation<\/a>)<\/li>\n<li><a href=\"https:\/\/youtube.com\/kotlin\" target=\"_blank\" rel=\"noopener\">Cha\u00eene Kotlin sur YouTube<\/a><\/li>\n<\/ul>\n\n\n<p>Auteur <em>de l&#8217;article original en anglais : <\/em><\/p>\n\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":212511,"comment_status":"closed","ping_status":"closed","template":"","categories":[89],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/kotlin\/211815"}],"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=211815"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/kotlin\/211815\/revisions"}],"predecessor-version":[{"id":212536,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/kotlin\/211815\/revisions\/212536"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/212511"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=211815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=211815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=211815"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=211815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}