Le WordPress d'aujourd'hui, décodé pour les développeurs

Extensions

Une extension pour média : détecter un contenu généré par IA avant parution

Un rédacteur en chef veut un signal, pas un verdict, avant de valider un article. Retour sur la construction d'un contrôle éditorial de détection IA pour un site de presse.

Par Clément Hadrot • 2 février 2025 • 4 min de lecture • Aucun commentaire
Une extension pour média : détecter un contenu généré par IA avant parution

68 % de rejet en phase de test : c’est le taux de faux positifs du premier prototype de détection IA déployé sur ce site de presse régionale, avant que l’équipe ne revoie complètement son approche. Le contexte : depuis le début de l’année 2023 et la démocratisation de ChatGPT puis des modèles concurrents, la rédaction en chef voulait un signal avant publication, sans pour autant transformer l’outil en censeur automatique.

Ce projet ne traite pas de la détection de plagiat classique (comparaison de textes existants), sujet déjà bien couvert par des outils spécialisés et par des méthodes différentes.

Le brief : un signal, pas un verdict

La rédaction en chef a été catégorique dès la première réunion : aucun blocage automatique de publication. L’objectif était d’afficher, dans la méta-box de l’éditeur de contenu, un indicateur de probabilité, avec une couleur (vert, orange, rouge) et un lien vers les passages jugés suspects, à charge pour l’éditeur humain de décider.

Architecture retenue : appel asynchrone, pas de blocage de la sauvegarde

L'essentiel à retenir : Le score de détection s'affiche en méta-box, jamais comme un blocage automatique ; Un faux positif décrédibilise l'outil plus vite qu'un faux négatif ; L'historique des scores sert surtout à repérer des tendances par pigiste

Analyser un texte de mille mots via une API de détection prend entre deux et huit secondes selon la charge du service tiers. Bloquer la sauvegarde de l’article pendant ce délai aurait dégradé l’expérience de rédaction. Le choix s’est porté sur un déclenchement via Action Scheduler à chaque passage en statut « en relecture », avec mise à jour asynchrone de la méta-box une fois le résultat reçu.

add_action( 'transition_post_status', function ( $new, $old, $post ) {
    if ( 'pending' !== $new || 'article' !== $post->post_type ) {
        return;
    }

    as_enqueue_async_action(
        'wpm_analyze_ai_content',
        array( 'post_id' => $post->ID ),
        'wpm-editorial'
    );
}, 10, 3 );

Calibrer le seuil : le vrai chantier

La première version utilisait un seuil unique à 70 % de probabilité pour déclencher l’alerte rouge. Résultat : des articles rédigés par des journalistes expérimentés, avec un style factuel et des phrases courtes, ressortaient régulièrement en orange, simplement parce que ce style ressemble statistiquement à celui d’un texte généré. L’équipe a dû ajuster le seuil par rubrique éditoriale plutôt que d’appliquer une valeur globale : les brèves factuelles (résultats sportifs, cours de bourse) tolèrent un seuil plus permissif que les tribunes d’opinion, où la voix propre du rédacteur est justement ce qui est valorisé.

Le tableau de bord par pigiste

Un effet secondaire utile est apparu après quelques semaines : l’historique des scores, agrégé par auteur, a permis à la rédaction en chef de repérer un pigiste dont le style avait brutalement changé sur plusieurs articles consécutifs — un signal qui a ouvert une conversation constructive plutôt qu’une sanction immédiate.

  • Score moyen affiché sur 30 jours glissants, par auteur.
  • Alerte visuelle uniquement en cas d’écart important par rapport à la moyenne historique de l’auteur lui-même, et non par rapport à une norme absolue.
  • Aucun stockage du texte complet transmis à l’API tierce au-delà de la durée nécessaire à l’analyse, pour limiter l’exposition de contenus non publiés.

Un détecteur d’IA n’est jamais une preuve : c’est un indice statistique. Le présenter autrement à une rédaction, c’est préparer un conflit avec le premier pigiste faussement accusé.

Ce que l’équipe changerait avec le recul

Avec un an de recul, l’équipe technique regrette de ne pas avoir commencé directement par un seuil différencié par rubrique : les premières semaines de faux positifs ont écorné la confiance de la rédaction, difficile à regagner ensuite malgré les ajustements. La leçon retenue : présenter un outil de détection comme expérimental et réglable dès le départ, plutôt que comme un système fiable dès la première version.

En résumé

Ce type de contrôle éditorial fonctionne à condition de rester un outil d’aide à la décision, calibré finement par contexte, et jamais un couperet automatique. La technique (appel asynchrone, méta-box, historique) est la partie la plus simple du projet ; la partie difficile est humaine et éditoriale.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi