Catégorie : Mister Bit

  • Microsoft 365 : personnalisez votre moteur de recherche avec les acronymes !

    Microsoft 365 : personnalisez votre moteur de recherche avec les acronymes !

    « L’outil recherche ne marche pas » ; « la recherche, c’est pourri » ; « ça montre des infos que je n’ai pas demandé »… Voici les 3 phrases qui reviennent le plus lorsque l’on parle du moteur de recherche de Microsoft 365. Afin de poursuivre le sujet de la personnalisation du moteur de recherche, nous allons aborder dans cet article la question des acronymes.

    Les acronymes dans Microsoft 365, c’est comme les fricadelles, tout le monde en a entendu parler mais personne ne sait vraiment ce que c’est.

    Chaque domaine d’activité a son ensemble d’acronymes. Par exemple, chez Monsieur John Byte Tetraoctet, nous avons ITIL, BPM, GED, CMDB, SaaS… J’en passe des biens mûrs et bien pourris, que seuls les initiés connaissent ! Monsieur John Byte Tetraoctet utilise ces substantifs à foison, pour se rendre plus intelligent.

    Pire, chaque entreprise d’un même secteur d’activité peut avoir sa propre déclinaison d’acronymes…Si si ! Ne vous cachez pas, je vous vois !

    Le summum de l’« acronymite »? Les entreprises qui utilisent  3 acronymes minimum par phrase… parce que c’est la norme. Merci les Dolipranes pour les nouveaux arrivants ! (Pour info c’est un cas que j’ai connu personnellement… L’horreur !)

    Bref, ce constat s’appuie sur un dogme qui est que l’ensemble des acteurs de ces entreprises connaissent exactement la même définition et la même application de ces acronymes.

    Comment aider les nouveaux arrivants à la prise de connaissance des acronymes de l’entreprise ?

    Office 365 Microsoft 365 permet l’ajout d’acronymes dans votre environnement.

    Suivez les étapes suivantes :

    Étape 1

    Dans le Centre d’administration Microsoft 365, choisissez le menu « Paramètre » puis « Recherche & Intelligence »

    page administration microsoft 365
    Page d’administration de Microsoft 365

    Étape 2

    Choisissez l’onglet « Réponses »

    réponse menu recherche et intelligence
    Onglet réponse dans le menu Recherche et Intelligence

    Étape 3

    Cliquez sur « Ajouter un acronyme »

    Ajouter acronyme
    Bouton pour ajouter un acronyme

    Étape 4

    • Dans le champ Acronyme, renseignez celui employé par nos utilisateurs ;
    • Dans le champ Signifie, précisez la définition de l’acronyme ;
    • Dans le champ Description, ne soyez pas avare en nombre de caractères ! Car c’est la seule chose que votre utilisateur va lire, alors que le champ suivant sera utilisé par 1% de votre population ;
    • Dans le champ Source, insérez un lien vers une documentation interne ou externe de l’explication de votre acronyme (c’est pour ceux qui sont pointilleux sur la signification et l’usage d’un acronyme)
    Formulaire ajout acronyme
    Formulaire d’ajout d’acronyme

    Vous avez un aperçu en haut de l’affichage de ce que cela va rendre visuellement.

    Puis, appuyez joyeusement sur le bouton « Publier ».

    Étape 5

    Vous lisez bien : attendre 7H. Je vous rassure cela peut être jusque 24H d’attente…

    publication acronyme
    Page de publication d’un acronyme

    Testons notre recherche sur BING.COM

    Prenez votre navigateur préféré, Edge au hasard, et allez sur Bing.com

    Le recherche du terme « POL » (acronyme que j’ai inséré, il y a plus de 7 heures).

    Recherche bing
    Recherche d’un acronyme sur Bing

    En cliquant sur la zone entouré en rouge vous arriverez sur l’écran suivant :

    page détail microsoft 365
    Page de détail Microsoft 365

    En cliquant sur le lien « View Source », vous accédez à la source définition votre acronyme.

    Testons notre recherche sur Microsoft 365

    Sur Office.com et le portail SharePoint, c’est un peu différent. Il faut rechercher les acronymes avec les mots clés suivants :

    What is [Acronyme]Define [Acronyme][Acronyme] definition   Expand [Acronyme][Acronyme] expansionMeaning of [Acronyme][Acronyme] means[Acronyme] stands for Quoi  [Acronyme]Définir  [Acronyme]Définition  [Acronyme]Expand  [Acronyme]Développement  [Acronyme]Signification de  [Acronyme][Acronyme]signifie

    Ensuite vous avez le même résultat de recherche avec l’encart pour votre acronyme.

    Cela fait 6 mois que vous avez intégré votre nouvelle entreprise, et il y a des réunions ou certains acronymes métiers ne vous sont pas encore familiers… Appeler d’urgence Solution Obvie ! On vous expliquera comment ne plus être le dernier à comprendre la signification de ces derniers !

    microsoft-acronymes-conseils
    Crédit photo : Unsplash / Surface

    Yoann Kalandyk


    Administration Microsoft Capitaine Obvie Green IT Lists Microsoft Viva MS Teams OneDrive Outlook Power Apps PowerAutomate Power BI Power Platform SharePoint Solution Obvie Stream Transformation Numérique

  • Améliorez en quelques clics vos applications Power Apps avec le Creator Kit !

    Améliorez en quelques clics vos applications Power Apps avec le Creator Kit !

    Faire du Power Apps, c’est bien. Mais faire du beau Power Apps, c’est mieux. Et faire du beau Power Apps facilement et rapidement c’est obvie ! Power Apps se montre limité quand on veut pousser le design dans la complexité et dans l’homogénéisation. C’est là qu’intervient le Creator Kit !

    Alors comment faire évoluer visuellement et fonctionnellement son application Power Apps avec Creator Kit ?

    Avant toute chose, replaçons le contexte

    PowerApps est un outil Microsoft 365 faisant partie du service Power Platform. Il permet de créer des applications répondant à des problématiques métiers de manière « Low code / No code ». Le but de ce type de technologie est la mise en place rapide et simple des applications. PowerApps met à disposition de nombreux contrôles pour créer les applications (Bouton, Texte Box…). Mais parfois, ces fonctionnalités n’existent pas. Par exemple pour avoir un menu contextuel, un pop-up ou encore un menu développant, il faut combiner plusieurs contrôles et y ajouter des morceaux de codes pour le bon fonctionnement. Et si tu n’as pas un cerveau de développeur, tu vas pouvoir sortir les rames 

    N’étant pas des contrôles natifs de PowerApps, les méthodes et le design utilisés par les différents développeurs d’une même entreprise peuvent être différents. Pour s’assurer d’avoir une homogénéité dans l’ensemble des applications, Microsoft a mis en place les  « Composants ». Cette fonctionnalité permet de créer en dehors des applications des contrôles personnalisés. Une fois créés, ces composants sont disponibles dans les applications PowerApps.

    C’est là qu’entre en scène l’équipe PowerCat avec son Creator Kit . Ce dernier vise à aider les développeurs PowerApps en leur offrant une collection de composants. Ces composants utilisent le framework Fluent UI créé et utilisé par Microsoft dans toutes ses applications. En plus de faire gagner du temps aux développeurs, le Creator Kit vous aide à avoir un design consistant qui reprend les codes de Microsoft.

    Le Creator Kit, une collection de composants Microsoft

    Pour prouver l’efficacité du Creator Kit, je vous propose de comparer la mise en place d’un contrôle « pop-up » avec et sans cet outil :

    Sans le Creator Kit

    • Créer une variable pour afficher / masquer la pop-up
    • Ajouter un rectangle rempli en noir mi-transparent pour le fond
    • Ajouter un rectangle blanc pour faire apparaître le texte
    • Ajouter 3 boutons : une croix pour fermer la popup, un bouton « Annuler » et un bouton « OK »
    • Ajouter la variable pour afficher / masquer à tous les contrôles du pop-up

    Avec le Creator Kit

    • Créer une variable pour afficher / masquer le composant pop-up
    • Ajouter la variable au composant
    • Aller boire un café avec ses collègues

    C’est un peu plus simple avec le Creator Kit, non ?

    Le Creator Kit contient tout une gamme de composants super pratiques tel que :

    • L’expand menu :
    • le panel menu :
    • La zone de texte redimensionnable :

    En résumé, le Creator Kit propose toute une liste de composants utiles à vos applications PowerApps.

    Pour en savoir plus sur le Creator Kit, voici les liens vers la présentation officiel Microsoft ainsi que la procédure d’installation.

    Vous pouvez aussi nous contacter si vous sentez avoir besoin d’approfondir le sujet 

    Henri Desmet


    Administration Microsoft Capitaine Obvie Green IT Lists Microsoft Viva MS Teams OneDrive Outlook Power Apps PowerAutomate Power BI Power Platform SharePoint Solution Obvie Stream Transformation Numérique

  • Créer une application de Provisioning de groupes Microsoft 365

    Créer une application de Provisioning de groupes Microsoft 365

    Si vous travaillez dans le monde de Microsoft 365 vous avez forcément entendu parler des groupes Microsoft 365. Ces fameux groupes constituent la base de M365, et il n’est pas simple de comprendre leur définition exacte.

    Gérer la création des groupes Microsoft 365 dans son environnement

    Vous créez un site d’équipe SharePoint ? => Un groupe est créé.
    Vous créer une équipe Teams ? => Un groupe aussi.

    De même pour un plan Planner et d’autres applications. Pour savoir quand un groupe est créé et les services qu’il apporte, je vous recommande cet article de Matt Wade qui est idéal quand on souhaite en savoir plus sur ces groupes.

    En tout premier lieu, dans une entreprise qui souscrit à Microsoft 365, les applications qui font partie du service sont mises en avant et utilisées pour la collaboration. Forcément, on ne va pas payer un abonnement pour au final utiliser Google Sheet au lieu d’Excel. Beaucoup de groupes sont créés et cela peut devenir compliqué à administrer. Quand un nouveau projet arrive dans l’entreprise, des nouvelles instances des outils sont créées.

    Le problème, c’est qu’il n’existe pas d’outil dans M365 pour gérer la création de groupe avec des requêtes et un système de validation.

    Donc soit on laisse la main aux utilisateurs et on risque de se retrouver avec un espace Administrateur remplit de groupe, soit on laisse les admins créer les groupes ce qui leur ajoute du travail supplémentaire.

    En bref, ce sont des questions de gouvernance pour lesquelles Solution Obvie peut vous assister dans leur mise en œuvre en fonction de vos besoins. C’est pourquoi nous vous proposons aujourd’hui cet article pour vous expliquer comment mettre en place une application de provisioning de groupe débarque et sauver les citoyens de Microsoft 365 city.

    En plus on utilise les technos montantes et modernes ! Du Power Apps, du Power Automate, du Powershell… bon peut-être pas pour PowerShell mais ça reste une technologie très prisée !

    L’objectif de l’application

    Le but de l’application est de permettre à l’utilisateur de demander la création d’un groupe. Dans un formulaire, l’utilisateur choisi un nom, une description, ajoute des utilisateurs et a aussi la possibilité d’ajouter un Teams avec un template ou non. Une fois la requête envoyée, un administrateur reçoit la demande à valider. L’utilisateur peut suivre l’évolution de sa requête à travers un tableau regroupant ses requêtes et leur statut. Une fois la requête traitée, l’utilisateur est notifié par un mail.

    La méthode proposée dans cet article est une des multiples possible dans l’environnement Microsoft 365. Ici, le design de l’application est inspirée d’une solution proposée par Microsoft pour provisionner des équipes Teams. Voici le lien vers le dépôt Git de la solution.

    Les technologies impliquées

    Avant de plonger dans le fonctionnement de l’application, je vous propose de faire un récapitulatif des technologies :

    • Power Apps :

    Pour le front de l’application et son design, on retrouve l’étoile montante Power Apps. On utilise Power Apps pour mettre en place des formulaires rapidement et simplement ! En plus c’est une techno dite « Low code », adaptée aux « Citizen developers ».

    • Power Automate :

    En restant dans la famille des Power, on retrouve Automate (anciennement Flow). On va l’utiliser pour le back de notre appli, l’algo qui va s’occuper de la création du groupe et de tout ce qui va avec. Comme son collègue PowerApps, on peut dire que c’est une techno qui a une prise en main rapide.

    • SharePoint :

    Un outil qui se combine bien avec les amis ci-dessus est SharePoint. On va l’utiliser pour stocker nos requêtes de groupe et quelques paramètres qui vont nous servir lors du déploiement de l’application.

    • Microsoft Graph API :

    Pour aller un peu plus loin et pousser au max les capacités de Power Apps et Automate, on va utiliser Microsoft Graph API. Quand une action Power Automate ne propose pas les options que l’on souhaite, quand on est bloqué, il nous propose des solutions. Tout repose sur lui dans cette application. Il va nous permettre de créer les groupes Microsoft 365 parce qu’il n’existe pas encore d’action ou de connecteur out-of-the-box office 365 pour les créer directement.

    • PowerShell :

    Puis vient l’étape de déploiement. Et la technologie ultime pour déployer dans un environnement Microsoft c’est PowerShell. Et quand il est combiné avec PnP pour déployer du SharePoint il est encore plus puissant.

    Le développement

    Dans cette application de provisioning, nous utilisons SharePoint et ses listes pour stocker les requêtes et autres informations. Nous allons créer 3 listes :

    • Group Requests :

    Cette liste va servir à stocker les requêtes de groupes avec leurs metadatas. Un item sera ajouté par l’interface PowerApps et mis à jour par le Flow PowerAutomate.

    • Group Request Settings :

    Cette liste va servir à stocker les informations utiles relatives à l’application. Elle va notamment permettre au Flow PowerAutomate de récupérer des informations pour paramétrer automatiquement des actions et éviter de devoir les modifier à chaque nouveau déploiement.

    • Teams Templates :

    Cette liste va servir à stocker les ID et description des templates Teams. Cette liste est créée car à cette date on ne peut pas encore retrouver la liste des templates disponibles dans l’espace admin Teams. Il faut alors passer par une liste qui est remplie manuellement. Au déploiement, la liste est préremplie avec les templates par défaut de Microsoft 365. Vous pouvez ajouter vos templates après déploiement.

    L’application PowerApps

    • Pour créer un formulaire rapide qui ajoute un item dans une liste SharePoint, PowerApps est la solution moderne mise en avant par Microsoft. Dans notre application nous avons besoins de 3 écran :
      • Une page Home
      • Une page pour le formulaire
      • Une page pour voir l’état des requêtes
    • Pour éviter d’avoir des groupes avec les même noms, un custom connector avec une requête Graph API sur les groupes est créé. Cette fonctionnalité nécessite d’avoir PowerApps Premium. Si vous n’allez pas sur des versions avec licences de Power Apps, il faudra faire une version dégradée de cette fonction en se basant uniquement sur les éléments stockés dans la liste SharePoint.Au niveau du design du formulaire, l’application proposée par Microsoft est très épurée et user friendly. Le formulaire de base de Power Apps est fonctionnel mais très limité dans la disposition des contrôles. Même si toutes les entreprises ne sont pas spécialisées dans l’art graphique, une interface avec un minimum de design est plus sympathique à utiliser. La bonne pratique préconisée est de cacher les champs du formulaire et de créer des nouveaux contrôles. Il suffit ensuite de paramétrer les valeurs par défaut des champs du formulaires avec la valeur des nouveaux contrôles.
    • Une fois le formulaire envoyé, l’item est créé dans la liste SharePoint. L’application redirige vers la page Historique qui affiche les requêtes de l’utilisateur connecté.

    Le flux PowerAutomate

    Grâce à un flow automatisé qui se déclenche à la création d’un item dans une liste SharePoint, la magie va pouvoir opérer. Plusieurs étapes constituent le Flow :

    • Initialisation des variables
    • Lancement d’une Approbation
    • Création du groupe
    • Ajout d’une équipe Teams ou non
    • Mise à jour du statut du groupe
    • Envoie d’un mail avec le résultat

    Power Automate permet énormément de choses en mode gratuit, mais pas la création de groupe Office. En activant la version Premium, on débloque de nouvelles possibilités et actions. L’une d’entre elles est l’action HTTP.  Avec celle-ci, il est possible de s’authentifier sur une application Azure AD qui possède des droits pour utiliser Graph API. La documentation Microsoft détails toutes les requêtes possibles ici.

    Le déploiement

    Pour déployer l’application dans votre tenant un package est disponible sur ce repository Github. Voici ce qu’il contient :

    • Solution Power Apps et Automate
    • Custom Connector Power Apps
    • Script de déploiement
    • Template pour le site SharePoint et les listes
    • Fichier Excel pour préremplir les listes SharePoint Teams Template et Settings

    Pour faciliter le déploiement, et surtout éviter les erreurs humaines, la plupart des actions sont automatisées. Pour le moment il n’est pas possible de déployer des solutions PowerApps et PowerAutomate via PowerShell. Cette partie restera donc manuelle.

    Le script va intervenir pour la création du site SharePoint et de ses listes ainsi que pour la création de l’application pour utiliser Graph API dans Azure AD. Durant le déroulement du script, des connexions sont effectués à Azure AD et SharePoint Online. Il faut donc prévoir un compte avec des droits Admins pour chacun des outils.

    Une fois le script appliqué, il faut importer les solutions PowerApps et PowerAutomate. Après de légère configuration pour créer les nouvelles connexions, l’application est prête à être utilisée !

    Aller plus loin

    Si vous voulez continuer dans la voie de l’utilisation d’applications pour faciliter l’administration de votre tenant Microsoft 365, je vous conseille de nous contacter pour vous présenter les différentes solutions alternatives.

    Henri Desmet


    Administration Microsoft Capitaine Obvie Green IT Lists Microsoft Viva MS Teams OneDrive Outlook Power Apps PowerAutomate Power BI Power Platform SharePoint Solution Obvie Stream Transformation Numérique

  • Synchroniser des groupes de sécurité avec des groupes Microsoft 365

    Synchroniser des groupes de sécurité avec des groupes Microsoft 365

    La gestion des droits dans le monde de Microsoft 365 est une chose importante qui est principalement gérée par les groupes Microsoft 365. A chaque création d’un groupe Microsoft 365, une suite d’outils est ajoutée à ce groupe, comme un site SharePoint ou une équipe Teams. Ainsi, dans les grandes organisations, de nombreux groupes sont créés. Des groupes de sécurité et des groupes Microsoft 365 dont il faut en assurer la sécurité. Dans le cas d’une organisation avec beaucoup de mouvement interne, il est aussi important de les maintenir, qu’ils soient publics ou privés.

    Comment automatiser la synchronisation entre des groupes Microsoft 365 et les groupes de sécurité ?

    Pour cela, il est par exemple possible d’ajouter à chaque groupe des responsables pour qu’ils aient un accès aux outils et données de ce groupe. De même, faire ces ajouts à la main pour chaque nouveau groupe peut-être une étape fastidieuse, et difficile à maintenir. Ainsi, c’est ici que les groupes de sécurité rentrent en jeu.

    Les groupes de sécurité sont des groupes qui peuvent être utilisés pour maintenir plus facilement la gestion de droits. Par exemple on peut définir un groupe de personne à inclure dans chaque site SharePoint pour maintenir la sécurité. D’ailleurs, sn des points forts des groupes de sécurité est qu’il est possible d’y inclure un autre groupe de sécurité. Cependant, il y a un problème, il n’est pas possible d’ajouter un groupe de sécurité dans un groupe Microsoft 365. 

    Dans cet article, nous allons voir un exemple d’application qu’il est possible de mettre en place pour avoir la possibilité d’ajouter un groupe de sécurité dans un groupe M365.

    L’objectif de l’application permettant la synchronisation des groupes de sécurité et des groupes Microsoft 365

    Cette application permet de synchroniser un groupe de sécurité avec un groupe M365. Pour ce faire, une interface est placée dans le site SharePoint du groupe M365. Un choix de groupes de sécurité est disponible et on synchronise ensuite les 2 groupes. Aussi, cette synchronisation ajoute les membres du groupe de sécurité au groupe M365. Par contre si on fait des modifications dans le groupe de sécurité, elle ne sont pas automatiquement répliquées dans le groupe M365 associé. De plus, pour suivre ces modifications, une action de synchronisation est disponible depuis l’interface située dans SharePoint. En outre, un script quotidien synchronise aussi les 2 groupes. 

    Les technologies impliquées

    Avant de plonger dans le fonctionnement de l’application, je vous propose de faire un récapitulatif des technologies :

    • SharePoint Framework :

    SPFX est la méthode de développement sous SharePoint mise en avant par Microsoft. Elle permet d’instancier un projet d’application Web sous forme d’une WebPart rapidement. Pour développer, nous allons principalement utiliser ReactJS. 

    Cette WebPart va servir d’interface pour notre application et va appeler les scripts powershell qui vont agir sur les groupes.

    • Azure Function PowerShell :

    Azure permet d’hoster des fonctions et de pouvoir les exécuter via un appel HTTP. Ici nous allons utiliser des fonctions PowerShell pour effectuer des actions sur les groupes M365. Nous utilisons aussi PowerShell pour le déploiement de l’application.

    Le développement

    Avant tout, au niveau du développement, l’application se situe à 2 niveaux dans Microsoft 365 :

    • Le premier est global, cela va concerner l’application Azure avec les bonnes permissions pour agir sur les groupes et l’application de function Azure avec les fonctions PowerShell. Ce niveau constitue la partie « back » de l’application.
    • Le deuxième niveau est présent dans chaque groupe M365 qui utilise l’application. C’est l’interface qui est déployée dans le site SharePoint du groupe. Ce niveau constitue la partie « front » de l’application.

    L’application Azure

    • L’application Azure va nous permettre de nous authentifier et d’avoir les permissions nécessaires pour agir sur les groupes. Cette pratique est très utile pour éviter d’utiliser des comptes Admin pour avoir les droits. Dans l’article concernant l’application de provisioning de groupe M365, nous utilisons aussi les Azure applications. Les permissions à appliquer concernent Graph Api, SharePoint et Azure Active directory.Il faudra aussi ajouter à cette application un certificat. Ce dernier va nous permettre de nous authentifier via les fonctions Powershell et d’utiliser cette Azure application. 

    La fonction application Azure

    • La fonction application Azure contient des scripts qui sont hébergés sur Azure. Ici plus précisément nous avons besoin de 4 scripts : 
    Capture d'écran application Azure - Article sur les Groupes de Sécurité et Microsoft 365

    3 scripts HTTP :

    • Ajout d’un groupe de sécurité dans un groupe M365, ce script ajoute les membres d’un groupe de sécurité à un groupe M365. Avant l’ajout, les membres du groupe M365 de base sont sauvegardés dans un Property Bag du site SharePoint du groupe. Les membres du groupe de sécurité sont aussi sauvegardés dans un Property Bag.
    • Synchronisation du groupe de sécurité associé à un groupe M365, ce script va récupérer les membres du groupe de sécurité associé, et les comparer avec ceux sauvegardés dans le Property Bag. Il ajustera en ajoutant ou en supprimant les membres du groupe M365 associé au groupe de sécurité. Avant ajout ou suppression, on vérifie si le membre n’était pas déjà dans le groupe M365 avant l’association du groupe de sécurité. Si c’est le cas aucune action n’est lancée.
    • Suppression d’un groupe de sécurité associé à un groupe M365, ce script supprime les membres du groupe de sécurité qui étaient ajoutés au groupe M365. On récupère les valeurs Property Bag des membres sécurités et des membres M365 de base, puis on retire chaque utilisateur du Property Bag sécurité du groupe M365 en regardant s’il n’était pas déjà dans le groupe de base.

    1 script Timer : 

    • Synchronisation des groupes de sécurité associés à des groupes M365, ce script peut-être exécuté quotidiennement pour synchroniser chaque groupe M365 qui dispose de l’application. Pour vérifier si l’application est installée, on se connecte au site SharePoint des groupes et on regarde si la valeur du Property Bag « syncGroupAppEnabled » est à true. Si oui on effectue les mêmes actions que dans le script de synchronisation. 

    L’interface SharePoint

    De surcroît, l’interface SharePoint est une application SPFX déployée dans chaque site SP d’un groupe M365. Au départ, on choisit un groupe de sécurité à associer à notre groupe Microsoft 365. La liste des groupes de sécurité disponibles est à préciser dans un fichier Excel, elle sera ensuite stockée dans un Property Bag au déploiement de l’application SPFX.

    capture d'écran de l'interface SharePoint - Groupes de Sécurité Microsoft 365

    Une fois le groupe associé, l’interface présente 2 options : Sync ou Remove.

    Capture écran

    On retrouve aussi l’information de la dernière synchronisation, ainsi que les utilisateurs ajoutés ou supprimés lors de cette dernière synchro.

    Le déploiement

    En tout premier lieu, notez bien que l’application, présentée ici, est disponible sur ce repository github

    Ensuite, concernant le package de déploiement, il comprend les fichiers suivants :

    • Un dossier certificates, il contient le certificat à déployer dans l’application Azure pour s’authentifier.
    • Un ficher deployAzure.ps1, script qui permet de déployer l’Azure Application et la fonction application Azure.
    • Un fichier manifest.json, fichier qui contient les permissions à ajouter sur l’Azure application.
    • Un dossier zip PowerShellGroupOperation.zip, dossier qui contient les fonctions Azure à déployer dans la fonction application Azure.
    • Un fichier deploySPFX.ps1, script qui permet de déployer l’application SPFX et de créer les Property Bag dans le site SharePoint.
    • Un fichier securityGroups.xlsx, il contient les groupes de sécurité qui seront utilisés dans l’application et ajouter dans le Property Bag.

    Afin de déployer cette application on procède en 2 étapes : 

    Premièrement, il est question de déployer le premier niveau de l’application. On va créer l’Azure Application et la fonction application Azure. On effectue cette étape une seule fois.

    Deuxièmement, il faut déployer l’application SPFX et créer les Property Bag dans le site SharePoint. On effectue cette étape pour chaque groupe Microsoft 365 auxquels on veut synchroniser un groupe de sécurité.

    Enfin, la plupart des actions sont automatisées par des scripts PowerShell.

    Aller plus loin sur la synchronisation des groupes de sécurité et des groupes Microsoft 365

    Si vous voulez continuer dans la voie de l’utilisation d’applications pour faciliter l’administration de votre tenant Microsoft 365, je vous conseille de nous contacter pour vous présenter les différentes solutions alternatives.

    Henri Desmet


    Administration Microsoft Capitaine Obvie Green IT Lists Microsoft Viva MS Teams OneDrive Outlook Power Apps PowerAutomate Power BI Power Platform SharePoint Solution Obvie Stream Transformation Numérique

  • Personnaliser votre moteur de recherche en 5 étapes dans Microsoft 365

    Personnaliser votre moteur de recherche en 5 étapes dans Microsoft 365

    Plus moyen de mettre la main sur mon précieux document. Après avoir perdu 30 minutes à le chercher et 10 bonnes minutes à me résigner, j’ai décidé de le recréer… Pour finalement, retrouver le document d’origine, par hasard, trois semaines plus tard. Alors comment personnaliser le moteur de recherche dans Microsoft 365 pour gagner en efficacité ?

    Cette situation, plus courante qu’on ne le pense, s’explique par plusieurs raisons. La quantité de documents partagés est plus importante que par le passé, la structure les hébergeant est plus ouverte, les parties prenantes sont plus nombreuses… Autant de facteurs qui « dispersent » l’information. Fort heureusement, il existe un moyen simple d’optimiser votre organisation : personnaliser le moteur de recherche dans Microsoft 365. On vous explique !

    Gestion Documentaire, Knowledge Management ou gestion de fichiers, ourquoi personnaliser votre moteur de recherche dans Microsoft 365 ?

    Quel est le point commun entre la gestion documentaire, le knowledge management, ou simplement la gestion de fichiers ? La découverte de l’information.

    En l’absence de structuration du stockage des connaissances, une entreprise peut vite manquer de réactivité. C’est ici que le knowledge management intervient. Cette technique consiste à collecter les informations pour mieux les partager aux différentes parties prenantes. Il s’agit alors de les rassembler, les organiser, les stocker et les mettre à jour régulièrement. Le but ? Faciliter l’accès et la découverte des connaissances, mais aussi la prise de décision, la formation et la résolution de problèmes.

    En ce sens, le moteur de recherche a révolutionné notre vie et tout le monde sait l’utiliser. Merci Alan Emtage  pour la création de ce concept  et Sergey Brin et Larry Page pour la démocratisation de ce dernier. L’idée est simple : à partir d’un mot (clé ou important), on peut retrouver les documents associés.

    Office 365 possède son propre moteur de recherche et nous donne l’espoir de trouver une réponse.

    Que vaut la recherche « par défaut » ?

    Quand on saisit un mot (par exemple Note) dans la barre de recherche en haut de la fenêtre, voici le résultat :

    Capture d'écran d'un résultat de recherche sans personnaliser son moteur de recherche dans Microsoft 365

    Ok, ça fait le café… Mais il y a des chances que vous trouviez ici des documents peu pertinents à votre recherche.

    Que vaut la recherche quand nous ajoutons « + » ?

    Ainsi, pour affiner celle-ci, nous pouvons la combiner avec des opérateurs logiques et/ou restrictifs afin de construire une requête plus efficace.

    Faisons la même recherche en y associant «+Service », qui cible dans un document les termes « Note » et « Service » :

    Capture d'écran 2 d'un résultat de recherche sans personnaliser son moteur de recherche dans Microsoft 365

    Le résultat est différent.

    Que vaut la recherche quand nous ajoutons « – » ?

    Même expérience avec « -Service », qui revient à rechercher « Note » en excluant les documents qui contiennent le mot « Service ».

    Capture d'écran 3 d'un résultat de recherche sans personnaliser son moteur de recherche dans Microsoft 365

    On remarque encore une fois un résultat bien différent des deux premiers résultats.

    Ceux qui ont cliqué sur les liens concernant Alan Emtage, Larry Page et Sergey Brin ont pu remarquer que nous avons utilisé, ou combiné, d’autres éléments de syntaxe. Vous pouvez retrouver ces derniers sur les deux liens suivant :

    Requêtes de mots clés et conditions de recherche pour eDiscovery – Microsoft 365 Compliance | Microsoft Docs

    Référence de syntaxe de langage de requête de mot clé (KQL) | Microsoft Docs

    Peut-on aller plus loin ? Évidemment ! Comment ? En configurant son moteur de recherche pour être encore plus efficace et gagner du temps. Et si cette tâche vous effraie, sachez qu’il ne faut pas grand-chose pour y parvenir : cinq étapes suffisent pour obtenir un grand effet !

    5 étapes à suivre pour paramétrer son moteur de recherche sur les outils de Microsoft 365

    L’interface de recherche peut être préconfigurée en fonction de vos usages et surtout de votre architecture de l’information.

    Pour illustrer la problématique dans nos ateliers, nous proposons un exercice de choix dans l’achat d’une voiture. Chacun des participants propose trois critères pour filtrer les véhicules disponibles selon leurs besoins. Ce qui a de magique, c’est qu’il y a autant d’options que de participants. Pourtant la fonction d’une voiture reste identique : transporter ses occupants d’un point A à un point B. Nous vous proposons donc d’amener ce choix de filtrage à vos utilisateurs, basé sur les métadonnées de vos documents.

    Pour ce faire, il faut se rendre sur l’interface “admin” d’Office 365. Si vous n’avez pas les droits, demandez à votre service IT de vous aider ou de vous déléguer cette partie. Voici ce qui s’affiche :

    Capture d'écran du module de recherche pour personnaliser son moteur de recherche dans Microsoft 365

    [Le chemin est Paramètre > Recherche et intelligence > Personnalisation > Secteurs Verticaux]

    Les « secteurs verticaux » (merci la traduction de M…. de l’anglais de « Vertical Search ») sont les menus qui sont présentés dans votre résultat de recherche.

    Nous allons configurer notre « secteur vertical » pour rechercher les « notes de service ».

    Etape 1

    On crée un nouveau Secteur Vertical et on lui donne un nom, ici « note de service »

    .

    Etape 2

    On choisit une source de données et nous n’allons pas rechercher ailleurs que SharePoint

    Etape 3

    On ajoute « Note +Service » pour offrir à nos utilisateurs un espace de recherche dédié aux notes de service.

    Capture d'écran d'une requête pour personnaliser son moteur de recherche dans Microsoft 365

    Petit point d’attention : c’est ici que l’usage des métadonnées  (ou propriétés de fichier) commence à offrir plus de valeur que la simple catégorisation des documents. Nous aborderons ce sujet dans un autre article de blog.

    Etape 4

    On passe la personnalisation de cette étape afin de ne pas alourdir l’article. C’est une étape que vous pourrez personnaliser par la suite afin d’offrir des filtres sur le type de « note de service » ou tout autre métadonnée (ou propriété de fichier)

    Etape 5

    Vous arrivez donc aux écrans de contrôle, de validation et d’ activation.

    Une fois tout ceci fait, voila le résultat :

    Testons notre recherche

    Patientons quelques minutes et retournons sur notre interface de recherche.

    Le nouveau secteur vertical apparait dans la page de résultat de recherche. L’utilisateur saisit le mot recherché et filtre les résultats à l’aide du secteur vertical, le résultat est déjà restreint pour le paramétrage construit côté admin Office 365. Rassurez vous, cette procédure fonctionne avec d’autres mots clés.

    Allons maintenant chercher les « Note de service » de « Benjamin »

    Ces différentes étapes permettent ainsi  de répondre aux divers besoins des actifs, à savoir ajouter ou personnaliser les filtres « métier » de recherche sur leur Office 365.

    Yoann Kalandyk


    Administration Microsoft Capitaine Obvie Green IT Lists Microsoft Viva MS Teams OneDrive Outlook Power Apps PowerAutomate Power BI Power Platform SharePoint Solution Obvie Stream Transformation Numérique

  • Synchroniser les groupes de sécurité avec les groupes Microsoft 365 (détaillé)

    Synchroniser les groupes de sécurité avec les groupes Microsoft 365 (détaillé)

    Dans cet article nous allons détailler le fonctionnement de l’application pour synchroniser les groupes de sécurité et les groupes Microsoft 365. Nous décrirons également le déroulement du déploiement. 

    Nous allons découper l’application en 2 parties :

    • Les scripts Azure functionL’interface SPFX

    • Puis nous terminerons sur le déploiement de l’application.

    L’ensemble de la solution pour synchroniser les groupes de sécurité et les groupes Microsoft 365 est disponible sur ce repository Github, n’hésitez pas à l’installer, la modifier pour l’adapter à votre organisation et à faire des retours.

    L’ Azure Function App

    L’Azure Function App est une ressource disponible dans le portail Azure. Cette App va contenir des scripts qui pourront être déclenchés par appel HTTP, timer… A ce jour il est possible d’y écrire du C#, du JavaScript ou encore du Powershell, le langage que nous allons utiliser. Les mises à jour sont constantes sur Azure Function, certains modules peuvent être dépréciés. Dans nos scripts, nous allons utiliser les modules les plus récents pour réaliser nos actions.

    Les modules

    Pour nos scripts nous allons utiliser 3 modules :

    1. Az.Accounts, pour effectuer les opérations dans les groupes Microsoft 365
    2. Az.Resources, pour récupérer les membres des groupes de sécurités
    3. PnP.PowerShell, pour effectuer les actions dans SharePoint

    Pour utiliser des modules dans les fonctions Azure, il existe 2 méthodes :

    La première est de télécharger les modules dans le répertoire virtuel de l’Azure function App. Pour cela il faut se rendre dans la section « Outils de développement -> Outils avancés ». Cela vous redirigera vers Kudu, une plateforme où il est possible d’effectuer des opérations sur l’environnement virtuel de votre Azure function App. En allant dans la « Debug console », on fait apparaître les répertoires virtuels et on peut y déposer des modules PowerShell. Pour ajouter les modules, il faut se rendre dans « Site -> wwwroot » et créer un répertoire « Modules ». Puis vous pouvez déposer les modules dedans et les importer dans vos scripts. Si les modules sont mis à jour par leurs développeurs, il vous faudra les supprimer et les redéposer.

    La deuxième méthode consiste à utiliser le fichier « requirements.psd1 » disponible dans la section « Fonctions -> Fichiers d’application ». Ce fichier permet d’inscrire des noms de modules et leur version qui seront automatiquement installés au premier lancement du script. A la création d’une Azure function application, le module Az est déjà inscrit. Il est possible d’inscrire une version précise dans le fichier, ou alors le premier chiffre suivit d’une * pour que le fichier récupère automatiquement la dernière version de l’itération. A chaque lancement d’un script, Une comparaison est effectuée entre la version du module installée et celle inscrite dans le fichier. Si elle est différente, une installation de la nouvelle version s’effectue.

    Pour notre application, j’ai opté pour la deuxième méthode qui me semble plus propre et plus simple à maintenir à jour. Voici un aperçu du fichier « requirements » :

    requirements - synchroniser-des-groupes-de-securite - Solution-Obvie

    Les variables globales

    Dans la section « Paramètres » puis dans « Configuration », il est possible d’ajouter des paramètres d’application. Dans nos 4 scripts, nous avons besoin d’informations qui sont communes à tous. Nous avons 4 paramètres :

    • AdminSharePointSite, Url du site admin SharePoint. Il va être utilisé par le script quotidien pour obtenir la liste des sites SharePoint.
    • AzureAppId, l’id de l’application Azure. Il va être utilisé pour s’authentifier sur les sites SharePoint et sur Azure.
    • TenantId, l’id du tenant. Il va être utilisé pour s’authentifier sur les sites SharePoint et sur Azure.
    • WEBSITE_LOAD_CERTIFICATES, thumbprint du certificat de l’azure application. Il va être utilisé pour s’authentifier sur les sites SharePoint et sur Azure. Cette variable autorise aussi les scripts de la fonction application d’utiliser un certificat. Je vous conseil de consulter la partie 2 de cet article qui explique comment ajouter un certificat à l’environnement virtuel d’une azure function app et comment s’en servir.

    Pour appeler ces paramètres dans nos fonctions, il faut écrire « $env: » suivi du nom du paramètre.

    Les 3 scripts HTTP

    Les 3 scripts HTTP sont ceux qui vont être appelés par l’interface SharePoint. Ces scripts reçoivent 3 paramètres :

    • securityGroupId
    • microsoftGroupId
    • siteUrl

    Ajout d’un groupe de sécurité

    Le script va permettre d’ajouter les membres d’un groupe de sécurité à un groupe Microsoft 365, voici son fonctionnement :

    Tout d’abord on se connecte au site SharePoint du groupe Microsoft, et à Azure :

    Ensuite on vient récupérer les membres actuels du groupe M365 avec la commande « Get-AzADGroupMember » du module Az.Resources. On les ajoute à un tableau que l’on convertira en Json pour le stocker dans un Property Bag du site SharePoint :

    script2-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Puis via une fonction, on récupère les membres du groupe de sécurité que l’on ajoute au groupe Microsoft 365. On ajoute aussi ces membres dans un tableau que l’on sauvegardera dans un Property Bag. Il est possible que des groupes de sécurité soient inclus dans un groupe de sécurité. La fonction est construite de manière à être récursive, si elle détecte qu’un groupe fait partie du groupe de sécurité elle vient récupérer ses membres. Ainsi les membres du groupes inclus sont aussi ajoutés au groupe Microsoft :

    script3-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Pour finir le script, on vient inscrire les informations du groupe de sécurité dans une Property Bag aussi. S’il n’y a pas eu d’erreur dans le traitement, on retourne le code 200 qui indique un statut OK à l’interface SharePoint. A noter que les Property Bag n’accepte que des strings, nous convertissons donc nos tableaux en JSON pour les stocker dans les Property Bag :

    script4-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Suppression d’un groupe de sécurité

    Le script de suppression va supprimer les membres du groupe de sécurité associer au groupe Microsoft 365. Pour cela, il va se baser sur les membres qui sont enregistrés dans le Property Bag du site SharePoint.

    La première étape concerne la connexion comme pour le script précédent.

    On récupère ensuite les membres de sécurité et membres du groupe Microsoft 365 enregistrés dans les Property Bag :

    script5-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    et on supprime les membres de la liste de sécurité du groupe Microsoft 365 s’ils ne faisaient pas partie du groupe de base :

    script6-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Si tout s’est bien déroulé, on retourne le code 200 et le statut OK à l’interface SharePoint.

    Synchronisation d’un groupe de sécurité associé à un groupe Microsoft 365

    Ce script va permettre de mettre à jour les membres du groupe de sécurité inclut dans le groupe M365. Il est nécessaire d’avoir ce script car pour rappel, ce sont bien les membres et non le groupe qui sont associés au groupe M365. Toutes modifications dans le groupe de sécurité ne sont donc pas répliquées dans le groupe M365 nativement.

    La première étape reste celle de la connexion. Ensuite, on vient récupérer les listes des membres de sécurité et du groupe M365 des Property Bag comme dans le script précèdent. Puis il faut requêter le groupe de sécurité comme dans le script d’ajout pour récupérer la liste des membres à jour.

    Suite à ça, deux fonctions mettent à jour les membres.

    La première est celle d’ajout des nouveaux membres. Dans cette fonction on va venir boucler sur la liste des membres du groupe de sécurité fraichement récupérée. On va regarder si le membre n’est pas déjà dans le Property Bag des membres de sécurité et dans le Property Bag des membres du groupe M365 de base. S’il n’est pas présent, cela signifie que le membre a été ajouté récemment dans le groupe de sécurité. On l’ajoute alors au groupe M365 et dans le Property Bag des membres du groupe de sécurité :

    script7-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    La deuxième fonction va servir à retirer les membres qui ne sont plus présent dans le groupe de sécurité. Dans cette fonction, on va boucler sur la liste des membres de sécurité du Property Bag. Si le membre n’est pas contenu dans la liste nouvellement récupérée du groupe de sécurité ni dans la liste du Property Bag du groupe M365 de base, il est retiré du groupe M365.

    script8-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Le script Timer

    Dans l’optique de maintenir cette association à jour, un script Timer est mis en place. Par défaut, son exécution est quotidienne. Le script se connecte au site admin SharePoint du tenant, et récupère la liste des sites SharePoint. Puis il effectue une connexion sur chaque site et vérifie si le Property Bag « syncGroupAppEnabled » est à « true ». Si c’est le cas, le script effectue les mêmes opérations que celui de synchronisation vu au dessus.

    L’interface SPFX

    L’interface SPFX a pour but d’appeler les scripts de l’azure function app. Elle est constituée de 2 designs :

    • Interface pour ajouter un groupe de sécurité
    • Interface pour synchroniser / retirer un groupe de sécurité

    Interface d’ajout de groupe


    SPFX-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Cette interface est très simple et affiche les informations suivantes :

    • Le nom du groupe Microsoft 365
    • La liste des groupes de sécurité qui peuvent être associés

    La liste des groupes de sécurité qui peuvent être associés proviennent d’un Property Bag qui est initialisé au déploiement de l’application SPFX. Un fichier Excel est présent pour inscrire la liste des groupes de sécurité. Le bouton « Add » reste désactivé tant que l’utilisateur n’a pas sélectionné un groupe dans la liste.

    Une fois sélectionné, l’utilisateur peut actionner le bouton et l’appel est effectué vers la fonction Azure. Un message d’attente s’affiche :

    SPFX2-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Ce message s’affiche pour toutes les actions qui appellent un script sur Azure.

    Interface de synchronisation et de suppression 

    Une fois le groupe associé, l’interface présente 2 option : Sync ou Remove.

    SPFX3-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    On retrouve aussi l’information de la dernière synchronisation, les utilisateurs ajoutés ou supprimé lors de cette dernière.

    Si l’utilisateur utilise l’option « Sync » et que des mouvements ont eu lieu dans le groupe de sécurité associé, les noms des personnes s’afficheront :

    SPFX4-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Si l’utilisateur sélectionne l’option « Remove », la première interface graphique reviendra. 

    Le déploiement

    Dans cette partie nous allons voir quelles sont les étapes du déploiement de l’application. Ce déploiement se fait en 2 parties :

    • Un déploiement à faire une fois au niveau du tenant global.
    • Un déploiement à faire pour chaque groupe qui utilisera l’application.

    Le package de déploiement comprend les fichiers suivants :

    • Un dossier certificates, il contient les certificats à déployer dans l’application Azure pour s’authentifier.
    • Un ficher deployAzure.ps1, script qui permet de déployer l’Azure Application et la fonction application Azure.
    • Un fichier manifest.json, fichier qui contient les permissions à ajouter sur l’Azure application.
    • Un dossier zip PowerShellGroupOperation.zip, dossier qui contient les fonctions Azure à déployer dans la fonction application Azure.
    • Un fichier deploySPFX.ps1, script qui permet de déployer l’application SPFX et de créer les Property Bag dans le site SharePoint.
    • Un fichier securityGroups.xlsx, il contient les groupes de sécurités qui seront utilisés dans l’application et ajouter dans le Property Bag.

    Le déploiement au niveau du tenant

    Avant de lancer le script il faut avoir Azure CLI installé. Les commandes apportées par ce module servent à créer l’application Azure AD et la fonction application. Pour installer Azure CLI, je vous recommande la documentation Microsoft : Install Azure CLI.

    Pour les autres modules utilisés dans le script, une vérification est effectuée au lancement avec l’installation si nécessaire.

    Nous allons d’abord dérouler le script qui est à lancer une seule fois au niveau du tenant global. Ce script va réaliser 2 actions majeures :

    • Création de l’application Azure avec un certificat associé.
    • Création de la fonction application Azure avec les paramètres d’application et le certificat uploadé.

    Pour réaliser ces actions, le script a besoin de 8 paramètres :

    • $TenantName, utilisé pour récupérer l’url du site admin SharePoint.
    • $FullTenantName, utilisé pour créer l’Azure application.
    • $TenantId, stocké dans un paramètre de la fonction Azure application.
    • $AzureAppName, nom de l’Azure application.
    • $FunctionAppName, nom de la fonction Azure application.
    • $SubscriptionId, utilisé pour créer la fonction Azure application.
    • $StorageAccount, utilisé pour créer la fonction Azure application.
    • $ResourceGroupName, utilisé pour créer la fonction Azure application.
    • $Location, utilisé pour créer la fonction Azure application.
    • $CertificatePassword, mot de passe du certificat.

    Au lancement du script 3 connexions avec des comptes admin sont demandées :

    • Une pour se connecter à Azure AD.
    • Une pour se connecter à Azure CLI.
    • Une pour se connecter à SharePoint.

    Création de l’Azure application

    Une fois connecté, la création de l’Azure application se lance. On vérifie si l’application existe déjà. Si oui, on lui ajoute les droits qui sont nécessaire pour l’application. Si non, le processus de création se lance.

    Pour créer l’Azure application et son certificat auto signé, nous utilisons une commande qui a été conçue par les développeurs de PnP. Cette commande est la suivante :

    Initialize-PnPPowerShellAuthentication

    Cette commande est disponible dans le module « SharePointPnPPowerShellOnline ». Je place ici un petit warning car ce module est en train d’être déprécié. Les développeurs PnP ont sorti récemment le module PnP.PowerShell que nous utilisons d’ailleurs dans nos fonction Azure. Cependant ils ont enlevé cette commande qui est je trouve assez utile pour générer facilement un certificat auto signé. C’est pourquoi j’utilise l’ancien module pour effectuer le déploiement. Si vous avez le module PnP.PowerShell installé, il faut le désinstaller afin de pouvoir installer SharePointPnPPowerShellOnline.

    La commande va d’abord générer le certificat, puis lancer la création de l’Azure application. Ensuite, elle enregistre le certificat dans l’application et une fenêtre va s’ouvrir avec une demande de connexion avec un compte Admin. Une fois connecté, l’admin doit approuver les permissions qui sont instanciées de base par la commande.

    Suite à cette commande, des permissions spécifiques sont ajoutées à l’Azure application. Encore une fois une connexion Admin est demandée. Les permissions ajoutées sont disponible au format JSON dans le fichier « Manifest.json ». Pour pouvoir ajouter des permissions à l’application depuis ce fichier, nous passons par une commande Azure CLI.

    Après ces étapes, l’Azure application est créée.

    Création de la fonction Azure application

    Pour créer la fonction Azure application, nous passons aussi par une commande Azure CLI :

    az functionapp create

    Elle prend en paramètre le type de langage et sa version.

    Une fois créée, on ajoute les paramètres qui nous seront utiles dans nos scripts :

    script9-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Ensuite on vient uploader le certificat dans la fonction Azure application avec la commande :

    script10-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Ajouter les scripts

    A ce stade la fonction Azure application est créée et elle contient le certificat ainsi que les paramètres utiles aux scripts. Ils ne restent qu’à ajouter ces fameux scripts dans le portail Azure. Une commande Azure CLI permet de pousser un dossier zip d’une azure function application dans une autre :

    script11-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Cette opération peut prendre un peu de temps.

    Pour finir on ajoute l’application SPFX dans le catalogue d’application de SharePoint :

    script12-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Et voilà ! Notre déploiement au niveau global est terminé.

    Le déploiement par groupe Microsoft 365

    Le script de déploiement par groupe va permettre de créer les Property Bag dans le site SharePoint et d’ajouter la Web Part SPFX. Dans ce script pour éviter d’avoir des problèmes de droits par rapport à des groupes privés nous allons utiliser l’application Azure et son certificat créé pour s’authentifier. Pour cela il faut d’abord installer le certificat sur son environnement local. Il faut installer le fichier .pfx qui est disponible dans le dossier de déploiement. Il vous sera demander de renseigner le mot de passe que vous avez choisi pour le certificat durant le déploiement de l’Azure application.

    Une fois installé, vous pouvez lancer le script. Voici les paramètres dont il a besoin :

    • $SiteUrl, le site SharePoint du groupe sur lequel on veut installer l’application.
    • $TenantName, le nom du tenant.
    • $FunctionAppName, nom de la fonction application Azure qui sera stocké dans un Property Bag.
    • $AzureAppId, ID de l’Azure application utilisé pour s’authentifier.
    • $TenantId, ID du tenant utilisé pour s’authentifier.
    • $Thumbprint, Empreinte du certificat utilisée pour s’authentifier.

    La première partie du script va créer les Property Bag :

    script13-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Vous pouvez voir que les groupes de sécurité sont récupérés depuis un fichier Excel. Ce fichier est à modifier selon vos besoin et vos groupes de sécurité.

    Suite à ça, l’application SPFX est installée sur le site du groupe :

    script14-solution-obvie.com/synchroniser-des-groupes-de-securite-avec-des-groupes-microsoft-365

    Dans notre cas d’étude, le tenant supporte le CDN Office 365 pour hoster les composants d’une application SPFX. Ici, l’application a été packagée et le chemin indiqué dans la commande est celui par défaut. Pour en apprendre plus sur la mise en production d’une solution SPFX, je vous conseil cet article qui explique comment déployer la solution.

    Il ne vous reste plus qu’à placer la Web Part dans le site et c’est parti !

    Pour conclure

    L’application de synchronisation de groupes de sécurité permet de placer des membres d’une équipe de sécurité dans un groupe Microsoft 365. Cet article avait pour but de présenter l’application et son fonctionnement, ainsi qu’apporter des conseils sur l’utilisation de certaines technologies.

    Pour apprendre encore plus de l’application, je vous recommande fortement de l’installer et de commencer à l’utiliser. Dans toutes les parties de la solution, des commentaires sont présents pour faciliter la compréhension.

    Si vous voulez continuer dans la voie de l’utilisation d’application pour faciliter l’administration de votre tenant Microsoft 365, je vous conseille de nous contacter pour vous présenter les différentes solutions alternatives.

    Laurent Heroguelle


    Administration Microsoft Capitaine Obvie Green IT Lists Microsoft Viva MS Teams OneDrive Outlook Power Apps PowerAutomate Power BI Power Platform SharePoint Solution Obvie Stream Transformation Numérique

  • Les canaux privés sont arrivés dans Teams

    Les canaux privés sont arrivés dans Teams

    Annoncée en Mars 2019, ajoutée à la roadmap en Juillet 2019 et initialement prévue pour Octobre 2019, cette fonctionnalité a subi un léger retard et est maintenant en cours de déploiement sur les tenants Microsoft 365 du monde entier. Les capitaines sont heureux de l’annoncer : les canaux privés sont arrivés dans Teams !

    Cela fait un moment que cette fonctionnalité est demandée, nous allons voir dans cet article comment fonctionnent les canaux privés, comment les mettre en place et quelles sont les limitations de cette nouvelle fonctionnalité.

    Que sont les canaux privés dans Teams ?

    Les canaux privés permettent aux propriétaires et aux membres d’une équipe de créer un canal qui par défaut ne sera pas visible des autres membres de l’équipe.
    Ceci permet donc de faciliter la gestion des informations au sein d’une équipe en cloisonnant vos canaux.
    A noter que la création d’un canal privé n’ajoute pas de dossier sur la collection de sites SharePoint de l’équipe mais créé une nouvelle collection de sites SharePoint. Afin d’éviter un dépassement de la limite du nombre de collections de sites par Tenant, Microsoft a augmenté cette limite à 2 000 000 contre 500 000 auparavant.

    Comment les paramétrer ?

    Par défaut, tous les membres d’une équipe peuvent créer des canaux privés, cette possibilité peut-être désactivée par les propriétaires de l’équipe ou par les administrateurs Microsoft Teams. Les invités, eux, ne peuvent pas créer de canaux privés.
    Une fois un canal privé créé, le propriétaire du canal peut alors y ajouter de nouveaux membres, ou invités, ces membres doivent bien entendu déjà faire partie de l’équipe pour pourvoir être ajoutés à un canal privé.
    Tous les propriétaires d’une équipe peuvent visualiser, supprimer et afficher les propriétaires des canaux privés depuis les paramètres de l’équipe, il est par contre impossible de supprimer le propriétaire d’un canal privé de l’équipe si celui-ci est le dernier propriétaire du canal privé.
    Microsoft à mis en place une documentation afin de gérer le cycle de vie des canaux privés.

    Quelles limitations ?

    Il est possible d’ajouter un invité à un canal privé mais celui-ci doit déjà faire partie de l’équipe
    Un canal existant ne peut-être converti en canal privé, de même un canal privé ne peut-être converti en canal publique
    Les canaux privés de Microsoft Teams supportent les connecteurs et onglets (à l’exception de Forms, Flow, et planner) mais pas encore les applications complètes, ou les bots.
    Chaque équipe peut avoir au maximum 30 canaux privés et chaque canal privé peut avoir au maximum 250 membres. La limite de 30 canaux privés s’additionne à la limite de 200 canaux.
    Pour plus d’informations, vous pouvez consulter la documentation Microsoft à cette adresse 

    En conclusion

    C’est une nouvelle fonctionnalité intéressante et très demandée que Microsoft a mis à disposition de ses clients, cependant elle n’est pas à maturité et pour des raisons de gouvernance, il peut-être judicieux dans un premier temps de bloquer la création de canaux privés au niveau du tenant (via les stratégies d’équipe), de la tester et de l’éprouver avec un groupe d’utilisateurs pilotes.

    On ne peut nous arrêter de le répéter : Les canaux privés sont arrivés dans Teams !


    Administration Microsoft Capitaine Obvie Green IT Lists Microsoft Viva MS Teams OneDrive Outlook Power Apps PowerAutomate Power BI Power Platform SharePoint Solution Obvie Stream Transformation Numérique

Ceci fermera dans 0 secondes