HomeMicrosoft 365Comment inventorier les composants Microsoft Loop dans un tenant...

Comment inventorier les composants Microsoft Loop dans un tenant Microsoft 365

Microsoft Loop s’impose progressivement comme l’un des outils collaboratifs majeurs de Microsoft 365. Grâce à ses composants dynamiques et co-éditables (tables, listes, notes, tâches), Loop permet aux équipes de travailler ensemble en temps réel, que ce soit dans Teams, Outlook ou OneDrive.

Mais cette flexibilité amène une question de gouvernance essentielle :

Comment obtenir une vue complète de tous les composants Loop présents dans un tenant M365 ?

Contrairement à Forms, Microsoft ne fournit pas encore une API dédiée permettant de lister tous les Loops d’une organisation. Pourtant, il reste possible d’obtenir un inventaire fiable et exploitable.

Pourquoi Loop n’offre pas encore une API dédiée ?

Bien que Loop soit désormais un produit largement diffusé, son API “native” n’est pas encore disponible. Microsoft confirme que les Loop Components sont stockés comme des fichiers spéciaux dans :

  • OneDrive (pour les Loops personnels)
  • SharePoint (pour les Loops liés à des Teams, des Groupes M365 ou des espaces Loop)

Chaque composant Loop est en réalité un fichier .fluid.
C’est grâce à cette particularité qu’un inventaire devient possible.

La bonne nouvelle : Loop repose sur OneDrive et SharePoint

Même sans API Loop dédiée, les fichiers .fluid peuvent être trouvés et analysés via Microsoft Graph, car ils sont stockés dans des Drives SharePoint ou OneDrive.

Concrètement, cela permet de :

  • localiser tous les fichiers Loop du tenant
  • identifier leurs propriétaires (auteurs ou drive racine)
  • extraire leurs métadonnées (date de création, modification, emplacement)
  • détecter les Loops orphelins (drive appartenant à un utilisateur supprimé)

L’inventaire ne fournira pas le “titre logique” d’un composant Loop (car celui-ci dépend du contenu), mais il donne tout ce qui est possible aujourd’hui à l’échelle d’un tenant.

Ce que l’on peut inventorier avec certitude

Grâce à Microsoft Graph, tu peux récupérer :

InformationDisponible ?Source
Liste de tous les fichiers LoopGraph Search API
Nom du composant LoopAttribut name du fichier .fluid
URL d’accèsAttribut webUrl
Propriétaire / auteurAttribut createdBy
Date de dernière modificationAttribut lastModifiedDateTime
Loop orphelin (propriétaire supprimé)Comparaison avec Azure AD
Liste complète des “Loop pages” (workspaces)Pas d’API disponible
Inventaire “tenant-wide” des Loops avec titres métierPas pris en charge

Mais pour un audit de gouvernance, ce que nous obtenons suffit largement.

Prérequis

Avant d’exécuter le script, il vous faut :

  • PowerShell 7+
  • Le module Microsoft Graph PowerShell
  • Un compte avec les permissions :
    • Files.Read.All
    • Sites.Read.All
    • User.Read.All

Installation :

Install-Module Microsoft.Graph -Scope AllUsers

Connexion :

Connect-MgGraph -Scopes "Files.Read.All","Sites.Read.All","User.Read.All"

Le script PowerShell pour inventorier tous les composants Loop

Ce script interroge Microsoft Graph pour :

  • Rechercher tous les fichiers .fluid
  • Extraire leurs métadonnées
  • Identifier le propriétaire
  • Exporter un inventaire complet dans un CSV

Voici le script :

# ============================================
# Inventaire des composants Loop (.fluid)
# Objectif : Lister tous les Loop Components présents
#            dans un tenant Microsoft 365
# ============================================

Connect-MgGraph -Scopes "Files.Read.All","User.Read.All","Sites.Read.All"
Select-MgProfile -Name beta

Write-Host "Recherche des fichiers Loop (.fluid) dans le tenant..." -ForegroundColor Cyan

# Requête Microsoft Graph Search pour trouver tous les .fluid
$queryBody = @{
    requests = @(
        @{
            entityTypes = @("driveItem")
            query       = @{
                queryString = "filetype:fluid"
            }
            fields      = @("name","createdBy","lastModifiedBy","parentReference","webUrl")
        }
    )
}

$response = Invoke-MgGraphRequest 
    -Method POST 
    -Uri "https://graph.microsoft.com/beta/search/query" 
    -Body $queryBody

$inventory = @()

foreach ($hit in $response.value[0].hitsContainers[0].hits) {
    $item = $hit.resource

    $inventory += [pscustomobject]@{
        LoopName      = $item.name
        Url           = $item.webUrl
        DriveId       = $item.parentReference.driveId
        Owner         = $item.createdBy.user.displayName
        OwnerEmail    = $item.createdBy.user.email
        LastModified  = $item.lastModifiedDateTime
    }
}

$filename = "LoopInventory_$(Get-Date -Format 'yyyyMMdd').csv"

$inventory | Export-Csv $filename -NoTypeInformation -Encoding UTF8

Write-Host "Inventaire terminé ! Fichier généré : $filename" -ForegroundColor Green

Exemple de résultat

Une fois le script exécuté, vous obtiendrez un fichier CSV du type :

LoopNameOwnerOwnerEmailLastModifiedUrl
NotesProjet.fluidMarie Tremblaymarie.tremblay@entreprise.com2025-02-18
PlanificationSprint.fluidÉquipe TIéquipe-ti@entreprise.com2025-01-22
SuiviAncienEmployé.fluidorphelin(compte supprimé)2023-09-11

Ce rapport permet :

  • Un inventaire global des composants Loop
  • La détection d’objets orphelins
  • Une meilleure gouvernance des outils collaboratifs
  • Une base solide pour des audits réguliers
  • La possibilité de monitorer l’adoption de Loop

Même si Microsoft Loop n’offre pas encore une API dédiée pour inventorier les composants, il est tout à fait possible d’obtenir une vue complète grâce à Microsoft Graph.

En scannant tous les fichiers .fluid du tenant, vous pouvez :

  • Recenser tous les composants Loop existants
  • Identifier leurs propriétaires
  • Détecter les fichiers orphelins
  • Mieux documenter et gérer la collaboration dans M365

C’est aujourd’hui la meilleure approche, en attendant que Microsoft publie une API Loop complète.

Charles Jenkins
Charles Jenkinshttps://trivium365.com/
Fort de plus de 15 ans d’expérience, il accompagne les organisations dans l’adoption des outils Microsoft pour optimiser leur collaboration et leur productivité. Passionné par l’innovation et l’amélioration continue, il met son expertise au service des équipes pour les aider à tirer le meilleur parti de la transformation numérique.