Clustraly
Plugins & API interne

Façonnez votre back-office : l'API JSON admin pour préférences, layout, tri & autocomplétion

API JSON admin préférences, layout, tri & autocomplétion une fonctionnalité du module Plugins & API interne de Clustraly. L'API JSON admin de Clustraly enregistre vos préférences, agence votre tableau de bord, réordonne vos catégories et alimente l'autocomplétion, sous liste blanche stricte.

Chaque personne ajuste son espace de travail : préférences persistées, blocs du dashboard à la carte, arborescence réordonnée par lot, recherche assistée. Vous décidez ce qui s'affiche, Clustraly l'enregistre proprement.

Intégration Plugins & API interne

Une API JSON qui plie l'admin à votre façon de travailler

Votre back-office s'adapte à chaque personne au lieu de l'inverse. Enregistrez vos préférences, composez votre tableau de bord, réordonnez vos catégories et laissez l'autocomplétion vous retrouver articles et tags en cours de frappe.

Le tout repose sur des endpoints JSON dédiés sous /admin/api, aux réponses uniformes et aux codes HTTP adaptés prêts à être appelés depuis vos écrans d'administration.

  • Préférences persistées côté serveur
  • Layout du tableau de bord à la carte
  • Tri de catégories par lot
  • Autocomplétion articles et tags
Préférences & layout

Vous décidez ce que votre tableau de bord affiche

Réglez votre espace une fois, retrouvez-le à chaque connexion. L'endpoint preferences (PUT, protégé CSRF) enregistre vos choix, et dashboardLayout (PUT, CSRF) compose l'ordre des blocs de votre dashboard.

La preuve côté rigueur : preferences n'accepte qu'une liste blanche stricte de colonnes réellement existantes et encode les tableaux en JSON ; dashboardLayout filtre votre sélection contre la liste canonique des blocs avec dédoublonnage, et un tableau vide reste une valeur légitime pour « tout masquer ».

  • Liste blanche stricte des colonnes
  • Blocs filtrés contre la liste canonique
  • Dédoublonnage automatique du layout
  • « Tout masquer » reste une valeur valide
Arborescence des catégories

Réorganisez toute votre arborescence en un seul enregistrement

Glissez, imbriquez, enregistrez. L'endpoint sortCategories (PUT) met à jour l'ordre d'affichage et le parent de vos catégories par lot, en une requête vos hiérarchies restent nettes sans manipulation fastidieuse fiche par fiche.

L'opération n'est ouverte qu'aux personnes autorisées : elle exige la permission categories.edit et le jeton CSRF avant toute écriture.

  • Mise à jour de l'ordre par lot
  • Ré-imbrication via le parent
  • Réservé à la permission categories.edit
Autocomplétion

Retrouvez articles et tags dès la deuxième lettre

Gagnez du temps sur chaque champ de recherche. searchAutocomplete (GET) renvoie des suggestions d'articles dès deux caractères saisis, et tagsAutocomplete (GET) propose les tags correspondants pendant que vous tapez.

Chaque suggestion respecte vos droits : searchAutocomplete exige la permission articles.view et tagsAutocomplete la permission tags.view.

  • Suggestions dès 2 caractères
  • Autocomplétion des tags dédiée
  • Cloisonné par permission (articles.view, tags.view)
Garde-fous

Chaque écriture passe par CSRF, permission et liste blanche

Personnaliser ne veut pas dire ouvrir grand les portes. Toutes les mutations PUT ajoutent le contrôle CSRF, l'ensemble des endpoints /admin/api vit sous limitation de débit et authentification de session admin, et les entrées inconnues sont rejetées en 400 plutôt que silencieusement écrites.

La surface reste minimale : la méthode de tri des menus existe encore dans le code mais sa route a été retirée comme code mort le tri des menus se persiste via la sauvegarde du formulaire de menu. Les réponses sont uniformément en JSON, avec des codes HTTP adaptés.

  • CSRF sur toutes les écritures
  • Limitation de débit sur /admin/api
  • Champ non prévu rejeté en 400
  • Route morte retirée, surface réduite
Pourquoi ça compte

L'admin épouse votre méthode, pas l'inverse

Préférences, layout, tri, autocomplétion : quatre familles d'endpoints JSON qui personnalisent le back-office, chacune verrouillée par liste blanche, permission et CSRF. Vous ajustez ce que vous voyez et comment vous rangez ; Clustraly l'enregistre proprement.

FAQ

Questions fréquentes

Que puis-je masquer sur mon tableau de bord ?
L'endpoint dashboardLayout filtre votre sélection contre la liste canonique des blocs et la dédoublonne. Vous choisissez librement les blocs affichés, et un tableau vide reste une valeur légitime : il masque tout.
Mes préférences peuvent-elles écrire n'importe quelle colonne ?
Non. L'endpoint preferences n'accepte qu'une liste blanche stricte de colonnes réellement existantes et encode les tableaux en JSON. Tout autre champ est rejeté en 400, ce qui évite toute écriture non prévue.
À partir de combien de caractères l'autocomplétion répond-elle ?
searchAutocomplete répond dès deux caractères saisis et exige la permission articles.view ; tagsAutocomplete suggère les tags correspondants et exige la permission tags.view. Chacun reste cloisonné par vos droits.
Le tri des menus passe-t-il par cette API ?
Non. La méthode de tri des menus existe encore dans le code, mais sa route a été retirée comme code mort. Le tri des menus se persiste désormais via la sauvegarde du formulaire de menu.
Prêt à commencer ?

Un back-office à votre main, sans compromis de sécurité

Réglez vos préférences, agencez votre tableau de bord, réordonnez vos catégories et laissez l'autocomplétion accélérer chaque recherche le tout via une API JSON admin cohérente. Chaque écriture reste encadrée par liste blanche stricte, permissions fines, CSRF et limitation de débit, avec des réponses JSON à codes HTTP adaptés. Vous décidez de la forme de votre espace de travail ; Clustraly garde la rigueur.