Apercu
Le connecteur Microsoft 365 fournit la fonctionnalite permettant de recuperer des donnees depuis les services Microsoft 365 (OneDrive, OneNote, Teams, SharePoint) et de les enregistrer dans l’index Fess.
Cette fonctionnalite necessite le plugin fess-ds-microsoft365.
Services pris en charge
OneDrive : Drives utilisateurs, drives de groupe, documents partages
OneNote : Carnets (sites, utilisateurs, groupes)
Teams : Canaux, messages, chats
SharePoint Document Libraries : Metadonnees des bibliotheques de documents
SharePoint Lists : Listes et elements de liste
SharePoint Pages : Pages de site, articles d’actualites
Prerequis
L’installation du plugin est requise
L’enregistrement de l’application Azure AD est necessaire
La configuration des permissions de l’API Microsoft Graph et le consentement administrateur sont requis
Java 21 ou superieur, Fess 15.2.0 ou superieur
Installation du plugin
Methode 1 : Placement direct du fichier JAR
Methode 2 : Build depuis les sources
Apres l’installation, redemarrez Fess.
Configuration
Configurez depuis l’interface d’administration via « Crawler » -> « Data Store » -> « Nouveau ».
Configuration de base
| Element | Exemple |
|---|---|
| Nom | Microsoft 365 OneDrive |
| Nom du gestionnaire | OneDriveDataStore / OneNoteDataStore / TeamsDataStore / SharePointDocLibDataStore / SharePointListDataStore / SharePointPageDataStore |
| Active | Oui |
Configuration des parametres (communs)
Liste des parametres communs
| Parametre | Requis | Description |
|---|---|---|
tenant | Oui | ID de locataire Azure AD |
client_id | Oui | ID client de l’enregistrement d’application |
client_secret | Oui | Secret client de l’enregistrement d’application |
number_of_threads | Non | Nombre de threads de traitement parallele (par defaut : 1) |
ignore_error | Non | Continuer le traitement en cas d’erreur (par defaut : false) |
include_pattern | Non | Pattern regex pour le contenu a inclure |
exclude_pattern | Non | Pattern regex pour le contenu a exclure |
default_permissions | Non | Attribution de role par defaut |
Enregistrement d’application Azure AD
1. Enregistrer une application dans le portail Azure
Ouvrez Azure Active Directory dans https://portal.azure.com :
Cliquez sur « Inscriptions d’applications » -> « Nouvelle inscription »
Entrez le nom de l’application
Selectionnez les types de comptes pris en charge
Cliquez sur « Inscrire »
2. Creation du secret client
Dans « Certificats et secrets » :
Cliquez sur « Nouveau secret client »
Definissez une description et une date d’expiration
Copiez la valeur du secret (attention : elle ne sera plus visible apres)
3. Ajout des permissions API
Dans « Permissions de l’API » :
Cliquez sur « Ajouter une autorisation »
Selectionnez « Microsoft Graph »
Selectionnez « Autorisations d’application »
Ajoutez les permissions necessaires (voir ci-dessous)
Cliquez sur « Accorder un consentement d’administrateur »
Permissions requises par Data Store
OneDriveDataStore
Permissions requises :
Files.Read.All
Permissions conditionnelles :
User.Read.All- si user_drive_crawler=trueGroup.Read.All- si group_drive_crawler=trueSites.Read.All- si shared_documents_drive_crawler=true
OneNoteDataStore
Permissions requises :
Notes.Read.All
Permissions conditionnelles :
User.Read.All- si user_note_crawler=trueGroup.Read.All- si group_note_crawler=trueSites.Read.All- si site_note_crawler=true
TeamsDataStore
Permissions requises :
Team.ReadBasic.AllGroup.Read.AllChannel.ReadBasic.AllChannelMessage.Read.AllChannelMember.Read.AllUser.Read.All
Permissions conditionnelles :
Chat.Read.All- si chat_id est specifieFiles.Read.All- si append_attachment=true
Configuration du script
OneDrive
Champs disponibles :
file.name- Nom du fichierfile.description- Description du fichierfile.contents- Contenu textuelfile.mimetype- Type MIMEfile.filetype- Type de fichierfile.created- Date de creationfile.last_modified- Date de derniere modificationfile.size- Taille du fichierfile.web_url- URL pour ouvrir dans le navigateurfile.roles- Permissions d’acces
OneNote
Champs disponibles :
notebook.name- Nom du carnetnotebook.contents- Contenu integre des sections et pagesnotebook.size- Taille du contenu (caracteres)notebook.created- Date de creationnotebook.last_modified- Date de derniere modificationnotebook.web_url- URL pour ouvrir dans le navigateurnotebook.roles- Permissions d’acces
Teams
Champs disponibles :
message.title- Titre du messagemessage.content- Contenu du messagemessage.created_date_time- Date de creationmessage.last_modified_date_time- Date de derniere modificationmessage.web_url- URL pour ouvrir dans le navigateurmessage.roles- Permissions d’accesmessage.from- Informations sur l’expediteur
Parametres supplementaires par Data Store
OneDrive
OneNote
Teams
SharePoint Document Libraries
SharePoint Lists
SharePoint Pages
Exemples d’utilisation
Crawl de tous les drives OneDrive
Parametres :
Script :
Crawl des messages Teams d’une equipe specifique
Parametres :
Script :
Depannage
Erreur d’authentification
Symptome : Authentication failed ou Insufficient privileges
Points a verifier :
Verifier si l’ID de locataire, l’ID client et le secret client sont corrects
Verifier si les permissions API necessaires sont accordees dans le portail Azure
Verifier si le consentement administrateur a ete donne
Verifier la date d’expiration du secret client
Erreur de limitation de debit API
Symptome : 429 Too Many Requests
Solution :
Reduire
number_of_threads(definir a 1 ou 2)Augmenter l’intervalle de crawl
Definir
ignore_error=truepour continuer le traitement
Impossible de recuperer les donnees
Symptome : Le crawl reussit mais 0 documents
Points a verifier :
Verifier si les donnees cibles existent
Verifier si les permissions API sont correctement configurees
Verifier les parametres du crawler de drive utilisateur/groupe
Verifier les messages d’erreur dans les logs
Crawl de donnees volumineuses
Solution :
Diviser en plusieurs data stores (par site, par drive, etc.)
Repartir la charge avec les parametres de planification
Ajuster
number_of_threadspour le traitement paralleleCrawler uniquement des dossiers/sites specifiques
Informations de reference
Apercu des connecteurs DataStore - Apercu des connecteurs Data Store
Connecteur Google Workspace - Connecteur Google Workspace
Présentation - Guide de configuration Data Store
Comment verifier l’ID de site SharePoint
Verifier avec PowerShell :
Ou avec l’API Microsoft Graph :