Rapport_de_StageSirineKahwejiDSI21
Rapport_de_StageSirineKahwejiDSI21
Rapport_de_StageSirineKahwejiDSI21
Sujet:
Email : info@technix.com.tn
Je tiens tout d’abord à exprimer ma profonde gratitude envers l’entreprise TECHNIX IN-
FORMATIQUE pour m’avoir offert l’opportunité d’effectuer mon stage de perfectionnement
au sein de leur établissement. Ce fut une expérience enrichissante qui a grandement contribué à
mon développement professionnel.
Je tiens à adresser mes remerciements chaleureux à mon encadrant monsieur Feres Othmen
pour sa guidance précieuse et son soutien constant tout au long de cette période. Ses conseils
éclairés et son expertise ont été des atouts majeurs dans l’approfondissement de mes connais-
sances.
i
TABLE DES MATIÈRES
Introduction Générale 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Etude préalable 6
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
ii
TABLE DES MATIÈRES
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 La réalisation 16
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.3 Draw.io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.4 Latex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.5 Postman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4.1 React JS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4.2 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4.3 Node JS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4.4 Express JS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4.6 GitHub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
iii
TABLE DES MATIÈRES
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Conclusion Générale 29
References 29
iv
TABLE DES FIGURES
3.1 PC de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
v
Table des figures
vi
INTRODUCTION GÉNÉRALE
De nos jours, l’intelligence artificielle (IA) occupe une place prépondérante dans le monde
de la technologie, influençant divers aspects de notre quotidien. Les entreprises, qu’elles soient
informatiques ou non, cherchent à tirer parti de cette ressource pour développer des projets
innovants et valorisants. Ces avancées technologiques visent à améliorer les performances, tout
en intégrant des objectifs de développement durable, de rapidité et de fiabilité dans leurs projets.
Dans ce contexte, notre projet de stage s’inscrit parfaitement dans cette dynamique en utili-
sant l’intelligence artificielle Gemini pour transformer l’apprentissage en une action simple et
efficace grâce à des quiz interactifs et personnalisés.
Ce projet illustre l’impact concret de l’IA sur l’amélioration des outils pédagogiques, dé-
montrant ainsi l’importance de l’intégration de l’IA dans les solutions éducatives modernes.
Ce rapport synthétise le travail que j’ai réalisé durant mon stage de perfectionnement, il est
subdivisé en 3 grands chapitres : Le premier chapitre présentera l’organisme d’accueil TECH-
NIX INFORMATIQUE , quant au second sera consacré à présenter une étude préalable de
l’application web que j’ai développée avec les différents diagrammes de conception UML. Tan-
dis que le troisième chapitre exposera l’environnement matériel et logiciel que j’ai utilisé lors
de la réalisation de ce projet. Et finalement, je clôture mon rapport par une conclusion générale.
1
CHAPITRE 1
1.1 Introduction
Dans ce premier chapitre, je vais d’abord présenter cette société idéaliste, en détaillant ses
services, puis je vais expliquer le sujet du projet proposé.
Fondée en 2013 , Technix est une entreprise d’ingénierie agréée par l’État, qui opère dans
les secteurs du développement de logiciels scientifiques dédiés à l’éducation et aux entreprises.
Technix s’appuie sur des partenariats nationaux et internationaux et est composée d’un groupe
d’experts, d’ingénieurs et de consultants ayant fait la preuve de leur haute qualification dans le
domaine de l’ingénierie et de la gestion de projets.
2
Chapitre 1. Etude de l’organisme du stage
Technix dispose d’une gamme de services flexibles selon la demande de leurs clients, cette
société idéaliste offre à ses clients des services largement riches pour assurer leur satisfaction :
3
Chapitre 1. Etude de l’organisme du stage
4
Chapitre 1. Etude de l’organisme du stage
1.7 Conclusion
Technix m’a offert l’opportunité de découvrir des nouvelles technologies telle que le MERN
Stack en me donnant un aussi riche sujet de stage , je suis très reconnaissante à cette équipe
compétente.
Le prochain chapitre sera consacré à la définition d’une étude préalable approfondie, jetant
ainsi les bases nécessaires à la compréhension approfondie de notre démarche.
5
CHAPITRE 2
ETUDE PRÉALABLE
2.1 Introduction
Après avoir introduit Technix Informatique et fourni une vue d’ensemble du thème de mon
stage, ce chapitre sera consacré à une analyse préliminaire approfondie de mon projet de stage,
accompagnée de ses diagrammes de conception.
De nos jours, évaluer les compétences dans un sujet précis et à un niveau choisi n’est pas une
tâche aisée. Les formateurs, enseignants, étudiants, ou toute autre personne doivent rechercher
des questions et des tests à partir de diverses sources telles que des manuels, des documents
PDF, des fichiers Word, ou des notes personnelles. De plus, les systèmes de quiz existants
sont limités et standardisés, ne permettant pas une évaluation précise et efficace du niveau de
compétence dans un domaine spécifique.
6
Chapitre 2. Etude préalable
• Personnalisation Limitée : Trouver des quiz aux besoins spécifiques des personnes est
difficile, conduisant souvent à des quiz qui ne répondent pas aux besoins en termes de niveau
éducatif, de difficulté et de domaines de focus ect...
• Perte de Données : Il existe un risque élevé de perdre les questions et les tests collectés
sur un sujet donné. L’absence de centralisation et de sauvegarde des données signifie que les
informations peuvent facilement être égarées ou oubliées, surtout lorsque les documents sont
dispersés entre différents formats et supports.
Pour relever ces défis, la solution proposée consiste à mettre en place une application web
utilisant l’intelligence artificielle Gemini et le stack MERN (MongoDB, Express.js, React,
Node.js).
Cette plateforme permettra aux utilisateurs de générer des quizzes personnalisés en spéci-
fiant le sujet, le niveau éducatif, le niveau de difficulté, le nombre de questions, et les domaines
de focus, tout en ayant la possibilité d’importer des fichiers pdf , word , texte , et images. Après
avoir répondu aux questions générées, les utilisateurs recevront un score pour évaluer leur ni-
veau de compétence. De plus, la plateforme offrira une interface intuitive pour sauvegarder,
rechercher, et supprimer les quizzes, assurant une gestion fluide et simple des contenus pour
une meilleure satisfaction des utilisateurs.
7
Chapitre 2. Etude préalable
La solution finale que nous proposons est une application web exhaustive conçue pour ré-
pondre aux besoins spécifiques . Pour parvenir à l’objectif énoncé précédemment, j’ai suivi ces
étapes :
La première étape cruciale de notre projet consiste à élaborer un logo distinctif avec ideo-
gram [1] pour la plateforme TECHBOT .
Cette phase revêt une importance capitale car elle me permet d’obtenir une compréhension
approfondie et précise de ma solution.
Les besoins fonctionnels sont ceux qui précisent ce que le système doit faire. En d’autres
termes, ils spécifient une fonction, un comportement ou une action que le système doit exécuter.
• Création de Quiz : Permettre aux utilisateurs de créer des quiz en remplissant un formu-
laire avec diverses options de personnalisation.
8
Chapitre 2. Etude préalable
détaillé pour le suivi et la gestion des utilisateurs, des quiz, et des questions.
• Performance : Assurer des temps de réponse rapides, même lors du traitement de fichiers
volumineux (images, PDF, etc.), ainsi que la connexion avec un système extérieur .
• Administrateur : Cet acteur est responsable de la gestion globale du site. Il peut consulter
un tableau de bord et effectuer des tâches administratives pour assurer le bon fonctionnement du
site, comme consulter, supprimer, et rechercher des utilisateurs ainsi que consulter, supprimer,
et rechercher des quiz.
9
Chapitre 2. Etude préalable
Diagramme de classe
Les diagrammes de classes éclairent la structure interne d’un système. En effet, ils décrivent
avec précision ses classes, ses attributs, ses opérations et les liens qui unissent ses objets.
10
Chapitre 2. Etude préalable
Diagrammes de séquences
11
Chapitre 2. Etude préalable
12
Chapitre 2. Etude préalable
13
Chapitre 2. Etude préalable
14
Chapitre 2. Etude préalable
2.6 Conclusion
Dans ce chapitre, j’ai exposé une étude préalable de la solution que j’ai envisagée, détaillant
les étapes nécessaires à l’étude d’un projet. Ces étapes comprennent l’exploration des besoins,
l’élaboration d’une conception UML.
Dans le chapitre suivant, nous nous pencherons sur les détails techniques du développe-
ment de site web. Nous fournirons une description de l’environnement matériel et logiciel, ainsi
qu’une présentation des principales interfaces graphiques.
15
CHAPITRE 3
LA RÉALISATION
3.1 Introduction
Ce chapitre présente l’environnement matériel et logiciel que je vais utiliser lors de la réali-
sation de mon application avec ses principales interfaces graphiques.
Le matériel utilisé pour la réalisation de l’application web est mon ordinateur portable , Il a
comme caractéristiques :
Marque : Lenovo .
Processeur : Intel Core I3-1005G1 10é Génération, 1.20 Ghz Up To 3.4 Ghz.
16
Chapitre 3. La réalisation
Visual Studio Code est un éditeur de code source léger mais puissant qui s’exécute sur
votre ordinateur de bureau et il est disponible pour Windows, MacOs et Linux. Il est livré
avec une prise en charge intégrée de JavaScript, Type Script et 5.Node.js, et possède un riche
écosystème d’extensions pour d’autres langages et environnements d’exécution (comme C++,
C, Java, Python, PHP, Go, .NET). [2]
Pour la réalisation de l’application TECHBOT, j’ai utilisé une base de données NoSQL :
Une base de données NoSQL est une base de données “non relationnelle”. Il est possible d’y
stocker des données sous une forme non structurée, sans suivre de schéma fixe. Les jointures ne
sont plus nécessaires. Pour cela, j’ai choisi d’utiliser le serveur de base de données MongoDB.
17
Chapitre 3. La réalisation
de volumes massifs de données. Contrairement à une base de données relationnelle SQL tra-
ditionnelle, MongoDB ne repose pas sur des tableaux et des colonnes. Les données prennent
la forme de documents enregistrés eux-mêmes dans des collections, une collection contenant
un nombre quelconque de documents. Les collections sont comparables aux tables, et les do-
cuments aux enregistrements des bases de données relationnelles. Contrairement aux bases de
données relationnelles, les champs d’un enregistrement sont libres et peuvent être différents
d’un enregistrement à un autre au sein d’une même collection. Le seul champ commun et obli-
gatoire est le champ de clé principale ("id"). Par ailleurs, MongoDB ne permet ni les requêtes
très complexes standardisées, ni les JOIN, mais permet de programmer des requêtes spécifiques
en JavaScript.[3]
Au cours de la réalisation de mon application, j’ai utilisé mongoDB Compass c’est le client
GUI officiel développé par MongoDB.
3.3.3 Draw.io
Draw.io est une application gratuite en ligne, accessible via un navigateur (Protocol https)
qui permet de dessiner des diagrammes ou des organigrammes.[4]
18
Chapitre 3. La réalisation
3.3.4 Latex
LaTeX est un langage et un système de composition de documents créé par Leslie Lamport
en 1983. Plus exactement, il s’agit d’une collection de macrocommandes destinées à faciliter
l’utilisation du « processeur de texte » TeX de Donald Knuth.[5]
3.3.5 Postman
Postman permet de construire et d’exécuter des requêtes HTTP, de les stocker dans un his-
torique afin de pouvoir les rejouer, mais surtout de les organiser en Collections. Cette classi-
fication permet notamment de regrouper des requêtes de façon « fonctionnelle » (par exemple
enchaînement d’ajout d’item au panier, ou bien un processus d’identification).[6]
3.4.1 React JS
React JS : React (aussi appelé React.js ou ReactJS) est une bibliothèque JavaScript libre
développée par Facebook depuis 2013. Le but principal de cette bibliothèque est de faciliter
la création d’application web monopage, via la création de composants dépendant d’un état et
générant une page (ou portion) HTML à chaque changement d’état.
19
Chapitre 3. La réalisation
Grâce à React, il est facile de créer des interfaces utilisateurs interactives. Définissez des
vues simples pour chaque état de votre application, et lorsque vos données changeront, React
mettra à jour, de façon optimale, juste les composants qui en auront besoin.
3.4.2 Bootstrap
Bootstrap est un framework développé par l’équipe du réseau social Twitter. Proposé en
open source (sous licence MIT), ce framework utilisant les langages HTML, CSS et JavaScript
fournit aux développeurs des outils pour créer un site facilement. Ce framework est pensé pour
développer des sites avec un design responsive, qui s’adapte à tout type d’écran, et en priorité
pour les smartphones. Il fournit des outils avec des styles déjà en place pour des typographies,
des boutons, des interfaces de navigation et bien d’autres encore. On appelle ce type de frame-
work un "Front-End Framework".
3.4.3 Node JS
Node.js est un environnement d’exécution JavaScript côté serveur, conçu pour créer des ap-
plications réseau évolutives. Construit sur le moteur JavaScript V8 de Google Chrome, Node.js
permet d’exécuter du code JavaScript en dehors d’un navigateur, ce qui en fait une solution
20
Chapitre 3. La réalisation
3.4.4 Express JS
21
Chapitre 3. La réalisation
Gemini est un modèle de langage développé par Google, Il représente une avancée signifi-
cative dans le domaine de l’intelligence artificielle, capable de générer du texte, de traduire des
langues et d’effectuer de nombreuses autres tâches complexes.
Une API Gemini, quant à elle, constitue l’interface permettant à des développeurs d’inté-
grer les capacités de ce modèle dans leurs propres applications. En fournissant un ensemble de
règles et de protocoles bien définis, l’API Gemini offre la possibilité de créer des applications
innovantes en tirant parti des fonctionnalités avancées de ce modèle de langage.[7]
3.4.6 GitHub
22
Chapitre 3. La réalisation
23
Chapitre 3. La réalisation
24
Chapitre 3. La réalisation
25
Chapitre 3. La réalisation
26
Chapitre 3. La réalisation
27
Chapitre 3. La réalisation
3.6 Conclusion
Au sein de ce chapitre, j’ai mis en lumière les interfaces principales de mon projet, accom-
pagnant cette présentation par une justification approfondie de mon environnement de dévelop-
pement.
28
CONCLUSION GÉNÉRALE
Grâce à cette expérience, j’ai découvert de nouvelles technologies telles que le MERN
Stack, et j’ai compris l’importance de bien maîtriser et d’explorer l’intelligence artificielle pour
créer des projets innovants et marquants. Alors que la plupart des développeurs craignent ces
avancées technologiques, les développeurs intelligents sont ceux qui parviennent à manipuler
cette technologie et à la transformer en un outil pour concevoir des projets plus compétitifs et
avancés.
En résumé, cette expérience a été bien plus qu’une simple immersion dans le monde profes-
sionnel , elle a été une opportunité transformative qui a façonné ma vision du travail collaboratif
et renforcé mes compétences techniques.
29
BIBLIOGRAPHIE
[1] https://ideogram.ai/t/explore
[2] https://fr.wikipedia.org/wiki/Visual_Studio_Code
[3] https://fr.wikipedia.org/wiki/MongoDB
[4] https://www.tice-education.fr/tous-les-articles-er-ressources/
articles-internet/819-draw-io-un-outil-pour-dessiner-des-diagrammes-en-ligne
[5] https://labmath.uqam.ca/presentation-de-la-classe-memoireuqam1-3/
logiciels-de-composition-latex/
[6] https://blog.webnet.fr/presentation-de-postman-outil-multifonction-pour-api-web/
[7] https://ai.google.dev/gemini-api/docs
[8] https://fr.wikipedia.org/wiki/GitHub
30