Vue d’ensemble
L’API Plugin permet de gérer les plugins (artefacts) de Fess. Vous pouvez obtenir la liste des plugins installés et des plugins installables, et effectuer l’installation et la suppression de plugins.
URL de base
Liste des endpoints
| Méthode | Chemin | Description |
|---|---|---|
| GET | /installed | Obtention de la liste des plugins installés |
| GET | /available | Obtention de la liste des plugins installables |
| POST | / | Installation d’un plugin |
| DELETE | / | Suppression d’un plugin |
Champs des informations de plugin
Chaque élément du tableau plugins renvoyé par les endpoints de liste (/installed et /available) est un objet possédant les champs suivants.
| Champ | Description |
|---|---|
type | Identifiant de catégorie de l’artefact. L’une des valeurs suivantes : |
id | Identifiant au format {name}:{version}. |
name | Nom du plugin. |
version | Version du plugin. |
url | URL de téléchargement. Présent uniquement dans la réponse de |
Note
Dans les réponses de l’API Fess, les champs dont la valeur est null ne sont pas inclus dans la sortie. Par conséquent, le champ url n’est pas présent dans chaque élément des plugins installés.
Obtention de la liste des plugins installés
Renvoie la liste des plugins installés. Les artefacts présents dans le répertoire des plugins sont parcourus par catégorie et renvoyés triés par ordre alphabétique.
Requête
Réponse
plugins contient un tableau d’objets représentant les informations des plugins. Pour les champs de chaque objet, reportez-vous à Champs des informations de plugin. Le champ url n’est pas inclus dans la réponse pour les plugins installés.
Obtention de la liste des plugins installables
Renvoie la liste des plugins installables. Les artefacts de toutes les catégories sont récupérés depuis les dépôts configurés dans plugin.repositories de fess_config.properties. Les résultats sont mis en cache pendant une durée déterminée (5 minutes par défaut).
Requête
Réponse
plugins contient un tableau d’objets représentant les informations des plugins installables. Pour les champs de chaque objet, reportez-vous à Champs des informations de plugin. Pour les plugins installables, le champ url de téléchargement est inclus.
Installation d’un plugin
Installe le plugin du nom et de la version spécifiés.
Requête
Corps de la requête
Description des champs
| Champ | Requis | Description |
|---|---|---|
name | Oui | Nom du plugin (100 caractères maximum) |
version | Oui | Version du plugin (100 caractères maximum) |
Note
name et version doivent correspondre à l’un des plugins installables récupérables via /available. Si aucun artefact correspondant n’existe, une erreur est renvoyée.
Réponse
Lorsque la requête est acceptée, une réponse avec status à 0 (OK) est renvoyée.
Si aucun artefact correspondant à name ou version n’existe, status vaut 1 (BAD_REQUEST) et message contient invalid name or version.
Note
L’installation s’exécute de manière asynchrone en arrière-plan. Une réponse status: 0 indique que la requête a été acceptée, mais ne garantit pas que l’installation est terminée. Une fois l’installation terminée, si des plugins portant le même nom mais une version différente sont déjà installés, ils sont automatiquement supprimés. En cas d’échec du téléchargement ou de l’installation, l’erreur est consignée dans les journaux du serveur mais n’est pas reflétée dans la réponse de l’API.
Suppression d’un plugin
Supprime le plugin du nom et de la version spécifiés.
Requête
Corps de la requête
Description des champs
| Champ | Requis | Description |
|---|---|---|
name | Oui | Nom du plugin (100 caractères maximum) |
version | Non | Version du plugin (100 caractères maximum). Il est recommandé de la spécifier pour identifier de manière unique le plugin à supprimer. |
Réponse
Lorsque la requête est acceptée, une réponse avec status à 0 (OK) est renvoyée.
Note
La suppression s’exécute de manière asynchrone en arrière-plan. Une réponse status: 0 indique que la requête a été acceptée ; elle ne vérifie pas si le plugin concerné existe ni si la suppression a réussi. En cas d’échec de la suppression (par exemple si le fichier cible n’existe pas), l’erreur est consignée dans les journaux du serveur mais n’est pas reflétée dans la réponse de l’API.
Exemples d’utilisation
Obtention de la liste des plugins installés
Installation d’un plugin
Suppression d’un plugin
Informations complémentaires
Vue d’ensemble de l’API Admin - Vue d’ensemble de l’API Admin