Apercu
Le connecteur Git fournit la fonctionnalite permettant de recuperer les fichiers d’un depot Git et de les enregistrer dans l’index Fess.
Cette fonctionnalite necessite le plugin fess-ds-git.
Depots pris en charge
GitHub (public/prive)
GitLab (public/prive)
Bitbucket (public/prive)
Depot Git local
Autres services d’hebergement Git
Prerequis
L’installation du plugin est requise
Pour les depots prives, les informations d’authentification sont necessaires
L’acces en lecture au depot est requis
Installation du plugin
Installez depuis l’interface d’administration via « Systeme » -> « Plugins ».
Ou consultez Présentation pour plus de details.
Configuration
Configurez depuis l’interface d’administration via « Crawler » -> « Data Store » -> « Nouveau ».
Configuration de base
| Element | Exemple |
|---|---|
| Nom | Project Git Repository |
| Nom du gestionnaire | GitDataStore |
| Active | Oui |
Configuration des parametres
Exemple de depot public :
Exemple de depot prive (avec authentification) :
Liste des parametres
Configuration du script
Champs disponibles
| Champ | Description |
|---|---|
url | URL du fichier |
path | Chemin du fichier dans le depot |
name | Nom du fichier |
content | Contenu textuel du fichier |
contentLength | Longueur du contenu |
timestamp | Date de derniere modification |
mimetype | Type MIME du fichier |
author | Informations sur le dernier auteur du commit (PersonIdent) |
committer | Informations sur le commiteur (PersonIdent). Peut differer de l’auteur |
uri | URI du depot Git |
Authentification Git
GitHub Personal Access Token
1. Generer un Personal Access Token sur GitHub
Accedez a https://github.com/settings/tokens :
Cliquez sur « Generate new token » -> « Generate new token (classic) »
Entrez un nom de token (ex: Fess Crawler)
Cochez « repo » dans les scopes
Cliquez sur « Generate token »
Copiez le token genere
2. Inclure les informations d’authentification dans l’URI
GitLab Private Token
1. Generer un Access Token sur GitLab
Dans GitLab User Settings -> Access Tokens :
Entrez un nom de token
Cochez « read_repository » dans les scopes
Cliquez sur « Create personal access token »
Copiez le token genere
2. Inclure les informations d’authentification dans l’URI
Authentification SSH
Pour utiliser une cle SSH :
Note
Lors de l’utilisation de l’authentification SSH, vous devez configurer la cle SSH de l’utilisateur executant Fess.
Configuration des extracteurs
Extracteurs par type MIME
Specifiez les extracteurs par type de fichier avec le parametre extractors :
Format : <regex_type_MIME>:<nom_extracteur>,
Extracteurs par defaut
textExtractor- Pour les fichiers textetikaExtractor- Pour les fichiers binaires (PDF, Word, etc.)
Crawler uniquement les fichiers texte
Crawler tous les fichiers
Types de fichiers specifiques uniquement
Crawl differentiel
Crawler uniquement les modifications depuis le dernier commit
Apres le premier crawl, definissez l’ID du commit precedent dans prev_commit_id :
Note
prev_commit_id est automatiquement mis a jour avec le dernier ID de commit apres un crawl reussi. Laissez-le vide pour le premier crawl afin de traiter tous les fichiers ; les crawls suivants ne traiteront que les modifications.
Traitement des fichiers supprimes
Lorsque base_url est défini, les fichiers détectés comme supprimés via Git DiffEntry (ChangeType.DELETE) sont automatiquement supprimés de l’index.
Exemples d’utilisation
Depot public GitHub
Parametres :
Script :
Depot prive GitHub
Parametres :
Script :
GitLab (auto-heberge)
Parametres :
Script :
Crawler uniquement la documentation (fichiers Markdown)
Parametres :
Script :
Crawler uniquement des repertoires specifiques
Filtrage par script :
Depannage
Erreur d’authentification
Symptome : Authentication failed ou Not authorized
Points a verifier :
Verifier si le Personal Access Token est correct
Verifier si le token a les droits appropries (scope
repo)Verifier si le format de l’URI est correct :
Verifier la date d’expiration du token
Depot introuvable
Symptome : Repository not found
Points a verifier :
Verifier si l’URL du depot est correcte
Verifier si le depot existe et n’a pas ete supprime
Verifier si les informations d’authentification sont correctes
Verifier si vous avez acces au depot
Impossible de recuperer les fichiers
Symptome : Le crawl reussit mais 0 fichiers
Points a verifier :
Verifier si la configuration
extractorsest approprieeVerifier si des fichiers existent dans le depot
Verifier si la configuration du script est correcte
Verifier si des fichiers existent dans la branche cible
Erreur de type MIME
Symptome : Certains fichiers ne sont pas crawles
Solution :
Ajuster la configuration des extracteurs :
Depots volumineux
Symptome : Le crawl prend du temps ou memoire insuffisante
Solution :
Limiter les fichiers cibles avec
extractorsFiltrer des repertoires specifiques avec le script
Utiliser le crawl differentiel (parametre
prev_commit_id)Ajuster l’intervalle de crawl
Specification de branche
Pour crawler une branche autre que celle par défaut, spécifiez le nom de la branche ou du tag avec le paramètre commit_id :
Generation d’URL
Patterns de configuration base_url
GitHub :
GitLab :
Bitbucket :
L’URL est generee en concatenant base_url et le chemin du fichier.
Generation d’URL dans le script
Ou URL personnalisee :
Informations de reference
Apercu des connecteurs DataStore - Apercu des connecteurs Data Store
Connecteur base de donnees - Connecteur de base de donnees
Présentation - Guide de configuration Data Store