Royaume du Maroc
Ministère de l'Enseignement Supérieur,
de la Recherche Scientifique et de l’Innovation
Université Sultan Moulay Slimane
L'Ecole Supérieure de Technologie -- Fkih Ben Salah
ChatDCT – Application intelligente de traitement
de documents et détection de visages truqués
Période : du 20/04/2025 au 16/06/2025
Réalisé par l’étudiant :
Mehdi Eddamiri
Encadré par :
Mr. Nourddine
Année universitaire : 2025/2026
16/06/2025
Introduction :
Dans un monde en constante évolution, marqué par l’essor rapide
des technologies numériques et de l’intelligence artificielle, les
entreprises sont amenées à innover et à s’adapter
continuellement pour rester compétitives. Cette dynamique se
reflète particulièrement dans le secteur du digital, où la gestion
et l’exploitation intelligente de l’information jouent un rôle
central.
Dans le cadre de ma formation en Informatique Décisionnelle et
Statistiques, j’ai eu l’opportunité d’effectuer un stage au sein de
l’entreprise SEOcom, une structure spécialisée dans les solutions
numériques innovantes. Ce stage m’a permis de mettre en
pratique les connaissances acquises durant ma formation,
d’approfondir mes compétences techniques, et de m’initier aux
exigences réelles du monde professionnel.
La présente partie introduit le contexte général de mon projet de
stage, en s'appuyant sur une analyse de la problématique
rencontrée, les objectifs fixés ainsi que les enjeux auxquels répond
la solution proposée.
1
16/06/2025
- Contexte et Problématique :
Aujourd’hui, que ce soit dans le domaine de
l’éducation, de la recherche ou même en
entreprise, nous sommes de plus en plus
confrontés à une surcharge d’informations.
Lire un document long pour en extraire
l’essentiel ou vérifier si une vidéo est
authentique prend du temps, demande de
l’attention… et parfois, on ne sait même pas par où commencer.
En parallèle, les fausses vidéos générées par l’intelligence
artificielle (deepfakes) deviennent de
plus en plus convaincantes. Cela pose
un vrai problème de confiance dans les
contenus visuels qu’on voit chaque
jour, notamment sur les réseaux
sociaux.
Alors, comment aider les utilisateurs à :
Comprendre rapidement le contenu d’un document
sans devoir tout lire ?
Savoir si une vidéo est vraie ou truquée ?
Et surtout, faire tout cela simplement, à partir d’une
seule plateforme, accessible à tous ?
2
16/06/2025
Approche proposée :
Durant cette période de stage, ma mission principale était de
développer une solution intelligente et accessible pour répondre à
deux besoins actuels : comprendre rapidement le contenu d’un
document sans tout lire, et détecter si une vidéo contient des
visages réels ou générés artificiellement.
Face à la surcharge d’informations dans les documents
numériques et à la montée des deepfakes dans les contenus
visuels, il est devenu essentiel d’offrir aux utilisateurs des outils
pratiques et fiables. C’est dans ce cadre que j’ai conçu ChatDCT,
une plateforme web moderne et simple d’utilisation, qui regroupe
deux services puissants :
Un chatbot intelligent capable de lire et résumer des fichiers
texte (PDF, Word, TXT), en fournissant des réponses claires
et précises à partir des contenus analysés.
Un module de détection de visages dans les vidéos, basé sur
un modèle de deep learning, qui analyse image par image et
indique si les visages détectés sont authentiques ou truqués.
Tout au long de cette présentation, je vais vous exposer la
démarche suivie pour concevoir ce projet, les outils techniques
utilisés, les modules développés.
3
16/06/2025
Plan :
- Présentation de Entreprise
- Conception
1. Diagramme de contexte (DC)
2. Diagramme des flux de données (DFD) :
3. Diagramme de traitement simplifié (niveau 1) :
4. Diagramme de séquence détaillé du Chatbot
intelligent :
5. Diagramme logique (Détection de visage
FAKE/REAL) :
- Technologies
- Outils
- Réalisation du projet ChatDCT
- Remerciements
- Conclusion
4
16/06/2025
Présentation de Entreprise :
SEOcom est une entreprise basée à Marrakech, Créer en 2012,
spécialisée dans le développement web, le marketing digital et les
solutions innovantes orientées vers l’optimisation de la visibilité
en ligne. Elle accompagne des clients de différents secteurs dans
la création de sites web, la gestion de contenus numériques, le
référencement (SEO), et le déploiement de stratégies digitales
personnalisées.
L’équipe de SEOcom se compose de développeurs (mr . AMIN ,
NOURDDIN , ABDILLAH) , designers, experts en marketing et
consultants techniques (Mme. Laila…) , ce qui permet à
l’entreprise d’offrir des solutions complètes et sur mesure. Grâce
à sa maîtrise des technologies modernes et à son approche centrée
sur les besoins des clients, SEOcom s’est rapidement imposée
comme un acteur local reconnu dans le domaine du digital.
Durant mon stage, j’ai eu l’opportunité d’intégrer cette équipe
dynamique et de participer à un projet réel mêlant intelligence
artificielle et développement web, dans un environnement
professionnel stimulant et collaboratif.
5
16/06/2025
Conceptions :
1. Diagramme de contexte (DC)
Dans le cadre de ce Projet , j’ai utilisé un diagramme de contexte
afin de représenter de manière globale le fonctionnement du
système développé (ChatDCT). Ce diagramme illustre les
différentes interactions entre le système et les acteurs externes.
Le système ChatDCT regroupe deux modules principaux : un
chatbot intelligent basé sur le traitement de fichiers (PDF, TXT,
DOCX) grâce au modèle LLaMA 3 via Ollama, et un module de
détection de visages dans des vidéos utilisant un modèle CNN
pour identifier s’ils sont réels ou générés. L’acteur principal de ce
système est l’utilisateur, qui interagit avec l’application en
téléversant des fichiers ou des vidéos et en posant des questions.
Le diagramme met en évidence les flux d’information entre
l’utilisateur, les modèles d’intelligence artificielle et le système
lui-même.
6
16/06/2025
2. Diagramme de processus utilisateur :
Après avoir présenté la vision globale du système via le
diagramme de contexte, j’ai poursuivi la modélisation
fonctionnelle à l’aide d’un diagramme des processus utilisateur.
Ce diagramme permet de détailler le déroulement logique des
actions effectuées par l’utilisateur dans l’application ChatDCT,
depuis l’authentification jusqu’à l’utilisation des deux modules
principaux.
L’utilisateur commence par se connecter ou créer un compte, avec
un enregistrement sécurisé des données dans la base. Il accède
ensuite à une interface d’accueil qui lui permet de choisir entre
deux fonctionnalités : le chatbot basé sur fichier ou le module de
détection de visages. Dans le premier cas, il peut téléverser un
document (PDF, DOCX ou TXT) et interagir avec le système en
posant des questions, auxquelles répond le modèle LLaMA 3 via
Ollama. Dans le second cas, il téléverse une vidéo, dont les images
extraites sont analysées par un modèle CNN pour déterminer si
les visages sont réels ou générés artificiellement (deepfakes).
7
16/06/2025
3. Diagramme de traitement simplifié (niveau 1) :
Après avoir présenté le parcours utilisateur et les grandes lignes
fonctionnelles de l’application ChatDCT, nous approfondissons ici
la modélisation des traitements internes grâce au diagramme de
(niveau 1) . Ce dernier permet de représenter de manière plus
détaillée la circulation des informations entre les entités externes
(comme l’utilisateur) et les
différents processus internes du
système.
L’accès à l’application ChatDCT
est sécurisé par un système
d’authentification et de gestion des
utilisateurs. Lors du premier
contact avec l’interface,
l’utilisateur est invité à se
connecter ou à créer un compte.
S’il choisit de se connecter, il doit
saisir son adresse e-mail et son
mot de passe. Le système vérifie
alors la validité des informations
saisies. En cas de succès,
l’utilisateur est redirigé vers la
page d’accueil de l’application. En
revanche, si les informations sont
incorrectes, un message d’erreur
est affiché, bloquant l’accès.
Pour les nouveaux utilisateurs, une procédure d’inscription est
disponible. Elle consiste à remplir un formulaire avec les données
personnelles requises, lesquelles sont ensuite validées avant la
création du compte en base de données. Une fois le compte créé,
l’utilisateur est automatiquement redirigé vers la page d’accueil,
où il peut choisir entre les différents modules proposés par la page
acceuil de ChatDCT.
8
16/06/2025
Dans le module Chatbot, l’utilisateur téléverse un fichier (au
format PDF, TXT ou
DOCX), dont le contenu est
automatiquement indexé. Il
peut ensuite poser une
question en langage
naturel. La question est
contextualisée et envoyée
au modèle LLaMA3, lequel
génère une réponse
pertinente à partir du
contenu du document.
Le second module,
Détection Visage, permet à
l’utilisateur de téléverser
une vidéo. Celle-ci est
analysée par extraction
d’images (frames), suivie
d’un processus de détection
des visages. Chaque visage
détecté est ensuite soumis à
un modèle CNN
(Convolutional Neural
Network) qui prédit s’il
s’agit d’un visage réel ou
falsifié (REAL/FAKE). Le
résultat est ensuite affiché
dans l’interface de manière
claire et intuitive.
9
16/06/2025
4. Diagramme de séquence détaillé du Chatbot
intelligent :
Afin d’approfondir cette modélisation fonctionnelle, j’ai réalisé
un diagramme de séquence détaillant le fonctionnement
interne du module de chatbot intelligent de ChatDCT. Ce
diagramme décrit le déroulement précis des opérations, depuis
l’action de l’utilisateur jusqu’à l’obtention de la réponse. Tout
commence lorsque l’utilisateur envoie une question ou un
fichier via l’interface Streamlit. En cas d’envoi de fichier (PDF,
TXT ou DOCX), celui-ci est pris en charge par un gestionnaire
de fichiers, puis transmis à un extracteur de texte (basé sur
PyMuPDF ou python-docx) qui en extrait le contenu brut. Ce
texte est ensuite découpé en segments (chunking) et converti
en vecteurs d’embeddings à l’aide de LangChain et Ollama. Les
embeddings obtenus sont ensuite stockés ou mis à jour dans
l’index FAISS (v1.7.4), utilisé pour la recherche sémantique.
Lorsque l’utilisateur pose une question, celle-ci est également
transformée en embedding, puis comparée avec les documents
indexés afin d’en extraire les segments les plus pertinents (top
K chunks). Ces segments sont ensuite combinés avec la
question pour former un prompt structuré, envoyé au modèle
de langage LLaMA 3 via le moteur Ollama. Le modèle génère
une réponse pertinente, tenant compte du contexte extrait,
qui est enfin renvoyée et affichée dans l’interface utilisateur
sous forme de chat. Ce diagramme permet ainsi de visualiser
10
16/06/2025
clairement la circulation des données, les étapes du
traitement et les interactions entre composants, tout en
mettant en valeur la logique de recherche contextuelle et de
génération de réponse intelligente intégrée à ChatDCT.
5. Diagramme logique (Détection de visages
FAKE/REAL) :
Pour approfondir cette modélisation, un diagramme de flux a
été élaboré pour représenter la logique fonctionnelle de la
détection de visages. Ce diagramme commence par l'action de
l'utilisateur, qui téléverse
une vidéo à analyser. Une
fois la vidéo chargée, elle est
enregistrée temporairement
afin d’être traitée. Ensuite, le
système procède au
chargement des ressources
nécessaires, notamment le
modèle CNN pré-entraîné
pour la classification des
visages (réels ou faux) ainsi
que le classificateur Haar
Cascade utilisé pour détecter
les visages dans les images.
Une fois ces éléments prêts,
la vidéo est lue image par
image, ce qui constitue la
base du traitement
séquentiel des frames
nécessaires à l’analyse
ultérieure.
11
16/06/2025
Pour chaque image extraite (frame), le
système applique le détecteur Haar
Cascade afin de repérer les visages
présents. Si un ou plusieurs visages sont
détectés, chacun est isolé et prétraité : la
région faciale est redimensionnée,
normalisée et convertie au format attendu
par le modèle CNN. Ces visages traités
sont ensuite passés au modèle de
classification qui prédit, pour chaque
visage, s’il s’agit d’un visage authentique
(réel) ou généré artificiellement (fake). En
fonction du résultat, une annotation est
directement superposée sur l’image : un
rectangle entoure le visage avec une
étiquette indiquant clairement le label
prédictif. Ce processus est répété pour
chaque frame, garantissant une
évaluation continue et en temps réel de
toute la séquence vidéo.
Une fois le label prédictif attribué à chaque visage détecté dans
une frame, le système enregistre ces résultats dans un
historique interne des prédictions. Cet historique permet de
conserver une trace des décisions prises par le modèle, ce qui
facilite l’analyse a posteriori et la vérification
des performances globales. Par la suite, les
visages détectés sont annotés visuellement
(rectangle + label) sur l’image, et cette version
enrichie de la frame est immédiatement affichée
dans l’interface Streamlit. L’utilisateur peut
ainsi suivre en direct l’évolution de l’analyse
image par image, avec un rendu interactif et
intuitif, tout en bénéficiant d’un retour visuel
clair sur L`authenticité des visages présents dans la vidéo.
12
16/06/2025
Technologies :
Frontend
Backend
13
16/06/2025
Outils :
14
16/06/2025
Réalisation du projet
ChatDCT :
Page Login :
Page Signup :
15
16/06/2025
Page d’accueil (Home) :
Page Chatbot :
16
16/06/2025
- Fichier de test :
- Resultat :
Page About :
17
16/06/2025
Page Détection de visages FAKE/REAL :
- Resultat :
Reel :
Fake :
18
16/06/2025
Remerciements :
Et en fin , je tiens à exprimer mes sincères
remerciements à toutes les personnes qui ont
contribué, de près ou de loin, à l’aboutissement de ce
travail.
Je tiens à adresser mes remerciements les plus
chaleureux à M. Nourddine, mon encadrant de stage,
pour son accompagnement, sa disponibilité et la
qualité de ses conseils tout au long de cette expérience.
Son encadrement attentif et ses orientations
précieuses ont été déterminants pour le bon
déroulement de ce projet.
Je remercie également l’ensemble du corps professoral
et administratif de l’École Supérieure de Technologie
de Fkih Ben Salah, et plus particulièrement les
enseignants du département Informatique
Décisionnelle et Statistique, pour la qualité de la
formation dispensée, leur soutien pédagogique et leur
engagement constant à nos côtés.
Enfin, je souhaite remercier ma famille et mes amis
pour leur soutien moral, leurs encouragements et leur
compréhension tout au long de cette période de travail.
Leur appui m’a permis de mener ce projet à bien dans
les meilleures conditions.
19
16/06/2025
Conclusion :
Le projet ChatDCT propose des solutions idéales aux défis posés
par la surcharge informationnelle et la prolifération des contenus
falsifiés. En combinant l’analyse intelligente de documents et la
détection de visages truqués, il permet aux utilisateurs d’accéder
facilement à l’information essentielle, de vérifier l’authenticité des
vidéos, et ce, à partir d’une plateforme unique, intuitive et
accessible.
20