Pourquoi vous ne devez plus utiliser Excel ?

Je le concède, le titre est un peu racoleur. J’utilise Excel régulièrement mais je pense qu’il est primordial, avant de l’utiliser, de comprendre la complexité de l’outil et les dérives que cela entraine. Et ensuite, quand je l’utilise, suis-je sûr qu’Excel est bien la meilleure solution ?

Un outil très puissant

Je pense ne choquer personne en affirmant qu’Excel est un outil très (très) puissant. Tableaux croisés- dynamiques, graphiques, fonctions, macros VBA… De nombreuses entreprises l’utilisent comme application métier pour des cas d’usages divers. Mais alors pourquoi c’est « mal » ?

À mon sens, il y a plusieurs raisons à cela. Comme je ne vais pas écrire un roman, je vais aujourd’hui vous présenter les trois raisons qui me semble les plus importantes, les détailler, et proposer une solution autour de Microsoft 365 pour chaque problème :

  • Sécurité
  • Maintenabilité
  • Shadow IT

Sécurité

La première problématique concerne la sécurité.

Pour illustrer mon raisonnement, rien de mieux qu’un exemple concret (et basé sur des faits réels). Il y a quelques années, je développais des applications web et je commence sur un projet pour une collectivité. Celle-ci calculait les cotisations de ses membres (on parle de centaines de millions d’euros) avec UN fichier Excel contenant une macro bien complexe… le tout déposé sur un partage réseau. Deux mois de développement à transcrire et reporter les méthodes de calcul dans une application web ! Un fichier est par définition volatile.

Cela veut dire, pour ce fichier, qu’une personne malveillante (ou pas d’ailleurs) y ayant accès peut le supprimer. À la rigueur, on peut éventuellement gérer ce cas avec une bonne stratégie de sauvegarde, sous réserve de détecter la suppression à temps.

Un autre scénario possible, plus difficile à détecter, est que cette même personne peut modifier le contenu du fichier. Si le fichier est stocké sur un disque dur ou un partage réseau, difficile de tracer l’historique et de revenir à la bonne version.

Troisième cas, probablement le pire, la personne peut faire une copie du fichier et l’envoyer par email (encore une application trop utilisée ;). Ici, non seulement on a 2 versions du même fichier, mais en plus on perd la confidentialité.

Alors oui on peut protéger un fichier Excel par mot de passe, mais un simple mot de passe, partagé qui plus est, est-il réellement suffisant pour sécuriser un fichier ? Sans éliminer Excel, des bonnes pratiques collaboratives de gestion documentaire permettent de corriger la plupart des problèmes (par exemple l’utilisation d’un outil offrant des fonctionnalités de gestion de versions et de partage comme SharePoint, avec une authentification forte).

Pour aller plus loin, il est souvent possible de remplacer un fichier Excel par une autre solution. En réalité, tout dépend du but du fichier et de l’usage qui en est fait. La Power Platform (Power BI, Power Apps, Power Automate) de Microsoft permet de répondre à pas mal de besoins. S’il s’agit par exemple de saisir et agréger des données, Power Apps peut très bien correspondre.

Maintenabilité

La deuxième problématique est celle de la maintenabilité.

Cette situation est probablement arrivée à beaucoup d’entre nous : on récupère un fichier Excel avec une macro, et, en l’ouvrant, on a un message d’erreur incompréhensible. Quelqu’un, on ne sait pas qui, on ne sait pas quand, a développé une macro sur le fichier pour faire on ne sait pas quoi. Avec ça on est bien avancé pour résoudre le problème…

Et puis on a toujours le même problème de versions. On a autant de versions potentielles de la macro qu’on a de copies du fichier.

Autre exemple qui illustre le problème de maintenabilité : le comptable de l’entreprise utilise un fichier Excel pour faire ses tableaux croisés dynamiques. Il part à la retraite, un autre comptable arrive et doit manipuler les données et formules issues du fichier Excel de son prédécesseur. Pas forcément évident pour s’y retrouver.

Il y a plusieurs moyens de résoudre ces problèmes.
D’abord concernant les fichiers avec macros ; beaucoup de projets de développement ces dernières années ont consisté à transformer un fichier Excel avec macro en une application. Pour les tableaux croisés dynamiques et les tableaux de bord, Power BI est l’outil fait pour ça. Pour la petite histoire, c’est d’ailleurs au départ un complément d’Excel.

Shadow IT

Dernière problématique, et probablement la plus courante, la génération de Shadow IT (création de système d’information non piloté par l’organisation).

Ce point est d’ailleurs extrêmement compliqué à identifier pour une DSI étant donné qu’une simple licence Office suffit à créer des applications métier à part entière

Je vous partage un autre exemple vécu qui me paraît intéressant pour illustrer le problème.
Une entreprise possède différents sites à travers la France et des agents des services techniques itinérants effectuent des interventions sur les différents sites. Une application est à leur disposition pour saisir les comptes-rendus d’intervention (catégorie, temps passé, etc..). Cependant, certains agents ne parviennent pas à utiliser correctement l’application (notamment par manque de connectivité réseau) et saisissent donc leurs comptes-rendus dans un fichier Excel.
À la fin du mois le directeur des services techniques consulte les tableaux de bords issus de l’application. Les données qu’il possède sont donc totalement fausses car elles ne sont pas ressaisies dans l’application.
Sans aller jusqu’à des problèmes aussi critiques, les cas sont nombreux, où la DSI met à disposition une application et comme cette application ne répond pas ou pas totalement au besoin des utilisateurs, elle est alors remplacée ou complétée par un fichier Excel.

La clé pour résoudre ce problème est d’impliquer les métiers dans l’intégration de nouvelles applications. Ce sont les plus à même de comprendre et détailler leurs besoins !
Dans mon exemple, le problème d’adoption de l’outil officiel venait du fait qu’on ne peut pas l’utiliser hors connexion. Une application Power Apps sur mobile pourrait probablement répondre à ce besoin.

En conclusion, Excel est un outil très puissant mais victime de son succès.
Microsoft 365 propose des outils, notamment autour de la Power Platform, permettant d’éviter les dérives et les écueils qui pourraient être générés par l’utilisation d’Excel. J’espère que dorénavant vous vous assurerez de vous poser les bonnes questions avant d’utiliser Excel.

Image by janjf93 from Pixabay

SharePoint Online : Nouvelle interface d’administration et Sites concentrateurs (Hub sites)


I. Nouvelle interface d’administration pour SharePoint Online

La nouvelle interface d’administration centrale de SharePoint dans Office 365 correspond davantage au nouveau visuel de l’expérience Moderne mais, surtout, elle possède de nouvelles fonctionnalités. Il est possible par exemple de visualiser les collections de sites modernes c’est-à-dire les  nouveaux sites de communication et d’équipe.

Quel rôle est nécessaire afin de pouvoir accéder à la nouvelle interface d’administration ?

Pour avoir accès à cette nouvelle interface, il vous faut le rôle d’administrateur SharePoint ou être administrateur de votre Tenant Office 365.

Quelles sont les nouveautés apportées dans cette nouvelle interface d’administration ?

Parmi les nouveautés, 3 volets composent désormais la page d’accueil de la nouvelle interface d’administration de SharePoint Online :

  1. Centre de Reporting :  cette partie vous présente l’activité sur SharePoint sous forme de rapports d’activité de 7 à 180 jours sur les fichiers, les pages et les utilisateurs SharePoint. Vous pouvez également obtenir des informations précieuses sur le partage externe et l’utilisation de l’option de synchronisation.
  2. Centre de messagerie : dans cette section, vous pouvez lire les annonces officielles qui concernent les nouvelles fonctionnalités et les mises à jour dans SharePoint. Cela vous permet de gérer les modifications apportées à venir. Chaque ligne vous donne un aperçu d’une modification et de la manière dont cela peut affecter vos utilisateurs.
  3. Etat d’intégrité des services : cette section vous permet de vérifier que l’état du service SharePoint Online est correct et d’être notifié s’il rencontre un actif consultatif ou incident.

>> Pour plus d’informations sur un avis ou un incident, cliquez dessus pour ouvrir la page État du Service du centre d’administration d’Office 365.

L’expérience du centre de Reporting  permet de connaître les sites les plus visités et le contenu le plus consulté avec une présentation intuitive et graphique. J’adhère personnellement à cette fonctionnalité et je vous invite à la découvrir !


Menu à gauche :

Sur le menu contextuel affiché à gauche, vous retrouverez les informations traditionnellement présentes dans la console d’administration SharePoint Online d’Office 365 concernant la liste des collections de sites.

Dans cette liste (que l’on peut désormais exporter vers Excel), vous retrouvez la quantité d’espace de stockage utilisé par collection de sites, le nom des administrateurs de collection de sites, le modèle utilisé, les dates de dernière utilisation et de création. Il est important de préciser que vous pouvez ajouter des colonnes telle que l’URL, si le site est utilisé par un Office Groupe, le nombre de fichiers chargés dans les bibliothèques (la colonne Fichiers vus ou édités indique les statistiques d’utilisation), les statistiques de consultation des pages de site… Vous pouvez également créer des nouvelles collections de site de type site d’équipe moderne, site de communication moderne ou site classique.

Si vous avez un message à diffuser aux administrateurs d’une ou plusieurs collections de site vous pouvez cocher les collections de site concernées et cliquer sur « envoyer un courrier aux administrateurs ».

L’option de diffusion d’un message commun aux administrateurs de différentes collections de site censées recevoir la même information, me semble très intéressante et évite d’envoyer le même message à plusieurs reprises aux différents destinataires.

La page des sites supprimés n’est autre que la corbeille permettant de voir les sites supprimés qui sont conservés durant 30 jours. Les mêmes colonnes que celles décrites précédemment sont visibles et cette page permet également de restaurer des sites.

Pour finir la dernière page vous offre la possibilité de paramétrer vos collections de sites, de choisir l’expérience Classique et/ou Moderne de vos expériences utilisateur par collection de sites et enfin, de paramétrer l’autorisation des notifications pour les utilisateurs concernant les mises à jour des News et des documents. De nouvelles fonctionnalités vont venir compléter progressivement cette page.

NB : Pour information cette interface n’est pas complète, les autres fonctionnalités existantes dans l’ancienne interface sont en cours de déploiement. Si vous voulez en savoir plus, je vous invite à consulter l’article réalisé par Mr. Gokan Ozcifci  sur ce sujet  << Cliquez Ici >>.

II. Sites Concentrateurs (Hub Sites) 

Il s’agit d’une nouvelle fonctionnalité de l’intranet qui a pour but de rassembler des sites connexes de différents types (site d’équipe, de communication…) afin de regrouper les actualités et les activités, de simplifier la recherche et de créer une cohésion avec la navigation partagée et l’apparence.

Vous pouvez associer plusieurs sites d’équipe et sites de communication afin de modéliser et promouvoir un intranet qui reflète la façon dont vos collaborateurs s’organisent. Les sites Hub fournissent une structure de navigation, un aspect et une convivialité communs, ainsi qu’une recherche sur les sites associés. Les sites Hub regroupent également les actualités et les activités des sites associés et affichent le cumul sur la page d’accueil du site Hub.

Un dernier petit rappel : Un site de communication « moderne » est un espace où vous pouvez partager des actualités, présenter un article, un message de diffusion. L’idée d’un site de communication est d’avoir plusieurs éditeurs qui créent et gèrent le contenu et un large public qui lit ce contenu. Cependant, un site de communication n’est pas connecté à un groupe Office 365 contrairement à un site d’équipe moderne.

Les utilisateurs peuvent accéder au site de communication cible s’ils possèdent les autorisations nécessaires.

Pourquoi et comment utiliser Microsoft Graph API ?

Microsoft revendique aujourd’hui plus de 100 000 000 d’utilisateurs actifs de sa suite collaborative cloud Office 365. Aussi, pour différentes raisons, il est important de pouvoir extraire les données d’Office 365. Pour cela, Microsoft propose une solution : l’API Microsoft Graph.

Dans un premier temps, je vais expliquer à quels besoins peut répondre Microsoft Graph. Ensuite, je vous montrerai comment créer une application utilisant cette API.

API Microsoft Graph

Microsoft Graph permet de se connecter à de nombreuses ressources liées à Office 365 (utilisateurs, discussions, calendriers, groupes, …). La dénomination « Graph » vient du fait que toutes ces ressources sont interconnectées, formant un réseau d’objets. Par exemple, pour un utilisateur donné, Graph permet d’accéder à ses messages, son calendrier, ses fichiers, mais également aux groupes auxquels il appartient. Cet utilisateur est également associé à un manager, à un ou plusieurs appareils (PC, téléphone, etc..), et d’autres choses encore… Ces interconnexions permettent d’imaginer beaucoup de scénarii d’utilisation.

Pourquoi utiliser Microsoft Graph ?

Sur son site, Microsoft fournit toute une liste d’exemples permettant d’illustrer le potentiel de Graph. Je vais en détailler deux que je trouve particulièrement intéressants.

Le premier est le développement d’une application de planification automatique de rendez-vous. L’application permet de proposer des créneaux de rendez-vous en fonction de la disponibilité, du statut d’absence du bureau, des salles de réunions et des documents associés. On peut facilement voir la valeur ajoutée de Graph dans ce cas-là. L’agrégation des données collaboratives permet de créer une application qui améliore la collaboration elle-même. Ce scénario de création de rendez-vous peut s’appliquer dans beaucoup de situations (CRM, Helpdesk, etc…).

Le second est la création de rapports personnalisés modélisant les données d’Office 365. Pour connaitre la valeur ajoutée et le ROI d’une brique du système d’information, il est nécessaire d’effectuer des mesures. La collaboration n’échappe pas à cette règle. L’investissement pour la mise en œuvre d’Office 365 peut être assez conséquent (coût des licences, gouvernance) et beaucoup d’entreprises ne savent pas si la plateforme est bien utilisée. Par conséquent, il est essentiel de mesurer son adoption.

Graph propose toute une liste de rapports (au format CSV) d’usages et d’activités associés aux différents outils d’Office 365 (Outlook, OneDrive, SharePoint, Skype for Business, etc…). Cela permet de définir des tableaux de bord, certes assez basiques, mais dont les informations donnent une vision claire de l’utilisation des différents outils.

On peut cependant aller plus loin dans la démarche. Comme je l’ai dit au début de l’article les objets de Graph sont interconnectés. Pour exploiter pleinement Graph, il me parait intéressant de coupler ces différents rapports avec d’autres ressources fournies par l’API (par exemple en couplant le rapport d’activité Outlook avec la ressource « Fichiers » pour identifier les types de fichiers les plus envoyés en pièces-jointes).

Il est donc assez aisé de trouver des usages à Microsoft Graph. Nous allons maintenant voir comment le déployer facilement.

Comment utiliser Microsoft Graph ?

La première problématique qui se pose, à l’instar de tout projet informatique, est celle de la sécurité. N’importe quel utilisateur ne doit pas accéder à n’importe quelle ressource. Par exemple, un utilisateur ne doit pas accéder à la boite mail d’un autre utilisateur. Pour utiliser Microsoft Graph, il faut au préalable inscrire une application Azure Active Directory sur le portail Azure (pour la procédure détaillée suivre ce lien). C’est cette application qui permet de définir les droits d’accès à chaque ressource. L’administrateur va définir selon le besoin, les différentes ressources accessibles.

C’est également cette application Azure Active Directory qui donne le contexte d’authentification (jeton) permettant d’accéder aux ressources. Ainsi, une application métier qui ne possède pas ce jeton, ne pourra pas accéder aux données de Graph.

La deuxième problématique est à mon sens celle de la simplicité. L’API Graph se compose d’une URL REST unique (https://graph.microsoft.com). Pour chaque appel, on définit également la version de Graph utilisée (1.0 ou beta), la ressource à laquelle on souhaite accéder (par exemple /users pour accéder à la liste des utilisateurs), et d’éventuels paramètres de requêtes (?$filter=startswith(displayName,’J’) pour remonter tous les utilisateurs dont le nom commence par la lettre J). La réponse HTTP est au format JSON, un standard utilisable dans la majorité des langages informatiques dont l’avantage principal est sa simplicité.

Voici un exemple d’URL complète de requête Graph :
https://graph.microsoft.com/v1.0/users?$filter=startswith(displayName,'J')

Graph permet de lire des données (GET) mais également de créer des enregistrements. En effet, grâce au protocole HTTP, il est possible de faire du POST. Un bon exemple est l’envoi d’emails avec la ressource (me/messages) en passant en paramètre la structure JSON du message.

microsoft graph API

La troisième problématique est la portabilité. Les environnements techniques diffèrent selon les systèmes d’information et les technologies utilisées sont multiples. REST permet de répondre à cette problématique car il est utilisable dans la majorité des langages informatiques. Microsoft fournit de nombreux exemples de code et des SDK pour utiliser Graph (.NET, Javascript, PHP, Android, etc..).

Pour tester l’API, Microsoft fournit un outil en mode web simple et puissant : le Graph Explorer. Il permet d’effectuer des requêtes Graph et d’interpréter les résultats facilement.

Il y a donc beaucoup d’avantages à utiliser Microsoft Graph. J’y ajouterais cependant quelques bémols.

Microsoft déploie de nouvelles versions de Graph tous les mois et les changements sont souvent majeurs. Il est donc important de suivre le changelog de Microsoft et d’effectuer de la veille sur l’API beta.

Les ressources de Graph sont, à mon sens, très orientées métier (collaboratif). Un administrateur Office 365 n’y trouvera pas toujours les informations qu’il cherche. Le meilleur exemple est la ressource « email ». Graph permet d’obtenir les données stockées dans une boite mail mais ne gère pas les données globales transitant sur Exchange Online. Pour récupérer des informations d’administration il est préférable d’utiliser d’autres API spécifiques à chaque outil plus orientées « Administration ».

A l’heure actuelle, l’API ne permet pas (dans la version 1.0) d’accéder à certaines ressources comme Teams.

Vous connaissez désormais les bases de Microsoft Graph. L’API étant perpétuellement en mouvement, de nouveaux scénarii d’utilisation apparaitront probablement dans un futur proche pour exploiter pleinement le potentiel d’Office 365.

Migration vers Office 365 : à la quête d’une adoption utilisateur réussie

Microsoft Office 365 fort de ses millions d’utilisateurs actifs dans le monde est la solution collaborative cloud phare incontournable d’aujourd’hui.

Dans beaucoup de nos missions, nous accompagnons nos clients dans la sensibilisation et la démarche d’adoption aux outils Office 365.

Décider de migrer vers Office 365 est un challenge pour une entreprise, d’abord sur le plan technologique mais surtout en terme d’adoption de la part de vos utilisateurs. Les aspects liés à la migration technique (annuaire, messagerie) ne seront pas les sujets de cet article, nous allons nous concentrer sur les utilisateurs, leur passé et leur futur avec Office 365. Car il s’agit bien là en effet d’une mutation des habitudes pour tendre vers un monde collaboratif efficace et 100% connecté, le fameux monde du « digital workspace » et de la transformation digitale si on reprend les buzz words du moment.

En effet, le postulat de la part de Microsoft est assez simpliste : « Votre abonnement vous donne accès à tout un tas d’outils magiques que l’on vous met à disposition. Vous n’avez rien à installer en terme d’infrastructure, on s’occupe de tout ! Donc allez-y vous pouvez tout utiliser ! Enjoy ! ».

Dans la vraie vie, cela n’est évidemment pas aussi simple. Il n’y a pas de magie. Cela nécessite une démarche et une adaptation « sur mesure » pour chaque entreprise. Les sujets à adresser liés à cette démarche sont nombreux :

  • Appréhender les habitudes quotidiennes des personnes, leurs manières de travailler en équipe, ainsi que les spécificités organisationnelles.
  • Analyser les outils collaboratifs en place s’il y en a, l’utilisation des partages réseaux, mais également tous les autres outils du SI, et déterminer comment ils pourront s’interconnecter/s’intégrer à des solutions comme Office 365.
  • Effectuer une analyse approfondie des habitudes liées à la messagerie. En effet, la quantité gigantesque d’échanges par email est souvent le problème n°1 à éradiquer lorsque l’on aborde la transformation vers les outils collaboratifs. L’email est un outil historique, voire préhistorique, et les habitudes ont la vie dure.
  • Déterminer l’existence et l’utilisation d’outils non officiels (ShadowIT), et comprendre quels sont les enjeux et motivations à utiliser ces outils. Souvent il va se cacher des besoins qui seront à implémenter en priorité avec Office 365, sous forme de POC ou Quick Win.
  • Former et accompagner des utilisateurs, avec différents profils à considérer comme : les utilisateurs qui seront très actifs avec les outils de collaboration, ou les personnes qui seront simplement consommateur d’informations ou bien les futurs administrateurs fonctionnels des outils Office 365.
  • Comprendre rapidement quels pourront être les freins à l’adoption des outils Office 365
  • Embarquer les utilisateurs le plus tôt possible dans l’aventure Office 365 et cela dès l’étude de migration.
  • Etablir une RoadMap réaliste des outils Office 365 qui seront installés au fur et à mesure (au premier déploiement, à horizon 6 mois, à horizon 1 an ….).
  • Communiquer de manière simple sur cette RoadMap et les usages associés : « quel outil pour quels usages ».
  • Mettre en place une gouvernance de l’information avec une équipe responsable d’établir et faire vivre cette gouvernance.
  • Mettre en place les règles d’entreprise par rapport aux données, à la sécurité et aux exigences (contraintes légales par exemple).
  • Mesurer et analyser les usages et l’adoption des outils, et ce dès le début du déploiement de la solution Office 365.
  • Déterminer la quantité de données à stocker dans Office 365, par rapport au volume de données existant et également la quantité de données ajouté au fil de l’eau
  • Etablir les coûts liés à la solution Office 365, et ce de manière la plus précise possible en analysant les services utilisés réellement pour chaque utilisateur afin d’en optimiser les dépenses.
  • Vérifier les contraintes techniques tel que le réseau et le débit de la connexion internet par rapport aux besoins réels des échanges collaboratifs (documents, messages, vidéo conférence, etc …).

Cette liste n’est évidemment pas exhaustive et doit être adaptée pour chaque entreprise lorsqu’elle décide de migrer vers Office 365. Nous avons accompagné nombre d’entreprises dans leur démarche d’étude ou de mise en œuvre d’Office 365 et nous n’avons jamais eu deux cas similaires.

Chaque point pourrait faire à lui seul l’objet d’un article à part entière, mais le but de celui-ci est de mettre en évidence les questionnements et la complexité pour vos utilisateurs à lancer un projet de migration vers Office 365.

À ces difficultés s’ajoutent aussi des spécificités liées à chaque contexte client. Certains points qui ont été listés seront de véritables casse-têtes lorsqu’il s’agit de multinationales avec plusieurs milliers d’utilisateurs. Dans ce cas, la mise en place d’un mode « Service » et d’une équipe dédiée à tous les aspects de la migration et ensuite à l’accompagnement et au support des utilisateurs est indispensable. Cela n’évitera pas cependant les enjeux de pouvoir qui auront forcément lieu lors de l’arrivée de tels outils collaboratifs.

De manière plus simple, nous sommes aussi confrontés aux spécificités « culturelles » qu’il faut prendre en considération. Ainsi, les processus de type « FastTrack » proposés par exemple par Microsoft pour gérer la migration et l’adoption des équipes vers Office 365, arrive avec des terminologies américaines très (ou trop) enthousiastes tel que l’équipe des  « champions » qui va être équipe pilote pour ensuite devenir « ambassador ».

Suite à un de nos projets de migration vers Office 365 pour une entité française d’un groupe Américain, où tous ces concepts avaient été mis en œuvre avec un grand succès, je me souviens m’être aventuré à faire la promotion du concept de « champions » lors du projet suivant avec le responsable d’une société française de 1500 personnes. Celui-ci m’a écouté gentiment avant de me regarder d’un air dubitatif et me répondre « En fait, on va simplement l’appeler ‘équipe pilote’ si ça ne vous embête pas, ça ira très bien pour nous …».

Vous noterez que beaucoup de questionnements peuvent s’appliquer à la démarche d’adoption de n’importe quel autre outil et que certains points sont uniquement du bon sens.

Malgré tout, ne négligez aucun sujet de cette liste, certains doivent être traités avec bon sens. Par exemple, pour sensibiliser et embarquer au plus tôt tous les utilisateurs dans la migration vers Office 365, n’hésitez pas à lancer un questionnaire global et réaliser des interviews sur les habitudes collaboratives, les avantages mais aussi les limitations de leurs outils, ce qui leur fait perdre du temps, l’outil idéal qu’ils aimeraient avoir pour collaborer, les fonctionnalités qu’ils ne veulent pas perdre, le nombre d’emails envoyés par jour. Plus tôt ils seront écoutés, plus tôt vous aurez une connaissance exhaustive de la situation actuelle. Et, plus important, vos utilisateurs se sentiront forcément concernés dans la démarche de migration, car Il ne faut pas oublier qu’Office 365 ne reste que de l’outillage; le plus important, c’est de les écouter !

Comment rendre mon ChatBot plus efficace ?

Dans un monde numérique en perpétuelle évolution, les ChatBots ont aujourd’hui le vent en poupe. Beaucoup de gens en ont entendu parler, mais il n’est pas évident d’en comprendre les usages et les enjeux. Je vais essayer de vous expliquer comment fonctionne un ChatBot dans les grandes lignes et pourquoi il faut ajouter des éléments externes au ChatBot pour le rendre plus interactif.

Mais au fait, c’est quoi un ChatBot ?

Un ChatBot, c’est un programme informatique (« Bot ») capable de répondre à des questions posées par un utilisateur via une discussion en ligne (« Chat »). L’utilisateur pose ses questions dans le chat en langage naturel (langue parlée par un être humain comme le français ou l’anglais, par opposition au langage informatique) et le ChatBot lui répond dans ce même chat en langage naturel. Le ChatBot n’est pas le chat lui-même, mais le programme informatique qui va analyser la question de l’utilisateur et renvoyer une réponse pertinente dans le chat.

On peut distinguer deux types de Chatbots :

  • Les ChatBots simples : un ChatBot simple est un programme informatique qui va prendre la question de l’utilisateur en donnée entrante, effectuer des traitements relatifs à cette donnée et enfin renvoyer un message à l’utilisateur.
  • Les ChatBots complexes : un ChatBot complexe ne se compose pas que d’un simple programme informatique. A ce programme sont ajoutées des API (interfaces de programmation) tierces. Plusieurs exemples courants d’API qui peuvent être intégrées à un ChatBot :

    • API de compréhension de langage naturel : C’est selon moi une composante indispensable pour le développement d’un ChatBot. L’idée est simple, l’API fournit une IA (Intelligence Artificielle) à paramétrer qui sera capable de « traduire » une question utilisateur en une « intention » (qui à la fin du processus correspondra à une action du ChatBot) avec un score de probabilité. L’administrateur de cette IA définit donc une liste « d’intentions ». Il faut ensuite que l’administrateur « entraine » l’IA, c’est-à-dire qu’il doit associer une liste de questions à chaque intention.Cela peut paraitre assez complexe, mais je vais vous donner un exemple pour illustrer le principe. Imaginons qu’on développe un ChatBot qui donne des informations sur l’agenda de l’utilisateur. L’utilisateur va avoir l’intention de consulter ses rendez-vous du jour. Pour cela il peut avoir une multitude de questions : « Quel est mon programme du jour ? », « Donne-moi mes rendez-vous du jour », « Quels sont mes rendez-vous aujourd’hui ? », etc… Un ChatBot sans API de compréhension du langage doit gérer par lui-même tous ces cas possibles. L’API permet donc de faire le lien entre les potentielles questions de l’utilisateur et les intentions. L’entrainement de l’IA consiste à lui associer une série de questions « types » pour chaque intention. Dans notre exemple, on affectera ces trois questions à l’intention « Donner agenda du jour ». Si l’utilisateur pose une question qui ressemble à une des questions définies dans l’intention alors l’API répondra avec l’intention et un score de probabilité élevé.Pour ma part, j’ai utilisé LUIS (Language Understanding Intelligent Service) qui fait partie de Microsoft Cognitive Services, l’ensemble des bibliothèques d’IA de Microsoft. LUIS possède à mon sens plusieurs avantages. Il est simple à paramétrer (définitions d’intentions et « d’utterances » qui correspondent aux questions types). Pour chaque phrase, il renvoie une réponse JSON avec les intentions et leur score. Il fonctionne en mode cloud et ne nécessite aucune installation spécifique. Enfin, dernier avantage et non des moindres, il permet de gérer plusieurs langages naturels comme le français et l’anglais.
    • API d’affichage spécifique : Selon la question posée par l’utilisateur, on peut imaginer des scénarii de réponse qui ne fonctionnent pas sous la forme d’un texte simple. Un cas d’usage courant et très simple est une réponse proposant un choix. Le bot doit pouvoir fournir un mécanisme de sélection de valeur afin de guider l’utilisateur. D’autres cas d’utilisation peuvent se présenter : envoi d’un fichier, saisie spécifique. Ces API sont très utiles, cependant, cela soulève un autre problème. Un ChatBot, à l’instar de tout autre programme informatique, doit être générique. Le ChatBot doit pouvoir être déployé sur plusieurs canaux sans altération des fonctionnalités.Voici un exemple pour illustrer la problématique. On a un ChatBot qui est déployé sur un WebChat et qu’on peut également utiliser par SMS. Si le ChatBot propose une sélection de valeurs en réponse à une question l’affichage doit être adapté au canal de diffusion.Dans notre cas on aura par exemple une liste déroulante pour le WebChat et un nombre à saisir pour le SMS (1 : valeur 1, 2 : valeur 2, etc…). J’ai utilisé AdaptiveCard pour le BotFramework de Microsoft. Il possède l’avantage de gérer automatiquement l’affichage selon le canal de communication. Le développeur définit juste une « Card » par exemple de type « Choix » et l’affichage est adapté selon le canal de communication comme décrit dans l’exemple précédent.
    • Intégration dans des applications tierces : Considérer qu’un ChatBot permet uniquement de répondre à des questions posées par un utilisateur est assez réducteur. Le ChatBot peut également interagir avec des applications tierces (en lecture et en édition). Dans l’exemple des rendez-vous, le ChatBot va aller chercher l’information dans l’outil d’agenda de l’entreprise (lecture de données). Autre exemple, un ChatBot sur un site de vente peut alimenter une base de données (édition) en intégrant des données statistiques (nombre d’interactions du ChatBot, satisfaction de l’utilisateur).

Vous savez maintenant comment fonctionne un ChatBot. Cependant, avant de se lancer, il est essentiel de se poser d’autres questions. Quels sont les cas d’usage ? Quels sont les avantages à utiliser un bot ? Quels sont ses limites ? Comment sécuriser mon ChatBot ? Comment mesurer la valeur ajoutée de mon ChatBot ?