 Bonjour, mon nom est Stéphane Neumeur et je suis Product Manager pour Codeready Workspaces. Cette vidéo est une récordation d'une démarche d'interview introduite par Eclipse, Che, ou Codeready Workspaces. Pour commencer, je suis dans cette repositorie. C'est un exemple très basique pour une application web Java Spring. Il n'y a rien de fancier ici, mais si j'ai envie de installer ce projet dans un outil traditionnel, j'ai un peu de choses que je dois installer. J'ai besoin de Maven, j'ai besoin de Java et un peu d'autres choses avant que je puisse commencer de construire le projet, de rouler et de contribuer à la base original. Normalement, vous trouverez toutes les instructions pour commencer dans un file rythmique. Ce que nous avons fait ici, c'est de répliquer toutes les instructions avec un bouton. Si vous cliquez sur ce bouton, il ouvre un nouveau tab avec un lien à un facteur URL pour Eclipse Che. Et ce facteur URL a toutes les instructions nécessaires pour répliquer le projet. Dans le projet, c'est toutes les dépendances nécessaires pour construire, coder, rouler, débarter et tester le projet. Avec Eclipse Che, toutes les dépendances de runtime sont dans les containers. Ce qui se passe ici, c'est que les containers sont portées et les outils sont commis à commencer dans les containers. Cela vous permet d'interpréter avec un code source de la base d'Idee. Comme le code ID load dans le projet, il clonc le code source et commence le Java Tuning. Maintenant que j'ai un terminal, je peux tirer directement dans mon container et interpréter avec mon code source directement d'ici. Vous pouvez voir que l'Idee commence à importer toutes les dépendances nécessaires pour ce projet basé sur le file de POM.xml. Donc, il va downloader les dépendances et les résoluer. Vous pouvez voir le file de POM ici. Quand la première importe est terminée, je peux explorer le code source. Je peux voir les différents packages et les classes dans elles. Si je double-clique sur le tab, j'ai une grande vue du file. Je peux also remove the sidebar to focus on the code if I want. This is the basic layout of Che. So, the editor provides code completion as you would expect from an IDE. I can also navigate to the definition of a class if I want. And of course, I get refactoring, renaming, and move capabilities as well. So now, what I want to do is to build my project. I have a build and run button that invokes a command that is defined for me to build and run the project. Let's start that command. It starts a new process inside the container. It does a maven cleaning install and it also takes the result of the build, the war, and deploys it into the Tomcat server that is built into my container. Once the build and run command is complete, I can click this link to see the application running. That's pretty cool. Now, what I want to do is make some very basic changes. As you can see, as I change a file, the file name turns blue in the project explorer. The IDE is integrating Git, so you can do a commit here. I'll add a command, just a basic changes, then click the commit button. That shows me the output of the commit. Of course, if you're more familiar with the terminal, you can go directly into the folder of the project and do a Git status. This shows you the status of the repository, of course. You can do many things from here. If you want, you can do a vi of the readme file. You can open another terminal and do a top to see the list of processes that are running. And you can even do a MC just for fun and get machine commander. So now my application is running, but I think there is a problem in the method find owners. Let's browse the list of all the owners. I can see that I have Betty here. If I go back and search for Betty, nothing is found. What I would like to do is debug this simple application. So let's go into my source code and into the clinic service file. Here is the find by lastname method. But what I'm going to do is set a breakpoint in the process find form method in the owner controller class. Now I need to stop the running application and restart it in debug mode. Clicking the debug button lets me invoke the debug command. Here the application is up and running, but I need to connect the debugger. I'll go to the menu edit debug configuration and click the remote Java item in the list. The debugger connects to the running process and my breakpoint is now activated. So let's go back to the application, go to find owners page and search for Betty. You can see that my application is in white mode. And in the editor, I can also see the application is stopped at the breakpoint I set. From there, I can inspect the variables, the processes, the frames. Everything I need to debug the application is here. So those are the basic features of Eclipse. At this point, I have been able to run my code and I have been able to debug it. So now I want to contribute back to the project. So I'll make a small edit to the readme file and then open the pull request panel. The pull request panel automates the flow of creating a pull request. What I'm going to do first is create a new branch. I will name it new pull request demo. The branch has been created in the local clone of the repository. And now I'll click on the create pull request button. Che checks if I have changes in my local repository that are not commit. I have not commit my edits inside the readme file. So I will commit my changes. What Che does next is check if I have a fork of that repository on GitHub. I'll have one, create one, and it push my local branch to my fork on GitHub. That's what happened here. So once my branch is pushed on my fork, Che will issue the pull request. I can open the pull request in GitHub in a browser. As you can see in the comment of the pull request, there is a button that allows the owner of the project to preview the changes that I just proposed with my pull request. By clicking on that button, it will open Che and it will allow anyone who wants to review the pull request to not only see the changes in the source code but also to test them in the same environment than the one that I used. So this makes a collaboration with everyone on my team much simpler and more accessible for anyone who is working on the project. So that's how you can streamline the flow of contributing to a project and how you can be much more efficient when you are collaborating with your team. Not only with the developers but all the stakeholders who are working with you. That wraps our tour of Eclipse Che. I hope you enjoyed the tour and I hope you'll try Che for yourself. Thanks for watching.