Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

API Abilities - Le langage universel de Wordpress pour unifier les composants IA

Par : Korben
1 octobre 2025 à 08:42

Vous avez un site WordPress et vous voulez ajouter de l’IA dedans ?

Alors pour faire ça, vous installez un super plugin qui utilise ChatGPT. Parfait ! Sauf que 2 mois après, vous découvrez l’existence d’un nouvelle version de Claude qui est bien meilleure. Ou Gemini sort une fonctionnalité que vous voulez absolument..

Mais bon, votre plugin est marié avec OpenAI, et impossible de divorcer. Du coup, vous êtes coincé. Bienvenue dans le grand bordel de l’IA, où chaque outil parle sa propre langue et refuse de discuter avec les autres.

Heureusement, WordPress vient de sortir un truc qui pourrait bien changer tout ça. En gros, ils ont créé trois outils qui fonctionnent ensemble pour transformer WordPress en “traducteur universel” pour les IA. Ça s’appelle l’Abilities API, le PHP AI Client SDK, et le support du MCP (Model Context Protocol).

D’après l’annonce officielle sur Make WordPress , l’idée c’est donc de créer un registre central où toutes les capacités de WordPress sont décrites de manière lisible par les machines. Jonathan Bossenger explique que l’Abilities API ne se limite pas à découvrir les capacités du site, mais gère aussi les permissions et l’exécution de manière sécurisée. Votre site peut dire à une IA “Voilà ce que je sais faire, voilà ce que tu peux toucher, et voilà comment tu exécutes ça”.

// N'importe quel plugin peut enregistrer ses capacités avec le hook `init`.
wp_register_ability( 'my-seo-plugin/analyze-content-seo', [
 'label' => __( 'Analyser le SEO du contenu', 'my-seo-plugin' ),
 'description' => __( 'Analyse le contenu de l\'article pour améliorer le SEO.', 'my-seo-plugin' ),
 'thinking_message' => __( 'Analyse de votre contenu en cours !', 'my-seo-plugin' ),
 'success_message' => __( 'Contenu analysé avec succès.', 'my-seo-plugin' ),
 'execute_callback' => [ 'MySEOPlugin', 'analyze_content' ],
 'input_schema' => [
 'type' => 'object',
 'properties' => [
 'post_id' => [
 'type' => 'integer',
 'description' => __( 'L\'identifiant de l\'article.', 'my-seo-plugin' ),
 'required' => true
 ],
 ],
 'additional_properties' => false,
 ],
 'output_schema' => [
 'type' => 'number',
 'description' => __( 'Le score du contenu en pourcentage.', 'my-seo-plugin' ),
 'required' => true,
 ],
 'permission_callback' => 'edit_posts',
] );

Le truc marrant, c’est que WordPress a la réputation d’être la technologie “has-been” du web. Les hipsters du dev vous disent que c’est un dinosaure, qu’il faut passer à Next.js ou je ne sais quoi, et pourtant, c’est ce dino qui devient le premier CMS à adopter le MCP, qui est quand même un standard ultra-récent. Si vous n’avez jamais entendu parlé de MCP, c’est développé par Anthropic et ça permet de standardiser la façon dont les IA communiquent avec les outils externes.

WordPress a intégré le MCP en quelques mois et je vous explique rapidmeent comment ça marche, parce que c’est pas si compliqué. Le PHP AI Client SDK v0.1.0 est en fait une interface unifiée pour parler à n’importe quelle IA. Vous écrivez votre code une fois, et ça fonctionne avec OpenAI, Claude, Gemini, ou même un modèle local que vous faites tourner chez vous. Ce SDK se charge donc de traduire vos requêtes dans le langage de chaque provider.

C’est donc surtout un truc pour les développeurs, les agences, les gens qui codent des plugins et des thèmes custom. Et si vous êtes un utilisateur lambda de Wordpress (qui ne code pas dans cet écosystème), sachez quand même que les plugins et thèmes que vous utiliserez demain seront construits là-dessus.

Donc indirectement, ça va influencer votre expérience car vous aurez des plugins qui vous laisseront choisir votre fournisseur de LLM IA dans les réglages. Par exemple, un plugin de rédaction pourra utiliser Claude pour le style, GPT-4 pour la structure, et Gemini pour la recherche d’images, tout en même temps si vous le souhaitez… Ce sera un peu comme le Bluetooth ou l’électricité : vous ne savez pas vraiment comment ça marche, mais vous l’utiliserez tous les jours sans y penser.

Ce SDK est déjà disponible via Composer pour les devs qui veulent tester et WordPress 6.9 intégrera l’Abilities API directement dans son core. Après ça, on devrait donc voir une explosion de plugins qui utiliseront plusieurs IA simultanément.

Après si vous n’utilisez pas Wordpress, rassurez-vous, c’est pas juste une feature de chez eux… C’est un standard qui pourra être adopté également par d’autres CMS. Un peu comme RSS à l’époque qui a commencé dans un coin, puis que tout le monde a adopté parce que c’était ouvert et pratique. Et bien là, c’est pareil, l’Abilities API et le MCP sont open source donc n’importe qui peut les implémenter dans ses outils.

A voir maintenant comment les projets concurrents vont réagir… Wix va-t-il continuer à pousser son intégration exclusive avec ChatGPT ? Shopify va-t-il ouvrir son API IA ? Ou est-ce qu’ils vont tous regarder WordPress prendre une longueur d’avance et se dire “Merde, on a peut-être loupé un truc” ?

Bref, moi je trouve ça cool car WordPress aurait pu faire comme les autres, c’est à dire un beau partenariat exclusif avec OpenAI, un joli chèque, et enfermer 43% du web dans un écosystème propriétaire… Mais au lieu de ça, ils ont créé un standard ouvert et gratuit comme ça, c’est la communauté qui décide.

Et ça c’est beau ! Donc si vous êtes dev et que vous voulez tester, le repo GitHub du PHP AI Client est dispo ici avec toute la doc. Et si vous êtes juste utilisateur curieux, gardez un œil sur les plugins qui sortiront après WordPress 6.9 car ça va devenir intéressant…

L'API qui manquait à Ollama pour concurrencer ChatGPT est enfin là !!

Par : Korben
26 septembre 2025 à 18:40

Ce qui est super relou avec les IA qu’on peut utiliser en local, genre avec Ollama, c’est que si on lui demande des infos un peu trop récente, ça nous sort des vieux chiffres de 2023 avec la confiance d’un vendeur de voitures d’occasion. Bon bah ça, c’est fini puisqu’ Ollama vient de sortir une API de recherche web qui permet enfin à vos modèles locaux d’accéder à des infos fraîches dispo sur le net.

Woohoo \o/ !

Baptisée Ollama Web Search, cette API REST permet donc à vos modèles de faire des recherches sur le web en temps réel comme ça plus besoin de se contenter des données d’entraînement figées dans le temps. Selon la doc officielle , l’API fournit “les dernières informations du web pour réduire les hallucinations et améliorer la précision”. En gros, votre IA locale devient aussi à jour que ChatGPT, mais sans envoyer vos données perso à OpenAI.

Les modèles compatibles avec cette nouvelle fonctionnalité incluent qwen3, LLama, gpt-oss (la version open source d’OpenAI), deepseek-v3.1, et plein d’autres. Et d’après les premiers tests de la communauté , qwen3 et gpt-oss sont même plutôt doués pour exploiter cette fonctionnalité. Le modèle comprend qu’il lui manque une info, fait sa recherche, analyse les résultats et nous sort une réponse documentée !

C’est trop incrrrr ! Vous allez pouvoir booster vos scripts / bots / outils d’IA locale pour qu’ils puissent surveiller des choses dispo en ligne, les comparer, générer des résumés à partir de sites web, fact checker ou compléter des infos…etc.

Mais alors comment s’en servir ? Bon, on est vendredi soir et j’ai la flemme de tourner un tuto vidéo, donc même si je risque de détailler tout ça bientôt à mes Patreons d’amour , voici quand même quelques explications.

D’abord, il faut créer une clé API Ollama . La doc explique que vous avez un essai gratuit généreux pour commencer, mais s’il vous en faut plus, il faudra prendre un petit abonnement Ollama Cloud

Une fois votre clé en poche, exportez-la dans votre environnement comme ceci :

export OLLAMA_API_KEY="votre_clé_ici"

Le plus simple ensuite pour tester, c’est avec curl :

curl https://ollama.com/api/web_search \ --header "Authorization: Bearer $OLLAMA_API_KEY" \ -d '{ "query": "dernières vulnérabilités CVE janvier 2025" }'

Mais bon, soyons honnêtes, on va plutôt utiliser Python car c’est quand même plus cool ;-) . Voici donc un exemple de script basique qui compare une réponse avec et sans recherche web :

import ollama
from ollama import chat, web_search, web_fetch

model = "qwen3:4b"

# 1. Sans recherche web
response_classic = chat( # pas ollama.chat
 model=model,
 messages=[{
 "role": "user",
 "content": "Quelles sont les features de React 19?"
 }]
)
print("Sans recherche web:", response_classic.message.content[:500]) # .message.content

# 2. Avec recherche web
search_results = web_search("React 19 features dernières nouveautés")
print("Résultats:", search_results)

# 3. Avec outils
available_tools = {'web_search': web_search, 'web_fetch': web_fetch}
messages = [{
 "role": "user",
 "content": "Utilise la recherche web pour me dire les dernières features de React 19"
}]

response_with_tools = chat(
 model=model,
 messages=messages,
 tools=[web_search, web_fetch],
 think=True
)

# Accès aux tool_calls
if response_with_tools.message.tool_calls:
 for tool_call in response_with_tools.message.tool_calls:
 function_to_call = available_tools.get(tool_call.function.name)
 if function_to_call:
 args = tool_call.function.arguments
 result = function_to_call(**args)
 print(f"Outil utilisé: {tool_call.function.name}")
 print(f"Résultat: {str(result)[:500]}...")

print("Réponse finale:", response_with_tools.message.content)

Les performances varient ensuite selon les modèles. Qwen3:4b est parfait pour du temps réel avec environ 85 tokens/seconde. GPT-OSS:120b est plus lent mais donne des résultats de qualité idéaux pour de la production. Pour du dev local, je vous recommande qwen3:8b, c’est le bon compromis entre vitesse et intelligence.

Le truc cool, c’est que vous pouvez maintenant créer des agents spécialisés. Genre un agent DevOps qui surveille les CVE de vos dépendances, un agent Marketing qui analyse les tendances de votre secteur, ou un agent Support qui maintient une base de connaissances à jour.

Voici un exemple :

import ollama
from ollama import chat, web_search

class SecurityAgent:
 def __init__(self):
 self.model = "qwen3:4b"

 def check_vulnerabilities(self, technologies):
 rapport = "🛡️ RAPPORT SÉCURITÉ\n\n"

 for tech in technologies:
 # Recherche directe des CVE récentes
 results = web_search(f"{tech} CVE vulnerabilities 2025 critical")

 # Demande au modèle d'analyser
 response = chat(
 model=self.model,
 messages=[{
 "role": "user",
 "content": f"Résume les vulnérabilités critiques de {tech}: {results}"
 }]
 )

 rapport += f"### {tech}\n{response.message.content}\n\n"

 return rapport

# Utilisation
agent = SecurityAgent()
rapport = agent.check_vulnerabilities(["Node.js", "PostgreSQL", "Docker"])
print(rapport)

Maintenant, pour optimiser un peu tout ça et ne pas flamber votre quota API, voici quelques astuces assez classiques… D’abord, mettez en cache les résultats. Ensuite, soyez spécifique dans vos requêtes. Par exemple “React hooks” va chercher plein de trucs inutiles, alors que “React 19 nouveaux hooks useActionState” sera plus efficace.

On peut vraiment réduire la quantité de requêtes en étant malin sur le prompt engineering. Par exemple, au lieu de laisser le modèle chercher tout seul, guidez-le : “Vérifie uniquement sur la doc officielle de React” plutôt que “Cherche des infos sur React”.

Et comme Ollama supporte MCP Server, Cline, Codex et Goose, c’est royal car vous pouvez aussi brancher votre assistant IA directement dans votre IDE, Slack, ou Discord. Hé oui, vous allez enfin pouvoir coder un bot Discord qui va fact-checker automatiquement les affirmations douteuses et foireuses de vos collègues. Le rêve !

Pour aller plus loin, vous pouvez aussi combiner la recherche web avec le fetching de pages spécifiques. L’API web_fetch permet ainsi de récupérer le contenu d’une URL précise. Pratique pour analyser en profondeur une doc ou un article :

from ollama import web_search, web_fetch, chat

# 1. Recherche d'articles pertinents
search_results = web_search("React 19 vs Vue 3 comparison 2025")
top_url = search_results.results[0]['url'] # ou .url selon le type
print(f"📰 Article trouvé: {search_results.results[0]['title']}")

# 2. Récupération du contenu complet de la page
page_content = web_fetch(top_url)
print(f"📄 {len(page_content.content)} caractères récupérés")

# 3. Analyse approfondie du contenu
response = chat(
 model="qwen3:4b", # ou "gpt-oss" si disponible
 messages=[{
 "role": "user",
 "content": f"""
 Analyse cette comparaison technique:
 {page_content.content[:4000]}

 Donne-moi:
 1. Les points clés de chaque framework
 2. Le gagnant selon l'article
 3. Les cas d'usage recommandés
 """
 }]
)

print(f"\n🔍 Analyse:\n{response.message.content}")

Alors bien sûr, des fois la recherche retournera des trucs pas pertinents, surtout si votre requête est vague et de son côté, le modèle peut aussi mal interpréter les résultats s’il est trop petit. Mais bon, comparé à une IA qui vous sort que Windows 11 n’existe pas encore, on a fait quand même pas mal de chemin, vous ne trouvez pas ??

J’espère qu’à terme, Ollama ajoutera aussi le support de sources personnalisées car ce serait vraiment cool de pouvoir indexer par exemple sa propre doc ou ses propres emails pour y faire des recherches… Mais bon, en attendant cette nouvelle API permet enfin de contrebalancer ce problème des modèles pas à jour en terme de connaissances, et ça c’est déjà énorme !

A vous de jouer maintenant !

Source

❌
❌