bonjour à tous je pense qu’on va pouvoir commencer donc bonjour mon nom et mon nom est donc rémy pradal je travaille comme consultant android chez octo technology depuis maintenant à peu près trois ans donc ça fait trois ans que je fais du développement sur android et ça fait environ un an et demi que je m’intéresse de près à ceux à ce très intéressant langage est très utile qui est qui cote ligne donc je pense que pendant ces deux jours vous avez vous allez avoir l’occasion d’entendre parler pas mal de copines qui avait il y avait notamment un workshop ce matin il ya encore une conférence une conférence demain donc vous allez pouvoir entendre parler de tous les bénéfices qu’il ya à développer en coaching sur vos applications android donc pour ceux pour ce top je vais essayer de faire les choses de façon un peu différente c’est à dire de vous montrer et bien que quelles peuvent être les différentes limites qu’il peut y avoir si vous voulez utiliser côte ligne sur votre sur votre projet donc ça ça à peu près ma réaction et je pense que c’est la réaction de beaucoup de monde lorsqu’on a lorsqu’on a entendu parler de coaching pour la première fois qu’on a été on a été assez impressionné par par le la concision de ce langage la facilité avec laquelle on va pouvoir on va pouvoir effectuer des développements de nouvelles applications donc on peut en effet développer de nouvelles applications très rapidement de façon très simple c’est donc extrêmement extrêmement pratique est très intéressant très intéressant pour nous voilà j’ai commencé donc à développer des petites applications sur des sur des projets personnels ensuite j’ai fait des petits des petits poc lors de deux journées de r&d donc petit à petit eh bien j’ai commencé à utiliser ce langage de façon de plus en plus professionnels et ensuite en tant qu’ en tant que consultant eh bien je me suis posé la question de comment à ce que j’allais pouvoir utiliser ce nouveau langage et bien finalement dans mes missions de tous les jours dans les applications sur lesquelles sur lesquels je travaille du coup il ya un certain nombre d’ un certain nombre d’interrogations qui me sont qui me sont venus à l’esprit avant de pouvoir recommander ce langage là mes clients et à pouvoir effectivement l’utiliser dans des applications sur lesquelles sur lesquels on travaille tous les jours qu’ils sont généralement des applications avec un grand nombre d’utilisateurs et où donc il faut un langage qui soit assez mature donc notamment le premier point la première interrogation que je me suis posée c’était qu’elle était la maturité de ce langage parce que en effet on voit régulièrement apparaître des nouveaux langages des nouveaux langages donc sur la plateforme android c’est assez peu courant mais ça peut arriver il ya eu notamment à un moment on n’entendait pas mal parlé de ce cas là donc la première question c’était là la question de la maturité ce qu’on a un langage qui va être assez mature qui va voir finalement les épaules assez larges pour pouvoir pour pouvoir faire un remplaçant crédible à ou langage à la la deuxième la deuxième interrogation c’était parce que je vais pouvoir utiliser coquine sur un projet les gars si effectivement la plupart du temps quand on travaille sur des sur des projets avec un grand nombre d’utilisateurs et bien c’est assez rare de partir de partir de zéro en effet la plupart du temps et ben il va falloir qu’on fasse avec une base une base importante de code est donc une question qui était particulièrement importante c’était est ce qu’il a ce qu’il allait être possible d’utiliser ce langage au sein d’une application qui a déjà une base de code assez importante et enfin la troisième question que je me suis posée qui est finalement assez liée à celle qui est à celle d’avant donc au sujet de la reprise du code existant c’est est ce que il va être possible d’utiliser du coach line avec du le langage qu’on utilise actuellement sur un projet legacy donc ça va être typiquement du java et si oui et bien quelles vont être les bonnes pour les bonnes pratiques à adopter quand on va mélanger plusieurs langages et qu’elles vont être éventuellement les choses qu’il va falloir qu’il va falloir éviter donc pour parler de la maturité on va commencer par un premier point qui était assez important pour un langage et bien c’est la testabilité là je voulais faire très rapidement parce que c’est possible de réaliser des tests facilement et en coaching et bien la réponse est oui mais je veux quand même attirer votre attention sur un petit point qui peut être intéressant et qui pose problème sur la pour pas mal de personnes qui vont finalement utilisé côte ligne pour la première fois donc ça je vais partir de cette de cette citation qui étire est donc effective effectué java qui est un livre qui va qui cite un certain nombre de bonnes pratiques à adopter lorsqu’on lorsqu’on développe en java et qui est donc la suivante design document inheritance lawrence scrubs est qu’est ce qu’elle veut dire cette citation dans cette citation elle veut dire que quand on va concevoir quand on va design et nos objets et nancy ceux ci ne sont pas conçu à la base pour pouvoir être être véritable et bien dans ce cas il ne faudrait pas que qu’ils le soient ok pourquoi est ce que je vois je vous raconte ça eh bien c’est parce que comme vous le savez peut-être en clean et bien en coaching on a une stratégie de finale by default en java lorsque vous créez un

nouvel objet et bien si vous me précis vous ne précisez pas qu’il est fine hall vous allez pouvoir créer une classe une classe fi de cet objet ça va se passer de façon de façon extrêmement simple et bien en coqueline c’est finalement l’un vers ce qui est fait si vous ne précisez rien lorsque vous allez créer votre objet coaching et bien par défaut cet objet va être fine sommes donc à moins que vous précisiez avec un mot clé donc qui va être cette fois-ci open en côte line et bien il ne va pas être possible de d’avoir une classe une classique asfi pour votre votre objet peut-être que pour l’instant vous ne voyez pas encore et bien finalement qu’est ce que ça a à voir avec la testabilité il faut savoir que pour la plupart des défraiements de moc et notamment walkie-talkie un des framework et les plus utilisés et bien si vous avez une classe qui n’est pas irritable donc et fayolle qui n’a pas le mot clé open en côte line et ben il va être impossible finalement de réaliser un mac pour pour cette classe là donc ça peut poser un poser problème quand on entend finalement on arrive sur collines et qu’on a envie de voir comment est ce qu’on va pouvoir l’utiliser donc pour ça je vous proposais trois petites solutions qui vont nous permettre de résoudre de contourner ce problème donc la première c’est la solution la plus simple et bien ok c’est facile j’ai une classe j’ai envie de la moquée je suis en côte line et ben qu’est ce que je vais faire je mets le jeu mais le mot-clé open et dans ce cas tout va pouvoir se passait très bien puisque je pouvoir créer le moc de ma classe tout va bien alors pourquoi est-ce que ça pose problème eh bien ça pose problème parce que vous allez modifier finalement le code de votre de votre application le code de production avec un mot clé pour pour finalement pouvoir le réaliser des tests vous modifiez du code de production juste pour des tests et ça c’est pas une bonne pratique et c’est pas une bonne pratique notamment parce que quand il va voir quelqu’un qui va arriver plus tard sur votre sur le projet et bien il ne va pas forcément comprendre pourquoi cette classe et open il va pouvoir penser que lé open mais finalement que c’est c’est quelque chose qui est voulu c’est à dire que elle elle est faite pour pouvoir être hérité alors qu’en fait vous l’avez juste me open parce que vous avez besoin de la tester donc ce n’est pas une bonne pratique là ça peut être une solution qui est assez simple pour contourner le problème mais ça va cela posé le ca a posé des problèmes ensuite pour la maintenance de votre de votre projet alors ensuite une deuxième possibilité donc qui est présente depuis la version 1.0 6 de coaching ben c’est la possibilité de cette fois-ci aller encore plus loin c’est à dire que vous allez pouvoir rendre finalement un certain nombre tout une grande plage d’objets open d’un seul coup sans avoir à préciser pour chacun des objets qui sont open donc comment ça se passe et bien c’est simple vous avez un vous avez un plugin gradel que vous allez emporté dans votre dans votre projet et vous allez spécifié le packaging d’une annotation sur laquelle tous les objets qui vont être à noter avec cette annotation et ben vont être votre votre open donc ça peut être particulièrement utile notamment si vous utilisez et vendent et si vous utilisez des des grosses librairies du type jackson calme où vous avez finalement tous vos objets qui vont être qu’ils vont être annotés et vous avez envie d’un seul coup d’avoir tous ces objets avec cette annotation qui vont être open parce que vous avez envie de vouloir réaliser des tests c’est notamment utile voilà tout c’est ce que je disais pour des dépôts quo donc plein olcott line object en référence à poggio et quand vous utilisez donc ce type ce type d’objet et que vous avez envie de les rendre tous open d’un seul coup alors là deux petits inconvénients donc le premier inconvénient eh ben ça va être le même que le point que le point numéro un c’est que vous allez avoir des caractéristiques pour vos objets qui vont être qu’ils vont être présente dans du code de production alors qu’en fait c’est juste à des fins de test et la deuxième possibilité est bien c’est que pour l’instant il n’est pas possible de de faire ce open ce d’ouvrir tous les objets en ciblant un package en particulier pour l’instant c’est juste possible en ciblant une une annotation voilà la deuxième deuxième possibilité qui peut être utile dans certains cas et ensuite maintenant on va passer à la troisième donc à mon sens la plus pertinente et qui est probablement celle qui a été voulu parler par les concepteurs du coaching qui est d’utiliser des interfaces alors utiliser des interfaces finalement ça va être assez simple c’est à dire que vous allez avoir deux objets qui vont interagir et bien plutôt que de que de composer l’objet a avec l’implémentation l’objet dé et bien vous allez les découper par des interfaces systématiquement c’est à dire que dès que vous allez avoir deux objets qui interagissent et bien vous allez systématiquement définir une interface pour les faire communiquer entre eux pourquoi ça va être intéressant et bien parce qu’une interface vous allez pouvoir évidemment créer un créer un mode de façon de façon très simple c’est également très intéressant parce que ça va ça va finalement coller avec le principe d’inversion de dépendances donc le fameux des deux solides qui stipule qu’ il est toujours il toujours important lorsqu’on a affaire là composition et bien d’inverser les dépendances c’est à dire de définir une interface pour réaliser la communication entre nous deux objets donc si on fait si on fait les choses de cette façon là

eh bien on va finalement ç’a finalement nous nous mener à définir un certain une interface en fait à chaque fois qu’on va voir deux objets qui vont interagir on va définir une interface est donc ça nous amène à un petit inconvénient qui est qu’on peut très rapidement se retrouver avec un grand nombre d’interfaces ce qui peut être un petit peu pénible non moi j’ai envie de mitiger un petit peu ce point là parce que je pense que vous le savez vous le savez peut-être pourquoi clean il est possible de définir différents différents objets dont par exemple une implémentation et une interface au sein d’un même au sein d’un même fichier ça va être comme en java ou si vous avez à définir une implémentation et une interface vous devez écrire deux fichiers en coaching vous allez pouvoir les mettre au même endroit donc finalement ce ce dédoublement ne va pas être aussi problématique que ça en a l’air au premier premier regard donc finalement ce que ça montre là c’est que et ben en fait quand on va quand on va quand on va faire du coaching une chose qui est important c’est bien ce qu’il va falloir finalement embrasser les caractéristiques du langage et ne pas simplement essayé de faire de calquer notre façon de penser sur du java quand il ya ces deux langages qui ont des spécificités un petit peu un petit peu particulière et donc c’est important de s’adapter et de et voilà deux d’aller dans le sens de la volonté des concepteurs du langage parce que généralement il ya des bonnes raisons qui sont derrière même si ça peut apparaître un petit peu casse pieds au premier abord alors le deuxième point qui est particulièrement important quand on quand on réalise des projets de qualité de qualité professionnelle et notamment qui vont se dérouler sur sur le long terme eh bien ça va être les outils de mesure de la qualité du code donc pour ça sur la plateforme android eh ben on est extrêmement bien pourvues puisqu’on a un certain nombre d’outils qui vont nous permettre de réaliser la mesure de la qualité du code ça c’est notamment parce que bon on ne va et on va hériter de beaucoup d’outils beaucoup d’outils issues de l’écosystème l’écosystème java voilà je pense que vous connaissez la plupart si ce n’est tous tous les tous les outils qui sont qui sont cités ici et donc j’ai commencé notamment par le premier donc le premier céline tu donc ligne il faut savoir que si vous l’utilisez dans un projet qui écrit donc uniquement côte chine et dans le line va marcher le problème c’est que vous allez pas vous n’allez pas bien et pouvoir bénéficier des warnings et des erreurs qui sont relatives au code coaching donc en fait vous allez vous retrouver uniquement avec les warnings et les erreurs qui sont relatives à votre à votre xml ou aux propriétés finalement qui ne sont pas liées au code au coup de coaching donc là on perd quand même un grand intérêt d’utiliser linz hurle sur les projets le deuxième c’est checkstyle checkstyle c15 outil qui va qui va se baser qui à se baser sur le sur le code java et non pas sur le bytecode donc ça va être quelque chose qui ne va pas pouvoir être utilisé sur un sur un projet coqueline donc chaque style eh bien il faut oublier alors ensuite pmd et fine bugs pnd fine bugs c’est des outils qui vont analyser le bytecode de votre projet donc au clean si vous savez pas et bien c’est un langage dont il est basé sur la jvm dont qui finalement va produire du bytecode en fait c’est extrêmement simple si vous si vous avez un projet en coaching et main fine bugs et pmd il va être capable d’analyser votre votre bail code exactement de la même façon qu’il le ferait avec un mot avec un projet java entre guillemets classique donc ces deux outils là vont fonctionner très bien ensuite jacques coco c’est un outil qu’on aime beaucoup utilisé pour mesurer la couverture du code de le projet est donc c’est un outil qui va cette fois ci lui fonctionnait fonctionne particulièrement bien puisqu’il va tout simplement exécuter les tests il va fournir un rapport de la même façon qu’il le ferait avec un projet java classique donc vous allez pouvoir bénéficier d’exactement les mêmes analyses avec jacko et ensuite le dernier outil donc ses sonars cube qui est particulièrement appréciée pour mesurer la qualité sur sur le long terme est bien le problème avec sonar c’est que donc il n’existe pas encore actuellement de plugins de plugins permettant de gérer le coach chine donc vous allez finalement perdre une grande partie de l’intérêt d’utiliser d’utiliser sonar en côte ligne puisque vous n’avez pas avoir beaucoup d’informations qui vous remontez vous n’allez pas pouvoir agréger tous les tous les tous les rapports concernant votre votre code coaching voilà donc on voit là un des inconvénients des inconvénients principal je pense de coaching quand on veut l’utiliser dans une application professionnelle avec avec de fortes contraintes au niveau de la qualité c’est que ça va être assez compliqué pour l’instant d’utiliser d’utiliser les mêmes les mêmes outils de plomb point que l’on peut avoir en java il faut savoir quand même que c’est quelque chose qui évolue qui évolue qui évolue pas mal notamment il ya des ddd fort de lignes qui peuvent êtres qui peuvent être utilisées sur sur coqueline et voilà ça c’est petit à petit un certain nombre de règles qui sont qui sont implémentées donc on peut on peut imaginer que dans le futur ça s’améliore assez largement

on va pouvoir passer au point suivant qui est l’interopérabilité donc l’intérêt l’interopérabilité voilà ce qu’il faut dire en premier lieu et c’est je pense un désintérêt principal du langage est bien c’est qu’il ya une interopérabilité qui est quasiment parfaite entre java et coaching on va pouvoir utiliser du code du cot cot chine au sein de nos classes java et inversement donc de ce point de vue là c’est quand même c’est quand même très intéressant et on va pouvoir utiliser du coach line dans dans un projet legacy qui écrit en java actuellement tout simplement vous allez ajouter quelques lignes dans votre fichier gradel vous allez créer un nouveau fichier un nouveau fichier côte ligne et tout de suite vous pouvez commencer et vous allez pouvoir ensuite utiliser ce fichier côte line au sein de vos classes java existantes donc ça va marcher de façon assez simple néanmoins lorsqu’on va mélanger plusieurs plusieurs langages dans un même projet ça risque de poser un certain nombre de problèmes le problème le premier problème c’est qu’on utilise comme gelée par exemple mentionné dans la première partie sur la testabilité c’est que si on si on a plusieurs langages et ben on va avoir différents différents paradigmes pour ces langages différentes spécificités ça peut poser un problème pour une personne qui arrive sur le projet et bien s’il ya des classes en java des classes en côte ligne qui qui vont finalement être eh bien on va avoir un design un petit peu différent de parler les spécificités des deux c’est de ces langages et bien ça va être plus compliqué pour cette personne qui va arriver sur le sur le projet de comprendre donc le deuxième c’est que ça va complexifier l’arrivée sur un nouveau projet de par la complexité d’avoir un nouveau langage en général quand on arrive sur un sur un gros projet avec une base délégation importante et bien il faut il faut il faut pas mal de temps pour pouvoir ce pouvoir comprendre toutes les spécificités du projet et la façon dont ils et dont il est conçu si en plus on rajoute un nouveau langage avec des classes des classes coaching qui vont se mélanger avec du java et ben ça va complexifier encore plus le travail à faire pour les nouvelles personnes qui vont arriver sur le projet ça peut être problématique et enfin le troisième point c’est qu’on peut il peut y avoir du rajout de boy leur plaisent parce qu’on va faire interagir du javel et du coaching nous parce qu’il ya certaines spécificités du langage en côte line et bien qu’ils vont pas pouvoir être être calqué directement java donc il va parfois falloir falloir avoir recourir à certains artifices pour pouvoir faire fonctionner fonctionner ça de façon de façon claire et simple donc ce que je propose pour finalement mitigée au maximum c3 c3 inconvénients eh bien ça va être d’isoler au maximum le nouveau langage donc il va être ici coqueline dents de votre de votre projet legacy donc ça peut se faire de plusieurs façons une première c’est une première façon ça va être de 10 les parts par feature typiquement vous allez vous avez envie de tester coaching sur votre projet vous avez une nouvelle feature à développer et bien vous allez faire toute cette feature en coaching vous allez créer un nouveau module et vous allez isolé finalement créer une cohérence de de tout ce qui a été développé en colline vous allez vous retrouver avec un bloc cohérent sans avoir à vous demander en permanence à ce que je dois faire mon nouveau fichier en java où je veux le faire en coaching ça va être finalement guidé par pas recette ce besoin là et cette cette feature la deuxième possibilité est bien c’est de le faire de façon horizontale cette fois ci met donc par exemple vous avez un projet en clean architecture et si vous savez pas ce que c’est que la cne architecture je vous invite à aller voir une conférence un peu plus tard dans la journée qui sera qui traitera de ce point là donc les architectures on aime bien on aime bien découpés au maximum les les rôles de nos de nos classes en fonction de ce qui va de ce qui va être ce qui va de ce qu’il va porter sur finalement l’application en elle-même ce qui va être sur les règles métier ce qu’on appelle le corps ou le domaine et ce qui va être tout ce qui est récupération de données aux repositories et bien on peut très bien imaginer de développer l’intégralité l’intégralité d’une couche par exemple le corps dans un langage dans copine parce qu’on a envie de bénéficier de des du caractère un peu plus fonctionnelle du coaching pour et ben voilà et bien à ce moment là vu qu’on a vu qu’on a notre notre corps qui est uniquement coqueline on a finalement une cohérence cette fois-ci de façon horizontale et haut niveau au niveau finalement du rôle de nos classes donc le passage de l’un à l’autre va être finalement assez naturel puisque on va savoir que l’on passe du du domaine de repositories au corps on a deux rôles différents on a deux langages différents ça ne pose pas de problème ensuite un dernier point donc je voudrais je voudrais évoquer c’est au niveau de la longévité du langage donc ça c’est quelque chose qui revient assez souvent lorsqu’on parle de coaching à nos clients c est ce que ça va être un langage qui va être pérenne donc vous le savez aussi probablement mes coaches chine

donc c’est un langage qui est développé et maintenue par jetbrains si on compare très souvent coqueline à swift parce qu’ils ont de nombreuses de nombreuses similitudes eh bien il faut néanmoins se souvenir que coqueline ce n’est pas le langage le langage officiel de google et qui dit qui dit langage non-officiel eh ben dis qu’on n’est pas garanti sur le long terme d’avoir l’ensemble des outils d’android qui m’ont qui vont fonctionner de façon de façon extrêmement simple avec hot line on peut très bien imaginer par exemple que dans trois quatre cinq ans le google décide de bain par exemple d’utiliser un autre langage un petit peu différent ou alors de développer des outils qu’il faudrait uniquement avec du code java et qui du coup laisserait la communauté coaching un petit peu de côté et ça c’est problématique parce que quand on développe des applications qui sont destinés à vivre sur sur sur plusieurs années mais ton cinq ans ou dix ans eh ben on a envie d’avoir un langage qui va être qu’ils avaient finalement soutenu par par par google et par le framework voilà je pense que c’est maintenant l’heure d’arrivée aux conclusions et de vous donner quelques quelques take aways de cette présentation donc le premier le premier conseil que je peux que je peux vous donner si vous voulez utiliser du coaching et ben ça va être de finalement embrasser les spécificités du langage c’est ce qu’on a vu dans la première partie avec la testabilité bien c’est un des premiers risques ça va être de vouloir utiliser uniquement certains sucre syntaxiques en fait non il faut quand on va quand un métier du coq line on peut pas le faire entre guillemets à moitié eh bien il va falloir vraiment repenser la façon dont on design et en architecture notre notre application ensuite souvenez vous que les outils de mesure de qualité ne sont pour l’instant pas encore aussi avancé que quand java ça peut être un problème pour sur certains projets un troisième point qui est important c’est d’essayer de garder une cohérence et de ne pas de mixer de façon entre guillemets sauvage du code java et du cot cot chine il faut qu’une nouvelle personne qui arrive sur le projet est bien puisse savoir quand il va créer un nouveau fichier si ça doit être du java ou du coaching finalement de façon assez naturelle et le dernier point se souvenir que vers finalement pour l’instant et on espère que ça change mais rien n’est fixé et ben coaching c’est pas le langage officiel c’est pas le langage officiel qui est soutenu par google sur la plateforme android donc ça peut poser problème sur certains clients pour certains clients qui bien qu’ils voudront finalement resté sur quelque chose de plus de plus solide avec une meilleure pérennité voilà c’est tout pour cette présentation donc voilà mes conseils c’est utiliser côte l’insee un langage qui est vraiment vraiment super intéressant qui peut nous apporter beaucoup tout en gardant en tête les différents points que j’ai évoqués je vous remercie pour votre attention ce qu’on a le temps pour des questions bonjour du coup moi j’ai une question par rapport à côte l’insee aujourd’hui face à face de ton expérience est ce que tu recommandes de partir sur 4 lignes sur un projet sur nouveaux projets ou pas alors pour un nouveau projet moi je recommanderais partir sur coquine effectivement parce que déjà il va y avoir un certain nombre d’aidés point négatif que j’ai évoqués dans cette dans cette présentation qui sont et bien comment est ce qu’on va faire interagir coqueline avec du code du code legacy déjà ça va finalement ça va a évacué un certain nombre des problèmes qui ont été cités là après tout va dépendre en fait de du destin que tu vas enfin du destin de l’application sur laquelle tu pars si tu pars sur quelque chose qui a pour vocation à être encore présent et a utilisé la même base de code pendant dix ans et bien à ce moment là ça va vraiment être ça vraiment être à toi de juger le pour et le contre mais ça peut être problématique après si tu pars sur une application où tu sais que toute façon donc probablement dans trois ans tu vas dans deux trois ans tu vas avoir envie de refaire une nouvelle et bien ce moment là c’est peut-être moins problématique est là ce moment là je recommanderais définitivement partie en coaching bonjour mais assez pour la présentation en fait j’ai déjà utilisé quand aline pour quelques projets par contre je trouvais que la phase de compilation est tellement lent donc est-ce que vous avez rencontré la rencontre la même problème à ce que vous avez une solution pour ça alors moi j’ai pas personnellement je n’ai pas rencontré de problèmes au niveau des temps de compilation il faut savoir que lorsque j’ai cité c’est uniquement les points potentiellement négatifs donc tous les tous les autres notamment au niveau de l’augmentation de la taille des de l’apeca ou des temps de compilation personnellement j’ai pas j’ai pas constaté de dégradation excessive sur un sur sur les projets sur lesquels je l’utilisé donc j’avoue personnellement moi j’ai pas j’ai pas rencontré ce problème à après ça peut dépendre effectivement des configurations de ton projet il faut voir après au cas par cas en fait quelle aberration d’un compte rien que ça va utiliser vous l’utilisez pas avoir de projet c’est un point 1-1 ou alors ça dépend des projets sur j’ai pas j’ai pas migrer en 1.1 sur sur tous

mes projets mais j’ai utilisé depuis enfin j’utilise depuis depuis la bêta de côtes line et depuis à peu près la version 1.05 1.06 je trouve que au niveau des performances de bild c’est tout à fait satisfaisant est vraiment plus aucun problème à ce niveau là ok mais là c’est beaucoup bonjour je voudrais savoir bien peu sur la même thématique pas par rapport au temps de compilation mais par rapport aux compatibilité qui peut y avoir avec des librairies un peu structurantes comme rx d’ailleurs tout ce qui est lié au datamining également qu’ils vont justement un peu fouillis dans le code est ce que le fait d’avoir catherine dans l’application peut pas créer des problèmes de compatibilité ou des bugs liés à ça alors effectivement c’était un point qui était assez important quand j’ai commencé collins était de voir si tout ce qui allait être finalement du code du code généré donc comme on peut le voir avec avec d’ailleurs ce que ça allait fonctionner et je n’ai pas rencontré de pas rencontré de soucis à ce niveau là après il faut savoir quand même qu’on a des annotations qui vont changer un petit peu quand on va utiliser dagger notamment du coup il ya certaines petites choses ou bien il va falloir se replonger un petit peu ma façon dont ça fonctionne mais il n’y a pas il n’y a pas d’incompatibilité forte entre entre c’est entre ces grosses librairies là et ecoclean après j’ai pas testé toutes les grosses librairies structurantes j’ai pas fais datamining par exemple parce qu’il ya d’autres outils qui sont très utiles en coaching et qui finalement va permettre de se passer de ça mais voilà typiquement dagger binger j’ai rencontré aucun problème utilisant en côte ligne oui bonjour merci pour la présentation j’avais vu coco tu lis nil offuscation c’était pas une c’est pas une bonne chose est ce qu’il ya eu des problèmes de ce côté là est-ce qu’on peut opus call code coaching ah oui oui après deux mandats de soucis ouais ouais ouais en fait en fait ça pas poser de problème parce que de toute façon un programme il va il a passé sur sur le code le code compilé donc donc ça va ça fonctionne exactement de la même façon que que n’importe quel code de jvm quoi fait sur maicon je remercie [Applaudissements]