Comment fonctionne un bot Internet ?

Découvrir les principales composantes d'un bot Internet.

Objectifs d’apprentissage

Après avoir lu cet article, vous saurez :

  • Mieux comprendre ce qu'est un bot et comment il fonctionne
  • Donner un exemple de fonctionnement d'un chatbot

Copier le lien de l'article

Que signifie le terme « bot » ?

Un bot Internet est un programme informatique qui circule sur un réseau. Les bots, ou robots virtuels, sont programmés pour effectuer automatiquement certaines actions, par exemple parcourir des pages web, discuter avec des utilisateurs ou tenter de s'introduire dans des comptes d'utilisateurs.

Contrairement aux robots de l'industrie ou les « robots de combat » conçus par les amateurs de robotique, les bots ne sont constitués que de quelques lignes de code avec une base de données. On peut aussi considérer qu'un bot Internet est un ensemble d'instructions destinées aux ordinateurs, complétées par une série d'informations. La plupart des bots sont de conception assez simple, mais certains sont plus complexes et utilisent l'intelligence artificielle (IA) pour tenter d'imiter les comportements humains.

Il est assez facile d'écrire un bot pour la plupart des développeurs, et parfois même pour des personnes qui ne le sont pas. Cela explique en partie pourquoi les bots sont si répandus sur Internet. Dans certains cas, il n'est même pas nécessaire d'écrire de véritables lignes de code pour créer un bot. Par exemple, Twitter fournit une interface visuelle permettant aux utilisateurs de créer des bots qui tweetent, retweetent, « likent » et effectuent d'autres actions sur le réseau social.

Exemple : comment fonctionne un chatbot ?

Les chatbots interagissent directement avec les utilisateurs et disposent donc d'une interface de discussion. En d'autres termes, les chatbots sont généralement capables de se servir d'une application de discussion.

Voici à quoi ressemble le code d'un chatbot très simple. (Remarque : ce code n'est pas suffisant pour que le chatbot fonctionne réellement.)

exemple de code de bot

L'Artificial Intelligence Markup Language (AIML) est un langage dérivé de XML souvent utilisé par les chatbots. L'AIML a été utilisé pour le snippet de code ci-dessus.

Voyons brièvement ce que signifie ce code AIML.

  • « Category » : chaque catégorie contient des informations auxquelles le chatbot sait comment répondre, ainsi que la façon dont il va répondre.
  • « Pattern » : une correspondance exacte avec un texte saisi par un utilisateur. Lorsqu'un chatbot reçoit cette question de la part d'un utilisateur, il sait comment y répondre.
  • « Template » : la réponse qu'un chatbot produira après avoir reçu une entrée qui correspond au pattern.
  • « srai » : cela signifie que la catégorie correspondant à ce texte est équivalente, et que le chatbot doit se référer à cette catégorie pour la réponse. Dans ce cas, si un utilisateur écrit « Qu'es-tu ? », la réponse est la même qu'à la question « Qui es-tu ? ».

Que fera ce chatbot ? Lorsqu'il reçoit la question « Qu'es-tu ? » ou « Qui es-tu ? », il répond « Je suis un chatbot ».

Quels sont les principales composantes d'un bot Internet ?

L'architecture d'un bot comprend généralement les éléments suivants :

  • Logique d'application
  • Base de données
  • Intégration des API

La logique d'application est le code exécutable et lisible par la machine que le développeur du bot écrit et qu'un ordinateur exécute. L'exemple de code de chatbot ci-dessus appartient à cette catégorie.

La base de données est la somme des données que le bot utilise pour savoir quelles actions effectuer. Un bot peut enregistrer des informations supplémentaires dans sa base de données, par exemple lorsqu'un bot d'extraction de contenu télécharge le contenu d'un site web.

Les API permettent au bot d'utiliser des fonctionnalités externes sans que le développeur ait besoin de les écrire. Il suffit au développeur d'ajouter les bonnes commandes dans le code, et le bot fera appel à une API au besoin.

(Les API permettent d'incorporer des fonctionnalités logicielles complexes développées par un tiers. Imaginez les API comme un moyen d'éviter de « réinventer la roue » lorsque l'on programme une application. Par exemple, un chatbot peut utiliser l'API d'une application météorologique pour proposer aux utilisateurs des informations détaillées sur la météo s'ils le souhaitent. De cette façon, le chatbot n'a pas besoin de surveiller lui-même la météo : il appelle simplement l'API de l'application météo externe.)

Contrairement aux applications avec lesquelles les utilisateurs sont plus habitués à interagir, la plupart des bots ne comportent pas d'interface utilisateur. En effet, les bots présents sur Internet interagissent généralement avec des pages web, des applications et des API, et non avec les utilisateurs (bien qu'ils puissent interagir avec les utilisateurs via la fenêtre de discussion, les réseaux sociaux et d'autres canaux).

Comment les sites web et les applications peuvent-ils gérer un trafic excessif causé par des bots ?

Les bots étant relativement simples à développer, ils sont extrêmement répandus sur Internet : environ la moitié du trafic Internet provient de bots, qu'il s'agisse de bons ou de mauvais bot.

Certains bots, comme les bots d'extraction de contenus web et les chatbots, sont indispensables au bon fonctionnement d'Internet et permettent aux utilisateurs de trouver les informations dont ils ont besoin. Cependant, un trafic excessif généré par des bots peut submerger les serveurs d'origine d'une propriété web, et des bots malveillants peuvent lancer diverses cyber-attaques. Afin d'éviter cela, les sites et les applications web peuvent recourir à des fichiers robots.txt, mettre en place le rate limiting et utiliser les solutions de gestion des bots.

Vous voulez approfondir vos connaissances en matière de création de bots ? Consultez cet article de blog expliquant comment écrire un chatbot sans serveur.