SlideShare une entreprise Scribd logo
Introduction au Microsoft
Graph démarrez vite et livrez
rapidement
Paris, 17-18 Octobre 2018
Vincent Biret
Passionné par les technologies, le développement et la communauté
Vincent Biret
@baywet
bit.ly/vincentbiret
Microsoft Office Dev MVP
Développeur Azure and Office 365 @ 2toLead
MODERN WORKPLACE CONFERENCE PARIS
DU 16 AU 18 OCTOBRE 2018
#MWCP18
Principalement aux développeurs mais aussi scrum masters, maitres d’ouvrages,
architectes et super utilisateurs curieux
A qui s’adresse cette session?
Agenda
•Intodruction au Microsoft Graph
•Authentification et autorisation
•Azure Fonctions
•Astuces
•Conclusion
Prêt(e)s?
Le Graph Microsoft
Peut importe votre modèle de développement le Graph Microsoft représente un accès à
une manne de données
Votre porte d’entrée vers Microsoft
Votre
app
Passerelle
Vos données
ou celles de
vos clients
Office 365 Windows 10 Mobilité + Securité d’entreprise
1Microsoft Graph
Le graph permet d’avoir un modèle d’auth, et d’API pour les services persos et pro
Comptes pros et persos
(ci nommée Lucienne)
Le Microsoft Graph est l’API chez Microsoft qui grandit le plus vite.
Quelques chiffres
1G+Réunions planifiées
chaque mois
181Pays
65M+Sièges “mobilité”
(55% crois.)
90%Des compagnie F500
Ont des données dans le
Graph
135M+Usagers mensuels actifs
dans Office 365
1.1GAuthentifications chaque
mois
https://graph.microsoft.com
Au départ lié à Office 365 le Graph devient l’API Microsoft par excellence pour les
données d’entreprise et personnelles
Quelles données disponibles?
Usagers, Groupes, Organisations
Outlook
SharePoint
OneDrive
Teams
Planner
Excel
OneNote
Activités
Relais Périphérique
Commandes
Notifications
Azure AD
Intune
Identity Manager
Advanced Threat Analytics
Advanced Threat Protection
Courriel, Calendrier,
Contacts et Tâches
Sites et Listes
“Disques” et Fichiers
Cannaux, Messages
Tâches et Plans
Feuilles de calcul
Notes, et plus…
Gestion d’identité
Contrôle d’accès
Synchronisation
Domaines
Unité administratives
Applications et Périphériques
Analyse des menaces
Protection contre les menaces
Alertes
Stratégies
et plus…
Office 365 Windows 10 Mobilité + Securité Entreprise
Dynamics 365
Finances
Un des points clef du Graph Microsoft est l’unification des données et des modèles
API vaste et transverse
SITES
GROUPS
USERSINSIGHTS
CONTACTS
PEOPLE
ORGANIZATION
EMAIL
CONTENT
DOCUMENTS
DEVICES
TEAMS
REPORTS
ME
ADMIN UNITS
ROLES
APPS
SECURITY DATA &
AUTOMATION
ORGANIZATION
USERS
BUSINESS
PARTNER
Microsoft propose un fonctionnement uniforme pour l’ensemble de ses APIs
Principes de base
• Les verbes HTTP représentent l’intention: GET | POST | PATCH | PUT | DELETE
• Version: /v1.0 or /beta
• Ressource: /users, /groups, /sites, /drives, /devices, …
• Membres de la collection: /users/jean
• Propriété: /users/jean/department
• Données liées via navigation: /users/jean/events
• Paramètres d’URL: /users/jean/events?$top=5
o Format: $select | $orderby
o Filtrer/Naviguer: $filter | $expand
o Pagination: $top | $skip | $skiptoken
/{version} ?{paramètres}/{ressource}/{id}/{propierté}
De nombreux langages sont supportés et les SDK sont open source
SDKs
Generally Available ( /v1.0 ) Preview ( /beta )
(en preview)
Et bientôt
Documentation, exemples, démarrages rapides, graph explorer et demander de l’aide
Demo
Authentification
et autorisation
Les resources fournies par le Graph sont toujours sécurisées. Selon le contexte d’auth,
vous obtenez/avez besoin de différent jetons
Principes de base
access_token
MSAL or
ADAL
Votre APP
Microsoft
Graph
id_token
access_token refresh_token
Microsoft
Identity
Il est crucial de bien étudier son flux d’authentification et d’autorisation avant de se
lancer dans le développement car l’impact est majeur!
Types de contextes
Les utilisateurs peuvent consenter pour leur données, les admins pour tous les
usagers
Les admins uniquement
peuvent consentir
Permissions
Déléguées
Privileges
Utilisateur
App
permissions
Type de permission : applicationType de permissions : déléguée
Obtenir un accès en tant qu’utilisateur Accès en tant que service
Permission EffectivesPermission Effectives
Les permissions suivent un modèle de description. Astuce: toujours demander la plus
petite permission dont vous avez besoin!
Structure des permissions/scopes
spécifique: .All,
.Shared, etc
Read,
ReadWrite,
etc.
Entité cible:
files, mail,
groups,
calendars,
etc…
Ex: User.Read Directory.ReadWrite.All
Ressource Action Scope
Microsoft travaille pour améliorer la situation. C’est pour ça qu’il est d’autant plus
important de bien choisir son authentification dès le départ.
Situation complexe
Votre
audience
cible
ADALSDK Client
Enreg. App
MSAL
Endpoint
Portails d’enregistrement
Demo
Azure Functions
Pousse dans la direction du « payez ce que vous consommez », de l’élasticité et fournit
une abstraction des serveurs.
Définition du « Serverless »
Vous permet de livrer des solutions plus rapidemment, de manière mieux structurée en
vous concentrant sur la logique métier.
Benéfices
La réponse de Microsoft à la mouvance “servlerless”
Azure Functions, présentation
10 langages supportés dans Azure Functions d’autres à venir!
Langages
Solution « je suis malade chef »
Demo
Astuces
Microsoft essaie d’améliorer l’expérience de développement autour du Graph
$whatif
• Simplement ajouter $whatif à la fin d’une requête pour savoir d’où viennent les
données
• Pratique pour débugger
• /me/?$whatif
{
"Description": "Execute HTTP request",
"Uri": "https://graph.windows.net/v2/c03a026e-335e-458c-bad2-
3309fe59663b/users('c9452811-4b6e-4073-b7cf-
3f681f55539b')?$select=businessPhones,displayName,givenName,jobTitle,mail,mobi
lePhone,officeLocation,preferredLanguage,surname,userPrincipalName,id",
"HttpMethod": "GET"
}
Bien maitriser Odata est essentiel pour bâtir des applications efficaces, même si vous
utilisez un SDK
Maitrisez votre OData!
• Ensembles
• $count
• $filter
• $expand
• $orderby
• $select
• $skip/$skipToken
• $top
• Recherche
• $search
• Valeurs
• $ref
• $value
Microsoft se doit de définir un cadre d’utilisation pour maintenir le service. Ce cadre est
définit à plusieurs niveaux et en fonction de plusieurs concepts, ce qui complexifie le
problème.
Throttling – le problème
• Office 365 est un ensemble de services, l’usage est toujours limité
• Ils reposent sur des resources limitées (CPU, mémoire, stockage…) et coûteuses
• Ces limites peuvent être dynamique ou fixées
• Utilisation API est dynamique
• Stockage pour un usage/une site coll est fixe
• Repousser ces limites: type et/ou nombre de licences
• L’utilisation d’API est limitée par usager (au départ)
• Evite d’impacter le service, les usagers et les revenus
L’idée est de limiter l’usage de la ressource, étaler les pics, permettre aux fonctionnalités
clefs de survivre en arrêtant les autres ou même de dire à l’usager de ralentir avant que
tout s’arrête.
Throttling – que pouvez vous faire?
• Utilisation de cache pour la lecture (si possible)
• In proc, en mémoire, cache distribué (Redis)
• Attention aux en-tête Rate-Limit Limit, Remaining, and Reset
• Attention aux 429’s ou 503’s et impl. « exponential back-off retry policies»*
• Ou mieux, essayez après le délais fournit par Retry-After
• Implémentez le DP “Circuit Breaker”
• Limitez votre trafic entrant en utilisant de la télémétrie
Conclusion
Au final tous ces gains se traduisent par des économies en développement et une plus
grande efficacité des usagers, ce qui veut dire meilleur ROI!
Conclusion
•Un potentiel considérable
•API consistente
•Bien penser son auth
•Les fonctions sont là pour vous
•Temps de livraison réduit
•Apps mieux intégrées
•Meilleure experience usagers
Bit.ly/vincentbiret @baywet slideshare.net/VincentBIRET
Merci!/Questions?
Vincent Biret
Office 365 and Azure
Developer, 2toLead
@baywet
Bit.ly/vince365

Contenu connexe

Tendances

SharePoint Foundation 2013 : Une solution pragmatique pour votre pme !
SharePoint Foundation 2013 : Une solution pragmatique pour votre pme !SharePoint Foundation 2013 : Une solution pragmatique pour votre pme !
SharePoint Foundation 2013 : Une solution pragmatique pour votre pme !
Laurent de Le Hoye
 
Global Azure Bootcamp 2019 Paris - Gouvernance financière dans Azure
Global Azure Bootcamp 2019 Paris - Gouvernance financière dans AzureGlobal Azure Bootcamp 2019 Paris - Gouvernance financière dans Azure
Global Azure Bootcamp 2019 Paris - Gouvernance financière dans Azure
Benoît SAUTIERE
 
Share point 2013 distributed cache
Share point 2013 distributed cacheShare point 2013 distributed cache
Share point 2013 distributed cache
Michael Nokhamzon
 
Heroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chrono
Heroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chronoHeroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chrono
Heroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chrono
Sylpheo
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Microsoft Technet France
 
Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013
Nabil Babaci
 
Retour d'experience Hybride
Retour d'experience HybrideRetour d'experience Hybride
Retour d'experience Hybride
Michael Nokhamzon
 
Gouvernance de Sharepoint 2013 et architectures hybrides
Gouvernance de Sharepoint 2013 et architectures hybridesGouvernance de Sharepoint 2013 et architectures hybrides
Gouvernance de Sharepoint 2013 et architectures hybrides
Nabil Babaci
 
Présentation sharepoint 2013
Présentation sharepoint 2013Présentation sharepoint 2013
Présentation sharepoint 2013
Mohammed Amine Mostefai
 
Site web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur AzureSite web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur Azure
Microsoft Technet France
 
Livre Blanc Windows Azure
Livre Blanc Windows AzureLivre Blanc Windows Azure
Livre Blanc Windows Azure
fchambaron
 
Retour d’expérience sur le monitoring et la sécurisation des identités Azure
Retour d’expérience sur le monitoring et la sécurisation des identités AzureRetour d’expérience sur le monitoring et la sécurisation des identités Azure
Retour d’expérience sur le monitoring et la sécurisation des identités Azure
Maxime Rastello
 
SharePoint 2013
SharePoint 2013SharePoint 2013
SharePoint 2013
Jonathan Le Guellec
 
Presentation mididulibrev2.0
Presentation mididulibrev2.0Presentation mididulibrev2.0
Presentation mididulibrev2.0
robertpluss
 
Présentation SharePoint 2013
Présentation SharePoint 2013Présentation SharePoint 2013
Présentation SharePoint 2013
Laurent Rouable
 
Monter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows AzureMonter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows Azure
Microsoft Technet France
 

Tendances (16)

SharePoint Foundation 2013 : Une solution pragmatique pour votre pme !
SharePoint Foundation 2013 : Une solution pragmatique pour votre pme !SharePoint Foundation 2013 : Une solution pragmatique pour votre pme !
SharePoint Foundation 2013 : Une solution pragmatique pour votre pme !
 
Global Azure Bootcamp 2019 Paris - Gouvernance financière dans Azure
Global Azure Bootcamp 2019 Paris - Gouvernance financière dans AzureGlobal Azure Bootcamp 2019 Paris - Gouvernance financière dans Azure
Global Azure Bootcamp 2019 Paris - Gouvernance financière dans Azure
 
Share point 2013 distributed cache
Share point 2013 distributed cacheShare point 2013 distributed cache
Share point 2013 distributed cache
 
Heroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chrono
Heroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chronoHeroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chrono
Heroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chrono
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013
 
Retour d'experience Hybride
Retour d'experience HybrideRetour d'experience Hybride
Retour d'experience Hybride
 
Gouvernance de Sharepoint 2013 et architectures hybrides
Gouvernance de Sharepoint 2013 et architectures hybridesGouvernance de Sharepoint 2013 et architectures hybrides
Gouvernance de Sharepoint 2013 et architectures hybrides
 
Présentation sharepoint 2013
Présentation sharepoint 2013Présentation sharepoint 2013
Présentation sharepoint 2013
 
Site web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur AzureSite web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur Azure
 
Livre Blanc Windows Azure
Livre Blanc Windows AzureLivre Blanc Windows Azure
Livre Blanc Windows Azure
 
Retour d’expérience sur le monitoring et la sécurisation des identités Azure
Retour d’expérience sur le monitoring et la sécurisation des identités AzureRetour d’expérience sur le monitoring et la sécurisation des identités Azure
Retour d’expérience sur le monitoring et la sécurisation des identités Azure
 
SharePoint 2013
SharePoint 2013SharePoint 2013
SharePoint 2013
 
Presentation mididulibrev2.0
Presentation mididulibrev2.0Presentation mididulibrev2.0
Presentation mididulibrev2.0
 
Présentation SharePoint 2013
Présentation SharePoint 2013Présentation SharePoint 2013
Présentation SharePoint 2013
 
Monter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows AzureMonter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows Azure
 

Similaire à Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18

Global Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft GraphGlobal Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Vincent Biret
 
#SPSParis quoi de neuf avec le microsoft graph
#SPSParis quoi de neuf avec le microsoft graph#SPSParis quoi de neuf avec le microsoft graph
#SPSParis quoi de neuf avec le microsoft graph
Vincent Biret
 
U1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
U1 - Quoi de neuf avec le Microsoft Graph - Vincent BiretU1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
U1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
SPS Paris
 
#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams
Vincent Biret
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
Devclic
 
Aspectize meetup
Aspectize meetupAspectize meetup
Aspectize meetup
Aspectize
 
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)
serge luca
 
Introduction au nouveau moteur de workflow de Microsoft : Flow
Introduction au nouveau moteur de workflow de Microsoft : FlowIntroduction au nouveau moteur de workflow de Microsoft : Flow
Introduction au nouveau moteur de workflow de Microsoft : Flow
Sabrine Chouk
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
ENSIBS
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
Nicolas Georgeault
 
Objectif fluid<fab />
Objectif fluid<fab />Objectif fluid<fab />
Objectif fluid<fab />
∞ François CHERPION ∞
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Samir Arezki ☁
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
AZUG FR
 
BreizhCamp 2022
BreizhCamp 2022BreizhCamp 2022
BreizhCamp 2022
SpikeeLabs
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
Microsoft
 
Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net core
Sébastien Ollivier
 
Présentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël LaunayPrésentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël Launay
Technocite
 
Dictionnaire des termes techniques de la business intelligence v6
Dictionnaire des termes techniques de la business intelligence v6Dictionnaire des termes techniques de la business intelligence v6
Dictionnaire des termes techniques de la business intelligence v6
pformosa
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Microsoft Décideurs IT
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Microsoft Technet France
 

Similaire à Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18 (20)

Global Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft GraphGlobal Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
 
#SPSParis quoi de neuf avec le microsoft graph
#SPSParis quoi de neuf avec le microsoft graph#SPSParis quoi de neuf avec le microsoft graph
#SPSParis quoi de neuf avec le microsoft graph
 
U1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
U1 - Quoi de neuf avec le Microsoft Graph - Vincent BiretU1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
U1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
 
#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
 
Aspectize meetup
Aspectize meetupAspectize meetup
Aspectize meetup
 
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)
 
Introduction au nouveau moteur de workflow de Microsoft : Flow
Introduction au nouveau moteur de workflow de Microsoft : FlowIntroduction au nouveau moteur de workflow de Microsoft : Flow
Introduction au nouveau moteur de workflow de Microsoft : Flow
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
Objectif fluid<fab />
Objectif fluid<fab />Objectif fluid<fab />
Objectif fluid<fab />
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
BreizhCamp 2022
BreizhCamp 2022BreizhCamp 2022
BreizhCamp 2022
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net core
 
Présentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël LaunayPrésentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël Launay
 
Dictionnaire des termes techniques de la business intelligence v6
Dictionnaire des termes techniques de la business intelligence v6Dictionnaire des termes techniques de la business intelligence v6
Dictionnaire des termes techniques de la business intelligence v6
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
 

Plus de Vincent Biret

#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa
Vincent Biret
 
#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction
Vincent Biret
 
December #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demoDecember #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demo
Vincent Biret
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
Vincent Biret
 
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
Vincent Biret
 
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters
Vincent Biret
 
MS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slidesMS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slides
Vincent Biret
 
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introductionMS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
Vincent Biret
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph
Vincent Biret
 
#MicrosoftGraph Community call - automating your digital workplace provisioni...
#MicrosoftGraph Community call - automating your digital workplace provisioni...#MicrosoftGraph Community call - automating your digital workplace provisioni...
#MicrosoftGraph Community call - automating your digital workplace provisioni...
Vincent Biret
 
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
Vincent Biret
 
#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2
Vincent Biret
 
#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph
Vincent Biret
 
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
Vincent Biret
 
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènementsGroupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Vincent Biret
 
#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power
Vincent Biret
 
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
Vincent Biret
 
#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started
Vincent Biret
 
#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack
Vincent Biret
 
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
Vincent Biret
 

Plus de Vincent Biret (20)

#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa
 
#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction
 
December #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demoDecember #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demo
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
 
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
 
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters
 
MS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slidesMS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slides
 
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introductionMS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph
 
#MicrosoftGraph Community call - automating your digital workplace provisioni...
#MicrosoftGraph Community call - automating your digital workplace provisioni...#MicrosoftGraph Community call - automating your digital workplace provisioni...
#MicrosoftGraph Community call - automating your digital workplace provisioni...
 
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
 
#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2
 
#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph
 
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
 
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènementsGroupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
 
#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power
 
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
 
#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started
 
#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack
 
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
 

Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18

  • 1. Introduction au Microsoft Graph démarrez vite et livrez rapidement Paris, 17-18 Octobre 2018 Vincent Biret
  • 2. Passionné par les technologies, le développement et la communauté Vincent Biret @baywet bit.ly/vincentbiret Microsoft Office Dev MVP Développeur Azure and Office 365 @ 2toLead
  • 3. MODERN WORKPLACE CONFERENCE PARIS DU 16 AU 18 OCTOBRE 2018 #MWCP18
  • 4. Principalement aux développeurs mais aussi scrum masters, maitres d’ouvrages, architectes et super utilisateurs curieux A qui s’adresse cette session?
  • 5. Agenda •Intodruction au Microsoft Graph •Authentification et autorisation •Azure Fonctions •Astuces •Conclusion
  • 8. Peut importe votre modèle de développement le Graph Microsoft représente un accès à une manne de données Votre porte d’entrée vers Microsoft Votre app Passerelle Vos données ou celles de vos clients Office 365 Windows 10 Mobilité + Securité d’entreprise 1Microsoft Graph
  • 9. Le graph permet d’avoir un modèle d’auth, et d’API pour les services persos et pro Comptes pros et persos (ci nommée Lucienne)
  • 10. Le Microsoft Graph est l’API chez Microsoft qui grandit le plus vite. Quelques chiffres 1G+Réunions planifiées chaque mois 181Pays 65M+Sièges “mobilité” (55% crois.) 90%Des compagnie F500 Ont des données dans le Graph 135M+Usagers mensuels actifs dans Office 365 1.1GAuthentifications chaque mois
  • 11. https://graph.microsoft.com Au départ lié à Office 365 le Graph devient l’API Microsoft par excellence pour les données d’entreprise et personnelles Quelles données disponibles? Usagers, Groupes, Organisations Outlook SharePoint OneDrive Teams Planner Excel OneNote Activités Relais Périphérique Commandes Notifications Azure AD Intune Identity Manager Advanced Threat Analytics Advanced Threat Protection Courriel, Calendrier, Contacts et Tâches Sites et Listes “Disques” et Fichiers Cannaux, Messages Tâches et Plans Feuilles de calcul Notes, et plus… Gestion d’identité Contrôle d’accès Synchronisation Domaines Unité administratives Applications et Périphériques Analyse des menaces Protection contre les menaces Alertes Stratégies et plus… Office 365 Windows 10 Mobilité + Securité Entreprise Dynamics 365 Finances
  • 12. Un des points clef du Graph Microsoft est l’unification des données et des modèles API vaste et transverse SITES GROUPS USERSINSIGHTS CONTACTS PEOPLE ORGANIZATION EMAIL CONTENT DOCUMENTS DEVICES TEAMS REPORTS ME ADMIN UNITS ROLES APPS SECURITY DATA & AUTOMATION ORGANIZATION USERS BUSINESS PARTNER
  • 13. Microsoft propose un fonctionnement uniforme pour l’ensemble de ses APIs Principes de base • Les verbes HTTP représentent l’intention: GET | POST | PATCH | PUT | DELETE • Version: /v1.0 or /beta • Ressource: /users, /groups, /sites, /drives, /devices, … • Membres de la collection: /users/jean • Propriété: /users/jean/department • Données liées via navigation: /users/jean/events • Paramètres d’URL: /users/jean/events?$top=5 o Format: $select | $orderby o Filtrer/Naviguer: $filter | $expand o Pagination: $top | $skip | $skiptoken /{version} ?{paramètres}/{ressource}/{id}/{propierté}
  • 14. De nombreux langages sont supportés et les SDK sont open source SDKs Generally Available ( /v1.0 ) Preview ( /beta ) (en preview) Et bientôt
  • 15. Documentation, exemples, démarrages rapides, graph explorer et demander de l’aide Demo
  • 17. Les resources fournies par le Graph sont toujours sécurisées. Selon le contexte d’auth, vous obtenez/avez besoin de différent jetons Principes de base access_token MSAL or ADAL Votre APP Microsoft Graph id_token access_token refresh_token Microsoft Identity
  • 18. Il est crucial de bien étudier son flux d’authentification et d’autorisation avant de se lancer dans le développement car l’impact est majeur! Types de contextes Les utilisateurs peuvent consenter pour leur données, les admins pour tous les usagers Les admins uniquement peuvent consentir Permissions Déléguées Privileges Utilisateur App permissions Type de permission : applicationType de permissions : déléguée Obtenir un accès en tant qu’utilisateur Accès en tant que service Permission EffectivesPermission Effectives
  • 19. Les permissions suivent un modèle de description. Astuce: toujours demander la plus petite permission dont vous avez besoin! Structure des permissions/scopes spécifique: .All, .Shared, etc Read, ReadWrite, etc. Entité cible: files, mail, groups, calendars, etc… Ex: User.Read Directory.ReadWrite.All Ressource Action Scope
  • 20. Microsoft travaille pour améliorer la situation. C’est pour ça qu’il est d’autant plus important de bien choisir son authentification dès le départ. Situation complexe Votre audience cible ADALSDK Client Enreg. App MSAL Endpoint
  • 23. Pousse dans la direction du « payez ce que vous consommez », de l’élasticité et fournit une abstraction des serveurs. Définition du « Serverless »
  • 24. Vous permet de livrer des solutions plus rapidemment, de manière mieux structurée en vous concentrant sur la logique métier. Benéfices
  • 25. La réponse de Microsoft à la mouvance “servlerless” Azure Functions, présentation
  • 26. 10 langages supportés dans Azure Functions d’autres à venir! Langages
  • 27. Solution « je suis malade chef » Demo
  • 29. Microsoft essaie d’améliorer l’expérience de développement autour du Graph $whatif • Simplement ajouter $whatif à la fin d’une requête pour savoir d’où viennent les données • Pratique pour débugger • /me/?$whatif { "Description": "Execute HTTP request", "Uri": "https://graph.windows.net/v2/c03a026e-335e-458c-bad2- 3309fe59663b/users('c9452811-4b6e-4073-b7cf- 3f681f55539b')?$select=businessPhones,displayName,givenName,jobTitle,mail,mobi lePhone,officeLocation,preferredLanguage,surname,userPrincipalName,id", "HttpMethod": "GET" }
  • 30. Bien maitriser Odata est essentiel pour bâtir des applications efficaces, même si vous utilisez un SDK Maitrisez votre OData! • Ensembles • $count • $filter • $expand • $orderby • $select • $skip/$skipToken • $top • Recherche • $search • Valeurs • $ref • $value
  • 31. Microsoft se doit de définir un cadre d’utilisation pour maintenir le service. Ce cadre est définit à plusieurs niveaux et en fonction de plusieurs concepts, ce qui complexifie le problème. Throttling – le problème • Office 365 est un ensemble de services, l’usage est toujours limité • Ils reposent sur des resources limitées (CPU, mémoire, stockage…) et coûteuses • Ces limites peuvent être dynamique ou fixées • Utilisation API est dynamique • Stockage pour un usage/une site coll est fixe • Repousser ces limites: type et/ou nombre de licences • L’utilisation d’API est limitée par usager (au départ) • Evite d’impacter le service, les usagers et les revenus
  • 32. L’idée est de limiter l’usage de la ressource, étaler les pics, permettre aux fonctionnalités clefs de survivre en arrêtant les autres ou même de dire à l’usager de ralentir avant que tout s’arrête. Throttling – que pouvez vous faire? • Utilisation de cache pour la lecture (si possible) • In proc, en mémoire, cache distribué (Redis) • Attention aux en-tête Rate-Limit Limit, Remaining, and Reset • Attention aux 429’s ou 503’s et impl. « exponential back-off retry policies»* • Ou mieux, essayez après le délais fournit par Retry-After • Implémentez le DP “Circuit Breaker” • Limitez votre trafic entrant en utilisant de la télémétrie
  • 34. Au final tous ces gains se traduisent par des économies en développement et une plus grande efficacité des usagers, ce qui veut dire meilleur ROI! Conclusion •Un potentiel considérable •API consistente •Bien penser son auth •Les fonctions sont là pour vous •Temps de livraison réduit •Apps mieux intégrées •Meilleure experience usagers
  • 35. Bit.ly/vincentbiret @baywet slideshare.net/VincentBIRET Merci!/Questions? Vincent Biret Office 365 and Azure Developer, 2toLead @baywet Bit.ly/vince365

Notes de l'éditeur

  1. Gestion des questions, interaction, ok avec ce programme?
  2. Parler des insights aussi grâce à l’abondance des données
  3. https://github.com/microsoftgraph 
  4. + Stack overflow, github…
  5. Client credential flow: le service peut s’identifier tout seul sans impersonification (compte de service) On behalf flow: une app dans un context donné peut relayer son authentification via une API de confiance pour représenter l’app dans excel avec l’usager et pas seulement l’usager On behalf flow va aider énormément pour les office add-ins à accèder à des API custom https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-limitations https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-compare https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-service-to-service https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-on-behalf-of https://myignite.microsoft.com/sessions/55110?source=sessions
  6. Montrer aad.portal.azure.com, différence de chargement + pas besoin de souscription avec le portail apps.dev.microsoft.com
  7. https://docs.microsoft.com/en-us/azure/azure-functions/supported-languages
  8. https://developer.microsoft.com/en-us/graph/docs/concepts/query_parameters
  9. https://developer.microsoft.com/en-us/graph/docs/concepts/throttling https://docs.microsoft.com/en-us/azure/architecture/patterns/throttling https://blogs.msdn.microsoft.com/exchangedev/2017/04/07/throttling-coming-to-outlook-api-and-microsoft-graph/ https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/32797489-consistent-retry-after-information-accross-differe https://www.martinfowler.com/bliki/CircuitBreaker.html
  10. Money save = dev time saved, less support to provide, better product/service