Slide 1

Slide 1 text

GitHub Du besoin jusqu'à la production avec Github et Azure Lausanne – 19/04/2022 Sylvain Pontoreau Felix Billon

Slide 2

Slide 2 text

Vos speakers pour cette session ! Sylvain Pontoreau Felix Billon Lausanne – 19/04/2022

Slide 3

Slide 3 text

Historique • Octobre 2007 : début du développement • Avril 2008 : lancement officiel • Juillet 2010 : 1 million de repositories • Septembre 2011 : plus d’1 million d’utilisateurs • Avril 2016 : 14 millions d'utilisateurs et 35 millions de repositories • Juin 2018 : rachat par Microsoft Lausanne – 19/04/2022

Slide 4

Slide 4 text

Repository Cloud Repository Self hosted OU Hébergement Github Entreprise Cloud Github Entreprise Server Lausanne – 19/04/2022

Slide 5

Slide 5 text

Web Desktop CLI Mobile Client Lausanne – 19/04/2022

Slide 6

Slide 6 text

Github propose toutes les fonctionnalités basiques d’une plateforme de gestion de repositories : • Gestion du code source • Gestion des tickets • CI/CD • Gestion de projet • Wiki • Extension de la plateforme via une marketplace • ... Tour d’horizon Lausanne – 19/04/2022

Slide 7

Slide 7 text

Démo Tour d’horizon Lausanne – 19/04/2022

Slide 8

Slide 8 text

• Depuis mai 2019, facilite la contribution à l’open-source • Nouveau : Sponsors-only repositories, … Github Sponsor Lausanne – 19/04/2022

Slide 9

Slide 9 text

• Discussions annexes aux tickets du projet : • Idées d’amélioration • Annonce autour du projet • … • Génère des évenements utilisable dans des Github Actions (beta) • Organization Discussions depuis le 12 avril Discussions Lausanne – 19/04/2022

Slide 10

Slide 10 text

• Refonte de la partie gestion de projet • Annoncé en juin 2021, actuellement en beta public Project Board Lausanne – 19/04/2022

Slide 11

Slide 11 text

Démo Project board Lausanne – 19/04/2022

Slide 12

Slide 12 text

• Procédure d’automatisation • Permet de mettre en place la CI/CD • Pipeline as code (YAML) Actions Lausanne – 19/04/2022

Slide 13

Slide 13 text

• Tâches stand alone packagées Actions Lausanne – 19/04/2022

Slide 14

Slide 14 text

• Permet d’avoir un annuaire privé de package • Gère plusieurs types de packages : • NPM (Javascript) • Maven (Java) • Gem (Ruby) • Nuget (C#) • Docker • Utilisable avec les Github Actions Packages Lausanne – 19/04/2022

Slide 15

Slide 15 text

Démo Github Action Lausanne – 19/04/2022

Slide 16

Slide 16 text

Communauté axée sur la sécurité et drivée par Github Security Lab Lausanne – 19/04/2022

Slide 17

Slide 17 text

• Security policy : indique les versions maintenues et surtout comment reporter des failles de sécurité sur ce repository • Security advisories : permet de remonter une alerte de sécurité sur le repository puis de choisir comment la traiter et l'annoncer • Code Scanning alerts : remonte des alertes de sécurité depuis la CI Sécurité Lausanne – 19/04/2022

Slide 18

Slide 18 text

• Bot qui permet de garder ses dépendances à jour • Remonte des alertes de sécurité liées aux dépendances non mise à jour • Racheté par Github • Intégré directement à Github Dependabot Lausanne – 19/04/2022

Slide 19

Slide 19 text

• Intégration d’outils DevSecOps dans son pipeline • Chaque push déclenche automatiquement des analyses de sécurité sur le code pushé : • Respect des normes de sécurité sur le langage ciblé • Pas de secrets en dur dans le code • … Scan de code Lausanne – 19/04/2022

Slide 20

Slide 20 text

• Base de données des CVE/GHSA • Permet de parcourir/chercher l’ensemble des vulnérabilités connues et reporté es sur Github • https://github.com/advisories • Accepte les contributions de la communauté depuis février 2022 Advisory Database Lausanne – 19/04/2022

Slide 21

Slide 21 text

Démo Github & Security Lausanne – 19/04/2022

Slide 22

Slide 22 text

• La roadmap de Github est publique • https://github.com/github/roadmap/projects/1 Roadmap Lausanne – 19/04/2022

Slide 23

Slide 23 text

Side-project : Princing Simulator Lausanne – 19/04/2022

Slide 24

Slide 24 text

Side-project : Learning Lab Lausanne – 19/04/2022

Slide 25

Slide 25 text

Side-project : Codespaces Lausanne – 19/04/2022

Slide 26

Slide 26 text

Side-project : Copilot Lausanne – 19/04/2022

Slide 27

Slide 27 text

Side-project : Code Search Lausanne – 19/04/2022

Slide 28

Slide 28 text

Conclusion Lausanne – 19/04/2022

Slide 29

Slide 29 text

Questions ? Lausanne – 19/04/2022

Slide 30

Slide 30 text

Thanks ☺ Lausanne – 19/04/2022