Github
Tour d’horizon de
la plateforme
Nice – 08/10/2020
Sylvain Pontoreau
Felix Billon
Slide 2
Slide 2 text
Vos speakers pour cette session !
Nice – 08/10/2020
Sylvain Pontoreau
Felix Billon
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
Nice – 08/10/2020
Slide 4
Slide 4 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
• ...
Fonctionnalités de bases
Nice – 08/10/2020
Slide 5
Slide 5 text
Démo
Fonctionnalités de
base
Nice – 08/10/2020
Slide 6
Slide 6 text
Repository
https://github.com
Repository
Github Entreprise Server
OU
Nice – 08/10/2020
Hébergement
Slide 7
Slide 7 text
Web
Desktop
CLI
Mobile
Nice – 08/10/2020
Client
Slide 8
Slide 8 text
• Un Gist est un repository contenant un ou plusieurs snippets de code
• Public ou privé
• https://gist.github.com/
Nice – 08/10/2020
Gist
Slide 9
Slide 9 text
• Discussions annexes aux
tickets du projet :
• Idées d’amélioration
• Annonce autour du projet
• Brainstorming
• …
• Annoncé en mai 2020,
actuellement en beta privée
Nice – 08/10/2020
Discussions
Slide 10
Slide 10 text
• Annoncé en juillet 2020 la roadmap de Github est désormais
publique
• https://github.com/github/roadmap/projects/1
Nice – 08/10/2020
Roadmap
Slide 11
Slide 11 text
• Procédure d’automatisation
• Permet de mettre en place la CI/CD
• Pipeline as code (YAML)
Nice – 08/10/2020
Workflow
Slide 12
Slide 12 text
• Tâches stand alone packagées
Nice – 08/10/2020
Actions
Slide 13
Slide 13 text
Démo
Github Action
Nice – 08/10/2020
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#)
• Utilisable avec les Github Actions
Nice – 08/10/2020
Packages
Slide 15
Slide 15 text
• Github package supporte désormais la gestion des images docker.
• Gratuit pour les images publiques
• En beta depuis septembre 2020
Nice – 08/10/2020
Container Registry
Slide 16
Slide 16 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
Nice – 08/10/2020
Sécurité
Slide 17
Slide 17 text
Démo
Github & Security
Nice – 08/10/2020
Slide 18
Slide 18 text
Communauté axée sur la sécurité et drivée par Github
Nice – 08/10/2020
Security Lab
Slide 19
Slide 19 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
Nice – 08/10/2020
Advisory Database
Slide 20
Slide 20 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é récemment par Github
• Bientôt intégré directement à Github (actuellement en preview via
Marketplace)
Nice – 08/10/2020
Dependabot
Slide 21
Slide 21 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
• …
• GA depuis 30 septembre
Nice – 08/10/2020
Scan de code
Slide 22
Slide 22 text
• Environnement de développement hébergé sur le cloud
• Permet de partager un environnement de développement préconfiguré
• Annoncé en mai 2020, actuellement en beta privée
Nice – 08/10/2020
Codespaces