Report
Report
Introduction générale 1
2 Étude préalable 14
2.1 Définition d’un agent conversationnel (chatbot) . . . . . . . . . . . . . . . . . . . . . 15
2.2 Évolution des chatbots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.1 ELIZA, premier chatbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.2 ALICE (Artificial Linguistic Internet Computer Entity) . . . . . . . . . . . . 17
2.2.3 SMARTERCHILD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.4 MITSUKU (aujourd’hui KUKI) . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.5 GROK (par xAI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Types de chatbots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.1 Le chatbot programmé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.2 Le chatbot basé sur l’apprentissage automatique . . . . . . . . . . . . . . . . . 22
2.4 Mode de fonctionnement d’un chatbot . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5 L’intelligence artificielle et les chatbots . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6 Le traitement du langage naturel (Natural Language Processing) . . . . . . . . . . . 24
2.7 L’apprentissage automatique (Machine Learning) . . . . . . . . . . . . . . . . . . . . 24
iv
2.7.1 Types d’apprentissage automatique . . . . . . . . . . . . . . . . . . . . . . . . 24
2.8 Classification d’intentions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8.1 Correspondance de motifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8.2 Algorithmes d’apprentissage automatique . . . . . . . . . . . . . . . . . . . . 27
2.9 Réseaux de neurones artificiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.10 Les plates-formes de développement des chatbots . . . . . . . . . . . . . . . . . . . . 28
3 Initialisation du projet 30
3.1 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Cahier des charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1 Besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.2 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Modélisation des besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.1 Diagramme de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . . 33
3.4.2 Diagramme de cas d’utilisation raffiné « Gestion de la base de connaissances » 36
3.5 Approche proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5.1 Chatbot basé sur la récupération . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5.2 Approche moderne de classification des intentions . . . . . . . . . . . . . . . . 40
3.5.3 Design thinking et apprentissage automatique . . . . . . . . . . . . . . . . . . 43
3.6 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6.1 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6.2 Choix technologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6.3 Ressources matérielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4 Réalisation et test 46
4.1 Fonctionnement général de l’application . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Base de connaissances du chatbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1 Structure de la base MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2.2 Technologies utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.3 Interface d’administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3 Prétraitement des données pour le modèle Mistral . . . . . . . . . . . . . . . . . . . . 52
v
4.4 Phase d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.5 Création du framework du chatbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.6 Application finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Conclusion générale 60
Bibliographie 62
vi
Table des figures
vii
4.9 Interface web du chatbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.10 Réponse à un incident . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.11 Demande de reformulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
viii
Liste des tableaux
ix
Introduction générale
De nos jours, la majorité des internautes utilisent des messageries instantanées, le webchat
et les réseaux sociaux étant les principaux canaux de contact. Parmi les applications les plus
téléchargées, quatre des six premières places sont occupées par des applications de messagerie
instantanée. Par ailleurs, nous observons une présence croissante de personnages animés sur nos
sites web favoris, qui nous accompagnent tout au long de notre navigation. Ces assistants virtuels,
souvent sous la forme d’une fenêtre de conversation, proposent une aide immédiate et rendent
l’expérience utilisateur plus conviviale. Ces agents virtuels, disponibles 7j/7 et 24h/24, apportent
une dimension chaleureuse aux sites internet tout en constituant un outil incontournable, capable
d’offrir une assistance instantanée et personnalisée.
Cette technologie repose sur le traitement automatique du langage naturel (NLP), qui analyse
les phrases ou détecte des mots-clés pour fournir des réponses pertinentes enregistrées dans une base
de connaissances. Grâce aux récentes avancées en intelligence artificielle (IA), les machines peuvent
désormais comprendre et répondre aux utilisateurs de manière fluide et instantanée, imitant un
comportement humain sans interruption. L’IA permet ainsi de reproduire une intelligence conversationnelle
proche de celle d’un humain, rendant les interactions plus naturelles.
1
Introduction générale
Ce rapport retrace cette expérience à travers quatre chapitres. Le premier chapitre expose le
contexte global dans lequel le projet a émergé, notamment la présentation de l’organisme d’accueil.
Le deuxième chapitre présente l’étude préalable et les technologies adoptées. Le troisième chapitre
détaille l’initialisation du projet et l’approche proposée, tandis que le dernier chapitre décrit la phase
de réalisation du projet.
2
Chapitre 1
Plan
1 Présentation de l’entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Contexte du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Introduction
Ce chapitre pose les bases du projet en présentant son cadre général. Nous commençons
par une présentation de l’organisme d’accueil, Medisys-Consulting, ainsi que de Tamarello, l’outil
de gestion des services informatiques (ITSM) utilisé pour gérer les incidents et les tickets au sein
de l’entreprise. Ensuite, nous exposons le contexte du projet, qui vise à améliorer l’assistance
aux employés grâce à une solution innovante. Nous analysons ensuite l’existant, en évaluant ses
limites pour proposer une solution adaptée aux besoins des utilisateurs. Enfin, nous décrivons la
méthodologie de travail adoptée pour mener à bien cette initiative.
Créée en 2009, Medisys-Consulting est une entreprise spécialisée dans le Business Process
Outsourcing (BPO), proposant des solutions externalisées principalement dans les domaines de la
finance, de la comptabilité, de la gestion des fiches de paie et du traitement des frais de voyage.
Grâce à l’intégration de solutions logicielles performantes et de technologies modernes, Medisys-Consulting
assure la sous-traitance de processus métier spécifiques, permettant ainsi à ses clients de se concentrer
sur leurs activités principales.
Les solutions BPO proposées par Medisys-Consulting offrent plusieurs avantages stratégiques,
notamment :
Ces services s’inscrivent dans une logique de performance et d’optimisation des processus,
répondant aux exigences croissantes du marché actuel.
Informations Détails
4
Chapitre 1. Cadre général du projet
– Développement de logiciels orientés services pour les grandes, moyennes et petites entreprises.
Il s’agit d’applications dites « métier », conçues sur mesure selon les besoins spécifiques des
clients.
– Support IT fournissant une assistance technique pour résoudre les problèmes informatiques,
maintenir les systèmes et assurer la continuité des services. Ce service garantit la performance
et la sécurité des infrastructures technologiques.
– Infogérance IT, désignant la gestion externalisée des services informatiques d’une entreprise,
incluant la maintenance, la surveillance et l’optimisation des infrastructures. Elle permet aux
entreprises de se concentrer sur leur cœur de métier tout en assurant la disponibilité et la
sécurité de leurs systèmes.
– Consulting, offrant des services de conseil spécialisés pour accompagner les entreprises dans la
résolution de problématiques stratégiques, organisationnelles ou technologiques. Les consultants
apportent leur expertise pour optimiser les processus, améliorer la performance et accompagner
le changement.
5
Chapitre 1. Cadre général du projet
L’outil de gestion des services informatiques (ITSM) Tamarello est utilisé par Medisys-Consulting
pour faciliter la communication avec les employés et gérer les échanges en conservant un historique
de chaque interaction.
Dans ce cadre, l’équipe interne de support technique a mis en place un centre de services
chargé de répondre aux demandes des employés concernant la modification, la maintenance ou le
remplacement de leurs équipements informatiques ou logiciels.
Pour répondre efficacement à ces besoins, le centre de services a intégré Tamarello comme
solution de gestion des tickets. Cet outil permet aux employés de Medisys-Consulting de soumettre
leurs demandes au personnel du support, qui sont ensuite enregistrées sous forme de tickets dans le
système.
Les tickets sont organisés en deux catégories principales :
• Demandes de services : regroupant toutes les requêtes liées aux mises à jour ou aux modifications
des équipements informatiques et logiciels.
6
Chapitre 1. Cadre général du projet
La figure 1.3 montre le menu qui permet de créer une nouvelle demande d’incident ou de
service.
1.3 Problématique
Le support technique est un département essentiel mais exigeant en ressources au sein d’une
entreprise. Chez Medisys-Consulting, les employés du centre de services consacrent leurs journées à
répondre aux demandes des collègues via des appels téléphoniques, des chats, des courriels, ou en
7
Chapitre 1. Cadre général du projet
• Latence : le temps de réponse varie en fonction du volume de demandes reçues, ce qui peut
entraîner des délais importants.
• Qualité inégale : malgré une formation continue, la qualité des réponses peut varier d’un
employé à l’autre, impactant l’expérience utilisateur.
• Temps d’attente : les employés peuvent attendre longtemps avant de recevoir une réponse, en
particulier lors des périodes de forte demande.
Ces défis soulignent la nécessité d’une solution capable de répondre plus rapidement, de
manière cohérente et à moindre coût, tout en étant disponible à tout moment pour les employés.
L’objectif est de proposer une assistance proactive qui réduit la dépendance à un grand
nombre d’agents de support. Cette assistance doit être disponible au moment où les employés en
ont besoin, sans délai, ce qui a conduit à l’idée de développer un agent conversationnel, ou chatbot,
capable de guider rapidement les utilisateurs vers des solutions adaptées. Ainsi, une optimisation du
temps, du coût et de la qualité des réponses sera constatée.
L’agent conversationnel à concevoir offrira plusieurs avantages pour le support technique de
Medisys-Consulting, à savoir :
• améliorer les interactions avec les employés en répondant au plus vite à leurs demandes ;
8
Chapitre 1. Cadre général du projet
Aucune méthode de gestion de projet n’est intrinsèquement meilleure qu’une autre, mais le
choix adapté aux caractéristiques et au contexte du projet fait la différence. Il est donc utile d’établir
une étude comparative entre les méthodologies les plus utilisées pour bien comprendre les spécificités
de chacune et choisir celle qui permettra une coordination optimale des ressources et l’atteinte des
résultats attendus dans les délais fixés.
Les méthodes d’innovation sont aujourd’hui nombreuses. La figure 1.4 présente les trois
principales méthodes innovantes :
La méthodologie Lean Startup, née dans la Silicon Valley, s’inspire du système de production
de Toyota. Son but est de déterminer quoi construire, puis comment le construire efficacement.
Le Lean Startup est utilisé pour expérimenter rapidement une solution à un problème, des
9
Chapitre 1. Cadre général du projet
canaux de distribution, des canaux marketing, des modèles de revenus et des structures de coût.
Une fois le produit déterminé, il faut le tester, le développer et l’itérer pour aboutir à un
produit final commercialisable sur un marché donné.
L’approche Agile s’oppose aux gestions de projet de type cycle en V ou en cascade. Le terme
même de gestion de projet est remplacé par celui de gestion de produit, l’objectif des méthodes agiles
étant de créer un produit. Son manifeste en présente les quatre valeurs :
• la collaboration avec les parties prenantes, plus importante que la négociation contractuelle ;
Pour se prétendre de la méthode Agile, une entreprise doit permettre à tous ses employés
de participer à la création des contenus, ce qui nécessite de revoir en profondeur l’aspect pyramidal
de l’organisation. Celle-ci doit faire usage des nouvelles technologies permettant l’optimisation de la
production.
Le Design Thinking naît dans les années 50 aux États-Unis, lorsque le publicitaire américain
Alex Osborn met au point la technique du brainstorming. L’idée : réunir son équipe et stimuler
sa créativité en lui faisant brasser différentes idées afin de résoudre un problème en trouvant des
solutions.
Le Design Thinking est une méthodologie innovante qui permet de transformer les idées et
les projets en actions réelles et en prototypes tangibles. L’innovation se situe à l’intersection de trois
facteurs : la désirabilité, la faisabilité et la viabilité. Autrement dit, quand une offre est désirable,
économiquement viable et techniquement réalisable, les conditions sont réunies pour innover.
Le Design Thinking repose sur la conviction que nous pouvons changer les choses. Il propose
un processus efficace pour trouver des solutions innovantes et pertinentes ayant des répercussions
positives.
Le Design Thinking est à la fois une méthode et une façon de penser. Il s’agit d’une démarche
projet orientée vers la résolution de problèmes grâce à un processus évolutif en cinq phases qui stimule
10
Chapitre 1. Cadre général du projet
l’innovation.
La figure 1.5 présente les cinq étapes du Design Thinking.
Le Design Thinking et la méthode Lean Startup sont indéniablement parmi les plus discutées
et utilisées, mais quelles sont les différences entre ces deux approches ?
Le tableau 1.2 récapitule les principaux attributs de chaque méthode et détaille de façon plus
approfondie les subtilités et les points communs entre les deux approches.
11
Chapitre 1. Cadre général du projet
— Observation terrain
— Approche empathique
— Définition de MVP
— Testing
12
Chapitre 1. Cadre général du projet
Le Design Thinking est un processus de résolution de problèmes créatifs et, avec l’avancement
de l’intelligence artificielle, nous avons conclu que cette méthode est la plus adaptée pour mener à
bien notre projet. Nous avons donc décidé de la suivre afin de répondre aux besoins des employés.
Lorsqu’on parle de Design Thinking, il faut comprendre les étapes suivantes :
Empathize : Faire preuve d’empathie
La première phase du Design Thinking a pour but de se mettre à la place de l’employé et d’essayer
de comprendre ses besoins.
Define : Définir le besoin
Cette étape est essentielle pour le processus de conception, car nous devons exprimer explicitement
le problème auquel nous essayons de répondre. Cet énoncé du problème peut alors servir de tremplin
pour générer des solutions innovantes.
Ideate : Rechercher des idées (créativité)
Cette phase consiste à chercher des idées pour passer de l’identification des problèmes à l’exploration
des solutions pour nos employés.
Prototype : Prototyper des solutions
Le prototypage permet de donner vie à nos idées. Cela permet souvent de vérifier si certaines idées
sont réalisables ou non, et si des modifications doivent être apportées.
Test : Tester les solutions
La dernière phase vise à tester notre projet et à affiner les solutions proposées grâce aux retours
des employés. Le test est le meilleur moyen de savoir si notre projet est viable et si nos idées sont
réalisables. Les retours des employés nous permettront d’avoir une nouvelle vision du projet et de
réagir en conséquence.
Conclusion
Ce chapitre a permis de situer le cadre dans lequel s’inscrit ce projet, ainsi que de présenter
la problématique qui nous a conduits à élaborer une vision stratégique avantageuse et à adopter la
méthodologie de développement appropriée.
Dans le chapitre suivant, nous aborderons une étude des concepts théoriques et rassemblerons
le maximum d’informations sur les chatbots.
13
Chapitre 2
Étude préalable
Plan
1 Définition d’un agent conversationnel (chatbot) . . . . . . . . . . . . . . 15
3 Types de chatbots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8 Classification d’intentions . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Introduction
L’étude de l’existant est une phase cruciale dans le projet de TechBit. Ce chapitre vise à
définir ce qu’est un chatbot, en se concentrant sur TechBit, et à expliquer son fonctionnement en
mettant en lumière l’importance des techniques de traitement du langage naturel et d’apprentissage
automatique dans le cadre de l’amélioration du support technique chez Medisys-Consulting avec
l’outil Tamarello.
Historiquement, le premier chatbot, nommé ELIZA, a été créé en 1966 par Joseph Weizenbaum,
professeur au MIT (Massachusetts Institute of Technology), aux États-Unis. Ce programme, qui
simulait un psychothérapeute rogérien, reformulait la plupart des affirmations de son interlocuteur
en questions qu’il lui posait en retour.
À l’origine, les chatbots fonctionnaient en s’appuyant sur une base de données de questions-réponses
déclenchées par des mots-clés repérés dans la conversation. Cependant, les progrès de l’intelligence
artificielle, notamment en apprentissage automatique, ont permis de développer des agents conversationnels
beaucoup plus évolués, comme TechBit, dotés d’un système d’analyse du langage naturel performant
et capables de s’améliorer via un fine-tuning sur des données spécifiques.
Au cours de la décennie 2010, les chatbots se sont progressivement transformés en assistants
virtuels capables d’accomplir des tâches et de proposer des solutions basées sur les préférences des
15
Chapitre 2. Étude préalable
utilisateurs. Apple (avec Siri), Google (avec Google Assistant), Facebook et Microsoft (avec Cortana)
ont investi massivement dans ces technologies pour en faire de véritables assistants. TechBit prolonge
cette évolution en se spécialisant dans le support IT pour Medisys-Consulting, tout en s’inspirant
des avancées récentes dans le domaine.
Le premier chatbot, ELIZA, a été créé en 1966 par Joseph Weizenbaum dans le cadre du projet
MAC au MIT. Cette intelligence artificielle cherchait à imiter un psychothérapeute en reformulant
les questions de son interlocuteur.
Son fonctionnement reste basique, car elle utilise une simple méthode de reconnaissance et de
substitution des mots-clés dans les phrases fournies par l’utilisateur, à partir de règles prédéfinies.
Elle n’interprète pas ce qui lui est dit et n’intègre pas de notion d’apprentissage.
Cette solution supervisée est fonctionnelle, mais les conversations sont extrêmement limitées,
car ELIZA reformule uniquement ce que dit l’utilisateur sans apporter de réelle valeur ajoutée à
l’échange. Elle donne l’illusion de comprendre.
La figure 2.1 présente un exemple de discussion avec le chatbot ELIZA :
16
Chapitre 2. Étude préalable
En 1995, ALICE, l’un des chatbots les plus récompensés de l’histoire, a été développé par
Richard Wallace. Ce chatbot était doté de nouvelles capacités, comme un système d’identification
capable de déterminer la personnalité de ses interlocuteurs. Aujourd’hui, ce programme reste une
référence en matière de chatbots.
ALICE est un chatbot de traitement du langage naturel qui utilise la correspondance de
motifs pour récupérer des réponses. Les informations sont stockées dans un fichier appelé Artificial
Intelligence Markup Language (AIML), conçu pour organiser la base de connaissances des chatbots
sous forme de fichiers XML. TechBit s’inspire de cette approche en utilisant des intents stockés dans
MongoDB, mais enrichis par des modèles d’apprentissage automatique.
La figure 2.2 présente un exemple de discussion avec le chatbot ALICE :
2.2.3 SMARTERCHILD
En 2001, SmarterChild, créé par ActiveBuddy, a marqué une étape importante en devenant
l’un des premiers chatbots à être largement utilisé sur des plateformes de messagerie instantanée
comme AOL Instant Messenger et MSN Messenger. SmarterChild permettait aux utilisateurs d’accéder
17
Chapitre 2. Étude préalable
à des informations en temps réel, telles que les prévisions météo, les actualités ou les résultats sportifs,
tout en tenant des conversations simples.
SmarterChild utilisait une combinaison de scripts prédéfinis et d’appels à des API externes
pour fournir des réponses dynamiques, une innovation pour l’époque. Bien qu’il manquât de capacités
d’apprentissage automatique, il a popularisé l’idée d’un assistant conversationnel accessible au grand
public, ouvrant la voie à des chatbots comme TechBit, qui intègre des API locales et des modèles
fine-tunés pour répondre aux besoins spécifiques des employés.
La figure 2.3 illustre une interaction typique avec SmarterChild, montrant sa capacité à
fournir des informations utiles :
18
Chapitre 2. Étude préalable
En 2005, Mitsuku, créé par Steve Worswick (plus tard renommé Kuki), est devenu un autre
jalon dans l’évolution des chatbots. Mitsuku était conçu pour des conversations plus naturelles et
engageantes, remportant plusieurs fois le prix Loebner grâce à sa capacité à maintenir des dialogues
cohérents sur une large gamme de sujets.
Comme ALICE, Mitsuku utilisait AIML pour structurer ses réponses, mais avec une base de
connaissances beaucoup plus vaste et des scripts optimisés pour gérer des conversations complexes,
19
Chapitre 2. Étude préalable
y compris des blagues, des jeux et des discussions philosophiques. Mitsuku a inspiré des chatbots
comme TechBit en démontrant l’importance d’une base de connaissances robuste, bien que TechBit
privilégie des réponses techniques et un modèle génératif pour les cas non couverts par ses intents.
La figure 2.4 montre une conversation avec Mitsuku, illustrant sa capacité à répondre de
manière naturelle et contextuelle :
En 2024, Grok, créé par xAI, a marqué une avancée significative dans le domaine des chatbots
en se positionnant comme un assistant axé sur la fourniture de réponses utiles et véridiques, souvent
avec une perspective extérieure sur l’humanité. Grok est conçu pour assister les utilisateurs dans
diverses tâches, allant de la résolution de questions complexes à la génération de contenu créatif,
tout en s’appuyant sur des modèles d’apprentissage automatique avancés.
Grok se distingue par sa capacité à maintenir une mémoire des interactions passées pour des
conversations plus cohérentes. Contrairement à TechBit, qui se concentre sur des tâches techniques
spécifiques pour Medisys-Consulting, Grok vise une audience plus large avec une approche généraliste,
20
Chapitre 2. Étude préalable
tout en offrant des fonctionnalités comme le mode vocal sur certaines plateformes, accessible via les
applications iOS et Android de Grok. Cette évolution illustre la diversification des usages des chatbots
ces dernières années.
La figure 2.5 présente une interaction typique avec Grok, montrant sa capacité à répondre
de manière détaillée et contextuelle :
Un chatbot peut soit générer des réponses à partir de modèles d’apprentissage automatique,
soit utiliser une heuristique pour sélectionner une réponse parmi une bibliothèque de réponses
prédéfinies. TechBit combine ces deux approches pour répondre aux besoins des employés de Medisys-Consulting.
Un chatbot programmé répond à des questions en fonction de règles prédéfinies sur lesquelles
il est formé.
Les règles définies peuvent être très simples ou très complexes. La création de ces chatbots est
relativement aisée en utilisant une approche basée sur des règles, mais ils ne sont pas efficaces pour
répondre aux questions dont le modèle ne correspond pas aux règles sur lesquelles ils sont formés.
Dans TechBit, ces règles sont définies dans des intents MongoDB, permettant une gestion
structurée mais limitée aux scénarios prévus, comme la détection de mots-clés pour des problèmes
21
Chapitre 2. Étude préalable
Les chatbots basés sur l’apprentissage automatique sont plus efficaces que ceux fondés sur des
règles. TechBit intègre deux types de modèles :
Les modèles basés sur la récupération utilisent un référentiel de réponses prédéfinies et une
heuristique pour choisir une réponse appropriée en fonction de l’entrée et du contexte. L’heuristique
peut être aussi simple qu’une correspondance d’expression basée sur des règles ou aussi complexe
qu’un ensemble de classificateurs d’apprentissage automatique. Ces systèmes ne génèrent pas de
nouveau texte, ils sélectionnent simplement une réponse parmi un ensemble fixe.
Dans TechBit, cette approche est utilisée pour les intents courants, comme « usb_issue »
déclenché par « ma clé USB ne marche pas », avec une réponse prédéfinie.
La figure 2.6 présente le principe de fonctionnement des modèles basés sur la récupération :
Les modèles basés sur la récupération sont pratiques, et TechBit les exploite avec des intents
MongoDB pour des réponses rapides.
Les modèles génératifs ne reposent pas sur des réponses prédéfinies. Ils génèrent de nouvelles
réponses à partir de zéro. Dans TechBit, ce modèle est basé sur Mistral-7B fine-tuné, qui traduit
22
Chapitre 2. Étude préalable
une entrée (par exemple, « mon écran clignote ») en une réponse détaillée comme « 1. Vérifiez le
câble vidéo. 2. Ajustez le taux de rafraîchissement à 60 Hz. 3. Mettez à jour les pilotes. »
La figure 2.7 présente le principe de fonctionnement des modèles génératifs :
Les modèles génératifs représentent l’avenir des chatbots, et TechBit les utilise pour gérer les
cas hors-sujet avec des instructions techniques adaptées.
L’étude suivante présente les différentes techniques permettant la création d’un chatbot comme
TechBit. Ces techniques ont été choisies parmi d’autres car leurs algorithmes sont accessibles, offrant
une base pour élaborer des solutions adaptées à Medisys-Consulting.
TechBit utilise des outils locaux comme les intents MongoDB et un modèle fine-tuné pour
garantir la confidentialité. Pour qu’il soit efficace et fournisse des réponses pertinentes via Tamarello,
il s’appuie sur l’intelligence artificielle, le traitement du langage naturel (NLP) et les classificateurs
de texte, qui contribuent à son intelligence globale.
23
Chapitre 2. Étude préalable
Le concept d’intelligence artificielle fait référence à une machine capable non seulement de
produire un comportement intelligent, mais aussi d’éprouver une impression de conscience de soi et
une compréhension de ses propres raisonnements.
L’IA de TechBit met en œuvre des techniques permettant d’analyser des données (par
exemple, les messages des employés) et de faire des choix (par exemple, sélectionner un intent ou
générer une réponse), le liant naturellement à son rôle de support via Tamarello.
Dans l’apprentissage automatique, les tâches sont généralement classées en grandes catégories
selon la manière dont l’apprentissage est reçu ou le feedback fourni au système.
Deux des méthodes les plus adoptées par TechBit sont l’apprentissage supervisé, basé sur des
24
Chapitre 2. Étude préalable
données étiquetées, et l’apprentissage non supervisé, qui découvre des structures dans des données
non étiquetées.
Si la sortie est une liste d’étiquettes, comme les intents de TechBit, on parle de classification ;
si c’est un nombre, comme une durée estimée, de régression.
• Classification : classer les données selon des critères, comme identifier une intention (par
exemple, « demande service » ou « incident »).
• Régression : prédire une valeur réelle, comme le temps de résolution d’un ticket.
25
Chapitre 2. Étude préalable
Dans l’apprentissage non supervisé, TechBit est laissé à lui-même pour découvrir des structures
dans les données non étiquetées, comme des messages hors-sujet.
Mathématiquement, seule l’entrée (X) est disponible, sans sortie correspondante, et la machine
trouve elle-même les réponses, améliorant sa capacité à gérer des cas imprévus.
• Correspondance de motifs : utiliser des règles pour rechercher des motifs dans le texte.
<category>
<pattern>Au revoir</pattern>
<template>Merci pour votre visite</template>
</category>
TechBit parcourt les motifs pour trouver une correspondance et générer une réponse, mais
maintenir un tel système est complexe en raison du volume d’instructions nécessaires.
26
Chapitre 2. Étude préalable
Un réseau de neurones est un ensemble de nœuds interconnectés par des synapses, conçu
pour résoudre des problèmes complexes tels que le traitement du langage naturel ou la reconnaissance
d’objets. Ce mécanisme, inspiré du cerveau humain, simule le fonctionnement des neurones biologiques
et est implémenté dans TechBit via un modèle Mistral-7B fine-tuné.
La figure 2.9 représente un schéma simplifié d’un réseau neuronal :
27
Chapitre 2. Étude préalable
Le principe de TechBit est de créer un raisonnement statistique basé sur une base d’apprentissage
MongoDB, prenant des décisions selon les données d’entrée. Le processus inclut :
• Données en entrée ;
TechBit apprend par rétropropagation, ajustant ses poids pour s’adapter aux scénarios IT de
Medisys-Consulting, avec une période initiale d’entraînement.
Cette étude présente un aperçu des plates-formes de construction des chatbots, adaptées au
développement de TechBit.
Les projets open source sont des programmes développés en collaboration et mis à disposition
pour modification et redistribution librement. TechBit utilise ces technologies pour garantir la
confidentialité des données de Medisys-Consulting.
28
Chapitre 2. Étude préalable
Un framework chatbot, comme celui de TechBit basé sur Python, fournit des fonctions
prédéfinies pour construire des chatbots à partir de zéro.
Des plates-formes comme Chatfuel et [Link] facilitent la création sans codage, mais présentent
des limites :
• Elles impliquent des coûts (par exemple, [Link], IBM Watson) ou des limites de requêtes
gratuites.
• Les données restent sur des serveurs distants, posant des problèmes de confidentialité.
Étant donné que l’utilisation des API cloud implique la divulgation d’informations confidentielles
(la plupart de ces API sont payantes, et même les API gratuites ont un nombre limité de requêtes),
TechBit a opté pour l’utilisation de technologies open source fonctionnant en local.
Conclusion
Dans ce chapitre, nous avons défini ce qu’est un chatbot, présenté les différents types de
chatbots existants, et expliqué les techniques utilisées dans la phase de modélisation et de réalisation,
ainsi que les méthodes couramment employées pour leur création. Le chapitre suivant sera consacré
à la définition des besoins de l’application, à une explication détaillée de son fonctionnement, ainsi
qu’à la présentation de l’approche adoptée pour la mise en œuvre de notre projet.
29
Chapitre 3
Initialisation du projet
Plan
1 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5 Approche proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Chapitre 3. Initialisation du projet
Introduction
Dans ce chapitre, nous analysons et spécifions les besoins fonctionnels et non fonctionnels du
projet de chatbot dédié aux employés pour la résolution des incidents informatiques. Nous identifions
les acteurs impliqués, détaillons le cahier des charges et modélisons les besoins à l’aide de diagrammes
UML (cas d’utilisation et séquences). Enfin, nous présentons l’approche adoptée pour la conception
et la mise en œuvre du système, ainsi que l’environnement de développement utilisé.
Un acteur est une entité externe interagissant avec le système, qu’il s’agisse d’un utilisateur
ou d’un système tiers. Notre application comporte deux acteurs principaux :
• Employé : Utilisateur principal, il signale des incidents informatiques (par exemple, pannes
de PC, lenteur des disques) pour obtenir une assistance.
Le cahier des charges définit les fonctionnalités attendues du chatbot, conçu pour assister
les employés dans la résolution d’incidents informatiques au sein de l’entreprise, tout en tenant
compte des contraintes techniques (par exemple, optimisation pour un matériel standard). Voici les
principales attentes du système :
• Interactions guidées : Proposer des menus interactifs ou des questions de suivi pour guider
la description des incidents, facilitant le diagnostic.
• Gestion administrative : Permettre aux administrateurs de gérer les règles du chatbot (ajout,
modification, suppression) pour adapter le système à de nouveaux types d’incidents.
31
Chapitre 3. Initialisation du projet
• Génération de scripts automatisés : Produire des fichiers batch (.bat) pour automatiser
la résolution de certains incidents.
• Enregistrement des échecs : Stocker les demandes non reconnues pour analyser et améliorer
la base de connaissances, sans conserver l’historique complet des conversations.
• Support multilingue : Prendre en charge les interactions en français et en anglais, avec des
réponses grammaticalement correctes.
Cette section détaille les besoins fonctionnels (actions que le système doit accomplir) et
non fonctionnels (qualités du système). Ces besoins ont été priorisés selon leur importance et leur
faisabilité technique pour guider le développement.
Les besoins fonctionnels définissent les fonctionnalités clés du chatbot, répondant aux attentes
des employés et des administrateurs :
• Interaction avec le chatbot : Les employés signalent des incidents (par exemple, « Mon
imprimante ne fonctionne pas ») via une interface web et reçoivent des instructions ou une
solution immédiate.
• Interactions guidées : Le chatbot pose des questions ou propose des options (par exemple,
« Oui/Non ») pour clarifier le problème, rendant l’assistance accessible aux utilisateurs novices.
• Génération de scripts : Le système produit des fichiers batch (.bat) pour résoudre automatiquement
certains problèmes techniques.
32
Chapitre 3. Initialisation du projet
Ergonomie : L’interface doit être intuitive, avec une navigation claire et des instructions simples,
même pour des employés sans compétences techniques.
Performance : Le système répond rapidement aux demandes, avec un traitement optimisé des
requêtes, même sur du matériel standard.
Sécurité : Les conversations, potentiellement sensibles (par exemple, identifiants), sont protégées
via des sessions sécurisées et un chiffrement approprié.
Nous utilisons des diagrammes UML pour modéliser les interactions entre les acteurs et le
système, clarifiant ainsi les fonctionnalités.
Le diagramme de cas d’utilisation illustre les fonctionnalités accessibles aux acteurs. Chaque
cas représente une action spécifique.
33
Chapitre 3. Initialisation du projet
Titre S’authentifier
Postcondition
• Acteur authentifié.
Scénario nominal
1) Affichage de l’interface d’authentification.
Scénario alternatif
A : Informations incorrectes (après étape 3)
• Retour à l’étape 1.
34
Chapitre 3. Initialisation du projet
35
Chapitre 3. Initialisation du projet
Acteur Employé
Scénario nominal
1) Le système affiche le chatbot en bas de page.
36
Chapitre 3. Initialisation du projet
Acteur Administrateur
Scénario nominal
1) Sélection de l’option d’ajout.
2) Affichage du formulaire.
4) Validation et enregistrement.
Scénario alternatif
A : Champs invalides (après étape 3)
• Retour à l’étape 2.
37
Chapitre 3. Initialisation du projet
Acteur Administrateur
Scénario nominal
1) Affichage de la liste des intentions.
3) Demande de confirmation.
4) Validation et suppression.
Scénario alternatif
A : Annulation (après étape 3)
• Retour à l’étape 1.
38
Chapitre 3. Initialisation du projet
Nous présentons ici l’approche adoptée pour développer le chatbot, combinant des techniques
de récupération d’intentions et de génération de réponses dynamiques. L’objectif est de fournir une
assistance efficace aux employés tout en équilibrant précision et flexibilité.
39
Chapitre 3. Initialisation du projet
Notre système utilise une architecture optimisée basée sur Mistral-7B, simplifiant radicalement
le processus traditionnel :
Exemple de workflow :
40
Chapitre 3. Initialisation du projet
Cette approche unifiée surpasse les méthodes traditionnelles en précision tout en réduisant
la complexité technique. Le seuil de confiance ajustable (par défaut : 85 %) garantit la fiabilité des
réponses.
41
Chapitre 3. Initialisation du projet
42
Figure 3.5 : Système de classification des intentions
Chapitre 3. Initialisation du projet
Notre système utilise une méthode avancée de prétraitement adaptée aux modèles de langage
modernes :
Pour concevoir un chatbot efficace, nous avons intégré le design thinking à l’apprentissage
automatique, en suivant cinq étapes :
Étape 1 : Empathie et analyse Identifier les besoins des utilisateurs via leurs retours sur les
incidents informatiques fréquents.
Étape 2 : Définition et synthèse Collecter, organiser et prétraiter les données (nettoyage, standardisation,
division pour l’entraînement).
43
Chapitre 3. Initialisation du projet
Étape 5 : Test et validation Évaluer le modèle sur un ensemble de données distinct, en analysant
ses réponses dans un contexte réel.
Cette approche garantit que le chatbot répond aux besoins des utilisateurs tout en s’adaptant
au langage conversationnel.
Cette section détaille les outils, technologies et ressources matérielles utilisés pour le développement
du chatbot.
Les outils suivants ont été sélectionnés pour leurs fonctionnalités spécifiques :
• Robo 3T : Outil graphique pour visualiser les données stockées dans MongoDB [2].
Les technologies suivantes ont été choisies pour leur adéquation avec le projet :
• Flask : Framework web Python pour développer des applications web [6].
• TensorFlow : Bibliothèque open source de Google Brain pour le machine learning et le deep
learning [7].
44
Chapitre 3. Initialisation du projet
• NumPy : Bibliothèque pour les calculs numériques avec gestion des tableaux [9].
• Mémoire : 16 Go
Conclusion
45
Chapitre 4
Réalisation et test
Plan
1 Fonctionnement général de l’application . . . . . . . . . . . . . . . . . . . 47
4 Phase d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6 Application finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Chapitre 4. Réalisation et test
Introduction
Ce chapitre détaille la réalisation du chatbot TechBit, conçu pour résoudre les incidents
informatiques des employés. L’application web, développée avec Flask et Jinja2, inclut une interface
d’administration intuitive. Les sections suivantes abordent le fonctionnement général, la gestion de
la base de connaissances, le prétraitement des données, la phase d’apprentissage, la création du
framework, et l’application finale, illustrés par des captures d’écran pertinentes.
• L’employé interagit via une interface web sécurisée, où le chatbot est accessible en bas de page.
• Il soumet un incident, comme « Mon écran clignote », par saisie texte ou reconnaissance vocale.
• La requête est traitée en trois étapes : détection d’intention via une base de connaissances
MongoDB, classification par le modèle Mistral-7B si nécessaire, et gestion contextuelle par une
machine à états.
• Une réponse adaptée (texte, script .bat, ou demande de clarification) est renvoyée à l’utilisateur.
Le système s’appuie sur TensorFlow pour le traitement initial des entrées et sur Mistral-7B
pour les cas complexes, garantissant des conversations fluides et cohérentes, même dans des scénarios
multi-étapes [7], [8].
47
Chapitre 4. Réalisation et test
MongoDB stocke les intentions sous forme de documents BSON, chacun contenant les champs
suivants :
• responses : Liste de réponses possibles (par exemple, « Vérifiez l’espace disque »).
48
Chapitre 4. Réalisation et test
Les technologies suivantes ont été utilisées pour la gestion de la base de connaissances :
• PyMongo : Bibliothèque Python servant d’interface entre Flask et MongoDB, permettant des
opérations CRUD (création, lecture, mise à jour, suppression) [11].
• Flask : Framework web léger utilisé pour définir les routes, gérer les requêtes API, et orchestrer
les interactions entre les composants [6].
• Jinja2 : Moteur de templates pour générer dynamiquement les interfaces utilisateur et administrateur,
facilitant la personnalisation des pages [12].
• Dashboard : Vue d’ensemble affichant des statistiques telles que le nombre total d’intentions,
le nombre de conversations, le taux de résolution (par exemple, 87 %), et le temps de réponse
moyen (par exemple, 42 secondes). Des graphiques dynamiques illustrent les tendances des
conversations et la distribution des intentions.
• Intents Management : Interface pour créer, modifier, ou supprimer des intentions, avec des
champs pour le nom, les motifs, les réponses, et la langue.
• Recent Activity : Liste des dernières interactions ou actions effectuées, comme les conversations
récentes.
49
Chapitre 4. Réalisation et test
50
Chapitre 4. Réalisation et test
Le prétraitement des données est optimisé pour exploiter les capacités du modèle Mistral-7B
tout en restant simple et efficace. Les étapes clés sont les suivantes :
• Extraction : Les données sont récupérées depuis MongoDB via PyMongo, incluant les messages
utilisateurs et leurs intents associés [11].
• Structuration : Chaque phrase est formatée avec des balises spéciales ([INST] et [END]) pour
guider le modèle lors de l’apprentissage et de l’inférence.
• Conservation du contexte : Contrairement aux approches classiques, les stop words sont
conservés pour préserver le sens naturel des phrases.
• Normalisation légère : Les textes sont convertis en minuscules et les espaces superflus sont
supprimés pour uniformiser les entrées.
• Adaptation au fine-tuning : Les intents sont encapsulés dans des balises [RESPONSE] pour
structurer les données d’apprentissage.
Les avantages par rapport aux approches traditionnelles (sac de mots) incluent :
• Une meilleure compréhension des nuances et du contexte grâce à la conservation des stop words.
Elle est ensuite convertie en un vecteur de 4096 dimensions par Mistral, permettant de
détecter l’intent « hardware_issue ». Cette méthode simplifiée donne au modèle toute la richesse
du langage naturel.
52
Chapitre 4. Réalisation et test
L’apprentissage s’appuie sur une méthodologie moderne de fine-tuning adaptée aux grands
modèles de langage (LLM) comme Mistral-7B. Les points clés sont les suivants :
• Infrastructure : Entraînement accéléré sur GPU grâce à CUDA et aux bibliothèques PyTorch,
optimisant les calculs tensoriels [13].
• Paramètres clés : Taux d’apprentissage de 2e-5 batch size de 4 (adapté aux GPU), et 3
epochs (suffisant pour le transfer learning).
53
Chapitre 4. Réalisation et test
• Résultats : Le modèle associe des formulations variées à leurs intents correspondants, améliorant
la précision.
• Monitoring : Suivi des métriques comme la perte et la précision pendant l’entraînement pour
évaluer les performances.
Cette approche diffère des réseaux de neurones traditionnels par sa capacité à exploiter
directement la puissance des LLM sans nécessiter une architecture manuelle complexe.
Le framework utilise une architecture moderne basée sur Mistral-7B, offrant une compréhension
avancée du langage naturel. Le processus est le suivant :
• Initialisation : Chargement du modèle fine-tuné Mistral-7B et de son tokenizer, ainsi que des
intents et réponses depuis MongoDB [8], [11].
• Classification : Génération de l’intent par Mistral-7B, calcul d’un score de confiance interne,
et sélection de la réponse appropriée stockée dans la base.
54
Chapitre 4. Réalisation et test
• Gestion des incertitudes : Seuil de confiance paramétrable (par défaut 85 %), demande de
clarification si le score est insuffisant, et journalisation des requêtes ambiguës pour amélioration
future.
• Avantages clés : Pas de prétraitement manuel des textes, compréhension des formulations
complexes, et adaptation dynamique aux variations linguistiques.
L’application web est développée avec Flask, Jinja2 pour les templates, et Ajax pour les
appels API asynchrones. Les principales caractéristiques incluent :
• Interface utilisateur : Chatbot interactif avec saisie texte ou vocale (via Web Speech API ) et
possibilité de télécharger des scripts .bat pour résoudre des problèmes techniques web_speech_api.
55
Chapitre 4. Réalisation et test
• Sécurité : Authentification des administrateurs via Flask-Login, avec hachage des mots de
passe par bcrypt pour une sécurité renforcée [14].
• Design : Interface responsive responsable grâce à un CSS personnalisé, avec prise en charge
du mode sombre et des animations fluides.
56
Chapitre 4. Réalisation et test
57
Chapitre 4. Réalisation et test
58
Chapitre 4. Réalisation et test
Conclusion
59
Conclusion générale
Après quatre mois de travail intensif, nous avons réussi à finaliser notre projet TechBit, un
assistant virtuel intelligent conçu pour assister les employés de Medisys-Consulting dans la résolution
de leurs incidents informatiques. Ce système opérationnel est capable d’interagir de manière intuitive
avec les utilisateurs, de comprendre leurs requêtes, et de proposer des solutions adaptées, qu’il s’agisse
de réponses textuelles, de scripts automatisés (.bat), ou de redirections vers un support humain en
cas de besoin. Grâce à une approche hybride combinant récupération d’intentions via une base de
connaissances MongoDB et génération de réponses dynamiques avec le modèle Mistral-7B, TechBit
répond efficacement aux attentes initiales tout en offrant une interface web responsive et sécurisée.
Pour assurer la réussite de ce projet, nous avons approfondi nos compétences dans des
technologies modernes et des langages de programmation tels que Python,Flask, et PyMongo.
L’utilisation de Mistral-7B, optimisé avec LoRA et une quantification 4-bit, nous a permis d’explorer
des techniques avancées de traitement du langage naturel (NLP), tout en adaptant le système à
des contraintes matérielles standard. Ce stage a également renforcé notre maîtrise d’outils comme
PyTorch, TensorFlow, et RoboMongo, ainsi que notre capacité à développer une application web
robuste et ergonomique.
Sur le plan professionnel, cette expérience a été particulièrement formatrice. Elle nous a
permis d’intégrer une équipe dynamique, où la communication, la créativité, et les compétences
techniques se sont conjuguées pour surmonter les défis du projet. Nous avons développé une rigueur
dans la gestion de projet, appris à collaborer efficacement dans un contexte interdisciplinaire, et
acquis une meilleure compréhension des enjeux liés à l’assistance technique en entreprise.
60
Conclusion générale
61
Bibliographie
[2] Robo 3T Documentation, [En ligne], Studio 3T, 2025. adresse : [Link]
[4] PowerDesigner Documentation, [En ligne], SAP, 2025. adresse : https : / / www . sap . com /
products/technology-platform/[Link].
[5] Python Documentation, [En ligne], Python Software Foundation, 2025. adresse : https : / /
[Link]/.
[11] Transformers Documentation, [En ligne], Hugging Face, 2025. adresse : [Link]
co/docs/transformers/.
[12] Mixtral of Experts, [En ligne], Mistral AI, 2025. adresse : [Link]
of-experts/.
[15] Design Thinking vs Lean UX vs Agile : Principales différences, [En ligne], Arquen, 2025.
adresse : https : / / www . arquen . fr / blog / design - thinking - vs - lean - ux - vs - agile -
principales-differences/.
62
Bibliographie
[16] Définition du Design Thinking, [En ligne], Klap, 2025. adresse : https : / / www . klap . io /
definition-design-thinking/.
[17] Definition of Chatbot, [En ligne], Oxford Dictionaries, 2025. adresse : [Link]
com/definition/english/chatbot.
[18] Pages personnelles LINA, [En ligne], Université de Nantes, 2025. adresse : [Link]
[Link]/.
[19] Elizabot : A JavaScript Implementation of ELIZA, [En ligne], Masswerk, 2025. adresse : https:
//[Link]/elizabot/.
[20] Deep Learning for Chatbots, Part 1 - Introduction, [En ligne], WILDLM, 2016. adresse : https:
//[Link]/2016/04/deep-learning-for-chatbots-part-1-introduction/.
[22] What is NLP ? [En ligne], Ticary Solutions, 2025. adresse : [Link]
is-nlp/.
[23] G. André, Machine Learning et Intelligence Artificielle : Le B.A.-BA, [En ligne], 2025.
adresse : [Link] learning- et- intelligence-
artificielle-le-b%C3%A9aba-ec9cc57cf504.
[24] Réseau de neurones artificiels, [En ligne], Wikipédia, 2025. adresse : [Link]
org/wiki/R%C3%A9seau_de_neurones_artificiels.
[25] Chatbot et Intelligence Artificielle, [En ligne], Nexworld, 2025. adresse : https : / / www .
[Link]/chatbot-intelligence-artificielle/.
[27] Bcrypt Documentation, [En ligne], Bcrypt, 2025. adresse : https : / / pypi . org / project /
bcrypt/.
[28] Web Speech API Documentation, [En ligne], Mozilla, 2025. adresse : https: //developer .
[Link]/en-US/docs/Web/API/Web_Speech_API.
63