Aller au contenu principal

Référence des capacités

Les capacités sont les actions atomiques que l'Agent IA Gratuit peut déclencher sur votre installation WordPress. Chaque capacité est une classe PHP enregistrée qui expose un schéma JSON — l'agent lit ce schéma à l'exécution pour comprendre quels paramètres sont requis et ce que la capacité retourne.

Cette page documente toutes les capacités incluses avec Gratis AI Agent v1.9.0.


Types de publications personnalisés (Custom Post Types)

Ces capacités gèrent les types de publications personnalisés (CPT) enregistrés via l'agent. Les enregistrements sont sauvegardés dans la table des options de WordPress, ce qui signifie qu'ils survivent à la désactivation et à la réactivation du plugin.

register_post_type

Enregistre un nouveau type de publication personnalisé.

Paramètres

ParamètreTypeRequisDescription
slugstringOuiLa clé du type de publication (max 20 caractères, pas de majuscules, pas d'espaces)
singular_labelstringOuiNom singulier lisible par l'humain, ex: Portfolio Item
plural_labelstringOuiNom pluriel lisible par l'humain, ex: Portfolio Items
publicbooleanNonIndique si le type de publication est accessible publiquement. Valeur par défaut : true
supportsarrayNonFonctionnalités à supporter : title, editor, thumbnail, excerpt, comments, revisions, custom-fields. Valeur par défaut : ["title","editor"]
has_archivebooleanNonIndique si une page d'archive pour ce type de publication est activée. Valeur par défaut : false
menu_iconstringNonClasse Dashicons ou URL pour l'icône du menu admin. Valeur par défaut : "dashicons-admin-post"
rewrite_slugstringNonSlug d'URL pour le type de publication. Par défaut : slug

Exemple

{
"slug": "portfolio",
"singular_label": "Portfolio Item",
"plural_label": "Portfolio Items",
"public": true,
"supports": ["title", "editor", "thumbnail"],
"has_archive": true,
"menu_icon": "dashicons-portfolio"
}

Retourne { "success": true, "slug": "portfolio" }


list_post_types

Retourne tous les types de publication personnalisés enregistrés par l'agent.

Paramètres — aucun

Retourne

{
"post_types": [
{
"slug": "portfolio",
"singular_label": "Portfolio Item",
"plural_label": "Portfolio Items",
"public": true
}
]
}

delete_post_type

Désenregistre un type de publication personnalisé précédemment enregistré par l'agent. Les publications existantes de ce type restent dans la base de données mais ne sont plus accessibles via le type de publication.

Paramètres

ParamètreTypeRequisDescription
slugstringOuiLa clé du type de publication à supprimer

Retourne { "success": true, "slug": "portfolio" }


Taxonomies personnalisées (Custom Taxonomies)

Ces fonctionnalités gèrent les taxonomies personnalisées. Tout comme les CPTs (Types de publications personnalisés), les enregistrements de taxonomie sont conservés.

register_taxonomy

Enregistre une nouvelle taxonomie personnalisée.

Paramètres

ParamètreTypeRequisDescription
slugstringOuiLa clé de la taxonomie (max 32 caractères)
singular_labelstringOuiLe nom singulier lisible par l'humain, par exemple : Catégorie de projet
plural_labelstringOuiLe nom pluriel lisible par l'humain, par exemple : Catégories de projets
post_typesarrayOuiLes slugs des types de publication auxquels cette taxonomie doit être attachée
hierarchicalbooleanNontrue pour un style catégorie, false pour un style étiquette (tag). Par défaut : true
publicbooleanNonIndique si les termes sont accessibles publiquement. Par défaut : true
rewrite_slugstringNonLe slug URL de la taxonomie. Par défaut : slug

Exemple

{
"slug": "project-category",
"singular_label": "Catégorie de projet",
"plural_label": "Catégories de projets",
"post_types": ["portfolio"],
"hierarchical": true
}

Retourne { "success": true, "slug": "project-category" }

list_taxonomies

Retourne toutes les taxonomies personnalisées enregistrées par l'agent.

Paramètres — aucun

Retour

{
"taxonomies": [
{
"slug": "project-category",
"singular_label": "Catégorie de projet",
"post_types": ["portfolio"],
"hierarchical": true
}
]
}

delete_taxonomy

Désenregistre une taxonomie personnalisée précédemment enregistrée par l'agent.

Paramètres

ParamètreTypeObligatoireDescription
slugstringOuiLa clé de la taxonomie à supprimer

Retour { "success": true, "slug": "project-category" }


Design System

Les capacités du système de design modifient la présentation visuelle du site WordPress — allant du CSS personnalisé aux modèles de blocs et au logo du site.

inject_custom_css

Ajoute du CSS dans la balise <head> du site via wp_add_inline_style. Le CSS est stocké dans l'option gratis_ai_agent_custom_css et est nettoyé proprement lorsque cette capacité est réinitialisée.

Paramètres

ParamètreTypeObligatoireDescription
cssstringOuiCSS valide à injecter
labelstringNonÉtiquette lisible par l'homme pour ce bloc CSS, utilisée dans les journaux de débogage. Valeur par défaut "agent-injected"
replacebooleanNonSi true, remplace tout le CSS précédemment injecté. Par défaut false (ajoute)

Exemple

{
"css": ":root { --primary: #1a1a2e; --accent: #e94560; } body { font-family: 'Inter', sans-serif; }",
"label": "brand-colours",
"replace": false
}

Retourne { "success": true, "bytes": 96 }


add_block_pattern

Enregistre un modèle de bloc réutilisable dans la bibliothèque de modèles WordPress.

Paramètres

ParamètreTypeObligatoireDescription
slugstringOuiIdentifiant du modèle, par exemple gratis/hero-dark
titlestringOuiNom lisible par l'homme du modèle affiché dans l'éditeur
contentstringOuiMarque de bloc sérialisée (HTML) pour le modèle
categoriesarrayNonSlugs des catégories de modèles, par exemple ["featured", "hero"]
descriptionstringNonBrève description affichée dans le sélecteur de modèles
keywordsarrayNonMots-clés de recherche

Retourne { "success": true, "slug": "gratis/hero-dark" }


list_block_patterns

Liste tous les modèles de blocs enregistrés par l'agent.

Paramètres — aucun

Retourne

{
"patterns": [
{
"slug": "gratis/hero-dark",
"title": "Dark Hero",
"categories": ["hero"]
}
]
}

Définit le logo du site WordPress à un ID de pièce jointe donné ou à une URL d'image distante. Lorsqu'une URL est fournie, l'image est téléchargée et importée dans la Bibliothèque de médias.

Paramètres

ParamètreTypeObligatoireDescription
attachment_idintegerNonID d'une pièce jointe existante dans la Bibliothèque de médias
urlstringNonURL d'image distante à importer et à définir comme logo

L'un des paramètres attachment_id ou url doit être fourni.

Retour { "success": true, "attachment_id": 42 }


apply_theme_json_preset

Applique un modèle de couleur/typographie nommé au fichier theme.json (ou global-styles) du thème actif. Les modèles sont des ensembles soigneusement sélectionnés et maintenus par l'équipe de l'agent IA Gratuit.

Paramètres

ParamètreTypeObligatoireDescription
presetstringOuiNom du modèle, par exemple : minimal-dark, warm-editorial, corporate-blue
mergebooleanNonSi true, fusionner avec les valeurs existantes au lieu de les remplacer. Valeur par défaut : false

Modèles disponibles

ModèleDescription
minimal-darkArrière-plan presque noir, texte blanc, couleur d'accent unique
warm-editorialArrière-plan blanc cassé chaud, titres en police avec empattement (serif), couleurs d'accent terreuses
corporate-bluePalette bleu marine et blanc avec typographie professionnelle
vibrant-startupDégradés vifs, coins arrondis, polices sans serif modernes
classic-blogGris neutres, interligne confortable, espacement de mise en page traditionnel

Retour { "success": true, "preset": "minimal-dark" }


Styles Globaux

Les capacités des Styles Globaux lisent et écrivent les valeurs du fichier theme.json via l'API Global Styles de WordPress, affectant tous les blocs et modèles sur tout le site.

get_global_styles

Retourne la configuration actuelle des styles globaux.

Paramètres

ParamètreTypeRequisDescription
pathstringNonPointeur JSON vers une valeur spécifique, par exemple /color/palette ou /typography/fontSizes. Retourne l'objet complet si omis.

Retourne l'objet de styles global complet ou la valeur à path.


set_global_styles

Met à jour une ou plusieurs valeurs dans la configuration des styles globaux.

Paramètres

ParamètreTypeRequisDescription
pathstringOuiPointeur JSON vers la valeur à définir, par exemple /color/palette
valueanyOuiLa nouvelle valeur

Exemple — ajouter une couleur à la palette

{
"path": "/color/palette",
"value": [
{ "slug": "primary", "color": "#1a1a2e", "name": "Primary" },
{ "slug": "accent", "color": "#e94560", "name": "Accent" }
]
}

Retourne { "success": true, "path": "/color/palette" }


reset_global_styles

Réinitialise toutes les modifications des styles globaux appliquées par l'agent, restaurant ainsi les valeurs par défaut du thème.

Paramètres — aucun

Retourne { "success": true }


Les capacités des menus de navigation créent et gèrent les menus WordPress et leurs éléments.

create_menu

Crée un nouveau menu de navigation WordPress.

Paramètres

ParamètreTypeRequisDescription
namestringOuiNom du menu, par exemple Primary Navigation
locationstringNonEmplacement du thème auquel assigner ce menu, par exemple primary

Retourne { "success": true, "menu_id": 7 }

update_menu

Renomme un menu ou réaffecte-le à un emplacement de thème.

Paramètres

ParamètreTypeObligatoireDescription
menu_idintegerOuiID du menu à mettre à jour
namestringNonNouveau nom du menu
locationstringNonEmplacement du thème auquel assigner ou réassigner

Retourne { "success": true, "menu_id": 7 }


add_menu_item

Ajoute un élément à un menu de navigation existant.

Paramètres

ParamètreTypeObligatoireDescription
menu_idintegerOuiID du menu cible
typestringOuiType d'élément : custom, post_type ou taxonomy
titlestringNonLibellé de l'élément du menu (requis pour le type custom)
urlstringNonURL pour les éléments custom
object_idintegerNonID de la publication ou de la terme pour les éléments post_type/taxonomy
parent_idintegerNonID de l'élément du menu sous lequel insérer cet élément
positionintegerNonPosition zéro-indexée dans le menu

Retourne { "success": true, "item_id": 12 }


remove_menu_item

Supprime un élément d'un menu de navigation.

Paramètres

ParamètreTypeObligatoireDescription
item_idintegerOuiID de l'élément du menu à supprimer

Retourne { "success": true, "item_id": 12 }


list_menus

Liste tous les menus de navigation WordPress, y compris leurs emplacements de thème assignés.

Paramètres — aucun

Retourne

Gestion des options

Les capacités d'options permettent de lire et d'écrire les options WordPress via get_option / update_option. Un bloc de sécurité intégré empêche toute modification accidentelle des paramètres critiques.

get_option

Lit une option WordPress.

Paramètres

ParamètreTypeObligatoireDescription
option_namestringOuiLa clé de l'option, par exemple blogname

Retourne { "option_name": "blogname", "value": "Mon Site" }

Renvoie une erreur si option_name est sur la liste de blocage de sécurité.


set_option

Écrit une option WordPress.

Paramètres

ParamètreTypeObligatoireDescription
option_namestringOuiLa clé de l'option
valueanyOuiLa nouvelle valeur (sérialisée automatiquement pour les tableaux/objets)
autoloadstringNon"yes" ou "no". Par défaut, conserve le paramètre autoload existant

Renvoie une erreur si option_name est sur la liste de blocage de sécurité.

Retourne { "success": true, "option_name": "blogname" }


delete_option

Supprime une option WordPress.

Paramètres

ParamètreTypeObligatoireDescription
option_namestringOuiLa clé de l'option à supprimer

Renvoie une erreur si option_name est sur la liste de blocage de sécurité.

Retourne { "success": true, "option_name": "my_custom_option" }

list_options

Liste les options WordPress correspondant à un motif.

Paramètres

ParamètreTypeObligatoireDescription
patternstringNonMotif SQL LIKE pour filtrer les noms d'options, par exemple gratis_%. Retourne toutes les options si omis (à utiliser avec prudence sur les bases de données volumineuses).
limitintegerNonNombre maximum de résultats. Défaut : 50, maximum : 500.

Retour

{
"options": [
{ "option_name": "gratis_ai_agent_version", "autoload": "yes" }
],
"total": 1
}

Gestion du contenu (Content Management)

Les capacités de gestion du contenu permettent de créer et modifier les articles et pages WordPress. Les IDs des articles sont retournés afin que les étapes suivantes dans les plans multi-capacités puissent faire référence au contenu créé.

create_post

Crée un nouvel article, une page ou une entrée de type de publication personnalisé WordPress.

Paramètres

ParamètreTypeRequisDescription
titlestringOuiTitre de la publication
contentstringNonCorps de la publication — accepte du texte brut, du HTML ou une mise en forme par blocs sérialisée
statusstringNondraft, publish, pending, private. Par défaut : draft
post_typestringNonSlug du type de publication, par exemple post, page, ou tout CPT enregistré. Par défaut : post
excerptstringNonRésumé court affiché dans les archives et les résultats de recherche
categoriesarrayNonTableau des noms ou des IDs de catégories à assigner
tagsarrayNonTableau des noms ou des IDs de tags à assigner
authorintegerNonID de l'utilisateur WordPress à définir comme auteur de la publication. Par défaut : l'utilisateur actuel
datestringNonDate de publication au format ISO 8601, par exemple 2026-05-01T09:00:00
page_templatestringNonFichier de modèle à assigner à cette publication ou page, par exemple page-full-width.php. Utile uniquement lorsque le post_type est page ou un CPT prenant en charge les modèles de page.

Exemple

{
"title": "Bienvenue sur notre nouveau site",
"content": "<!-- wp:paragraph --><p>Bonjour le monde !</p><!-- /wp:paragraph -->",
"status": "publish",
"post_type": "page",
"page_template": "page-full-width.php"
}

Retourne { "success": true, "post_id": 42, "permalink": "https://example.com/welcome/" }


update_post

Met à jour une publication ou une page WordPress existante.

Paramètres

ParamètreTypeObligatoireDescription
post_idintegerOuiID de l'article à mettre à jour
titlestringNonNouveau titre de l'article
contentstringNonNouveau corps de l'article
statusstringNonNouveau statut : draft, publish, pending, private
excerptstringNonNouvel extrait
categoriesarrayNonRemplacer la liste complète des catégories par ce tableau de noms ou d'IDs
tagsarrayNonRemplacer la liste complète des tags par ce tableau de noms ou d'IDs
page_templatestringNonNouveau fichier de modèle à assigner à cet article ou cette page, par exemple page-full-width.php. Passe une chaîne vide pour supprimer l'assignation du modèle et revenir au modèle par défaut du thème.

Exemple — changer le modèle après la création

{
"post_id": 42,
"page_template": "page-full-width.php"
}

Retourne { "success": true, "post_id": 42 }


batch_create_posts

Crée plusieurs articles en une seule requête d'appel, ce qui réduit le nombre de communications pendant la construction du site ou l'importation de contenu en masse. Les articles sont créés séquentiellement ; si un article échoue, les autres continuent et l'échec est signalé dans le tableau des résultats.

Paramètres

ParamètreTypeObligatoireDescription
postsarrayOuiTableau d'objets d'articles, chacun acceptant les mêmes paramètres que create_post
stop_on_errorbooleanNonSi true, arrêter le traitement après la première erreur. Valeur par défaut : false

Exemple

{
"posts": [
{
"title": "À Propos",
"post_type": "page",
"status": "publish",
"page_template": "page-full-width.php"
},
{
"title": "Services",
"post_type": "page",
"status": "publish"
},
{
"title": "Contact",
"post_type": "page",
"status": "publish"
}
]
}

**Retourne**

```json
{
"created": 3,
"failed": 0,
"results": [
{ "success": true, "post_id": 42, "title": "À Propos" },
{ "success": true, "post_id": 43, "title": "Services" },
{ "success": true, "post_id": 44, "title": "Contact" }
]
}

Attribue une image mise en avant (vignette de publication) à une publication ou une page existante. Vous pouvez fournir l'ID d'un fichier déjà dans la Bibliothèque Média ou une URL d'image distante ; si vous fournissez une URL, l'image est téléchargée et importée automatiquement.

Paramètres

ParamètreTypeObligatoireDescription
post_idintegerOuiID de la publication ou de la page à mettre à jour
attachment_idintegerNonID d'un fichier existant dans la Bibliothèque Média
urlstringNonURL d'image distante à importer et à définir comme image mise en avant
alt_textstringNonTexte alternatif à appliquer au fichier s'il est importé depuis une URL

L'un des paramètres attachment_id ou url doit être fourni.

Retourne { "success": true, "post_id": 42, "attachment_id": 17 }


create_contact_form

Crée un formulaire de contact en utilisant le plugin de formulaire actif (Contact Form 7, WPForms, Fluent Forms ou Gravity Forms, selon celui qui est installé). Il retourne un shortcode que vous pouvez intégrer dans n'importe quel article ou page.

Paramètres

ParamètreTypeRequisDescription
titlestringOuiNom du formulaire affiché dans l'administration du plugin de formulaire
fieldsarrayOuiListe ordonnée des champs du formulaire (voir objet Field ci-dessous)
recipientstringNonAdresse e-mail pour recevoir les soumissions. Par défaut, c'est l'e-mail d'administration WordPress
subjectstringNonObjet de l'e-mail. Supporte les placeholders [votre-nom] et [votre-sujet] lorsque vous utilisez Contact Form 7
confirmation_messagestringNonMessage affiché après une soumission réussie. Par défaut : "Merci pour votre message. Nous vous recontacterons bientôt."

Objet Field (Champ)

CléTypeRequisDescription
namestringOuiNom de champ interne / clé machine
labelstringOuiLibellé lisible par l'homme affiché sur le formulaire
typestringOuitext, email, tel, textarea, select, checkbox, radio, file, date
requiredbooleanNonIndique si le champ doit être rempli avant la soumission. Par défaut : false
optionsarrayNonOptions pour les champs select, checkbox et radio
placeholderstringNonTexte de substitution (placeholder) pour les entrées de type texte

Exemple

{
"title": "Demande de réservation au restaurant",
"fields": [
{ "name": "your-name", "label": "Nom", "type": "text", "required": true },
{ "name": "your-email", "label": "Email", "type": "email", "required": true },
{ "name": "party-size", "label": "Nombre de personnes", "type": "select", "options": ["1–2", "3–5", "6–10", "10+"] },
{ "name": "your-message", "label": "Demandes spéciales", "type": "textarea", "required": false }
],
"recipient": "[email protected]",
"subject": "Nouvelle demande de réservation de [votre-nom]"
}

Retour

{
"success": true,
"form_id": 3,
"shortcode": "[contact-form-7 id=\"3\" title=\"Demande de réservation au restaurant\"]"
}

Revue Visuelle

Les capacités de Revue Visuelle permettent à l'agent de capturer des captures d'écran de pages en direct et de les analyser, ce qui permet une revue de conception autonome, des comparaisons avant/après et des vérifications de régression visuelle sans avoir besoin d'une extension de navigateur.

capture_screenshot

Capture une capture d'écran d'une page WordPress à une URL donnée en utilisant un navigateur headless côté serveur. L'image est enregistrée dans la Bibliothèque Média et une URL CDN vous est retournée.

Paramètres

ParamètreTypeRequisDescription
urlstringOuiURL complète de la page à capturer, par exemple : https://example.com/about/
widthintegerNonLargeur de la zone visible en pixels. Valeur par défaut : 1280
heightintegerNonHauteur de la zone visible en pixels. Valeur par défaut : 800
full_pagebooleanNonCapturer toute la page défilante au lieu seulement de la zone visible (viewport). Valeur par défaut : false
delay_msintegerNonMillisecondes à attendre après le chargement de la page avant la capture, utile pour le contenu animé. Valeur par défaut : 500
labelstringNonÉtiquette lisible par l'homme stockée avec l'attachement dans la Media Library

Retourne

{
"success": true,
"attachment_id": 88,
"url": "https://example.com/wp-content/uploads/2026/04/screenshot-about.png",
"width": 1280,
"height": 800
}

compare_screenshots

Prend deux captures d'écran et retourne un score de différence visuelle ainsi qu'une image de comparaison mettant en évidence les zones modifiées. Utile pour confirmer qu'un changement de conception a produit le résultat attendu ou pour détecter des régressions non intentionnelles.

Paramètres

ParamètreTypeRequisDescription
before_urlstringOuiURL de la page à capturer comme état "avant"
after_urlstringOuiURL de la page à capturer comme état "après". Peut être la même URL si vous comparez sur une période donnée.
widthintegerNonLargeur de la fenêtre (viewport) pour les deux captures. Valeur par défaut : 1280
thresholdfloatNonSeuil de différence en pixels (de 0,0 à 1,0). Les pixels dans cette tolérance sont considérés comme inchangés. Valeur par défaut : 0.1

Retourne

{
"success": true,
"diff_score": 0.04,
"changed_pixels": 2340,
"total_pixels": 1024000,
"diff_attachment_id": 91,
"diff_url": "https://example.com/wp-content/uploads/2026/04/diff-about.png"
}

Un diff_score de 0.0 signifie qu'il n'y a aucun changement visible ; 1.0 signifie que chaque pixel a changé.


review_page_design

Capture une capture d'écran d'une page et l'envoie au modèle de langage pour une analyse visuelle. Retourne une évaluation structurée couvrant la mise en page, la typographie, l'utilisation des couleurs et les problèmes d'accessibilité.

Paramètres

ParamètreTypeRequisDescription
urlstringOuiURL complète de la page à examiner
focusstringNonListe séparée par des virgules des zones d'examen à mettre en avant : layout, typography, colour, accessibility, mobile. Valeur par défaut : toutes les zones
widthintegerNonLargeur de la fenêtre (viewport). Valeur par défaut : 1280

Retourne

Capacités installables

Le Registre des capacités installables vous permet d'étendre l'agent avec des packs de capacités supplémentaires distribués sous forme de plugins WordPress. Chaque pack enregistre une ou plusieurs capacités en utilisant l'API de capacité standard.

list_available_abilities

Retourne le catalogue des packs de capacités disponibles pour l'installation depuis le registre.

Paramètres

ParamètreTypeObligatoireDescription
categorystringNonFiltrer par catégorie : ecommerce, seo, media, social, developer

Retourne

install_ability

Télécharge et active un pack de capacités depuis le registre.

Paramètres

ParamètreTypeObligatoireDescription
slugstringOuiSlug du plugin de pack de capacités

Retourne { "success": true, "slug": "gratis-ai-agent-woocommerce", "abilities_added": 3 }


recommend_plugin

Interroge le registre des capacités pour trouver le meilleur plugin correspondant à un cas d'utilisation décrit et l'installe éventuellement.

Paramètres

ParamètreTypeObligatoireDescription
descriptionstringOuiDescription en langage naturel de la fonctionnalité souhaitée
installbooleanNonSi true, installe immédiatement le plugin recommandé. Valeur par défaut : false

Exemple

{
"description": "J'ai besoin d'un formulaire de contact avec support de téléchargement de fichiers et protection contre les spams",
"install": false
}

Retourne

{
"recommendation": {
"slug": "contact-form-7",
"name": "Contact Form 7",
"reason": "Large adoption, support des téléchargements de fichiers et intégration avec Akismet pour le filtrage des spams.",
"alternatives": ["wpforms-lite", "fluent-forms"]
}
}