SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Franck Cornu
Consultant Office 365 @aequos_ca
Montréal, QC
Implémentez votre
prochain assistant
personnel d’intranet
SharePoint grâce au Bot
Framework et SPFx
#MWCP2018
#MWCP2018
MODERN WORKPLACE CONFERENCE PARIS
DU 16 AU 18 OCTOBRE 2018
2
#MWCP2018
ATTENTION,
CECI EST UNE SESSION POUR LES DÉVELOPPEURS
code
Un bot dans un
intranet SharePoint,
pour quoi faire?
#MWCP2018
INTÉGRER UN BOT DANS SHAREPOINT
Scénario basique  aide à la recherche d’information
(anonyme)
« Quel est le menu de la cantine ? »
Scénario intermédiaire  aide à la recherche d’information
(personnalisée)
«Quelle est la politique de vacances de l’entreprise? »
« Donne moi la liste de mes dernières requêtes à approuver »
Scénario avancé  aide à l’action (avec Flow par exemple)
« Je souhaite réserver une salle de conférence »
« Je souhaite signaler un congé maladie »
Objectif: Rendre les utilisateurs plus autonomes dans les tâches courantes
#MWCP2018
LE BOT SELON MICROSOFT: “LE BOT FRAMEWORK”
• Bot ≠ IA, Bot = aiguilleur des discussions
• Une implémentation logique pour plusieurs canaux (Web, Chat,
Teams, Direct Line, etc.)
• « Web App Bot » ou « Function App Bot »
• SDK pour C# ou Node JS (BotBuilder)
• Système de dialogue par défaut (routes + waterfall steps)
• Prise en compte de formats par défaut pour afficher l’information
(« cards »)
• Stockage d’informations par utilisateur/conversation = Bot State
Service
• SDK disponible sur GitHub pour QnA maker, LUIS, etc.
• Un bot tout seul ne sert à rien…
#MWCP2018
QUELLES PROBLÉMATIQUES D’INTÉGRATION?
 Comment récupérer les informations propres à l’utilisateur (Microsoft Graph,
service web métier, etc.) pour améliorer l’interactivité et la pertinence d’un bot?
La gestion de l’authentification, quelques challenges techniques
• Bien que vous soyez déjà authentifié dans vos applications (Teams, SharePoint, etc.), le b
ot, lui, ne le sait pas…
• Dans le cas de données Office 365, authentification avec Azure AD + accès délégué néce
ssaire...
• Éviter l’authentification en mode« App Only » pour des raisons de sécurité évidentes.
#MWCP2018
QUELLES STRATÉGIES POSSIBLES?
 Tout dépend des canaux que vous souhaitez utiliser pour votre bot:
SharePoint seulement
• Flux implicite OAuth2 avec MSAL.js (Microsoft Authentication
Library) et Azure AD v2
• SPFx AAD Token Provider (> 1.6.0)
SharePoint + autres canaux (Teams, Skype For Business, etc.)
• Flux avec code d’autorisation OAuth2 avec ADAL (Node.js) et
Azure AD v1
• AuthBot (C#) (AAD v1/v2)
• Authentification Azure AD intégrée avec Bot Service
…
#MWCP2018
AZURE AD V1 VS V2 (QUELQUES RAPPELS)
V1 V2
Portail d’enregistrement d’applications portal.azure.com apps.dev.microsoft.com
Support des plateformes Une application par plateforme
Un seule application pour toutes les
plateformes (Web, Client natif)
Types de comptes Comptes Azure AD uniquement Comptes Microsoft et Azure AD
Gestion des permissions
Permissions statiques définies au niveau
de l’application elle-même.
Permissions dynamiques pour l’accès aux
ressources (« scopes »)
Librairie clientes Javascript ADAL.js, ADAL (Node) MSAL.js, Pas de version Node.js
FLUX IMPLICITE OAUTH2 AVEC MSAL.JS ET AZURE AD V2
DEMO 1
#MWCP2018
FLUX IMPLICITE AVEC MSAL
#MWCP2018
FLUX IMPLICITE AVEC MSAL, CE QU’IL FAUT RETENIR
https://github.com/SharePoint/sp-dev-fx-extension
s/tree/master/samples/react-msal-bot
• Utilisele fluximplicite OAuth2avec Azure ADv2.L’utilisateur doit
s’identifier unepremière foissous forme depopup grâce àMSAL.
• Utilisation du « backchannel» pour passer le token d’accès au bot qui le
stocke pendant unedurée configurable (conversation seulement ou plus
étendu).
• Lebot negère pas leprocessus d’authentification. Lalogique est plus
simple et concentrée surles dialogues.
• Lebot peut être implémenté avec uneAzure Function ou Web App
• Cette solution nesupportequ’unseulcanal(Web).
• Utilisation du contrôle « Microsoft Bot Framework Web Chat » en React
+extensionSPFx pour l’interface avec l’utilisateur (extensionobligatoire)
pour quelapopup MSAL seferme).
SPFX ET AAD TOKEN PROVIDER
DEMO 2
FLUX AVEC CODE D’AUTORISATION OAUTH2 AVEC ADAL (
NODE.JS) ET AZURE AD V1
DEMO 3
#MWCP2018
FLUX AVEC CODE D’AUTORISATION ET ADAL (NODE.JS)
#MWCP2018
FLUX AVEC CODE D’AUTORISATION ET ADAL, CE QU’IL FAUT RETENIR
https://github.com/SharePoint/sp-dev-fx-extension
s/tree/master/samples/react-adal-bot
• Utilisele fluxavec code d’autorisation OAuth2avec Azure AD v1. L’utilisateur doit
s’identifier unepremière foissous forme d’un nouvel onglet grâce àADAL.
L’URL pour l’authentification est construite manuellement.
• Utilisation des cartes « Sign-In » àl’intérieur même dela conservation avec le
bot.
• Lebot gère le processus d’authentification de bout en bout.La solutionest plus
compliquée et demande plusde configuration. Utilisation du paramètre
« state » pourpasser la sessionen cours avec le Bot après l’authentification.
• Contrôle total surla manière de s’authentifier(grâce à l’URL). Àvous de
déterminer lafréquence de réauthentification (bot state andAAD token lifetime)
• Cette solution supporte plusieurscanaux(Teams, Skype, etc.)
• Utilisation du contrôle « Microsoft Bot Framework Web Chat » en React +
extensionSPFx pour l’interface avec l’utilisateur.
• Web App seulement (pas d’Azure Function)
https://www.youtube.com/watch?v=uFhQm5aQJlw
AUTHENTIFICATION INTÉGRÉE AZURE BOT SERVICE
DEMO 4
#MWCP2018
AUTHENTIFICATION INTÉGRÉE AZURE BOT SERVICE, CE QU’IL FAUT RETENIR
https://docs.microsoft.com/en-us/azure/bot-servic
e/bot-builder-tutorial-authentication?view=azure-
bot-service-3.0
• LeBot service secharge de tout leprocessus d’authentification
(gestion du token, etc.) pour vous.
• Supporte Azure AD v1, v2 et unemultitude de fournisseurs
d’identité (GitHub, Facebook, etc).
• Azure Function ou Web App Bot
• Fonctionnement opaque
• Vient tout justede sortir!
#MWCP2018
ET ENSUITE?
• Utilisation des services cognitifs Microsoft
• Reconnaissance d’intentions avec LUIS
• Questions/Réponse avec le QnA maker
• Analyse de texte pour détection de langue, extraction
de sentiments
• Correcteur orthographiques
• Etc.
• Automatisation d’actions  Adaptive cards!
• Ex: couplées à Microsoft Flow + Azure
Functions/Logic Apps
#MWCP2018
RÉSUMÉ DES DIFFÉRENTES STRATÉGIES
Méthode  
SPFx + AAD Token Provider
Très simple à mettre en place
SSO « Like »
Valide seulement pour SharePoint et
SPFx > 1.6.0
MSAL + Flux implicite
Logique du bot plus simple à maintenir
Librairie facile d’utilisation avec SPFx
Azure AD v2
Pas de SSO (popup systématique)
Expérience moins performante la
première connexion
Valide seulement pour un seul canal Web
Pas de version Node.js
ADAL.js (Node.js) +
Flux avec code d’autorisation
Approche valide pour plusieurs canaux
Authentification en un clique en mode Web
Contrôle total du flux (flexibilité)
Plus complexe à mettre en œuvre
au niveau du bot
Azure AD v1
Authentification intégrée du Bot Service
Peu de travail à faire au niveau du bot
Pas de gestion du flux à faire à la main
Pas éprouvé encore
Pas de maitrise sur les paramètres
et le flux d’authentification (opaque)
#MWCP2018
CONCLUSION
Pour être vraiment efficace, un bot doit connaître
ses utilisateurs…
 Quelques questions fondamentales à se poser avant de vous lancer dans un projet de
bot pour votre intranet:
• Quel scénario cherche t-on à résoudre (recherche, automatisation d'action, etc.)?
• Est-ce qu’un bot est la bonne solution? Si oui:
• Quels seront les canaux utilisés?
• Quelles seront les ressources à accéder? De quelles permissions va-t-on a
voir besoin? Vont-elles évoluer au cours du temps (v1 vs v2)?
• Quelle sera l’expérience d’authentification pour chaque canal?
• Quel(s) format(s) pour les résultats? Quelle est la compatibilité pour chaq
ue canal?
• Dois-je faire appel à des services externes (Flow, Azure, etc.)? De quelle in
formation ai-je besoin?
MERCI BEAUCOUP!
THANK YOU! #MWCP2018

Weitere ähnliche Inhalte

Was ist angesagt?

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 BiretSPS Paris
 
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 2013Nabil Babaci
 
Présentation SharePoint 2013
Présentation SharePoint 2013Présentation SharePoint 2013
Présentation SharePoint 2013Laurent Rouable
 
SharePoint dans le Nuage toutes les options 2014-04-14
SharePoint dans le Nuage  toutes les options   2014-04-14SharePoint dans le Nuage  toutes les options   2014-04-14
SharePoint dans le Nuage toutes les options 2014-04-14Patrick Guimonet
 
Soc204 - visio 2013, SharePoint 2013, office 365: le trio infernal
Soc204 - visio 2013, SharePoint 2013, office 365: le trio infernalSoc204 - visio 2013, SharePoint 2013, office 365: le trio infernal
Soc204 - visio 2013, SharePoint 2013, office 365: le trio infernalNicolas Georgeault
 
Conf'SharePoint 2013 - B08 quelle stratégie de migration vers SharePoint 2013
Conf'SharePoint 2013 - B08   quelle stratégie de migration vers SharePoint 2013Conf'SharePoint 2013 - B08   quelle stratégie de migration vers SharePoint 2013
Conf'SharePoint 2013 - B08 quelle stratégie de migration vers SharePoint 2013Patrick Guimonet
 
JSS2013 Session SharePoint pour le dba sql v1.0
JSS2013 Session SharePoint pour le dba sql v1.0JSS2013 Session SharePoint pour le dba sql v1.0
JSS2013 Session SharePoint pour le dba sql v1.0Patrick Guimonet
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Franck Cornu
 
Conf'SharePoint 2013 - C06 approfondissons la nouvelle architecture sociale...
Conf'SharePoint 2013 - C06   approfondissons la nouvelle architecture sociale...Conf'SharePoint 2013 - C06   approfondissons la nouvelle architecture sociale...
Conf'SharePoint 2013 - C06 approfondissons la nouvelle architecture sociale...Patrick Guimonet
 

Was ist angesagt? (9)

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
 
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
 
Présentation SharePoint 2013
Présentation SharePoint 2013Présentation SharePoint 2013
Présentation SharePoint 2013
 
SharePoint dans le Nuage toutes les options 2014-04-14
SharePoint dans le Nuage  toutes les options   2014-04-14SharePoint dans le Nuage  toutes les options   2014-04-14
SharePoint dans le Nuage toutes les options 2014-04-14
 
Soc204 - visio 2013, SharePoint 2013, office 365: le trio infernal
Soc204 - visio 2013, SharePoint 2013, office 365: le trio infernalSoc204 - visio 2013, SharePoint 2013, office 365: le trio infernal
Soc204 - visio 2013, SharePoint 2013, office 365: le trio infernal
 
Conf'SharePoint 2013 - B08 quelle stratégie de migration vers SharePoint 2013
Conf'SharePoint 2013 - B08   quelle stratégie de migration vers SharePoint 2013Conf'SharePoint 2013 - B08   quelle stratégie de migration vers SharePoint 2013
Conf'SharePoint 2013 - B08 quelle stratégie de migration vers SharePoint 2013
 
JSS2013 Session SharePoint pour le dba sql v1.0
JSS2013 Session SharePoint pour le dba sql v1.0JSS2013 Session SharePoint pour le dba sql v1.0
JSS2013 Session SharePoint pour le dba sql v1.0
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
 
Conf'SharePoint 2013 - C06 approfondissons la nouvelle architecture sociale...
Conf'SharePoint 2013 - C06   approfondissons la nouvelle architecture sociale...Conf'SharePoint 2013 - C06   approfondissons la nouvelle architecture sociale...
Conf'SharePoint 2013 - C06 approfondissons la nouvelle architecture sociale...
 

Ähnlich wie Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au Bot Framework et SPFx

2018-10-18 J2 4D - Implémentez votre prochain assistant personnel d’intranet ...
2018-10-18 J2 4D - Implémentez votre prochain assistant personnel d’intranet ...2018-10-18 J2 4D - Implémentez votre prochain assistant personnel d’intranet ...
2018-10-18 J2 4D - Implémentez votre prochain assistant personnel d’intranet ...Modern Workplace Conference Paris
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...GSoft
 
Introduction dev office 365 2015 group usagers SharePoint Montreal
Introduction dev office 365 2015 group usagers SharePoint MontrealIntroduction dev office 365 2015 group usagers SharePoint Montreal
Introduction dev office 365 2015 group usagers SharePoint MontrealVincent Biret
 
Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013Nabil Babaci
 
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 : FlowSabrine Chouk
 
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
 
Documation 2011: SharePoint online comme plateforme e-business B2B
Documation 2011: SharePoint online comme plateforme e-business B2BDocumation 2011: SharePoint online comme plateforme e-business B2B
Documation 2011: SharePoint online comme plateforme e-business B2BNicolas Georgeault
 
SharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantSharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantMicrosoft
 
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsIntegration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsCellenza
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Microsoft Technet France
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
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
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Cédric Leblond
 
Guspqc oct 2018 #msignite news dev
Guspqc oct 2018  #msignite news devGuspqc oct 2018  #msignite news dev
Guspqc oct 2018 #msignite news devVincent Biret
 
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œilVisual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œilMicrosoft Technet France
 
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 hybridesNabil Babaci
 
14.4 tout ce que vous voulez savoir sur l'authentification par revendications
14.4   tout ce que vous voulez savoir sur l'authentification par revendications14.4   tout ce que vous voulez savoir sur l'authentification par revendications
14.4 tout ce que vous voulez savoir sur l'authentification par revendicationsNicolas Georgeault
 
SharePoint Days Casablanca 2016 - Les nouveautés de SharePoint 2016
SharePoint Days Casablanca 2016 -  Les nouveautés de SharePoint 2016SharePoint Days Casablanca 2016 -  Les nouveautés de SharePoint 2016
SharePoint Days Casablanca 2016 - Les nouveautés de SharePoint 2016Benoit Jester
 
La gouvernance de SharePoint 2013 et architectures Hybrides
La gouvernance de SharePoint 2013 et architectures HybridesLa gouvernance de SharePoint 2013 et architectures Hybrides
La gouvernance de SharePoint 2013 et architectures HybridesMicrosoft Technet France
 

Ähnlich wie Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au Bot Framework et SPFx (20)

2018-10-18 J2 4D - Implémentez votre prochain assistant personnel d’intranet ...
2018-10-18 J2 4D - Implémentez votre prochain assistant personnel d’intranet ...2018-10-18 J2 4D - Implémentez votre prochain assistant personnel d’intranet ...
2018-10-18 J2 4D - Implémentez votre prochain assistant personnel d’intranet ...
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
 
Introduction dev office 365 2015 group usagers SharePoint Montreal
Introduction dev office 365 2015 group usagers SharePoint MontrealIntroduction dev office 365 2015 group usagers SharePoint Montreal
Introduction dev office 365 2015 group usagers SharePoint Montreal
 
Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013
 
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
 
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)
 
Documation 2011: SharePoint online comme plateforme e-business B2B
Documation 2011: SharePoint online comme plateforme e-business B2BDocumation 2011: SharePoint online comme plateforme e-business B2B
Documation 2011: SharePoint online comme plateforme e-business B2B
 
SharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantSharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnant
 
Dreamforce Global Gathering
Dreamforce Global GatheringDreamforce Global Gathering
Dreamforce Global Gathering
 
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsIntegration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
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...
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !
 
Guspqc oct 2018 #msignite news dev
Guspqc oct 2018  #msignite news devGuspqc oct 2018  #msignite news dev
Guspqc oct 2018 #msignite news dev
 
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œilVisual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
 
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
 
14.4 tout ce que vous voulez savoir sur l'authentification par revendications
14.4   tout ce que vous voulez savoir sur l'authentification par revendications14.4   tout ce que vous voulez savoir sur l'authentification par revendications
14.4 tout ce que vous voulez savoir sur l'authentification par revendications
 
SharePoint Days Casablanca 2016 - Les nouveautés de SharePoint 2016
SharePoint Days Casablanca 2016 -  Les nouveautés de SharePoint 2016SharePoint Days Casablanca 2016 -  Les nouveautés de SharePoint 2016
SharePoint Days Casablanca 2016 - Les nouveautés de SharePoint 2016
 
La gouvernance de SharePoint 2013 et architectures Hybrides
La gouvernance de SharePoint 2013 et architectures HybridesLa gouvernance de SharePoint 2013 et architectures Hybrides
La gouvernance de SharePoint 2013 et architectures Hybrides
 

Mehr von Franck Cornu

SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...
SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...
SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...Franck Cornu
 
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?Franck Cornu
 
Intranets et sites web en SharePoint 2013 avec le Cross Site Publishing
Intranets et sites web en SharePoint 2013 avec le Cross Site PublishingIntranets et sites web en SharePoint 2013 avec le Cross Site Publishing
Intranets et sites web en SharePoint 2013 avec le Cross Site PublishingFranck Cornu
 
Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Franck Cornu
 
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...Franck Cornu
 
Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Franck Cornu
 
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...Franck Cornu
 
Cross Site Publishing Solution for corporate news in SP 2013
Cross Site Publishing Solution for corporate news in SP 2013Cross Site Publishing Solution for corporate news in SP 2013
Cross Site Publishing Solution for corporate news in SP 2013Franck Cornu
 
Concevoir des applications SharePoint basées sur la recherche
Concevoir des applications SharePoint basées sur la rechercheConcevoir des applications SharePoint basées sur la recherche
Concevoir des applications SharePoint basées sur la rechercheFranck Cornu
 
Réussir son analyse fonctionnelle SharePoint
Réussir son analyse fonctionnelle SharePointRéussir son analyse fonctionnelle SharePoint
Réussir son analyse fonctionnelle SharePointFranck Cornu
 

Mehr von Franck Cornu (10)

SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...
SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...
SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...
 
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?
 
Intranets et sites web en SharePoint 2013 avec le Cross Site Publishing
Intranets et sites web en SharePoint 2013 avec le Cross Site PublishingIntranets et sites web en SharePoint 2013 avec le Cross Site Publishing
Intranets et sites web en SharePoint 2013 avec le Cross Site Publishing
 
Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!
 
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...
 
Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!
 
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...
 
Cross Site Publishing Solution for corporate news in SP 2013
Cross Site Publishing Solution for corporate news in SP 2013Cross Site Publishing Solution for corporate news in SP 2013
Cross Site Publishing Solution for corporate news in SP 2013
 
Concevoir des applications SharePoint basées sur la recherche
Concevoir des applications SharePoint basées sur la rechercheConcevoir des applications SharePoint basées sur la recherche
Concevoir des applications SharePoint basées sur la recherche
 
Réussir son analyse fonctionnelle SharePoint
Réussir son analyse fonctionnelle SharePointRéussir son analyse fonctionnelle SharePoint
Réussir son analyse fonctionnelle SharePoint
 

Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au Bot Framework et SPFx

  • 1. Franck Cornu Consultant Office 365 @aequos_ca Montréal, QC Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au Bot Framework et SPFx #MWCP2018
  • 2. #MWCP2018 MODERN WORKPLACE CONFERENCE PARIS DU 16 AU 18 OCTOBRE 2018 2
  • 3. #MWCP2018 ATTENTION, CECI EST UNE SESSION POUR LES DÉVELOPPEURS code
  • 4. Un bot dans un intranet SharePoint, pour quoi faire?
  • 5. #MWCP2018 INTÉGRER UN BOT DANS SHAREPOINT Scénario basique  aide à la recherche d’information (anonyme) « Quel est le menu de la cantine ? » Scénario intermédiaire  aide à la recherche d’information (personnalisée) «Quelle est la politique de vacances de l’entreprise? » « Donne moi la liste de mes dernières requêtes à approuver » Scénario avancé  aide à l’action (avec Flow par exemple) « Je souhaite réserver une salle de conférence » « Je souhaite signaler un congé maladie » Objectif: Rendre les utilisateurs plus autonomes dans les tâches courantes
  • 6. #MWCP2018 LE BOT SELON MICROSOFT: “LE BOT FRAMEWORK” • Bot ≠ IA, Bot = aiguilleur des discussions • Une implémentation logique pour plusieurs canaux (Web, Chat, Teams, Direct Line, etc.) • « Web App Bot » ou « Function App Bot » • SDK pour C# ou Node JS (BotBuilder) • Système de dialogue par défaut (routes + waterfall steps) • Prise en compte de formats par défaut pour afficher l’information (« cards ») • Stockage d’informations par utilisateur/conversation = Bot State Service • SDK disponible sur GitHub pour QnA maker, LUIS, etc. • Un bot tout seul ne sert à rien…
  • 7. #MWCP2018 QUELLES PROBLÉMATIQUES D’INTÉGRATION?  Comment récupérer les informations propres à l’utilisateur (Microsoft Graph, service web métier, etc.) pour améliorer l’interactivité et la pertinence d’un bot? La gestion de l’authentification, quelques challenges techniques • Bien que vous soyez déjà authentifié dans vos applications (Teams, SharePoint, etc.), le b ot, lui, ne le sait pas… • Dans le cas de données Office 365, authentification avec Azure AD + accès délégué néce ssaire... • Éviter l’authentification en mode« App Only » pour des raisons de sécurité évidentes.
  • 8. #MWCP2018 QUELLES STRATÉGIES POSSIBLES?  Tout dépend des canaux que vous souhaitez utiliser pour votre bot: SharePoint seulement • Flux implicite OAuth2 avec MSAL.js (Microsoft Authentication Library) et Azure AD v2 • SPFx AAD Token Provider (> 1.6.0) SharePoint + autres canaux (Teams, Skype For Business, etc.) • Flux avec code d’autorisation OAuth2 avec ADAL (Node.js) et Azure AD v1 • AuthBot (C#) (AAD v1/v2) • Authentification Azure AD intégrée avec Bot Service …
  • 9. #MWCP2018 AZURE AD V1 VS V2 (QUELQUES RAPPELS) V1 V2 Portail d’enregistrement d’applications portal.azure.com apps.dev.microsoft.com Support des plateformes Une application par plateforme Un seule application pour toutes les plateformes (Web, Client natif) Types de comptes Comptes Azure AD uniquement Comptes Microsoft et Azure AD Gestion des permissions Permissions statiques définies au niveau de l’application elle-même. Permissions dynamiques pour l’accès aux ressources (« scopes ») Librairie clientes Javascript ADAL.js, ADAL (Node) MSAL.js, Pas de version Node.js
  • 10. FLUX IMPLICITE OAUTH2 AVEC MSAL.JS ET AZURE AD V2 DEMO 1
  • 12. #MWCP2018 FLUX IMPLICITE AVEC MSAL, CE QU’IL FAUT RETENIR https://github.com/SharePoint/sp-dev-fx-extension s/tree/master/samples/react-msal-bot • Utilisele fluximplicite OAuth2avec Azure ADv2.L’utilisateur doit s’identifier unepremière foissous forme depopup grâce àMSAL. • Utilisation du « backchannel» pour passer le token d’accès au bot qui le stocke pendant unedurée configurable (conversation seulement ou plus étendu). • Lebot negère pas leprocessus d’authentification. Lalogique est plus simple et concentrée surles dialogues. • Lebot peut être implémenté avec uneAzure Function ou Web App • Cette solution nesupportequ’unseulcanal(Web). • Utilisation du contrôle « Microsoft Bot Framework Web Chat » en React +extensionSPFx pour l’interface avec l’utilisateur (extensionobligatoire) pour quelapopup MSAL seferme).
  • 13. SPFX ET AAD TOKEN PROVIDER DEMO 2
  • 14. FLUX AVEC CODE D’AUTORISATION OAUTH2 AVEC ADAL ( NODE.JS) ET AZURE AD V1 DEMO 3
  • 15. #MWCP2018 FLUX AVEC CODE D’AUTORISATION ET ADAL (NODE.JS)
  • 16. #MWCP2018 FLUX AVEC CODE D’AUTORISATION ET ADAL, CE QU’IL FAUT RETENIR https://github.com/SharePoint/sp-dev-fx-extension s/tree/master/samples/react-adal-bot • Utilisele fluxavec code d’autorisation OAuth2avec Azure AD v1. L’utilisateur doit s’identifier unepremière foissous forme d’un nouvel onglet grâce àADAL. L’URL pour l’authentification est construite manuellement. • Utilisation des cartes « Sign-In » àl’intérieur même dela conservation avec le bot. • Lebot gère le processus d’authentification de bout en bout.La solutionest plus compliquée et demande plusde configuration. Utilisation du paramètre « state » pourpasser la sessionen cours avec le Bot après l’authentification. • Contrôle total surla manière de s’authentifier(grâce à l’URL). Àvous de déterminer lafréquence de réauthentification (bot state andAAD token lifetime) • Cette solution supporte plusieurscanaux(Teams, Skype, etc.) • Utilisation du contrôle « Microsoft Bot Framework Web Chat » en React + extensionSPFx pour l’interface avec l’utilisateur. • Web App seulement (pas d’Azure Function) https://www.youtube.com/watch?v=uFhQm5aQJlw
  • 17. AUTHENTIFICATION INTÉGRÉE AZURE BOT SERVICE DEMO 4
  • 18. #MWCP2018 AUTHENTIFICATION INTÉGRÉE AZURE BOT SERVICE, CE QU’IL FAUT RETENIR https://docs.microsoft.com/en-us/azure/bot-servic e/bot-builder-tutorial-authentication?view=azure- bot-service-3.0 • LeBot service secharge de tout leprocessus d’authentification (gestion du token, etc.) pour vous. • Supporte Azure AD v1, v2 et unemultitude de fournisseurs d’identité (GitHub, Facebook, etc). • Azure Function ou Web App Bot • Fonctionnement opaque • Vient tout justede sortir!
  • 19. #MWCP2018 ET ENSUITE? • Utilisation des services cognitifs Microsoft • Reconnaissance d’intentions avec LUIS • Questions/Réponse avec le QnA maker • Analyse de texte pour détection de langue, extraction de sentiments • Correcteur orthographiques • Etc. • Automatisation d’actions  Adaptive cards! • Ex: couplées à Microsoft Flow + Azure Functions/Logic Apps
  • 20. #MWCP2018 RÉSUMÉ DES DIFFÉRENTES STRATÉGIES Méthode   SPFx + AAD Token Provider Très simple à mettre en place SSO « Like » Valide seulement pour SharePoint et SPFx > 1.6.0 MSAL + Flux implicite Logique du bot plus simple à maintenir Librairie facile d’utilisation avec SPFx Azure AD v2 Pas de SSO (popup systématique) Expérience moins performante la première connexion Valide seulement pour un seul canal Web Pas de version Node.js ADAL.js (Node.js) + Flux avec code d’autorisation Approche valide pour plusieurs canaux Authentification en un clique en mode Web Contrôle total du flux (flexibilité) Plus complexe à mettre en œuvre au niveau du bot Azure AD v1 Authentification intégrée du Bot Service Peu de travail à faire au niveau du bot Pas de gestion du flux à faire à la main Pas éprouvé encore Pas de maitrise sur les paramètres et le flux d’authentification (opaque)
  • 21. #MWCP2018 CONCLUSION Pour être vraiment efficace, un bot doit connaître ses utilisateurs…  Quelques questions fondamentales à se poser avant de vous lancer dans un projet de bot pour votre intranet: • Quel scénario cherche t-on à résoudre (recherche, automatisation d'action, etc.)? • Est-ce qu’un bot est la bonne solution? Si oui: • Quels seront les canaux utilisés? • Quelles seront les ressources à accéder? De quelles permissions va-t-on a voir besoin? Vont-elles évoluer au cours du temps (v1 vs v2)? • Quelle sera l’expérience d’authentification pour chaque canal? • Quel(s) format(s) pour les résultats? Quelle est la compatibilité pour chaq ue canal? • Dois-je faire appel à des services externes (Flow, Azure, etc.)? De quelle in formation ai-je besoin?