Académique Documents
Professionnel Documents
Culture Documents
C'est avec une grande émotion que je tiens aujourd'hui à témoigner de ma gratitude envers
ceux qui m'ont soutenu dans l'élaboration de ce travail.
Je dédie ce travail
À ma mère
Maman, tu es ma première inspiration dans ce monde et tu le resteras sans doute à jamais,
c'est grandement grâce à ta présence bienveillante, tes encouragements incessants et ta
confiance en mes capacités que j'ai été capable de fournir ce travail.
Merci de m'avoir toujours poussé dans mes retranchements à accomplir
le meilleur de moi-même.
À mon père
Papa, grandir à tes côtés a été un des meilleurs cadeaux que la vie m'a faits. Tu as été tout
au long de mon enfance mon modèle et mon exemple, mille mercis pour ton soutien et
amour inébranlable.
À ma sœur
Je vous remercie de tout mon cœur pour toute l'attention que vous m'avez apporté et la
tendresse avec laquelle vous m'avez considéré même lors de mes plus difficiles moments.
À mon frère
Votre présence quotidienne ainsi que votre soutien m'a encouragé et permis de toujours
progresser encore plus. Sans vous je n'aurai pas été en mesure d'écrire ces lignes
aujourd'hui.
Ahmed Dridi
Remerciement
Avant de commencer la présentation de ce
travail, je m’exprime mes sincères
remerciement à tous ceux qui mon aidé et
ma soutenu durant ce projet.
Je voudrais adresser toute ma gratitude à
mon maître de stage, Monsieur…………. pour
son accueil chaleureux ainsi que pour sa
confiance sa disponibilité et surtout pour ses
précieux conseils.
Je désire aussi remercier les professeurs de
L’Institut Supérieur des Langues Appliquées
et Informatique de Béja, qui m’ont fourni les
outils nécessaires au bon déroulement de
mon stage.
Enfin, je tiens à remercier tous les membres
du jury pour m’avoir accordé l’honneur de
juger mon travail.
TABLE DES MATIÈRES
Introduction générale 1
1. Présentation Générale 3
Introduction 4
1.1 Présentation de l’organisme d’accueil
Présentation du Centrale Laitière du Nord 4
1.2 Présentation du projet 4
1.2.1 Problématique 5
1.2.2 Étude de l’existant 5
1.2.3 Solution proposée 5
1.3 Choix méthodologique 6
1.3.1 Les méthodes agiles 6
1.3.2 Démarche SCRUM 7
Conclusion 8
Conclusion générale 48
INTRODUCTION GÉNÉRALE :
Dans un monde en perpétuelle mutation, la technologie se profile comme
l'instigatrice d'innovations étonnantes et de créations prodigieuses. Cette
progression semble être le fil conducteur indéniable de notre ère. Cependant, il
est à noter que même dans ce panorama d'informatique en constante
expansion, des défis subsistent et des lacunes se dessinent, des aspects que
nous scruterons attentivement au cours de cette étude.
1
2
CHAPITRE 1
PRÉSENTATION GÉNÉRALE
Introduction
1.1 Présentation de l’organisme d’accueil
Présentation de Centrale Laitière du Nord Tunisie
1.2 Présentation du projet
1.2.1 Problématique
1.2.2 Étude de l’existant
1.2.3 Solution proposée
1.3 Choix méthodologique
1.3.1 Les méthodes agiles
1.3.2 Démarche SCRUM
Conclusion
Introduction
L'objectif de ce chapitre est de contextualiser le projet au sein de Centrale
Laitière du Nord Tunisie. Nous débuterons par une présentation approfondie de
l'entreprise, de ses principales filiales et de ses activités. Ensuite, nous
examinerons de manière critique l'état actuel du projet, aboutissant à la
proposition de solutions et à la méthodologie adoptée pour la gestion de notre
projet au sein de Centrale Laitière du Nord Tunisie.
1.2.1 Problématique
L'évolution rapide de la technologie a introduit de nouveaux défis dans le
domaine de l'apprentissage. Les méthodes traditionnelles ne répondent souvent
pas de manière optimale aux besoins individualisés des apprenants. De plus,
l'accessibilité à des ressources d'apprentissage variées et de qualité peut être un
défi. Face à ces problématiques, le projet "Learning Journey" se positionne pour
résoudre ces défis en offrant une solution moderne et adaptative.
Conclusion
Ce projet a permis de développer une nouvelle fonctionnalité pour
l'application mobile d'ETTABA qui permet aux utilisateurs de suivre l'évolution
de leurs cultures en temps réel. Cette fonctionnalité permet d'optimiser la
connexion entre les fermes et les citadins tout en offrant une expérience
agricole immersive et éducative.
CHAPITRE 2
Introduction
Ce chapitre présente la phase d’analyse, qui est la phase la
plus importante dans le développement d’un projet. En outre, ceci
inclut l’analyse et la spécification des exigences fonctionnelles et
non fonctionnelles du client. Commençons par identifier les
acteurs et préciser les besoins fonctionnels et non fonctionnels.
Ensuite, nous passerons à la modélisation des besoins à travers un
diagramme de cas d’utilisation et un diagramme de classe
généraux . Pour finir, nous allons présenter notre environnement
de développement.
10
Utilisateur Standard Administrateur
1. Inscription et Authentification :
Permettre aux utilisateurs de créer un compte et de
s'authentifier via leur compte Google.
2. Génération Automatique de Cours :
Fournir une fonctionnalité permettant à l'utilisateur de
spécifier le sujet d'apprentissage et de générer
automatiquement un cours associé.
3. Intégration YouTube et Quiz :
Intégrer des vidéos YouTube pertinentes dans les cours
générés et mettre en place un système de quiz interactif.
4. Contrôle de la Lecture Vidéo :
Offrir des options de contrôle lors de la lecture des vidéos,
telles que la pause, l'avance rapide et le retour en arrière.
11
12
Dans cette partie, nous présentons les exigences du système d’une manière
formelle en utilisant un diagramme de cas d’utilisation, cependant ce dernier
nous offre la possibilité d’identifier les interactions possibles entre les acteurs. Ce
diagramme est présenté dans la figure ci-dessous
Diagramme de cas d’utilisation générale
13
14
15
2.3 Planification du projet
17
18
Node.js est une plateforme logicielle libre en JavaScript, orientée vers les
applications réseau événementielles hautement concurrentes qui doivent pouvoir
monter en charge. Elle utilise la machine virtuelle . Node.js est un environnement bas
niveau permettant l’exécution de JavaScript côté serveur.
19
20
L'API OpenAI est une interface puissante pour accéder aux fonctionnalités
d'OpenAI, permettant aux développeurs d'intégrer des capacités d'intelligence artificielle
avancées dans leurs applications.
L'API YouTube fournit un accès programmable aux fonctionnalités de YouTube,
permettant aux développeurs d'intégrer des fonctionnalités telles que la recherche de
vidéos, la récupération de métadonnées et la gestion des commentaires dans leurs
applications.
Visual Studio Code est un éditeur de code source qui peut être utilisé avec une variété
de langages de programmation, notamment Java, JavaScript, Go, Node.js et C++. Il est basé
sur le cadre Electron, qui est utilisé pour développer des applicationsWebNode.js qui s’exécutent
sur le moteur de présentation Blink. Visual Studio Code utilise le même composant
d’éditeur (nom de codeMonaco) utilisé dans Azure DevOps (anciennement appelé Visual
Studio Online et Visual Studio Team Services). Le logiciel prend en charge leWindows Subsystem
for Linux et, permet ainsi par exemple, de programmer facilement en C/C++ depuis
un ordinateurWindows 10.[5]
22
2.5.3 Outil de gestion de projet
Trello est un outil collaboratif qui organise tous vos projets en une serie de listes
partagées. D’un seul coup d’oeil Trello vous renseignera sur tous vos projets, sur
leur état d’avancement et vous dira qui travaille sur quoi dans votre équipe. La
prise en main de cet outil d’organisation collaboratif se passe de longs modes
d’emploi. Ici tout est simple et intuitif. Votre tableau de bord est composé d’une
série de listes correspondant à vos projets. Chaque liste est composée de cartes
que l’on déplace d’une colonne à l’autre du bout de la souris. Par défaut un
tableau est composé de trois colonnes « to do », « doing » et « done ». Une
méthode universelle d’organisation.
23
Conclusion
Dans ce chapitre, nous avons spécifié les différents besoins de notre
projet, aussi bien Fonctionnels que non fonctionnels. Nous avons également
élaboré le diagramme de cas D’utilisation et le diagramme de classe généraux.
Le chapitre suivant traitera le premier Sprint qui est
24
Fonctionnalités Principales « Sprint 1 »
3. Introduction
3.1 Sprint backlog
3.2 Analyse
3.2.1 Diagramme de cas d’utilisation
3.3 Réalisation
Conclusion
25
Introduction
Le Sprint 1 marque le début du développement de fonctionnalités clés
pour la plateforme "Learning Journey". Cette phase initiale se concentre sur la
création d'éléments essentiels pour offrir une expérience utilisateur
fondamentale et la génération automatique de cours.
3.2 Analyse
L'analyse dans ce sprint se concentre sur la définition claire des besoins et
des fonctionnalités à implémenter. Cela comprend la spécification des exigences
détaillées pour la génération automatique de cours, l'interaction utilisateur, et
d'autres éléments essentiels identifiés dans la phase de planification.
26
Diagramme de cas d’utilisation
3.3 Réalisation
La phase de réalisation dans le Sprint 1 se concentre sur la concrétisation
des fonctionnalités identifiées dans le Sprint Backlog et définies lors de la phase
d'analyse. L'équipe de développement s'engage dans la mise en œuvre effective
des éléments clés, notamment la génération automatique de cours, l'interaction
utilisateur, et la gestion de contenu.
Cette phase implique une collaboration étroite entre les membres de l'équipe
pour assurer une exécution efficace des tâches assignées. Les développements
seront régulièrement testés pour garantir la qualité du code et la conformité
aux spécifications établies.
27
Conclusion du Sprint 1
La conclusion du Sprint 1 offre une rétrospective sur les réalisations et les
défis rencontrés pendant cette phase. Les leçons apprises et les points
d'amélioration potentiels sont identifiés. Cette évaluation globale fournit des
insights cruciaux pour l'itération suivante, contribuant à l'amélioration continue
du processus de développement au sein du projet "Learning Journey".
28
4. Authentification et Interface Utilisateur « Sprint 2 »
Introduction
4.1 Sprint backlog
4.2 Analyse
4.3 Diagramme de cas d’utilisation
4.3.3Diagramme de cas d’utilisation d’authentification
4.3.2 Diagramme de cas d’utilisation de l'interface
utilisateur
4.4 Diagramme de séquence système
4.4.1 Diagramme de séquence du scénario "S’authentifier"
4.5 Réalisation
4.5.1 Réalisation du scénario "S’authentifier"
Conclusion
29
Introduction
Le Sprint 2 se concentre sur l'authentification des utilisateurs et
l'amélioration de l'interface utilisateur dans le cadre du projet "Learning
Journey". Cette phase vise à renforcer la sécurité de la plateforme et à
optimiser l'expérience utilisateur lors de l'accès et de l'interaction avec le
contenu éducatif.
4.2 Analyse
L'analyse dans ce sprint se penche sur les aspects techniques et
fonctionnels de l'authentification. Cela implique la définition des flux
d'authentification, la conception des interfaces utilisateur pour les
processus d'inscription et de connexion, ainsi que l'évaluation des
exigences de sécurité associées à cette phase du développement.
30
4.3.2 Diagramme de cas d’utilisation de l'interface utilisateur
31
4.4 Diagramme de séquence système
4.4.1 Diagramme de séquence du scénario
"S’authentifier"
32
4.5 Réalisation
4.5.1 Réalisation du scénario "S’authentifier"
1. Implémentation Technique :
Mise en place de l'interface utilisateur avec l'option de connexion via
Google.
Intégration de l'API Google pour le processus d'authentification.
2. Développement Front-End :
Création de l'écran d'authentification avec le bouton de connexion
Google.
Gestion des événements côté client pour l'interaction avec l'API
Google.
3. Développement Back-End :
Configuration des end-points pour gérer les demandes
d'authentification.
Gestion des réponses d'authentification côté serveur.
4. Communication avec Google API :
Mise en place de la communication sécurisée avec l'API Google.
Gestion des flux de données entre l'application et Google pour
l'authentification.
5. Gestion des Réponses :
Traitement des réponses positives et négatives de Google.
En cas de succès, autorisation d'accès à l'application.
En cas d'échec, gestion des messages d'erreur pour l'Utilisateur.
6. Intégration Continue :
Intégration du scénario "S’authentifier" dans le flux global de
l'application. 34
Vérification de la compatibilité avec d'autres fonctionnalités.
Conclusion 35
Le Sprint 2 a été marqué par des avancées significatives dans
l'authentification et l'interface utilisateur. L'intégration réussie de
l'authentification via les comptes Google, l'amélioration de l'ergonomie
de l'interface, et la gestion des sessions sont autant de réussites clés.
Cette étape fournit des insights cruciaux pour l'amélioration continue et
guide le développement futur du projet "Learning Journey".
36
6. Contenu Généré Automatiquement « Sprint 3 »
Introduction
5.1 Sprint Backlog
5.2 Analyse
5.2.1 Diagramme de cas d’utilisation
5.2.2 Diagramme de Séquence Système
5.3 Réalisation
Conclusion
37
Introduction
Le Sprint 3 est dédié au développement du module de
génération automatique de contenu pour le projet "Learning
Journey". Cette phase vise à perfectionner le processus de
création de cours automatisé, fournissant ainsi des expériences
d'apprentissage riches et diversifiées.
5.1 Sprint Backlog
Le Sprint Backlog du Sprint 3 détaille les tâches et les
fonctionnalités spécifiques liées à l'amélioration de la génération
automatique de contenu. Les objectifs incluent l'optimisation des
algorithmes de génération, l'ajout de nouvelles sources de
données, et l'amélioration de la variété des cours générés.
5.2 Analyse
L'analyse dans ce sprint se concentre sur l'évaluation
approfondie de la qualité du contenu généré. Cela implique
l'analyse des retours des utilisateurs, la validation de la pertinence
du contenu généré, et l'identification des améliorations
potentielles à apporter au processus de génération.
38
39
5.3 Réalisation
40
41
Conclusion
Le Sprint 3 a marqué des avancées significatives dans
l'amélioration de la génération automatique de contenu. Les
ajustements apportés aux algorithmes ont renforcé la qualité des cours
générés, offrant une expérience d'apprentissage plus diversifiée. Cette
phase a fourni des enseignements précieux pour perfectionner
davantage le processus de génération de contenu automatisé dans les
itérations à venir du projet "Learning Journey".
42
7. Intégration YouTube et Quiz « Sprint 4 »
Introduction
6.1 Sprint Backlog
6.2 Analyse
6.2.1 Diagramme de cas d’utilisation
6.3 Réalisation
Conclusion
43
Introduction
Le Sprint 4 se concentre sur l'intégration des fonctionnalités YouTube et
Quiz dans le cadre du projet "Learning Journey". Cette phase vise à enrichir
l'expérience d'apprentissage en intégrant de manière transparente des vidéos
YouTube et des quiz interactifs dans les cours générés.
6.1 Sprint Backlog
Le Sprint Backlog du Sprint 4 détaille les tâches spécifiques liées à
l'intégration de YouTube et des quiz. Les objectifs comprennent la mise en
œuvre d'une intégration fluide des vidéos YouTube, la création de questions
interactives, et la synchronisation harmonieuse entre le contenu vidéo et les
évaluations.
6.2 Analyse
L'analyse dans ce sprint se concentre sur la garantie de l'interaction
optimale entre le contenu vidéo et les quiz. Cela inclut la conception d'une
interface utilisateur intuitive, l'évaluation de l'efficacité pédagogique des quiz,
et l'optimisation des performances pour une expérience utilisateur sans heurts.
6.2.1 Diagramme de cas d’utilisation
44
6.3 Réalisation
45
46
Conclusion
La conclusion du Sprint 4 résume les succès accomplis dans l'intégration
réussie de YouTube et des quiz interactifs. Cette phase renforce la richesse du
contenu éducatif et offre aux utilisateurs une expérience d'apprentissage plus
engageante. Les enseignements tirés guideront les développements futurs,
contribuant à faire évoluer positivement le projet "Learning Journey".
46
Conclusion générale
L'analyse et la spécification des besoins ont jeté les bases du projet, définissant
clairement les objectifs et les fonctionnalités essentielles. Les sprints successifs
ont permis d'implémenter ces fonctionnalités de manière itérative, créant ainsi
une plateforme robuste et fonctionnelle.
48