Créer votre application
Si vous choisissez de développer votre propre intégration, voici quelques points importants à retenir :
- Pour interagir correctement avec l’API Akismet, votre application doit permettre aux utilisateurs de signaler les spams manqués et les faux positifs, en plus d’effectuer des vérifications de commentaires.
- Plus vous envoyez de données avec chaque vérification de commentaire, plus Akismet a de chances d’éviter les spams manqués et les faux positifs.
Structurez vos appels à l’API
Tous les appels à Akismet sont des requêtes POST, similaires à celles qu’enverrait un formulaire web. Les variables de la requête doivent être construites comme une chaîne de requête : key=value, les variables étant séparées par des esperluettes. N’oubliez pas d’encoder les valeurs dans l’URL.
Types d’appels à l’API
Il existe trois types d’appels à Akismet :
- La vérification de clé permet de vérifier si une clé API valide est utilisée. C’est particulièrement utile si plusieurs utilisateurs disposant de leur propre abonnement Akismet utilisent votre application.
- La vérification de commentaire sert à demander à Akismet si un article, un commentaire, un profil, etc. donné est du spam.
- Signaler comme spam et Signaler comme non indésirable sont des appels complémentaires permettant d’informer Akismet de ses erreurs (spams manqués et faux positifs). Ces appels sont très importants : vous ne devriez pas développer avec l’API Akismet sans intégrer un mécanisme de signalement des spams manqués et des faux positifs.
Testez vos appels à l’API
Akismet fonctionne en examinant l’ensemble des informations disponibles de manière combinée. Il ne suffit pas de fournir uniquement le contenu d’un message ; vous devez transmettre autant d’éléments d’information indépendants que possible à chaque appel. Avant de pouvoir tester la précision d’Akismet, vous devez donc vous assurer que vous envoyez des informations complètes et correctes.
Pour simuler un résultat positif (spam), effectuez un appel à l’API comment-check en définissant le paramètre comment_author sur akismet-guaranteed-spam ou le paramètre comment_author_email sur akismet-guaranteed-spam@example.com. Renseignez tous les autres champs obligatoires avec des valeurs classiques. L’API Akismet renverra toujours true pour une requête valide contenant l’une de ces valeurs. Si vous recevez autre chose, cela signifie qu’il y a un problème dans votre client, vos données ou vos communications.
Pour simuler un résultat négatif (non spam), effectuez un appel à l’API comment-check en définissant le paramètre user_role sur administrateur et en renseignant tous les autres champs obligatoires avec des valeurs classiques. L’API Akismet renverra toujours false. Toute autre réponse indique un problème de données ou de communication.
Assurez-vous également que votre client gère correctement les réponses inattendues. Ne partez pas du principe que l’API comment-check renverra toujours true ou false. Une requête non valide peut entraîner une réponse d’erreur ; des informations complémentaires sont généralement disponibles dans les en-têtes HTTP. Et bien entendu, un problème de connectivité peut ne produire aucune réponse. Il est essentiel de ne pas interpréter à tort une réponse non valide comme signifiant spam ou non indésirable.
Pour les tests automatisés, incluez le paramètre is_test=1 dans vos tests. Cela indiquera à Akismet de ne pas modifier son comportement en fonction de ces appels API — ils n’auront aucun effet d’apprentissage. Vos tests seront ainsi relativement reproductibles, dans la mesure où un test n’influencera pas les appels suivants.
Définissez votre chaîne d’agent utilisateur
Dans la mesure du possible, votre chaîne User-Agent doit toujours respecter le format suivant :
Application Name/Version | Plugin Name/Version
La chaîne User-Agent de l’extension Akismet pour WordPress se présenterait ainsi :
WordPress/4.4.1 | Akismet/3.1.7
Types d’applications
Akismet peut être utilisé pour filtrer tout type de contenu généré par les utilisateurs, mais la documentation de l’API a été initialement rédigée pour les formulaires de commentaires et les forums. Si vous développez un formulaire de contact, consultez ces recommandations supplémentaires pour utiliser Akismet avec les formulaires de contact.
