Rapport Exemple Structure
Rapport Exemple Structure
Rapport Exemple Structure
Réalisé par :
Réalisé au sein de :
À ma chère maman , tout l’encre du monde ne pourrait suffire pour exprimer mes sentiments envers vous. Je
vous remercie pour tout le soutien, l’amour ainsi tous les sacrifices. Ta prière et ta bénédiction m’ont été d’un
grand secours pour mener a bien mes études et ma vie. J’espère que j’étais a l hauteur de vos espérances, je
À mon cher père Aucun mot ne peut exprimer le sentiment que j’éprouve à ton égard. C’est grâce à ton amour,
ta patience, tes sacrifices et tes encouragements tout au long de mon parcours que j’ai pu être là où je suis
maintenant. J’espère avoir été digne de ton affection et ta confiance.
À mon cher frère Aucune dédicace ne pourra exprimer la profondeur de mon amour et de mon attachement. Que
Dieu nous garde toujours unis.
À mes chers Amis en souvenirs des moments heureux passés ensemble , avec mes voeux sincères de réussite ,
À tous ce que j’aime, ceux qui m’ont soutenu jusqu’au bout et à moi même
Mootasem
1
REMERCIEMENTS :
C’est avec un immense plaisir que j’exprime ma reconnaissance auprés de toutes les personnes, dont l’inter-
vention au cours de ce projet, a favorisé son achévement.
Je tiens à présenter ma profonde gratitude à Sagemcom qui a accepté de m’acceuillir au sein de son organisme.
Ainsi, j’exprime mes sincéres remerciements à Mme.Manel Ben Ismail pour sa parrainage tout au long de ce pro-
jet.
Je présente ma profonde gratitude à mon encadrant de la faculté des sciences de Tunis M.Faouzi Ben Charrada,
pour ses conseils précieux, ses directives pertinentes , pour l’interet qu’il a porté à mon sujet.
Je me dois de remercier tout le corps professoral de la faculté des sciences de Tunis, pour la formation prodigieuse
de ce projet.
2
Table des matières
Introduction générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 ETUDE CONCEPTUELLE 26
3
3.1 Concept et architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Vue comportementale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Répartition des sprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4 Les diagrammes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.1 Diagramme de cas d’utilisation «Sprint 1» . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.2 Diagramme de classes «Sprint 1» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4.3 Diagramme de séquence «Sprint 1» Ajouter, supprimer et modifier utilisateur . . . . . . . 33
3.4.4 Diagramme de cas d’utilisation «Sprint 2» . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4.5 Diagramme de classes «Sprint 2» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.6 Diagramme de séquence «Sprint 2» Ajouter testeur . . . . . . . . . . . . . . . . . . . . . 37
3.4.7 Diagramme de cas d’utilisation «Sprint 3» . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.8 Diagramme de classes «Sprint 3» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.9 Diagramme de séquence «Sprint 3» Authentifier . . . . . . . . . . . . . . . . . . . . . . 40
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4 REALISATION 43
4.1 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.3 Technologies utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2 Présentation de l’application réalisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Conclusion générale et perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4
Table des figures
5
4.7 Lucidchart [N14] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.8 Interface Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.9 Interface Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.10 Interface Ajouter un fichier excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.11 Interface Ajout d’un testeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.12 Interface affichage liste des testeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.13 Interface Ajout des mesures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.14 Interface Affichage du liste des mesures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6
Liste des tableaux
7
Liste des acronymes
Acronymes Définition
UML Unified Modeling Language
KPI Key Performance Indicator
JS JavaScript
VS Code Visual Studio Code
SQL Structured Query Langage
ID Identifiant
MVC Modéle-Vue-Controleur
SSD Solid State Drive
HDD Hard Drive
CPU Central Processing Unit
GO Géga Octet
PDF Portable Document Format
Table 1 – Table des acronymes
8
INTRODUCTION GENERALE
9
Introduction générale
traitements , Centralisation des données et exécution rapide des tâches. tout Les secteurs
peuvent bénéficier de ces avantages indéniables de ce processus informatisé Pour être plus
compétitives, cela signifie que la plupart des entreprises visent à Améliorer ses processus
Consciente de ses enjeux économiques qui en découlent , Sagemcom accorde une atten-
tion particulière à l’amélioration de son processus de travail des agents de la société ses
principaux objectifs visent à contrôler et éliminer les défauts qui peuvent apparaître dans
Dans le deuxième chapitre, nous allons faire un étude sur l’existant et spécifier les besoins
chapitre trois.
le quatrième chapitre décrit la phase de réalisation du projet. Il présente les différents outils
10
Nous allons terminer par une conclusion générale synthétisant les taches effectuées et nous
11
Chapitre 1
12
Introduction
Dans ce chapitre nous allons mettre le projet dans son cadre général , nous allons présen-
ter en premier lieu l’organisme d’accueil, à posteriori le cadre de notre projet, ainsi que les
objectifs à atteindre et finalement nous allons exposer la solution proposée accompagnée
de la méthodologie adoptée.
Sagemcom est un groupe industriel français, leader mondial des produits et solutions
communicantes à destination des marchés du Broadband, des solutions Audio et Vidéos,
à 2,26 milliards d’euros pour effectif de 6 500 personnes réparti dans plus de 50 pays.
Sagemcom est rentable depuis sa création en 2008 et 30% de son capital est détenu par ses
collaborateurs. Depuis janvier 2022, Sagemcom est ”entreprise à mission”.
13
1.2 Présentation du projet
1.2.1 Contexte du projet
Sagemcom souhaite mettre en place une solution pour prévenir les dérives du processus
La réponse est la création d’une application web qui permet d’afficher les cartes de
contrôle par mesure avec un calcule des KPI par opération ressource & produits.
Notre travail consiste à réaliser une application dédiée aux personnels de l’entreprise.
Notre projet se présente comme suit :
4. Réalisation du projet.
✓ alerter en temps réel par mail dès lors que la dérive statistique apparaît
14
✓ Gestion des données du société
sources sont régulièrement actualisées. La méthode Scrum tire son nom du monde du
rugby, scrum = mêlée.Le principe de base est d’être toujours prêt à rediriger le projet au
fur et à mesure de son avancement. [N02]
• Les fonctionnalités souhaitées (stories) sont collectées dans «Backlog» qui se présente
sous forme d’un tableau ou un carnet qui décrit le produit , à l’initiative du product
Owner, le représentant des clients dans l’équipe.
• Le développement du produit est rythmé par une suite d’itérations, d’un mois ou
• Le contenu d’un sprint est défini par l’équipe projet, en tenant compte des priorités et
15
• Pendant un sprint, des points de synchronisation sont effectués quotidiennement, lors
de la mêlée(ou Scrum). Cette inspection régulière permet d’appliquer , en équipe, des
ajustements pour assurer le succès de «sprint»
16
1.3.2 Backlog
Au départ, nous avons besoin d’une liste hiérarchisée des fonctionnalités destinées aux
clients (c’est-à-dire le backlog). Le «backlog» existe tout au long de la vie du produit.
Le tableau suivant indique les niveaux de complexités :
17
en tant qu’utilisateur, je veux consolider les
6 6 13
Données pour avoir des courbes superposées
en tant qu’utilisateur, je veux modifier une partie
7 7 13
des Données
Gestion
en tant qu’utilisateur, je veux consulter le bilan
8 Des 8 20
qualité
Données
en tant qu’utilisateur, je veux enregistrer les logs des
9 9 13
testeurs
automatisation en tant que systéme, je veux envoyer des Emails aux
10 Des utilisateurs lors de l’apparition de non conformité 10 20
Alertes (erreurs).
Complexité
Totale :108
Table 1.2 : tableau Backlog
1.4 Conclusion
solution proposée , nous avons terminé ce chapitre avec la choix de la méthodologie Scrum
avec le backlog Dans le chapitre suivant , nous allons passer vers l’étude de l’existant ,
analyse de besoins et la réalisation des maquettes qui vont nous aider dans la réalisation du
projet.
18
Chapitre 2
19
Introduction
il est important de spécifier et analyser les besoins , donc dans cette partie nous allons
terminer l’étude théorique du projet, nous détaillons les besoins fonctionnels et non fonc-
tionnels afin de déterminer les qualités du projet et les acteurs.
Dans cette section, nous nous intéressons aux besoins des utilisateurs concernés par
le projet, et nous nous concentrerons sur la caractérisation de l’ensemble des propriétés à
travers des spécifications fonctionnelles et non fonctionnelles.
Elle consiste à ajouter , supprimer les comptes utilisateurs , modifier les coordonnées
et attribuer les rôles.
sées , Enregistrer les logs testeurs , modifier les données et afficher le bilan qualité.
Elle consiste à envoyer des emails aux utilisateurs lors de l’apparition de non confor-
mité.
maintenant nous présentons ci-dessous l’ensemble des contraintes à respecter pour ga-
rantir la performance du système en considérant les exigences de l’utilisateur.
20
• Gestion des erreurs :
Levez l’ambiguïté avec des messages d’erreurs bien organisés pour guider correcte-
ment les utilisateurs à travers la plate-forme.
• Ergonomie :
Notre application devait être ergonomique, claire et simple pour que les utilisateurs
s’y adaptent facilement.
• Sécurité :
Nos solutions doivent respecter la confidentialité des données personnelles des utilisa-
teurs, c’est pourquoi l’accès aux différentes pages ou autorisations doit être protégés.
• Fiabilité :
La plate-forme doit être cohérente, sans bug et conviviale.
• Aptitude à la maintenance :
Les applications doivent suivre une architecture standard et claire pour garantir la
Nous traduisons les exigences référencées sous forme de diagrammes en langage UML.
Nous allons introduire ce formulaire, puis conclure avec une représentation globale du
21
Figure 2.1 – Langage de conception «UML»[N03]
Les acteurs sont des personnes ou des systèmes externes qui interagissent avec le sys-
tème à développer pour obtenir une fonctionnalité ou une valeur ajoutée.
e. Les acteurs sont des entités externes qui interagissent avec le système pour obtenir une
22
valeur ajoutée, citant :
• Super Utilisateur : une personne qui peut modifier les données , les visualiser , chan-
ger les log testeurs etc.
• Utilisateur normal : une personne qui s’occupe seulement de visualiser les données
d’après les logs testeurs , et aussi visualiser le bilan qualité.
Nous allons présenter les besoins de manière formelle, c’est à dire en utilisant le dia-
23
Figure 2.3 – Diagramme de cas d’utilisation
24
2.3 Conclusion
Nous avons fourni dans ce chapitre une analyse détaille de ces besoins indispensables
25
Chapitre 3
ETUDE CONCEPTUELLE
26
Introduction
Nous aborderons les tâches les plus importantes dans la formulation de ses projets En
regardant les tâches de conception, nous présenterons le schéma général d’extraction Les
différents modules qui composent notre application, nous les détaillerons plus tard Ces
modules sont décrits par différents schémas selon la notation UML Celle-ci sera répartie
sur ”3 sprints”.
notre projet consiste à réaliser une application web en se basant sur le modèle MVC
constitué de 3 parties.
Les 3 parties sont :
• Le modèle ”M” :
• Contrôleur ”C” :
Contrôleur de trafic ou le serveur d’application.
Cette architecture reste toujours la plus utilisée dans le monde de développement web , elle
se caractérise par :
• une meilleure répartition de la charge entre les différents entités clients et serveurs
27
Figure 3.1 – «Modèle MVC»[N04]
soins face à l’utilisateur, par opposition à la vision par ordinateur. La première étape
ne doit jamais être négligée pour créer un site web qui répond aux attentes de vos uti-
lisateurs cibles. Le développement de cas d’utilisation doit être basé sur des entretiens
28
avec les utilisateurs. [N05]
tion du temps qu’il nous faut pour descendre dans la page. Les objets impliqués dans
l’opération sont rangés dans l’ordre de gauche à droite selon le temps de participation.
[N06]
Les diagrammes de classes sont considérés comme les plus importants dans la modé-
lisation orientée objet, et c’est le seul qui doit être utilisé dans ce type de processus
de modélisation. Le diagramme de classes montre la structure interne du système. Il
fournit une représentation abstraite des objets système qui interagiront pour réaliser
des cas d’utilisations. Il s’agit d’une vue statique car le facteur temps dans le com-
portement du système n’est pas pris en compte. Les principaux éléments de cette vue
ou plusieurs classes et possède à la fois des propriétés et des opérations. Les associa-
tions de classe sont caractérisées par la ligne pointillée entre la classe et l’association.
Une classe est une description d’un groupe d’objets qui partagent un ensemble com-
29
3.3 Répartition des sprints
Une fois qu’on a déterminé le «backlog» du produit, nous le découpons en parties qui
30
Figure 3.2 – «Diagramme de cas d’utilisation du «sprint1»
31
Figure 3.3 – Diagramme de classe du «sprint 1»
32
3.4.3 Diagramme de séquence «Sprint 1» Ajouter, supprimer et modifier utilisateur
33
Figure 3.5 – Diagramme de sequence Modifier utilisateur du «sprint 1»
34
Figure 3.6 – Diagramme de sequence Supprimer utilisateur du «sprint 1»
35
3.4.4 Diagramme de cas d’utilisation «Sprint 2»
36
3.4.5 Diagramme de classes «Sprint 2»
37
Figure 3.9 – Diagramme de sequence Ajouter testeur du «sprint 2»
38
3.4.7 Diagramme de cas d’utilisation «Sprint 3»
39
3.4.8 Diagramme de classes «Sprint 3»
40
Figure 3.12 – Diagramme de sequence Authentifier «sprint 3»
41
3.5 Conclusion
Tout au long de ce chapitre, nous avons décrit les différents aspects conceptuels de
notre travail,nous avons aussi généré les différents diagrammes des 3 sprints nous passons
maintenant u dernier volet « Réalisation» ou on va décrire l’environnement matériel et
logiciel et nous allons finir par des captures sur l’application réalisé.
42
Chapitre 4
REALISATION
43
Introduction
Le choix des outils de développement est l’un des sujets les plus exigeant, c’est trés
important de faire le bon choix pour le simple raison de faciliter le développement , main-
tenance et quarantir une performance.
à cet égard, nous allons commencer par le choix de la technologie adéquate , ensuite nous
allons faire une présentation sur les frameworks utilisés , l’architercture logicielle adapté
pour présenter finalement les differents interfaces homme machine.
Nous allons présenter dans cette partie les choix relatif à l’environnement matériel ainsi
Nous avons travaillé sur plusieurs framework et logiciel pour pouvoir réaliser cette ap-
plications qui sont :
• VS Code :
44
Figure 4.1 – VS code [N08]
Visual Studio Code est un éditeur de code extensible développé par Microsoft pour
Windows, Linux et macOS. Les fonctionnalités incluent la prise en charge du dé-
bogage, la mise en évidence de la syntaxe, la complétion intelligente du code, les
• Angular :
des « Single Page Applications » : des applications web accessibles via une page web
unique qui permet de fluidifier l’expérience utilisateur et d’éviter les chargements de
45
pages à chaque nouvelle action. Le Framework est basé sur une architecture du type
MVC et permet donc de séparer les données, le visuel et les actions pour une meilleure
gestion des responsabilités. Un type d’architecture qui a largement fait ses preuves et
• Node JS :
Node.js est une plate forme logicielle libre en JavaScript, orientée vers les applica-
Elle utilise la machine virtuelle V8, la librairie libuv pour sa boucle d’évènements, et
implémente sous licence MIT les spécifications CommonJS.
Parmi les modules natifs de Node.js, on retrouve http qui permet le développement de
• Express JS :
46
Figure 4.4 – Express JS [N11]
Express.js est un framework pour construire des applications web basées sur Node.js4.
C’est de fait le framework standard pour le développement de serveur en Node.js5.
L’auteur original, TJ Holowaychuck, le décrit comme un serveur inspiré de Sinatra
dans le sens qu’il est relativement minimaliste tout en permettant d’étendre ses fonc-
tionnalités via des plugins.[N11]
• SQL server :
Microsoft SQL Server est un système de gestion de base de données (SGBD) en lan-
gage SQL incorporant entre autres un SGBDR (SGBD relationnel ») développé et
• POSTMAN :
47
Figure 4.6 – POSTMAN [N13]
Postman est une application permettant de tester des API, créée en 2012 par Abhinav
Asthana, Ankit Sobti et Abhijit Kane à Bangalore pour répondre à une problématique
• Lucidchart :
Lucidchart est une plate forme de collaboration en ligne, basée sur le cloud, per-
mettant la création de diagrammes et la visualisation de données, et autres schémas
conceptuels.
La startup1 hébergeant Lucidchart a été lancée en décembre 2008, et est basée à Salt
Lake City. Cette solution constitue une alternative à Microsoft Visio, avec lequel Lu-
48
4.2 Présentation de l’application réalisée
49
Figure 4.10 – Interface Ajouter un fichier excel
50
Figure 4.12 – Interface affichage liste des testeurs
51
Figure 4.14 – Interface Affichage du liste des mesures
4.3 Conclusion
dans ce chapitre final , nous avons décrit l’environnement matériel et logiciel utilisé
dans la réalisation de ce projet , et nous avons terminé par des captures sur les différents
interfaces et fonctionnalité du l’application Réalisé.
52
Conclusion générale et perspective
l’amélioration du rendement de ses produits, nous a chargé de proposer une solution per-
mettant de prévenir les dérives du processus de fabrication sur les différents outils de me-
sure de production.
Le travail réalisé dans ce cadre consiste à concevoir et à développer une application web
qui permet d’afficher les cartes de contrôles pour pouvoir générer des gaussiennes ou KPI
par opération ressource & produits dans le but de contrôler les dérives de fabrication.
Ce projet apporte de bénéfices pour la société tel que l’évolution de la qualité des pro-
duits.
Ce stage de fin d’études était une expérience enrichissante et fructueuse qui nous a per-
mis d’acquérir un ensemble de compétences, Sur le plan technique, Nous avons eu l’op-
portunité pour mieux maîtriser des framework comme Node JS, Express JS dans la partie
du «backend» et angular dans la partie du «Frontend» , Manipuler des environnements de
travail comme VS code , SQL server pour la base de données , Lucidchart , et POSTMAN
pour tester les APIs en suivant l’architecture MVC et nous avons acquis de nouveaux as-
pects théoriques et technologiques, à savoir SCRUM .Sur le plan professionnel , il nous a
53
Bien que l’objectif final de l’application soit atteint, nous envisageons d’ajouter des amé-
liorations à l’application, Nous citons essentiellement :
54
NETOGRAPHIE :
55
Résumé :
Dans le cadre de notre projet de fin d’études a la faculté des sciences mathématiques, phy-
siques et naturelles de Tunis pour l’obtention du diplôme national de licence en science
aux agents de sagemcom . Cette application a pour but de prévoir les dérives de processus
de fabrication a partir les cartes de contrôles.
Mots Clés : Application Web , Angular , Node JS , Express JS , MVC.
abstract :
As part of our end-of-study project at the Faculty of Mathematical, Physical and Natural
Sciences of Tunis to obtain the national degree in computer science, we carried out our
internship within the company ”Sagemcom”. This project was carried out for 4 months.
The objective of the project was to develop and implement a web application dedicated to
sagemcom agents. This application aims to predict the deviations of manufacturing pro-
cesses from control charts.
Keywords : Web application , Angular , Node JS , Express JS , MVC.
56