 vous je vous connaissais, je sais pas du coup pour le chat, et Crois-Rcus, vous savez ce que c'est et Sarah Marlès, ça parle à tout le monde, et Tadka. Je m'appelle Zilat Denvida, je travaille chez Redat sur des solutions qui s'appellent aujourd'hui Redat Application Foundation et plus précisément moi je travaille en tant de développeurs sur Apache Camel et ce que je fais c'est que je développe et je m'intens plusieurs expansions Camel pour la plateforme Crois-Rcus, et je suis aussi membre de l'Association du Chasse-Pence qui a été créée par Mathieu et qui est la instaurateur tout à l'heure. Du coup aujourd'hui je vais vous parler d'intégration et de mon projet. Cette photo elle représente un petit peu la problématique d'intégration. On va voir les utilisateurs qui essayent de communiquer des sites qui ne sont pas faits pour discuter entre eux. Et donc ça résume un petit peu, voilà c'est connecté des systèmes entre eux, envoyer des tata entre plusieurs systèmes mais qui ne sont pas faits à la baisse. Et donc du coup vu qu'on se connecte à plusieurs systèmes et aujourd'hui à l'ère du cloud on a de plus en plus besoin de se connecter à plusieurs systèmes et Apache Camel a encore plus de sens que en 2007 et donc du coup on va avoir plusieurs connecteurs et ces connecteurs sont appelés aussi des composants. Donc on en a vraiment beaucoup, on en a aujourd'hui, alors sur le Camel Core on n'a pas exactement le décompte mais ça fait longtemps qu'on en a plus que 350 donc on en a plusieurs ici. C'est qu'un exemple après quand vous aurez les slides vous aurez la liste ici en cliquant. Donc là on a des composants pour des systèmes, pour des protocoles différents, des publics, private clouds pour de la data et j'en passe. Et avoir des connecteurs c'est pas suffisant dans l'intégration. Dans l'intégration on a plusieurs conditions, on a des transformations, on peut avoir plusieurs conditions pour en fait transformer la donnée et donc du coup il y a eu un livre qui a inspiré en fait la librairie qui s'appelle Enterprise Integration Patterns et que vous pouvez revoir les patterns dans ce site web là et donc en fait qui décrit en fait tous les problématiques qu'on a quand on intègre plusieurs systèmes. Donc en général quand vous avez beaucoup de problèmes d'intégration, quand vous êtes dans un grand essi, quand vous avez des rachats de société, quand vous avez des données qui circulent un peu partout. Souvent on a pas mal de problématiques qui se répètent et quand on connaît pas ces entreprises Integration Patterns ce qu'on fait c'est qu'on réinvente la roue. Donc c'est bien de savoir quelles sont ces patterns, quelles sont les livres décrits, quelles sont les solutions adéquates et après on a des librairies d'intégration comme Camel qui implémentent ça et qui va implémenter beaucoup plus on va avoir plus de choses qu'on n'aurait pas pensé dès le début, comment gérer les cas d'erreur, comment en fait séquencer sur un temps bien précis donc on va avoir pas mal de choses. Donc là il y a juste des exemples des choses qui reviennent assez souvent, router le message suivant des conditions filtrées, envoyer à plusieurs systèmes, spilités, agrégés, etc. Et en fait Camel c'est une librairie qui va faciliter donc les patterns d'intégration, la connexion à plusieurs systèmes et du coup ça facilite donc en fait on va avoir un langage qui est plus facile que ça et on l'appelle la DSL Camel et la DSL Camel en fait c'est une DSL qui va nous permettre en fait d'écrire nos problématiques d'intégration d'une façon que ça nous parle en fait. Ici on se dit from donc on est en train de consommer et en fait on est en train de consommer d'une bouquette sur Amazon S3 toutes fichées qui est préfixée par elo.txt, là on log le body et on le renvoie via telegram, via un bot de telegram. C'est la même chose, c'est les mêmes keywords qu'on va avoir en java xml, il y a d'autres langages en fait qu'on a aujourd'hui dans Camel mais voilà c'est une DSL qui nous facilite et du coup ça sera Camel et les composants qui vont faire le travail d'aller implémenter les bons protocoles et les bonnes appellies qu'il y a pour pouvoir aller se connecter à une bouquette Amazon S3. Ce que je voudrais juste dire c'est que dans Camel les routes donc là c'est une route qui commence par from et donc en fait c'est comme un pipe unix donc il va y avoir des étapes et du coup le le le le body, le résultat du body en sortant d'une étape c'est l'entrée de l'étape d'après. Et du coup on a plusieurs run time donc on a par exemple le standalone java, on a quarkus donc c'est le projet sur lequel je travaille, on a pour quenétif Kubernetes qu'on va voir via un opérateur, on a un projet pour le Kafka connect, on a Spring Boot et j'en passe. Et donc du coup je vais vous parler d'abord de mon projet Camel sur quarkus et du coup pour ceux qui ne connaissent pas quarkus donc c'est une stack java qui qui va nous permettre d'écrire en fait pour nous en tant que développeur des extensions pour cette plateforme là ce qui va faire que nos nos applications java vont être en fait plus rapide à l'exécution et elles vont prendre moins de place mémoire et en fait on a du coup via maven gradle plugin qui va prendre en fait le bytecode généré java classique et il va en faire un nouveau bytecode en fait plus plus adéquat qui va être déjà en fait optimisé donc là c'est surtout en fait quarkus c'est pour en fait des environnements cloud mais c'est pour kubernetes et donc du coup on va avoir un livrable qui peut être exécuté par un jdk tel que open jdk donc l'out spot jdk en mode jvm et si on veut avoir une application qui soit encore plus rapide au démarrage et qui prennent encore moins d'espace mémoire on pourrait en fait l'exécuter avec graal vm la native image de cram vm donc plus précisément la substrate vm et donc du coup on pourrait avoir pour une même application on pourrait avoir un livrable qui soit pour la jvm ou pour le native et donc du coup pourquoi pourquoi utiliser la version camille quarkus parce que du coup on va avoir notre application d'intégration qui prend moins d'espace dans le disque donc qu'il y a des plus petites images de conteneurs parce que ça va bouter beaucoup plus vite et donc du coup quand on est sur des des environnements quénétiques ou serverless on va avoir un instant scale up et ça va nous prendre moins de place mémoire et donc du coup on aura plus de conteneurs dans la même pour une même taille de rames et du coup ça va nous coûter moins cher petit truc par rapport au ce que j'ai fait quelques workshops et ce que je voudrais dire c'est que quand on est dans quarkus et ça va être la même chose quand on est dans stream boot il faut bien prendre les dependencies qui sont pour la plateforme donc en fait de base on a les camille components et donc du coup ça va être des orques à patcher camille et on va avoir le composant mais quand on est sur quarkus en fait il faut prendre la dépendance qui est vraiment adéquate pour le projet quarkus et nous avons en fait deux liens en fait soit on les retrouve dans code.quarkus.io comme je vous montrais tout à l'heure là où j'ai créé mon projet mais là on aura que ceux qui ont le native support sinon si vous voulez sur jvm on a beaucoup plus de support donc on a plus que 300 là on a 220 et là on y est 320 quelque chose ben ils sont sur la doc donc là j'ai les liens mais je vais vous le remontrer tout à l'heure et là on va pouvoir faire la démo j'ai un petit QR code si vous voulez participer à la démo. Alors ce qu'on va faire là dans la première partie on va faire une application quarkus avec des routes camille et ce qu'on va faire c'est qu'on va lire en fait un fichier dans google spreadsheet on va mettre les informations dans un dans un topic kafka et après on va on va pousser c'est on va avoir une autre route qui va consommer le topic kafka et pousser les informations dans une bouquette amazon s3 et pour remplir le fichier du coup j'ai le QR code pardon j'ai le petit QR code ici qui nous ramène sur sur ce formulaire là et donc du coup ça ça va permettre en fait d'avoir des informations ici donc aussi je fais et je mets un commentaire et le 1 je devrais normalement l'avoir ici et du coup j'ai matilde merci donc je vais du coup venir dans mon application donc déjà j'ai créé l'application sur code point quarkus.io ce qu'on peut faire c'est c'est c'est tapé camille et là du coup on a les extensions qu'on a ici donc là par exemple j'ai fait google sheets voilà et je peux cliquer sur les extensions et après j'ai généré mon application si vous allez sur la documentation de camille vous prenez le camille quarkus ici vous avez le user guide si vous voulez démarrer avec le projet mais dans la référence ici vous voyez qu'il y en a beaucoup plus parce que en fait il y en a certaines qui ne sont disponibles qu'en jvm et donc du coup il faudra venir ici voir si vous voulez l'utiliser donc mon application je l'ai créé et en fait j'ai créé une c'est là je peux le supprimer bonjour après j'ai créé une classe qui est en route builder qui va me permettre de prendre les routes alors dans un premier temps on va on va on va oublier ces properties là on n'a pas besoin mais en fait ici du coup dès qu'on a cette classe qui est en de cette méthode on a une méthode configure dans laquelle en fait on va commencer à écrire nos routes et du coup une fois qu'on a une extension donc du coup je n'ai pas montré le point xml mais ici en fait le point xml quand je l'ai généré ça va prendre les bonnes dependency management la bonne version de quarkus plateforme et ça va mettre ici mes mes dependencies donc là j'ai par exemple la camille quarkus google sheets et et donc du coup voilà je peux déjà commencer à coder donc je vais commencer en fait ma route et là je je connais pas par corps la syntaxe donc ici j'ai j'ai un from donc du coup je suis en train de consommer et donc du coup je vais lui dire je vais consommer depuis google sheets en mode stream et je lui donne l'id du spreadsheet quand on utilise cette c place holder en fait ils sont définis ici dans dans mon application point properties et pour pas partager les secrets en fait je j'utilise des variables d'environnement après j'ai quelques j'ai quelques properties donc du coup je suis allé voir la documentation du composant là je vais lui mettre je n'ai pas besoin de 1 verset 200 et je veux je veux splitter les résultats pour ne pas avoir tout d'un coup mais d'avoir ligne par ligne et google sheets en fait c'est pas c'est pas une une API en fait la paye google c'est pas une API qui permet un streaming comme depuis kavka ou autre normalement c'est un truc pour le travail collaboratif donc c'est pas fait en sorte pour rappeler 36 000 fois donc du coup je vais utiliser la syntaxe caml pour lui dire en fait que je dois attendre avec le throttle pour attendre tous les 1500 secondes normalement dans google sheets composants on a aussi une propriété qui peut faire ça mais juste pour et je voulais vous montrer en fait qu'on pouvait le faire même avec les composants qui ne qui ne l'ont pas et donc du coup je vais juste logger en fait ligne par ligne et là je vais utiliser juste logger le body par contre c'est en minuscule je vais démarrer alors pour ceux qui savent pas je vais démarrer en fait en mode mode dev mode quarkus et on va regarder pour ceux qui connaissent pas quarkus qu'est ce que ça nous permet de faire donc du coup je reviendrai après sur cette partie là kavka mais du coup là en fait ça ça ça lit mes commentaires mais en fait comme j'ai dit c'est un truc de collaboratif c'est pour avoir une petite démo sympa et donc du coup j'ai les messages qui se relisent à chaque fois et du coup moi je ne veux pas en fait envoyer les nouvelles les nouvelles lignes et surtout je ne veux pas aussi envoyer la lentette mais déjà pour pour me dire que je ne veux pas relire les lignes comme j'ai prévu d'avoir kavka ben en fait j'ai envie d'utiliser un e ip qui s'appelle idon potan et idon potan en fait c'est utilisé quand on est sur une problématique où on veut pas en fait traiter un message plusieurs fois en général on va avoir un message avec un id par exemple si on a un système a qui envoie vers un système b un message et que le système a il il a besoin d'un ac k il faut surtout pas que le système b le consomme deux fois ben si le système b en fait il y a juste une coupure de ac k ben en fait on va utiliser idon potan et après donc amel on peut l'utiliser avec de plusieurs façons par fichier par base de données par système de cache avec kavka comme aujourd'hui j'utilise kavka ben du coup j'ai créé ici un repository mais juste avant de vous montrer donc là juste pour vous montrer le dev mode on va juste mettre ici incoming message pour montrer que quand j'enregistre il va y avoir un live reload et donc là j'ai les messages je sais pas si vous voyez bien mais ça commence avec le incoming message donc du coup juste pour avoir le live reload alors je connais pas très bien la la syntax et bien sûr j'ai pas bien copié la ligne donc ici je vais lui dire je vais créer un idon potan consumer et j'ai besoin d'une autre ligne pardon et du coup là je vais lui dire en fait ici c'est un c bête et méchant je normalement prends un identifiant ou un truc qui identifie là je lui dis tout le body du message du coup normalement je devrais plus lui revoir les messages revenir dès le début donc là ça me si ça me lit un message ça va parolir et en fait le ip dans le livre il décrit bien tout ce qu'il faut faire et comment il faut implémenter le repository idon potan et donc amel en fait on a juste à en créer un et après lui dire en fait sur quoi on veut on veut sur quel élément du message ou des aidesur du message donc dans le contexte on veut on veut le faire et en fait camille va de lui-même se dire si c'est le même body ben en fait je finis je continue pas donc il va prendre et ça c'est pour dire où est ce qu'on va le créer donc là ça va être ici ça va être un kafka idon potan et du coup si on l'utilise que dans ce cas là il faut bien avoir la la la la dépendance qui va avec c'est-à-dire que si vous l'utilisez avec redis ou asel cast il va falloir que vous ayez plutôt à la place de kafka que vous ayez la bonne dépendance qui va avec donc du coup là on a plus le même message qui revient on va pouvoir se dire qu'on peut faire la première partie on l'envoie dans kafka mais juste pour l'envoyer dans kafka moi je ne veux pas le premier message au rodateur avec ton prénom sur non ton commentaire je veux pas avoir le la première ligne là je la vois je la veux pas du coup dans là je vais utiliser un autre ip avec un qui s'appelle le content base router qui va nous permettre de faire le choix sur ce message là donc je vais juste le recopier ici donc du coup une fois que j'ai mon donc là je vais faire un choice c'est un choice avec des wane je peux avoir autant de wane je peux avoir un otherwise mais moi là je vais juste dire quand quand en fait ça contient pas au rodateur ben du coup c'est un message pertinent à envoyer dans un topic kafka et du coup je voudrais aussi le transformer en message donc qu'il y a un id texte username et la datetime alors le texte username et datetime ils viennent du message et là et dit ben là j'ai juste mis un uid random id et du coup j'ai créé une classe java qui va prendre ce que j'ai normalement ce que j'ai c'est une liste de strings c'est ce que vous voyez dans le dans le commentaire là dans le body c'est ça c'est une liste de strings et donc du coup celle ci elle va me transformer cette liste de strings en l'obser message en prenant le 0 je sais que que c'est la date le 1 ben je sais que c'est le non et après le 2 je sais que c'est le commentaire et donc du coup pour ce faire je vais utiliser ce qu'on appelle dans vu que je l'ai fait dans un bin java je vais me dire qu'ici je vais utiliser un bin j'ai une seule méthode donc je n'ai pas besoin d'un deuxième argument je vais juste lui dire google service point classe et en fait il va transformer le message et là je vais faire un je vais l'envoyer à kavka donc le topic on peut l'appeler test je voudrais d'abord le transformer en json donc là j'utilise jackson et donc là on va attendre que ça que ça redémarre peut-être que je vais logger ici pour voir si on voit pas l'aurodateur alors est ce qu'il a l'audé que j'ai toujours les faits des mots et juste ici vous voyez au tout début vous avez vu un contenaire en fait je n'ai pas de ici j'ai mis prod donc ça marche pas dans le dev mode donc j'ai pas de du rl vers le broker kavka et donc avec quarkus dev services en fait j'ai un kavka en fait qui se lance avec test container et je ne fais rien du tout par contre nous dans camille on va reprendre le ce qu'ils ont fait dans par les équipes quarkus pour dev services pour remettre en fait l l l url de ce de ce broker dans les les properties qui sont propres à camille comme ça ça va fonctionner et ben merci pour toutes les tous les messages j'en ai pas mal maintenant la deuxième étape c'est de les envoyer sur ma bouquette s3 qui est ici on va faire un refresh et en fait il y a il n'y a pas d'information donc je vais alors juste pour vous dire ici les composants il y a deux façons de mettre des des des des properties soit on le fait directement dans l url comme ici en fait on a plein qui sont là soit on va faire des des properties qui sont général et donc du coup là pour le coup on va faire camille point component ici on va mettre le nom du component et ici le nom de de la property tel qu'on l'a vu sur sur la documentation si je passe rapidement là je suis sur active mq là j'ai je dois aller sur la page du composant et donc du coup ici je vais avoir toutes les options possibles et du coup c'est c'est c'est ce nom de propriété qui va se retrouver en fait ici et ici on aura bien le nom du composant donc c'est comme c'est comme ça qu'on peut faire la variable générale dans quarkus en fait on peut injecter comme ça dans les applications pour un properties les variables d'environnement et si vous voulez déployer sur kubernetes ben vous pouvez réutiliser encore cette façon de faire moi en tout cas c'est ce que je fais en créant des secrets en fait dans le cluster et en fait je plug le secret à l'application et donc du coup je peux les utiliser comme ça donc du coup pour aller faire notre route je vais juste copier coller la deuxième deuxième route et on va l'expliquer ensemble donc ici en fait je vais aller d'un du même nom de broker de top week pardon et je peux logger si vous voulez une commune message from kavka et pour l'envoyer sur ma bouquette en fait j'ai besoin du nom de la bouquette dans l'uri le reste en fait il est configuré ici donc j'ai mis mes secrets ma bouquette name etc et le composant il a besoin d'un aider d'une qui donc amazon s3 a besoin du du message et qu'il arrive avec une qui là pour la démo j'ai juste rajouté ici j'ai mis 7 aider j'ai mis j'ai mis la clé donc on peut transformer le message on peut transformer les aider on peut en supprimer on dilutez on peut un peu faire un peu comme on veut et et voyons voir si ça a fonctionné si ça l'a évoilé l'audé ou pas encore le lèvres et l'audi vient de finir un peu rapide alors l'effet des mots aujourd'hui je ne sais pas pourquoi le library mode normalement ça fonctionne j'ai pas besoin d'arrêter de rallumer je ne sais pas ce qui s'est passé ça n'est pas fonctionné donc voilà donc là on a bien les send in message si je viens ici j'ai des messages dans ma bouquette s3 on va les lire tout à l'heure dans la deuxième démo donc la démo 1 elle est finie on va la relier avec une autre démo alors ce que je vais pas faire parce que ça prend un peu de temps alors déjà peut-être je vais vous montrer juste un peu comment on va bilder en natif donc pour bilder en jvm c'est le main vain package standard l'un veut peut faire ma main vain package moins d natif et là c'est quand vous crée l'application depuis depuis le générateur quoi que ce qu'elle que soit le générateur que vous avez vous avez en fait le profil natif et du coup ça va prendre du temps par rapport à la compilation en fait jvm du coup le l'autre partie c'est comment on déploie en kubernetes il y a pas mal d'extension en fait qui existe dans quarkus pour bilder une image en cantonnere suivant ce que vous voulez et pour générer des ressources kubernetes quel que soit en fait votre votre distribution kubernetes et il y a une petite vidéo ici si vous voulez avoir plus de détails j'ai rajouté ça par rapport aux questions donc vous voyez qu'on enchaîne en fait c'est c'est des strings et en fait pour pouvoir en fait avoir un type safe end point url vous pouvez utiliser à la place de route builder qu'on a vu end point route builder et du coup au lieu de de chainer comme ça password dégale machin et de faire des des fautes vous pouvez utiliser cette façon là de configurer voilà parce que ça c'est une question qu'on pose assez souvent et maintenant en fait la deuxième partie c'est on a notre projet qui nous permet en fait de faire un peu plus simple en fait ce qui nous permet en fait c'est comme j'ai dit en fait quand on lit on sait que ici par exemple on est en train de lire d'un Chanel qui est native quand on est dans une application java camille en fait on est obligé d'ajouter les dépendances à chaque pour chaque ligne qu'on voudrait donc si on utilise quennettif si on utilise kafka on doit le rajouter alors que en fait quand on lit c'est super intuitif du coup en fait pour les les environnements kubernetes et serverless qui sont sur kubernetes donc quennettif pour notre part on a en fait un opérateur qui va aller faire ce travail là donc en fait on va juste écrire les routes on va pas faire de dépendance on va pas créer d'applications on va faire les routes comme on a l'habitude de faire et en fait on va utiliser une cli pour juste en fait installer cette cette route sur sur un environnement kubernetes et et serverless kennettif et en fait c'est l'opérateur kubernetes qui va aller faire le le travail et du coup j'étais en avance sur mon slide d'après qui disait que c'est l'opérateur qui va le faire mais mais pas la personne mais un opérateur kubernetes et là du coup on est sur la deuxième partie de la démo où on va faire on va utiliser l'eau avec l'opérateur camel k et on va faire deux routes donc une qui va en fait créer des évents serverless dans un Chanel kennettif et l'autre qui va en fait être réveillé par le par les événements qui arrivent pour envoyer un message sur mon compte télégramme donc ici c'est pour voir un petit peu les deux façons de faire c'est qu'on aura une route qui va être up tout le temps et une route qui va être complètement serverless donc qui va qui va se réveiller que quand on en a besoin quand il ya un event du coup ce que je vais faire c'est que je vais vous montrer rapidement ici c'est justement cluster open shift open shift c'est une distribution de kubernetes j'ai ici le l'opérateur camel k et ici j'ai créé un un Chanel qui s'appelle feedback et j'ai pas d'intégration dessus je vais les déployer et après on va voir la description derrière alors juste pour vous montrer d'autres façons de faire ici on a fait du groovy donc pardon je vais vous montrer ça c'est la la la cli camel donc si je fais camel get je n'ai aucune intégration sur mon cluster et du coup je fais camel rain je vais faire tout télégramme du coup ici dans le fichier je vais vous expliquer les espèces de cicrètes etc et vous allez voir que là en fait c'est c'est une elle a c'est une connective service avec un minimum scale à zéro c'est-à-dire qu'on lui dit de ce qu'elle est à zéro du coup là pour l'instant elle est hop mais après elle va elle va s'éteindre et du coup c'est une elle elle elle elle se plug déjà ou de Chanel en fait feedback on peut regarder rapidement le code qui est là et d'ailleurs en fait dans le le projet il y a comment vous pouvez l'installer comment vous pouvez tout installer sur sur votre poste c'est celle là et donc du coup c'est un fichier groovy qui va prendre en fait la la même syntaxe donc là on on lit on consomme un Chanel feedback on transforme simplement en disant avec un langage simple de camel en disant que c'est un nouveau message en albody et on l'envoie via un chat id qui est qui est le mien j'essaye juste de voir si ça se termine pour voir la super démo tu vois il est en train de terminer parce que une fois que je vais mettre la première partie en fait ça va ça va consommer dans s3 et du coup ça va donc du coup je vais vous montrer l'autre c'est le s3 tout qu'est native et là du coup en fait je lis depuis la bouquette s3 avec un delay et je fais un simple log et on en voit qu'est native tout le temps là où ici on a on utilise le camel k mode line pour pour déterminer en fait les les configurations donc ici on va lui dire qu'on a un s3 secret et en fait on l'a créé comme ça en fait il ya dans le rythmie de cette partie là on explique comment à partir de variable d'environnement comment créer le secret et comment on le déploie en ligne de commande sur notre cluster et c'est la même chose pour l'autre donc du coup ici on lui dit de prendre le télégramme secret et on lui donne aussi ce minimum scale et pour lui dire que c'est du qu'est native donc là il est ce qu'elle est à zéro donc l'application elle est plus hop donc je vais faire l'autre s3 tout qu'est native et là c'est différent donc même si ça c'est une application qui va rester up tout le temps parce qu'elle est pas et voilà vous voyez ça ça c'est ça c'est allumé et voilà je commence à avoir les messages sur télégramme on peut essayer un autre si vous voulez je sais pas du coup là j'essaie juste de voir les logs dans les logs vous allez voir les mêmes logs dont vous avez l'habitude vous voyez du coircus là derrière voilà mais nous on écrit qu'un seul fichier groovy on peut écrire avec d'autres d'autres d'autres langages mais du coup c'est le c'est l'opérateur qui va qui va du coup faire le travail si je veux avoir des nouveaux messages il va falloir que pardon il va falloir que je je rallume la petite application tout à l'heure sinon ça va rien envoyer je ne sais pas pourquoi j'ai pas reçu tous les messages mais hier soir ça marchait alors maintenant c'est up on va essayer de voir si je peux avoir un nouveau message à mettre un élo qui netive et on va voir alors du coup ici ça marche et là je reçois tout d'un coup en fait du coup ça doit être peut-être le temps de de les consommer de redémarrer l'application là elle redémarre encore et j'ai bien le élo qui netive donc voilà va dire fin de la démo donc voilà si vous n'êtes pas des développeurs java et vous êtes sur sur sur kubernetes vous pouvez utiliser ça assez facilement il y a même encore plus facile que ça on a maintenant ce qu'on appelle des camlettes vous êtes même pas obligé de connaître la syntaxe et par contre ça va être fin il va falloir trouver en fait les les use cases dont vous avez besoin et si je reviens du coup mes slides je sais pas où elles sont elles sont là alors pour faire un petit résumé on a vu un petit peu que apachi camel est ce que ça a porté dans le monde de l'intégration avec plus de 350 connecteurs la joie de développer dans le carcues dev mode et la possibilité de ce qu'elle est à zéro et déployé dans quai netive et streamer depuis et vers kavka je sais pas si vous avez remarqué mais on fait que from et tout et le nom du topic si on a besoin voilà on va utiliser les brokers url etc sur le le fichier application point properties et ceci sont les liens pour notre site de documentation notre chat zulip qui est ouvert à tous et sur lequel vous pouvez nous poser des questions donc il ya plusieurs channels notre mailing list et notre twitter et on veut absolument avoir on aime on aime beaucoup les feedbacks et les contributions mais surtout pas mal de feedback si vous avez des feedbacks si vous avez des améliorations que vous voulez n'hésitez pas à nous les dire s'il y a des issues sur camél coircus que vous voulez parce qu'il ya beaucoup d'extensions encore à passer en natif vous pouvez les voter ou les contribuer et merci ça c'est mon twitter et mon site la page de conf c'est là où je mettrai en fait les les slides et les liens vers le code voilà merci beaucoup on a on a une minute pour les questions est-ce qu'il ya les questions regardent les questions sur l'autre chanel non je suis là toute la journée oui je suis là toute la journée oui donc si vous êtes timide vous pouvez nous poser les questions après je pense qu'on peut applaudir encore une fois d'une heure parce qu'elle fait des démo de ouf chaque fois ok du coup on reprend dans cinq minutes déjà avec guillaume c'est prêt ouais allez c'est parti