 Bonjour à tous et bienvenue, bon retour sur la track 2 du Damnation Day France, donc 100% francophone, donc là, nous allons commencer la session sur Code Ready Workspecies, donc qui est une idée qui tourne sur Kubernetes, donc sur le cloud. Et là, j'ai avec moi Mario Loriado qui est donc project lead du projet Eclipse Cheer, qui est donc le projet upstream sur lequel se base Code Ready Workspecies. Il est aussi architecte pour la partie Code Ready Workspecies. Et j'ai également Patrick Sachance de la Société Générale qui va nous faire un petit retour d'expérience sur Code Ready Workspecies. Donc je vous laisse le micro et à vous deux. Oui merci, merci San, merci de nous avoir ici et bonjour à tout le monde. Donc je pense qu'on va commencer par dire quelques mots en plus sur nous. Donc Patrick, je te laisse te présenter. Oui bien sûr, bonjour à tous et merci de l'opportunité de présenter les travaux intéressants que l'on fait avec les technologies rédates sur la cloud innovation platform Société Générale. Donc mon nom est Patrick Sachance. Comme vous pouvez voir, j'ai eu différentes responsabilités au niveau du groupe Société Générale. Et principalement depuis 2017, j'occupe trois rôles principaux. Un rôle de conseil au niveau de la stratégie infrastructure de la devise infrastructure de Société Générale. Je suis le responsable d'une cloud innovation platform. Donc on va avoir l'occasion de discuter un peu dans cette session. Et j'ai aussi une cascade d'open source advocate en lien avec la définition de la stratégie d'open source de Société Générale et favoriser l'adoption des différentes technologies open source. Voilà, merci de cette opportunité. Encore une fois, vous avez les petits end-alls pour me trouver sur les réseaux sociaux. Et moi je suis Mario Laredo. Comme Sanladi, je travaille sur le Code Radio Workspaces et Eclipse Che, pour rédates. Ça fait plus ou moins cinq ans que je travaille sur Che et Code Radio Workspaces. Et auparavant, je travaillais pour une série de conseils que peut-être quelqu'un connaît qui s'appelle Zenica. Et voilà. Et je dirais qu'on peut commencer avec les slides. On a quelques slides et après quelques demos sur avec Che et Code Radio Workspaces. Et je voulais commencer la présentation avec une considération en fait, d'une nombre incroyable d'applications qu'aujourd'hui tournent dans le nom de navigateur. De plus en plus. Si je regarde chaque jour le nombre de tables que j'ai ouvert par rapport au nombre de applications natives sur mon laptop qui sont démarrées, il n'y a pas de photos, c'est-à-dire il y a toujours énormément de tables et de moins en moins de applications qui tournent en dehors de mon browser. Et donc je me demande quand est-ce qu'en fait tout, complètement tout tournera dans mon browser et aussi quels sont les dernières applications qui tournent encore en dehors de mon browser. Et parmi ces applications, c'est les outils de développement. Historiquement, c'est quelque chose qu'on veut faire tourner sur une application locale. On ne veut pas utiliser un editor dans le browser etc. Mais on va parler de ça aujourd'hui. On va parler de nouvelles technologies qui nous permettent de utiliser des outils de développement dans le navigateur. Mais à part ce dont on parlera aujourd'hui, on voit que la mouvance en général, il y a des grands acteurs comme JetBrains et Microsoft qui sont en train d'investir dans des technologies web pour leurs outils de développement. Donc JetBrains avec le projecteur qui permet d'utiliser les idées de JetBrains dans un browser. Et il y a Microsoft avec via suocode qui est en train d'être intégré dans CodeSpaces qui est un service de Microsoft et GitHub qui permet d'avoir une expérience très similaire aux expériences qu'on a avec les applications via suocode et IntelliJ ou des idées de JetBrains. Mais dans le browser. Donc on voit que ces dernières applications, les outils de développement, qu'on fait tourner sur notre laptop et aussi arriver dans le browser. Voilà, donc on va maintenant parler en fait de CodeRadioSpeed et on va rentrer plus en détail. Donc je vais laisser la parole à Patrice pour parler en fait de quels sont les challenges pour le service général et comment CodeRadioSpeed peut aider à résoudre ces challenges. Oui donc très bien Mario et encore une fois merci de l'opportunité de présenter nos travaux sur la Cloud Innovation Platform. Donc je propose de passer tout de suite au slide suivant Mario, s'il te plaît. Donc j'ai un slide pour présenter le groupe pour ceux qui seraient moins familiers avec le contexte hosté général. Donc hosté général, nous sommes bien entendu une banque, une des banques principales européennes. Et c'est une banque qui est structurée autour de trois grandes activités métiers. La Banque de détails France, la Banque de détails à l'international et les services financiers associés. Et la Banque des marchés de capitaux et des solutions investissent ça. Donc je vais pas vous commenter tous les stats que vous voyez ici. Vous voyez qu'on est présent dans plusieurs pays, qu'on est plus d'une centaine, presque 140 000 personnes employées à la société générale avec des chiffres d'affaires conséquents. Je vais plutôt m'intéresser à notre principale valeur. Donc on met en avant de façon très affirmée l'estre d'équipe, l'innovation, le sens des responsabilités et l'engagement. Et c'est une des preuves en fait aujourd'hui de notre engagement à aider la société innovée de témoigner dans des événements publics comme celui-là. Donc je propose de passer au slide suivant. Globalement en fait, ce qu'on essaie d'adresser, Mario, je suis désolé, j'aurais peut-être pas dû laisser l'animation sur ce slide. Donc je te propose de passer très bien. Donc globalement en fait, la Cloud Innovation Platform, la problématique qu'on essaie d'adresser, c'est d'accompagner les idées, donc d'accompagner le plus facilement possible et avec le plus de fluides que possible les idées les plus innovantes jusqu'à la réalisation d'un POC réussi, donc de proof of concept réussi. Pour ça, on a structuré une démarche qu'on appelle l'Open Innovation Factory qui vise à mettre à disposition de ses expérimentations les bonnes personnes, les bons processus et les bons outils. Et la Cloud Innovation Platform, c'est le moteur principal qui permet de supporter ce processus. Donc c'est un environnement qui est déconnecté de notre système d'information et qui permet de mettre à disposition rapidement différents types de ressources, comme on veut le voir sur les quelques slides à suivre. Et en termes de cas d'usage, en fait, on utilise cette plateforme. Il y en a entendu pour faire des POCs sur des sujets innovants, mais aussi pour qualifier des nouvelles technologies. On a qualifié de la blockchain dans le passé. Là, on s'intéresse, par exemple, du Quantum Computing. Donc on utilise la plateforme pour mettre à disposition plus facilement des environnements permettant de simuler des environnements de Quantum Computing. On utilise aussi cette plateforme pour faciliter le travail avec des startups externes. Donc travailler avec une banque, il y a forcément des contraintes. Donc la mise à disposition d'un environnement déconnecté du système d'information permet bien souvent de gagner beaucoup de temps et de simplifier les efforts des startups plutôt que de s'intégrer avec les processus standards au stège général dans la phase d'identification des produits. Mais en fait, la clave d'innovation de plateforme lève la majorité des contraintes. On l'utilise aussi pour faire des hackathons internes ou externes et enfin pour de l'auto-formation. On peut passer au slide suivant. Donc cette plateforme, on fournit différentes cilte d'environnement utilisateurs. Donc on a trois familles de produits. Je vais commencer par la droite, donc une offre qu'on appelle Cloudbox. Ça vise tout simplement à mettre à disposition des environnements hébergés chez les cloud service provider où les gens peuvent choisir les différents composants qui les intéressent dans les catalogues de services de ces cloud service provider. Donc on a notre cloud interne. Si vous suivez les réseaux sociaux, vous avez dû voir qu'on communique beaucoup sur la façon de fabriquer notre plateforme cloud interne. Mais on utilise aussi AWS et Azure. Et donc on met à disposition des environnements pour les cas d'usage mentionné précédemment. Ensuite, au centre, on a la logique application boxes. Donc l'application box, c'est une démarche un peu opposée à celle de Cloudbox. Au lieu de permettre à un utilisateur de choisir parmi une avantage très large de services offerts par un cloud service provider, on lui propose tout simplement de s'appuyer sur la modélisation topologique apportée par les socles Kubernetes. Donc pour ça, on s'appuie sur Red Hat OpenShift, principalement pour mettre à disposition ces environnements Xbox. On utilise le catalogue de services prétendant l'emploi à fournir avec le produit et on rajoute aussi des solutions plus intéressantes, en tout cas les plus adaptées à nos problématiques, comme par exemple des solutions de chatbot, de chatops, de Serious Games, de Quantum, j'en ai déjà parlé, ou encore des technologies blockchain qui ont été ajoutées dans le passé. Et ce qui nous amène aujourd'hui dans cette présentation, c'est plutôt l'offre qui est sur la gauche. Donc c'est la toute nouvelle qu'on a intégrée. C'est une offre qu'on appelle Developer Box. Donc on aurait pu l'appeler comme Mario a mentionné les différentes technos de Microsoft, de GitHub. On a choisi Devbox par simplité sur l'intégration dans notre catalogue. Et principalement pour cette offre, en fait, on s'appuie sur CodeLive WorkSpaces. Donc ce qui est génial avec cette offre, c'est qu'il n'y a rien à installer sur le poste de travail. Il y a plein de kits de démarrage prêt à l'emploi qui permettent aux développeurs de démarrer rapidement des expérimentations dans les principaux langages. Et si les langages souhaités ne sont pas disponibles, on peut toujours aussi travailler à définir des topologies personnalisées. Grâce à cet environnement CodeLive WorkSpaces, les gens peuvent avoir accès très facilement dans lesquels ils vont builder, développer et exécuter leur code. Et ensuite, partager des liens pour montrer à leur père ou à des équipes de sponsor le fruit de leur travail. Donc c'est vraiment génial. On peut faire tourner les applications en mode Debug, avoir un accès facilité au log, ce qui n'est pas toujours le cas quand on travaille sur un poste de travail et que les composants tournent dans le datacenter. Parfois, c'est un peu complexe d'accéder au log. Et aussi grâce à CodeLive WorkSpaces, on a un accès très facile aux différents logs de la topologie exécutés dans CodeLive. Et enfin, on peut facilement déployer depuis CodeLive WorkSpaces vers Cube, vers OpenShift. Donc le développeur n'a pas quitté son environnement de travail et peut déployer en toute sérénité sur des offres Kubernetes. Voilà, donc on va se concentrer sur la partie Devbox. Dernier slide, un peu marketing, entre guillemets, de la partie Cloud Innovation Platform. Ces trois expériences utilisateurs, on les met à disposition de nos utilisateurs pour une heure et de trois mois, reconductibles une fois, pour leur permettre de réaliser leur expérimentation. Donc ils choisissent, en fonction de leur cas d'usage, Appbox, Cloudbox, Devbox, un mélange des trois. Ils font leur expérimentation et ensuite de ça, de façon déconnectée du UI sur une plateforme externe, et ensuite de ça, Sympoc et Réussi, deux options. On déploie sur une plateforme externe en suivant la méthodologie standard des projets Cloud au niveau groupe socialité général. Ce sont des équipes différentes de mon équipe qui accompagnent ces expérimentations, mais c'est nécessaire pour répondre à nos exigences de conformité. Ou une autre alternative, c'est de tour à patrier dans nos locaux. Et là, en fonction des solutions qui ont été retenues, il y a plus ou moins d'efforts à faire. Donc les utilisateurs qui partent sur Devbox ou Appbox peuvent poursuivre leur expérimentation en interne, puisqu'on trouve les mêmes offres dans nos locaux. Si j'utilise un cloud externe, forcément, comme on n'a pas le même cloud en interne, il peut être nécessaire de refabriquer plus ou moins de composants. Mais voilà donc ce qu'on offre en termes d'expérience utilisateur sur la cloud innovation platform. Si vous êtes intéressé dans savoir un peu plus, vous pouvez regarder notre organisation sur github.com. On a une organisation qui s'appelle github.com, Société d'Israël Générale. Et là, vous verrez les différents projects open source auxquels on contribue, ou qui ont été ouvert par Société Générale. Et vous en trouverez un qui est plus spécifique à la cloud innovation platform. Donc la base de code est plutôt staglante depuis quelques mois, mais on travaille à réouvrir le code qui permet de fabriquer la nouvelle génération de notre plateforme qui construit sur l'ensemble des nouvelles versions des produits que je vous ai présentés. Donc on utilise OpenShift 4.7.16, la toute dernière version disponible à ce jour, la dernière version de CodeReady. Vous avez eu sur le slide précédent d'autres open sources qu'on est en train d'intégrer. Et donc toute la mécanique de fabriquer ce qu'on appelle la cloud innovation platform en partant d'une souscription AWS Vierge va être progressivement libérée d'ici la fin du troisième trimestre si tout se passe bien. Donc voilà, Mario, je propose de passer au slide suivant. J'ai intégré quelques petites captures d'écran. J'avais prévu une vidéo, mais malheureusement pour différentes raisons. On ne peut pas vous la présenter ce matin. Donc j'ai quand même souhaité vous montrer un début d'intégration des différents produits. Donc vous voyez que pour accéder à la plateforme, qu'on soit depuis un poste de société générale ou en externe sur un PC non-managé, PC personnel ou un tiers, un étudiant, une école, un fournisseur, on accède à une mire de login qui nous permet de choisir parmi différents identity providers. Donc on met à disposition la connexion via l'identité numérique société générale, GitHub ou GitLab. On prévoit ajouter d'autres identités, nos gestionnaires d'identité comme Twitter, LinkedIn dans les prochains mois. Et pour ça, on s'appuie sur un composant de livret nativement avec OpenShift qui est Red Hat SSO. Donc voilà, ça fonctionne très bien. Une fois qu'un utilisateur est connecté sur notre portail, là je vous ai fait un extrait du portail interne. On a un portail, c'est Open Source, qui va être disponible dans les prochaines semaines. Ça n'a pas de sens de fabriquer une plateforme Open Source sans livrer un portail qui permet aux utilisateurs de constater la valeur de la plateforme. Donc vous retrouvez les différentes expériences utilisateurs et on a aussi un chat de bot qu'on fabrique avec un autre composant d'Open Source qui s'appelle Bot Press. Et là, ce que vous voyez, c'est un début de conversation avec le bot qui vise à créer un environnement à box. Donc n'est plus ni moins qu'un projet sur Red Hat OpenShift et à la fin du dialogue, le chat de bot affiche un lien sur lequel l'utilisateur peut directement cliquer et les rediriger dans la console Red Hat OpenShift dans la Developer Review. On prévoit faire la même chose aussi pour mettre à disposition des environnements code ready. Je ne sais pas encore intégrer avec le chat de bot et sur la partie code ready, je n'ai pas de screen capture. Par contre, les différents produits sont personnalisables à souhait. Donc sans voir la capture d'écran vous montrer, on a pu trouver que ce soit dans OpenShift ou dans Code Ready les mécanismes adéquats pour pouvoir surcharger de la documentation soit faire un branding personnalisé avec la charte Graphics Société Générale, mettre des logos rediriger vers des sites de documentation interne, rajouter des topologies spécifiques et bien entendu les API il y a des quadres qui me permettent d'automater avec le début d'opération de chat de bot tel que vous voyez ici. Je propose qu'on passe au site suivant. Donc sur la partie sur la partie Devbox les grandes caractéristiques qu'on y voit nous dans le cadre de l'innovation c'est effectivement la simplicité d'utilisation et la sécurité. Tout tourne au même endroit dans le club privé ou dans le club public plus de problématiques de télé-distribution de composants sur un poste de travail ou d'efforts à maintenir des postes de travail à jour pas besoin de fournir des environnements étendus c'est-à-dire des privilèges étendus aux développeurs sur leur poste de travail donc ce qui nous aide à sécuriser encore plus notre système d'information et grâce au code centralisé là où tourne le produit redact co-edit on peut plus facilement répondre à des exigences de conformité notamment celle qui implique d'avoir un code localisé à certains endroits en fonction de certaines législations il y a bien entendu des gains aussi en termes d'efficacité et d'économie donc tout ce qui a trait l'intégration de nouveaux membres dans une équipe des grandements simplifiés puisqu'il n'y a plus rien dans la poste de travail plus besoin d'avoir un développeur de l'équipe qui accompagne le nouvel arrivant sur la résolution des différents problèmes liés au déploiement de ces outils dans une organisation comme la nôtre bien entendu les accès vers internet sont sécurisés avec des logiques de proxy donc récupérer des artefacts que ce soit Node, Go c'est pas toujours simple pour un nouvel arrivant donc voilà avec une approche comme Code Relie WorkSpaces on fait plus face et donc il y a une fonctionnalité géniale sur laquelle je m'attarderai pas Mario j'en parlais qui est la logique de factory les cas d'usage pour lesquels on utilise Code Relie WorkSpaces dans le contexte de l'innovation c'est mettre à disposition des environnements de développement pour permettre aux gens de développer donc avec toute la logique de Starter Pack vous avez certainement commencé à voir dans le cadre de cette journée le fait que le composant est personnalisable que ce soit le produit les dev files ou la plugin registry et la dev file registry et on met à disposition des environnements personnalisés et on fournit aussi des environnements d'auto formation j'ai mentionné rapidement tout à l'heure la partie Quantum donc et la partie factory je m'intéresserai pas particulièrement ça Mario il reviendra mais par contre en termes de réflexion peut-être sur le dernier message à partager avec vous c'est que pour fabriquer des ordinateurs que ce soit des serveurs ou des postes de travail mais en fait il faut plusieurs plusieurs tonnes plusieurs kilos plusieurs centaines de kilos de différents produits des matières premières de l'énergie de l'eau quand on est sur la fabrication d'ordinateurs pour les développeurs il faut en plus rajouter des écrans donc ce qui apporte apporte encore une fois de la consommation de matières premières d'énergie mais aussi des challenges additionnelles sur tout ce qui est recyclage de ces ressources et il y a une statistique qui est quand même assez assez incroyable c'est que dans les dernières décennies on a quand même réduit le taux d'utilisation de ces équipements d'un facteur assez significatif et le taux d'équipements donc on utilise encore plus de ces composants donc il y a certainement en fait derrière une approche comme Codredi un intérêt et des moyens qui permettent de réduire l'impact environnemental d'une entreprise sur la planète voilà donc c'est ce que je souhaitais porter à votre connaissance au lieu de chercher toujours à utiliser le dernier poste de travail gonflé à bloc des approches avec un environnement de développement intégré dans le cloud peut faire sens si vous avez un petit côté écologique en vous donc un cas d'usage et principale des fonctionnalités clés qu'on trouve sur la partie DevBots avec CodrediWorks Places qu'on peut créer des équipes hybrides intégrant des collaborateurs externes et des membres sociétés générales le tout intégré avec des quelques captures d'écran l'utilisateur se connecte à notre brique qu'on appelle CIP IAM vous avez vu qu'on peut choisir différents gestionnaires d'identité il y a bien entendu tout le modèle d'habilitation qui est fonction du parcours que l'utilisateur choisit pour se connecter si c'est un collaborateur sociétés général il a forcément plus de privilège sur la plateforme que si c'est un collaborateur externe et ensuite de ça une fois que les utilisateurs sont identifiés ils peuvent accéder aux différentes et c'est-à-dire des quadrillibres spécifiques on leur met en disposition les environnements fournis nativement dans le produit et on en rajoute certains je vous disais que l'environnement est très personnalisable donc vous voyez sur la droite qu'on rajoute certains plugins que ce soit des plugins maison ou des plugins qu'on récupère sur Internet et on fournit des défiles personnalisées dans une défile registrie personnalisée on peut mettre à disposition en plus des environnements native quadrillibre spécifiques des environnements qui sont mieux adaptés à notre contexte par exemple si on est en interne forcément on doit utiliser des URLs particulières configurer des procs on peut le faire au niveau des défiles donc en synthèse un produit comme celui-là nous apporte beaucoup de valeur c'est génial de briques de gestion d'identité on peut facilement contrôler le nombre de workspace accessible à un utilisateur donc encore une fois si on veut réduire notre impact sur la planète on peut s'assurer qu'un développeur ne travaille pas sur 10 environnements parallèles 2 ou 3 ça doit être suffisant et donc on peut paramétrer le produit pour interdire le redémarrage d'environnement additionnel ce qui est génial c'est que et donc couplé avec des logiques de cluster autoscaling qu'on ait mis en place sur notre plateforme externe s'il n'y a pas d'utilisateur qui utilise Quadridi forcément on paye moins cher pour les infrastructures OpenShift sous-jacente qui s'adapte automatiquement à la charge donc voilà je propose de passer au slide suivant grâce à une plateforme comme celle-ci on est capables de mettre à disposition dans un contexte d'innovation on est connecté du essi pour des environnements non sensibles sur lesquels on ne connecte pas les utilisateurs sur le sté général mais qu'on utilise pour des besoins limités à la qualification de technologie on est capables de mettre à disposition des environnements en moins de 5 minutes donc ce qui est quand même un saut quantique par rapport à ce que on savait faire il y a quelques années et donc c'est ce qui permet nos collaborateurs de se concentrer sur la port de valeur et pas sur ce qui est terminé je pourrais répondre à des questions si vous envie dans le chat merci Patrice donc je vais enchaîner avec en fait je vais résumer plus ou moins quels sont les ce que dit Patrice c'est en fait l'intégrer avec les feedbacks de nos clients en fait ce que nos clients essaient de les problèmes qu'ils veulent résoudre avec et il y a trois choses en fait et donc le premier challenge c'est les Kubernetes ces Kubernetes deviennent une nouvelle plateforme et les développeurs donc le plus en plus de l'application doivent tourner en production dans Kubernetes donc on bouge tout là et effectivement il y a des stats qui disent que ça est en train de monter etc et le problème avec ça c'est que les développeurs ne sont pas forcément des experts Kubernetes ne sont pas à l'aise avec les avec les conteneurs ou surtout ne veulent pas passer trop de temps à s'occuper de configurer Kubernetes etc donc du coup ce que CodeReady Workspace apporte dans ce contexte-là c'est que le Workspace donc l'IDE tourne déjà dans Kubernetes donc quand l'IDE on teste l'application on est en train déjà on on exécute un Workload donc l'application on l'exécute déjà sur la plateforme qui sera la plateforme si donc ça c'est un premier point le premier challenge c'est essayer de rendre plus simple le développement de l'application qui ont comme cible la plateforme Kubernetes donc deuxième chose c'est que on a de plus en plus de développeurs qui travaillent en remote qui ne sont pas dans un bureau qui travaillent sur leur laptop chez eux etc et cela peut présenter en fait des problèmes du point de vue de la des performances en fait du point de vue simplement du un nouveau développeur qui arrive déjà ça peut prendre du temps pour qu'il met en place son environnement de développement même s'il est dans un bureau avec des collègues qui vont l'aider s'il est chez lui ça se complique encore plus en fait il doit il doit contacter quelqu'un qui ne collait pas encore peut-être etc ça peut prendre du temps donc ça peut prendre des heures pour faire le setup de l'environnement de développement voir des jours voir des semaines ça dépend et je pense que nous tous en fait on a connu des projets sur lesquels ça a mis vraiment des jours pour être en mesure de tout builder de tout tester sur notre environnement de développement donc ça c'était le deuxième challenge et maintenant on arrive au troisième challenge le troisième challenge c'est le fait que on a ce phénomène de ça marche sur mon laptop donc on teste on valide et ça marche dans le laptop et en revanche on n'est pas en mesure de reproduire les les autres développeurs dans notre équipe essaye de reproduire le build ou d'exécuter l'application et ça peut étant donné que les environnements ne sont pas reproduisibles complètement peut y avoir des problèmes parce que peut-être on a des dépendances qui ne sont pas au même niveau qui n'ont pas les mêmes les mêmes versions on a des des paquets sur notre laptop qui peuvent avoir des effets de bord qu'on n'est pas en mesure de contrôler donc c'est difficile de reproduire ça donc voilà ça c'est en fait ces trois challenges sont ceux que nos clients ont et que nous on adresse donc on fait en fait avec comme j'ai été en train de dire au début on peut sans aucun effort le développeur se trouvera à exécuter son application dans la Kubernetes et on le verra je vais faire une démo sur ça l'autre chose c'est que on protège le code source c'est à dire que le code ne passe jamais sur le laptop du développeur le code reste dans le code reste dans la plateforme dans la Kubernetes dans des volumes Kubernetes il est persister donc si on fait des modifs et on ferme notre navigateur après quand on va le rouver on va retrouver les modifs qu'on avait faites il est bien persister mais il n'est pas il ne passe pas sur notre laptop donc c'est à dire que après pour builder pour tester notre application on n'aura pas à installer du soft en local tout se fait en remote donc si on veut utiliser un outil il faudra en fait qu'on le rajoute à la configuration de notre environnement donc on arrive au troisième point c'est à dire que on configure nos environnements de développement comme si c'était du code donc Patrice a déjà parlé on utilise un fichier qu'on appelle Dev File et dans ce Dev File on spécifie toutes les caractéristiques de notre environnement de développement donc c'est un fichier y a ML qu'on met à côté du code source de l'application dans le repository de code source et qui donc est partagé avec toute l'équipe ça permet de avoir un environnement de développement reproduisible donc après étant donné qu'on est déjà dans Humanitas ou dans OpenShift on peut utiliser des outils qui permettent de nous connecter à la plateforme donc utiliser en particulier des extensions via Siocode qui l'extension via Siocode Kubernetes ou l'extension OpenShift qui nous permettent de voir quels sont les ressources donc d'avoir visuellement de pouvoir accéder à ces informations des détails du cluster directement dans notre Magator dans l'IDE après dernière chose les fonctionnalités entreprises donc en mode RGAP en mode déconnecté donc sans connexion à Internet on a fait beaucoup de travail dans les deux dernières années pour satisfaire un certain nombre de scénarios avec des firewalls certificats entreprises TLS qui ne sont pas forcément trastés par par toutes les applications donc qui doivent être inclus dans les environments de développement pour permettre de nous connecter à un exus ou à d'autres services distants donc mode déconnecté firewall et service TLS avec des certificats custom c'est une série de features qu'on a on a mis en place pour que ça fonctionne bien en mode entreprise effectivement le editor donc on appelle editor la partie qui permet de diter le code qui tourne dans de l'indicateur et on a on a une version qui est par défaut un projet par défaut qui s'appelle Eclipse TIA qui est l'editor qu'on utilise par défaut et compatible avec des distanciers sur code mais on peut le changer et en particulier on est en train de travailler pour avoir un support un support qui est de bon niveau avec les IDE de JetBrains et on a d'autres d'autres éditeurs comme Codespaces qui peuvent être utilisés comme codeur qui peuvent être utilisés à la place de TIA donc on peut utiliser IntelliJ ou TIA qui est sur lui par défaut pour l'instant mais on peut aussi utiliser d'autres IDE d'autres éditeurs qui peuvent être utilisés dans un irrigateur donc s'ils utilisent des technologies web on pourra l'utiliser voilà je me rend compte que le temps passe et il faut là que je fasse je vais sortir la présentation donc j'ai éficiant quelques tables ouvertes et en particulier en fait j'ai un tab ici donc j'ai un épousisantiste sur la guitare j'ai mon fork de de pet clinique et où j'ai rajouté en fait un fichier qui s'appelle le point le .dev file yamel qui en fait est un fichier yamel qui définit mon environnement de développement et en plus dans le rythme j'ai rajouté ce badge qui me permet en fait d'ouvrir un environnement de développement dans les workspaces donc j'ai ça j'ai cliqué l'ouvrir dans un autre tab ce qui va en fait ouvrir une instance de CodeReadyWorkspaces et je suis en train d'utiliser workspaces.openchiff.com qui est qui est la version online de CodeReadyWorkspaces et qui est disponible gratuitement pour donc j'utilise ça on on met un jour chaque six semaines la version qui est online à partir du projet open source upstream qui s'appelle Eclipsechair donc voilà là j'ai simplement cliqué ici et en quelques secondes je me retrouve avec le Code dans mon navigateur donc une idée comme n'importe quelle idée donc j'aurais il y a le language support pour Java qui est en train de être ce chargé donc language server Java qui qui va être laudée j'en profite pour l'instant de vous montrer le complication etc je vous montre en fait ça marche c'est bien sur code donc on a une compalette donc je peux par exemple changer le thème parce que peut-être c'est plus simple voir avec si c'est clair voilà j'ai utilisé en mode light et voilà le le saveur a en fait tout mon code donc il me permet de voir toutes les les méthodes que j'ai ici donc je peux aussi faire de la il me montre la doc mais je peux aussi naviguer vers vers d'autres classes donc là il y a en fait c'est une idée comme vous avez tout défonctionné que vous avez sur des idées que vous avez en local sur votre laptop et surtout ce que j'ai en plus c'est que étant donné que j'ai mon environnement qui qui a été défini voilà j'ai pu ouvrir la clinique entity ce que je peux faire c'est que il y a des tasks que je peux définir tout en fait les commandes qui sont utiles pour bider dans ce cas là j'ai défini toutes les commandes c'est un clinique donc je peux bider avec ma vanne donc si je clique ici à la vanne qui va qui va démarrer je peux en fait les autres tasks sont l'exécutant de l'applicateur ou la préparation de la base donc j'ai déjà préparé la base là je vais pas attendre que le mid termine je vais en fait exécuter direct la web app j'ai fait un clean donc il faut que je rebide je pense sinon ça va pas marcher voilà donc il y a le build de ma vanne qui est en train de s'exécuter sinon je peux monter que une intégration par exemple une pote complétion il permet d'avoir une pote complétion grâce au language server déjà donc donc il a diviné s'il y a des erreurs du language server j'avais aussi là j'ai en fait je n'ai pas été trouveler parce que je pense que mon build ma vanne en même temps étant donné que mes changements sont automatiquement à se regarder et donc mon build a failé je vais essayer de exécuter ça donc autre chose donc on utilise les extensions vscode donc dans ce cas là il y a il y a de l'expansion guide qui permet de comiter les changements de faire des push sur la repository il y a aussi le un j'arrive pas à build de essayer par exemple tu avais une heure de formatting oui mais je ne pense pas que j'ai des erreurs c'est-à-dire je vais faire des changements oui il te donnait comment pour les fixer je n'ai plus de changements là donc ça reste pour sinon je montrerai en fait les pour request l'expansion pour les pour request donc on peut créer on peut faire des changements notre code là je vais essayer de changer quelque chose de différent par rapport je vais pas du code je vais faire du rythmie comme ça je vais pas casser le build je vais changer donc j'ai changé dans mon rythmie et je peux ici je vois que j'ai le changement je peux mettre en stage je peux aussi changer de branche donc je peux créer une branche et je peux appeler branche de test ça me permettra de faire mon request donc là je vais mettre test ça permet j'ai fait mon commit donc je suis sur la branche je suis bien sur la branche test et donc ici si j'essaie de faire une pour request il me demande vers quelle est la branche target donc je vais dire main je vais à partir de test et ce qui me permet ok je peux bientôt arriver on avait passé le temps donc voilà il y a le build qui s'est exécuté avec succès j'ai pas le temps pour lancer un debug j'ai créé ma pour request à partir de de mon IDE non, j'ai pas encore créé donc voilà je porte que on a plus le temps pour faire plus pour la pour la partie des mots mais bon voilà j'ai quand même montré l'édition de code l'exécution de commande à partir d'une alligator et voilà tout est en fait c'est simple comme cliquer ici pour ouvrir un environnement de développement super pratique voilà donc San je te laisse la parole un problème de de de micro de son de casque je vous entends de tout donc il y a des petites questions sur le chat vous voulez y répondre je vais je peux vous les poser si vous voulez donc il y a une bouille oui c'est pour vous dire un peu plus plutôt imaginer avoir un workspace dédié confinant les skills comme Joker, Podman Builda je peux tenter une réponse parce que j'ai tenté de le faire donc la réponse c'est oui par contre pour avoir Builda ou Podman il y a d'autres petits défis il faut savoir monter des virtuels mais pas les fuses au niveau du cluster Kubernetes sous-jacent parce que faire du Docker une Kubernetes c'est pas toujours simple et si on le fait sur un socle sécurisé comme OpenShift il y a des défis additionnels mais oui c'est quelque chose qui devrait se faire nous on n'a pas encore terminé mais on y travaille et la difficulté c'est celle que j'ai déjà mentionné merci Patrice il y a une autre question donc quelle stratégie vous avez retenu pour la création un workspace par utilisateur ou un workspace par projet un workspace partagé par tous donc j'imagine que la question est pour moi c'est un mélange de tout ce qui a été dit en fait on fait tourner deux fois le produit une version Red Hat standard et une version qu'on personnalise dans laquelle on réactive le partage de workspace donc le partage de workspace était disponible entre chez 6 et en code alive 1.x ça a été désactivé dans la version 2 nous on l'a réactivé pour certains types de cas d'usage ce qui fait que dans certains cas on partage des workspace j'imagine que la question s'étend aussi sur la notion de workspace Kubernetes donc sur commande on utilise le socle Kubernetes sous-jacent l'intégration avec notre brique IAM fait qu'on utilise un name says OpenShift Kubernetes pour l'ensemble des workspace code alive d'un etc pour des raisons qui seraient un peu longues à expliquer mais si vous voulez voir plus de détails n'hésitez pas à me contacter via les réseaux sociaux mentionnés précédemment oui et enfin on a encore 2 autres questions au temps que Valerienne arrive pour la session d'après donc comment gérer les secrets qui isent câble de vos tickets certes de vos developers pour qu'ils fassent de lever-thing Ascot de façon sécurisée dans le DC je peux peut-être répondre à cette question on a il y a des labels et annotations qu'on peut mettre sur des secrets qui permettent de les monter directement dans le conteneur du bon environnement de développement donc il suffit de créer un secret avec les informations du développeur le quai dans le namespace ou du développeur en fait ce qu'on nous recommande c'est que chaque développeur est ton namespace ou il aura ses workspace donc on crée un secret et directement ce secret sera monté dans son environnement de développement dans le passe donc le répertoire qui est indiqué dans l'aménitation du secret peut-être un petit complément il y a des outils comme comme AWS Vault et Chamber qu'on peut rajouter dans les pods donc pour la partie mode commande si c'est de récupérer des secrets qui est dans AWS SSSM par exemple dans le parameter Store et de les chiffrer avec KMS nous on utilise on utilise AWS Vault et Chamber en plus alors question très rapide dernière question est-ce que code redeworkspaces propose des plugins une solution pour dotnet oui en fait on supporte dotnet donc il y a le language server pour dotnet qui permet qui supporte dotnet on a une stack donc d'exemple dotnet et c'est surtout en fait je crois que je ne suis pas sûr d'un code redeworkspaces à quel niveau on le supporte mais d'encher c'est sûr que on a ça dans code redeworkspaces peut-être Stan tu sais pas plus que moi en fait pas que tu travailles il faut le dire en fait il faudrait peut-être le dire que tu travailles dans l'équipe plugin de check non pas ça moi je n'ai pas testé le support dotnet mais mais oui effectivement comme on supporte les extensions VS Code je me sens qu'on a en fait du support dotnet mais du coup on va conclure là parce qu'on a un autre tool qui va arriver donc merci beaucoup Mario et Patrice pour cette présentation je vais juste ajouter Valerian salut Valerian ça va ? ouais donc Valerian tu vas nous parler d'authentification si si je ne me trompe pas exactement donc Cébille m'a dit que t'allais nous faire nous expliquer donc en tant que avec des mots très très très simples pour n'importe qui pour tout comprendre sur l'authentification donc je compte sur toi pour pour cette présentation alors on est un petit peu de retard mais je pense qu'on est je te laisserai donc je te laisserai donc les 5 les 5 minutes en plus pour plus faire tranquillement ton représentation