 Je travaille chez Ferraman, je travaille sur un projet Open Source depuis à peu près huit mois. Il y a huit mois, je suis là ici, j'ai parlé un peu de Vagrant, comment ça fonctionnait, puis comment les providers, puis les rencibles, les popettes, puis les chefs peuvent se connecter là-dessus. La session va se faire en français, je vais faire un petit recap rapidement parce que j'ai dix minutes à faire. Mais si vous avez des questions en anglais, feel free to ask, mais make sure to ask loudly, because I'm getting old at 27. Ça c'est ça, si vous voulez me joindre, vous pouvez me joindre sur mon site pierrepaul.com, il y a mon courrier et tout ça. En gros, c'est quoi Vagrant ? Est-ce qu'il y a des gens ici qui ne connaissent pas Vagrant ? Il y a une personne, deux personnes, trois personnes, quatre personnes, j'en ai voulu pas, c'est bon. Vagrant en gros, c'est un système de virtualisation, mais plus orienté vers les deux ou la pas. Tout le monde peut installer que ce soit sur Windows, que ce soit Linux ou MacOS. Vagrant, puis Vagrant va parler des providers qu'on appelle, comme VirtualBox, pour créer une machine virtuelle. Ça vous permet d'avoir, sous votre Mac, une machine Linux qui roule. C'est ça la bariface. Par défaut, il va utiliser VirtualBox, mais il y a moyen de changer si vous utilisez d'autres providers, ce que je vous conseille fortement, parce que VirtualBox est assez lent, par défaut. Il y a des moyens pour réussir à l'accélérer un peu, mais il y a tout le temps des limitations avec VirtualBox. Il y a un merveilleux projet qui fonctionne sur tous les West, mais qui est un peu plus lent que les autres. Par provider, on parle de LXC, on parle d'OpenStack, on parle de VMware, on parle de WaxPay, DigitalOcean, Amazon. Il y a vraiment un paquet de providers qu'on peut utiliser avec Vagrant, qui vont venir pour créer votre machine, en fait. Est-ce qu'il y a des questions jusqu'à maintenant? Non. Non, malheureusement, il y a... En tout cas, est-ce que je cherche peut-être que ça existe, mais je pense pas avoir vu de provider Docker, mais Docker utilise LXC en back-end avec un Fs, faire un système différent, mais en gros, c'est du LXC, du Docker. Donc, question. Fait que si on est capable de changer le provider, ça veut dire qu'on peut améliorer les vitesses, et tant qu'à améliorer les vitesses, pourquoi qu'on pourrait pas faire un parc complet de Vagrant? C'est un peu l'idée du projet. En utilisant des providers externes, comme du VMware, d'OpenStack et tout ça, ça nous permet d'externiser, d'enlever le bottleneck, comme quoi que c'est une machine qui est le single point of theater. Ça nous permet aussi d'éviter les vendor lock-in. Donc, on peut prendre notre machine, puis décider que demain, elle va rouler sur Amazon, puis qu'après-demain, elle va rouler sur du Rackspace, ou qu'après-après-demain, elle va rouler sur du OpenStack. Vagrant va nous permettre de tout abstraire ça, puis réussir à faire fonctionner ça ensemble. Puis Vagrant Control. L'idée de Vagrant Control, c'est que maintenant qu'on a réussi à externaliser tout ton service, ça nous prendrait une interface pour gérer tout ce cluster de Vagrant. C'est pour ça qu'on a commencé à travailler sur Vagrant Control, qui ressemble un peu à ça. Donc, on voit ici, j'ai deux machines à l'excer avec les chemins qui sont spécifiques sur la machine propre, puis avec des environnements qui sont spécifiques à test. On peut arrêter la machine, la continuer, ou la déliter, puis voir plus de détails. On va faire une des mots complète tantôt. L'architecture du projet, ça vous tente de contribuer. Je vous fous, ça vous tente, là. J'aimerais bien ça. Il y avait Vagrant Control qui sert d'interface web à tout ça. Puis, en dessous, il y a trois micros d'applications qui est le H2 Passwork, qui permet de générer des mots de passe, puis c'est vraiment basique comme authentification, mais ça fait un job pour la plupart des cas. Un NGNX API, parce que maintenant, tout le trafic va passer par le pays de NGNX. Lui va recevoir tout le trafic, puis il va renvoyer le trafic sur les upstreams, qui est chacune des machines Vagrant. Puis, la Vagrant Worker, il va vous coller directement sous le laud-levant Vagrant Status, Vagrant O, puis il va spécifier les providers. Je vais passer à la démo, donc la démo, je vais la faire plus tard à la fin. Aujourd'hui, je suis venu vous parler d'évit de dernier mois, puisqu'il y a huit mois, je suis passé ici, puis je parlais comme quoi que je commençais à travailler sur le projet. Au courant d'évit de dernier mois, j'ai travaillé pour acheter d'autres providers, parce qu'il y avait un clé Virtual Box, qui s'était supporté il y a huit mois. Maintenant, on est capable de faire spawner des machines directives sur du LXC, du vSphere, du House. Il n'y a pas encore de Fusion, il n'y a pas encore d'OpenStack, il n'y a pas encore malheureusement tout ça. Avec les besoins que j'avais au moment, on a fait une grosse révision UX au bureau, on s'est mis ensemble, puis on s'est assis, puis on s'est dit qu'est-ce qu'on veut améliorer au niveau UX. C'est-à-dire qu'à la stade, on a des dialogues, on a des confirmations, puis un paquet de PSYCHO 5 comme ça, qui sont beaucoup plus plaisantes. On a l'ajout de hôte 2, donc maintenant, on peut se connecter avec notre compte Google, puis on peut limiter aussi l'accès. Maintenant, dans notre compte, on a un Google Apps, donc tout notre domaine est sur Google Apps, donc je peux restreindre que juste ces personnes qui sont sur l'application. Ça, c'est configurable dans le config. J'ai commencé à travailler sur une console antérielle. Quand on a un gros provisioning qui se fait avec chef, pop-up, tout en cible, quand ça peut prendre jusqu'à 10 minutes, ça peut être long pour une raquette HTTP pour avoir un résultat. C'est pour ça qu'on a commencé à travailler sur une console antérielle, puis ça donne un effet vraiment cool, un peu comme Jenkins, si jamais vous avez déjà travaillé avec ça. On veut être prochain moi. On veut éloigner la console antérielle parce qu'on trouve ça vraiment cool, même si c'est pas vraiment un besoin urgent. On veut améliorer les fonctions de l'API parce que je ne l'ai pas mentionné plus tôt, plus haut. Puis là, je suis perdu dans mes slides. Bref, Vagant Control, l'interface web, c'est une application Flask avec du reste, puis avec un langue large, qui est comme front-end. Ils sont exposés, puis sont exposés, puis sont très utilisés. Nous autres, on s'en ressert dans Jenkins pour cependant les machines à voler et spécifier quel provider qui est parti pour chacun des projets. On veut acheter le provisioning, parce que pour l'instant, on peut juste arrêter et démarrer une machine. C'est un peu ordinaire. J'aimerais aussi rajouter des fonctions d'ajouter des faciles complets du projet. Parce que quand on efface un projet, ça l'enlève la DB, mais ça y fasse pas de code. Quand on travaille avec du Multi-Machine parce qu'on parle d'une machine web, machine DB, tout ça, je veux que chacun des actions puissent être targetées sur chacun des machines. Je vais arrêter juste à la machine de DB, juste à la machine web, etc. Il y a une maîtrise ACL, parce qu'éventuellement, on va vouloir que certains développeurs aient accès à certains projets et que d'autres développeurs aient pas accès à d'autres projets. Ça, ça s'en vient. C'est vraiment un gros morceau, ça s'en vient. C'est de chacun des utilisateurs pour qu'on puisse avoir un historique de tout ce qui s'est passé. Et puis les awards, ce serait cool à avoir les awards. Bravo, t'as lancé ça en machine. C'est vraiment un des petits fichiers de con, mais c'est des gens de trucs que j'aime bien faire. Possibilité d'importer un projet vagrant, parce que pour l'instant, les projets vagrants, on est obligés d'utiliser le pâte au complet. On suppose qu'il y a un Jenkins en arrière qui a fait un R5 du projet. Ça serait le fun d'acheter fonctionnalité comme faire un Git Checkout ou un Git Clone ou un S20 Checkout et donner plus de flexibilité à tout ça. Jenkins, je vais peut-être le montrer si j'ai le temps. Pour l'instant, il est juste fait vraiment depuis moi qui travaille là-dessus. Ça serait le fun s'il arrive non là-dessus quand j'en viens dans huit mois, puis je vais vous faire la démon. J'ai m'amoré à le piton. J'ai essayé que j'ai une machine double V qui fonctionne avec du Elixir. Si je voudrais la partir. Ça, c'est ma console en temps réel qui n'est pas vraiment affichée. C'est Work in Progress. Mais ça, éventuellement, ça va partir et ça va être remplacé par la console en temps réel. Le projet vagrant control, présentement, est sur GitHub. En fait, les quatre applications sont sur GitHub. Il y a même une cinquième application qui est le vagrant du vagrant control. Ça vous tente de faire une Inception Style puis faire du vagrant dans du vagrant et ça vaut sur le point. Ça, c'est sur mon laptop. Ça fait que là, à l'intérieur de mon vagrant control qui est une machine vagrant, j'ai Montréal Piton qui est une machine Elixir. Il y a un IP qui a été donné à cette machine-là. Ici, je peux voir ma console en temps réel qui n'est pas vraiment en temps réel pour l'instant. Puis là, je vais parler internet domaine, si je voudrais. J'ai triché. Juste avant la présentation, j'en ai assez bien de lui. Il est bon. Au cours des vues de dernier mot, j'ai rajouté la possibilité d'assigné des clés SSL si on veut faire du HDPS sur chacun des sites. Maintenant, je vais voir. Là, j'ai parrainé des tests pointés sur la machine. Je ne sais pas si on va pouvoir le voir. Et ces tests pointés, je vais te faire pointer sur mon vagrant control. Ça va être lui, mon Nginx API. Ça aurait pu être un autre machine externe, mais dans mon cas ici, je vais le garder simple. Je mets tout sur ma machine. Je vais voir. Test point test. Welcome to Nginx. Je pourrais décider de la couper. Instance. Tic-tac, tic-tac. Arrêter. On va arrêter la machine. On va faire le test après en attendant. Je vais juste montrer. Les domaines, on le vit rapidement. Comme quoi qu'on peut choisir un HDPS les SSL ne sont malheureusement pas encore configurables. Ça fait que c'est des sèvres simples. Ils sont inclus dans le préjet vagrant. Mais éventuellement, je vais vouloir une manière d'applaudir les SSL et tout ça. Au niveau de la sécurité, c'est un grand mot pour du HDPS1. Ça fait qu'on peut créer une nouvelle liste pour ajouter un utilisateur avec un super montage. Là, j'ai mes listes ici. Je peux décider de faire un user registré. On voit que ma machine a assez arrêté ici. Si je fais Refresh, ça va tourner dans le bar. C'est sûr, ça tourne dans le bar. Si je repars la machine dans mon domaine, je vais pouvoir aller y dire Ben moi, j'aimerais savoir acheter Password et ça va être la liste Montréal-Piton. C'est utile quand vous avez plusieurs clients, comme un client en BC2-3. Vous faites chacun une liste pour chacun des clients et on accélère juste à leur site. Si lui est parti. Une fois qu'il est spawné, j'ai mon domaine que j'ai modifié pour utiliser Montréal-Piton. Quand je vais me connecter, ils vont me demander de mon mot de passe. Je n'ai pas rentré de bon mot de passe. Ça donne ça. C'est ça. Ça vous tente de contribuer. Contact me en pierrepaul.com Oui.