Sfe Madispro
Sfe Madispro
Introduction générale___________________________________________________4
Introduction_______________________________________________________________6
Conclusion_______________________________________________________________13
Introduction______________________________________________________________14
Conclusion_______________________________________________________________23
3.2. Conception____________________________________________________________27
3.2.1. Diagrammes de séquences système____________________________________________27
3.2.2. Diagramme de classes_______________________________________________________31
3.3. Réalisation____________________________________________________________32
Conclusion_______________________________________________________________33
Introduction______________________________________________________________34
4.2. Conception____________________________________________________________36
4.2.1. Diagrammes de séquences système____________________________________________36
4.2.2. Diagramme de classes_______________________________________________________38
4.3. Réalisation____________________________________________________________39
Conclusion_______________________________________________________________40
Introduction______________________________________________________________41
5.2. Conception____________________________________________________________42
5.2.1. Diagrammes de séquences système____________________________________________43
5.2.2. Diagramme de classes_______________________________________________________44
5.3. Réalisation____________________________________________________________45
Conclusion générale___________________________________________________47
Table des figures
En effet, les systèmes d’informations ont répondu à un besoin vif pour n’importe quel
type d’organisation, c’est la gestion d’information qui est parmi les enjeux les plus
primordiaux pour les entreprises et touche pratiquement toutes les activités telles que la
production, le stockage et la vente.
4
finissons par une planification des phases et un prototypage des interfaces pour mieux
comprendre les besoins du client.
Le rapport s’achève par une conclusion générale rappelant les réalisations essentielles
de notre travail et présentant les perspectives futures de développement de l’application.
5
Chapitre 1. Présentation générale
Introduction
Nous présentons dans ce chapitre une étude préliminaire du projet. Dans un premier
temps, nous présentons l’environnement du stage. Par la suite, nous décrivons la
problématique, ainsi que les principaux objectifs du projet.
6
Ses visions
MADISPRO croit fermement que son succès passe nécessairement par celui de leurs
clients. Partant de ce principe, il s’engage dans un rapport de partenariat durable et de profit
réciproque avec tous ceux pour qu’il travaille. Pour toutes les solutions qu’il propose, il
veuille à fournir tous les atouts afin d’assurer un retour sur investissement intéressant pour
leurs clients. Avec leurs clients, il ne se contente pas de réaliser un besoin mais il essaye de
les accompagner durant toutes les étapes de leur projet dans une démarche qualité bien
étudiée.
Démarche qualité
Afin d’assurer une qualité irréprochable pour toutes les solutions qu’elle offre,
ARTMEDIA accompagne ses clients dans toutes les phases de réalisation de leurs projets.
Ainsi, ils mettent leur expérience à profit de leur client dès la phase de l’analyse et de
l’élaboration du cahier des charges car un besoin bien étudié et bien exprimé constitue
souvent la pierre angulaire d’un projet réussi. Une fois le besoin du client est fixé, ils
entament une phase de conception de la solution à proposer. Lors de cette étape, ils font appel
aux modèles Unified Modeling Language (UML) pour décrire les différentes fonctionnalités
du nouveau système ainsi que leur déploiement. Ces modèles sont alors discutés avec le client
pour être certains de répondre exactement à ses attentes. Dès la validation de la phase de
conception, ils entament la réalisation de la solution. Au cours de cette phase, les versions
intermédiaires sont présentées régulièrement au client afin qu’il puisse suivre de près l’état
d’avancement de son projet. Une fois la solution est prête pour le déploiement, ils assurent la
mise en place d’une infrastructure adéquate pour une efficacité optimale. Ils cherchent
également à bien former les futurs utilisateurs de l’application pour être certains qu’ils tireront
pleinement profit de leur nouvelle acquisition.
7
Marketing Digital
De nos jours, les besoins d’une entreprise industrielle sont augmentés d’une façon
exorbitante pour cela on est face à une mise en place d’un logiciel de gestion qui présente
aujourd’hui une base fondamentale au sein d’une entreprise dont son secteur d’activité est la
production.
1.3.1. Fonctionnalités
L’outil mis à disposition devra de ce fait pouvoir proposer différents services à son
utilisateur :
Gestion des produits : Consiste à gérer la liste des produits qui sont définis par
des données générales (code, libellé, description et caractéristiques), des
données de structure (les composants), des données de planification (stock
minimum, maximum, stock de sécurité).
Gestion des marques : Consiste à gérer la liste des marques des produits qui
est une forme de regroupement des produits.
Gestion des cartons : Consiste à gérer la liste des cartons dans lesquels en met
des produits avec des caractéristiques spécifiques.
Gestion des gammes de fabrication : Consiste à gérer les étapes de
fabrication d’un produit qui sont la séquence et la durée estimative
d’opérations, les outils nécessaires par opération (postes de charges).
8
Gestion des postes de charges : Consiste à gérer les postes de charges qui se
focalisent sur l’état de la machine et la disponibilité des opérateurs
(employées). Cette gestion permet de réaliser l’adéquation entre ce que l’on
peut faire (capacité) et ce que l’on doit faire (charge). C’est le calcul de la
charge sur chaque poste de charge et du délai d’obtention des produits.
Gestion des ressources : Consiste à gérer la liste des ressources qui sont les
employées (qualification des personnes qui exécuteront chaque opération –
Gestion de compétences), les machines (fiches machines–Caractéristiques) et
les outils (fiches outils).
Gestion des maintenances : Consiste à gérer la liste des interventions qui se
caractérise par leurs types et ses classifications, l’équipement nécessaire et les
compétences requises.
Gestion des ordres de fabrication : Consiste à gérer les commandes externes
(d’un client) ou internes (au système productif, pour l’approvisionnement des
stocks de semis ouvrés). Chaque ordre est caractérisé par sa date de livraison en
jours ouvrables et une suite ordonnée d’opérations y compris le temps de
chargement et le temps de réglage requis.
Gestion des commandes : Consiste à gérer la liste des commandes qui sont
définis par (numéro, identifiant du carton, et quantités).
Gestion des ventes : Consiste à gérer la liste des ventes, afin de permettre à un
vendeur de contrôler un produit quelconque dans le stock dans le cas où la
clientèle le demande. A l’inverse, le magasinier désire également savoir la
disponibilité des produits au magasin afin de régler plus efficacement le stock.
Dès lors, un des buts de cette application permet d’examiner aussi le magasin.
Toutefois, la vente qui a lieu sans cesse nous oblige également à ajuster
souvent les données.
Gestion des contacts : Consiste à gérer la liste des clients et des fournisseurs
qui se caractérise par leurs noms, prénoms, adresses e-mail, sociétés.
Gestion des utilisateurs : Consiste à gérer les utilisateurs du système ainsi que
leurs privilèges.
Modélisation :
9
Logiciels de modélisation UML (Enterprise Architect) ;
Langages et outils de programmation :
PHP ;
CSS3 ;
HTML5 ;
JavaScripts, JQuery …
Serveur :
Serveur d’applications : WampServer ;
Serveur De Base de données : MySQL ;
Environnements de travail :
PhpMyAdmin;
PhpStorm;
Navigateurs web :
Le site doit être adapté avec les principaux navigateurs web tels que :
Chrome, Internet Explorer et Mozilla.
Afin de réaliser cette application web, nous allons utiliser plusieurs technologies web
et outils informatiques.
MVC : Model–View–Controller
10
maintenable, permettant de profiter de plusieurs mécanismes, d’avoir de la persistance de
données, et bien d’autres choses encore.
Le “Modèle” est la représentation interne des données. Il permet comme son nom
l’indique de modéliser les données que l’on va manipuler dans l’application. Le modèle
représente les véritables données avec toutes les informations qu’elles véhiculent.
Symfony3
Doctrine
11
vous permet de créer et d’exécuter vos requêtes via le paradigme de la programmation
orientée objet.
Twig
Dans cette partie nous allons décrire les outils de développement et de conception
utilisées pour réaliser ce projet.
Enterprise Architect
PhpStorm :
WampServer :
12
MySQL. Il possède également PHPMyAdmin pour gérer plus facilement les bases de
données.
JavaScript :
13
Conclusion
Dans ce chapitre introductif, nous avons présenté l’organisme d’accueil ainsi que le
cadre général de notre projet en déterminant la problématique et en proposant la solution
envisagée pour faire face à la situation courante. Nous avons dévoilé le langage et la
méthodologie de conception qui seront utilisés dans les prochains chapitres de ce rapport.
14
Chapitre 2. Planification et Architecture général
Introduction
Nous procéderons par l’identification des acteurs puis la description des cas
d’utilisation de notre futur projet.
Un acteur, représente un rôle joué par une entité externe qui interagit directement avec
le système. Dans le cadre de notre application les acteurs sont les suivants :
15
ainsi que ses composants, les machines et les compétences nécessaires à sa
fabrication. Il organise et coordonne la production (planification), affecte à
chaque ressource (machine, homme) une charge de travail. Il gère aussi les
compétences des employées et demande une intervention de maintenance en
cas de panne.
Responsable maintenance : Il assure la gestion des machines ainsi la
maintenance périodique et les missions de maintenance.
La Figure 2 illustre le diagramme de contexte statique qui montre les relations des
différents acteurs avec le système. Il spécifie le nombre d’instances de chaque acteur relié.
16
2.2. Planning du traitement des cas d’utilisation
Après l’identification des cas d’utilisation, nous devons maintenant les classifier. La
classification des cas d’utilisation doit tenir compte d’un facteur principal qui est la priorité.
Cette technique est utilisée généralement lors de la conception des applications se basant sur
le processus unifié, mais elle reste valable et intéressante pour notre cas.
Priorité :
Le choix des priorités dans cette section s’est basé sur la dépendance entre les
fonctionnalités de l’application. Par exemple, nous ne pouvons pas planifier un ordre de
production sans avoir déterminer les composants d’un produit ainsi que ses étapes de
production. Par conséquent, nous pouvons utiliser la technique MoSCoW pour attribuer les
priorités aux différents cas d’utilisation.
Dans le tableau suivant, chaque cas d’utilisation est caractérisé par sa priorité, le nom,
la description, et les acteurs principales. Pour le traitement de nos cas d’utilisation nous
faisons le choix de commencer avec les cas d’utilisation les plus prioritaires et plus
importante.
Acteurs
Id Nom Priorité Description
Principaux
1 Gestion des M • Afficher la liste des marques qui contient les Responsable
marques champs suivants : libellé, description, nombre technique,
de produits. Administrateur
17
• Rechercher une marque par : libellé,
référence produit.
• Afficher un formulaire d’édition d’une
Responsable
Gestion des marque qui contient les champs suivant :
2 M technique,
marques libellé, description.
Administrateur
• Ajouter, modifier ou supprimer une marque.
• Afficher la liste des produits qui contient les
champs suivants : référence, libellé, marque, Responsable
Gestion des
3 M état en stock (disponible, critique ou épuisé). technique,
produits
• Rechercher un produit par : référence, libellé, Administrateur
marque.
• Afficher un formulaire d’édition d’un produit
qui contient les champs suivant : référence,
Responsable
Gestion des libellé, marque, stock critique, description,
4 S technique,
produits fiche technique, image, . . . en tant que pièce
Administrateur
jointe.
• Ajouter, modifier ou supprimer un produit.
• Saisir les étapes nécessaires à la production
qui doit contenir les champs suivants : numéro
de l’étape, description, durée estimative (en Responsable
Gestion des
5 C heures continues ou discontinues), produits production,
produits
utilisés, équipement utilisé, compétence Administrateur
requise, description textuelle.
• Ajouter, modifier ou supprimer une étape.
• Saisir la liste des matières premier qui le Responsable
Gestion des
6 C compose. production,
produits
• Associer à chaque composant sa quantité. Administrateur
7 Gestion des S • Afficher la liste des machines qui contient les Responsable
machines champs suivants : référence, libellé, maintenance,
fournisseur, sous garantie (oui ou non), contrat Administrateur
de maintenance (oui ou non), date
d’acquisition, état (arrêtée, en production, en
attente de maintenance ou maintenance en
18
cours).
• Rechercher une machine par : référence,
fournisseur, libellé).
• Afficher un formulaire d’édition d’une
machine qui contient les champs suivant :
référence, fournisseur, libellé, date Responsable
Gestion des
8 S d’acquisition, consommation, durée de maintenance,
machines
garantie, contrat de maintenance, fiche Administrateur
technique, image, . . . en tant que pièce jointe ;
• Ajouter, modifier ou supprimer une machine.
• Afficher la liste des maintenances
périodiques.
• Formulaire d’édition d’une maintenance
Responsable
Gestion des périodique qui doit contenir les champs
9 M maintenance,
machines suivants : libellé, description, durée, durée en
Administrateur
activité.
• Ajouter, modifier ou supprimer une
maintenance périodique.
• Afficher la liste des demandes d’intervention
Gestion des
de maintenance qui contient les champs Responsable
demandes
10 M suivants : libellé, description. production,
d’interventions
• Rechercher une demande d’intervention de Administrateur
de maintenance
maintenance par : libellé, référence machine.
• Afficher un formulaire d’édition d’une
Gestion des demande d’intervention de maintenance qui
Responsable
demandes contient les champs suivant : libellé,
11 C production,
d’interventions description.
Administrateur
de maintenance • Ajouter, modifier ou supprimer une demande
d’intervention de maintenance.
12 Gestion des C • Afficher la liste des compétences qui Responsable
compétences contient les champs suivants : libellé, nombre production,
d’employés, nombre de produits. • Rechercher Administrateur
une compétence par : libellé, matricule
19
employé, référence produit.
• Afficher un formulaire d’édition d’une
compétence qui contient les champs suivant : Responsable
Gestion des
13 M libellé, description. production,
compétences
• Ajouter, modifier ou supprimer une Administrateur
compétence.
• Afficher la liste des ordres de production qui
contient les champs suivants : référence
Gestion des Responsable
produit, date début, date fin, nombre d’étapes.
14 ordres de C production,
• Rechercher un ordre de production par :
production Administrateur
référence produit, date, état (pas encore
commencé, en cours, terminé ou suspendu).
• Afficher un formulaire d’édition d’un ordre
de production qui contient les champs suivant :
Gestion des Responsable
référence produit, quantité à produire, date
15 ordres de M production,
début, date fin.
production Administrateur
• Ajouter, modifier ou supprimer un ordre de
production
• Planifier la date début et la date fin de
Gestion des Responsable
chaque étape en tenant compte de la
16 ordres de M production,
disponibilité des machines, des composants et
production Administrateur
des compétences.
20
2.3. Diagramme de cas d’utilisation global
Dans cette section nous présentons les besoins de notre système de manière formelle.
C’est-à-dire en utilisant le diagramme des cas d’utilisations du langage de modélisation UML.
21
2.4. Planification des phases
Nous avons divisé les tâches en trois phases du système (Technique, Production,
Utilisateur et messagerie).
22
2.4.2. Planning globale de projet
23
Tableau 3_ Liste des tâches
24
Les Figures 7.15 et 7.16 illustre le diagramme de GANTT présentant le planning du
développement des différents modules et des tâches réalisées.
Conclusion
Dans ce chapitre, nous avons passé en revue par les différentes notions nécessaires à la
compréhension de notre sujet. Nous avons préparé notre plan de travail, nous avons capturé
les besoins fonctionnels de notre application, les rôles des utilisateurs, par la suite nous avons
préparé l’architecture logique ainsi que le plan Gantt de notre projet.
25
Chapitre 3. Etude et réalisation de la phase
technique et maintenance
Introduction
Après avoir connu l’environnement matériel, logiciel et une vision précise sur le
déroulement de notre projet, il ne nous reste que de nous diriger vers les phases qui décrivent
les principaux objectifs et les fonctionnalités de notre futur système.
Les besoins à réaliser dans la première phase, ont été spécifiés et pour mieux expliquer
nous allons vous présenter les diagrammes de cas d’utilisation de la gestion des produits, la
gestion des marques, la gestion des commandes, la gestion des machines, et la gestion des
maintenances avec les descriptions textuelles.
26
La Figure 5 montre le diagramme de cas d’utilisation de la gestion des produits.
27
La Figure 6 montre le diagramme de cas d’utilisation de la gestion des marques.
28
La Figure 7 montre le diagramme de cas d’utilisation de la gestion des machines.
3.2. Conception
Nous effectuons dans ce qui suit les diagrammes de séquence pour chaque cas
d’utilisation de cette première phase.
Dans cette partie nous mettons l’accent sur les diagrammes de séquences qui
représentent les interactions entre objets en indiquant la chronologie des échanges. Cette
représentation peut se réaliser par cas d’utilisation en considérant les différents scénarios
associés.
29
Ajouter produit
30
Supprimer une marque
31
Figure 9_ Diagramme de séquence de suppression d'une marque
Ajouter une maintenance corrective
Le tableau suivant décrive la description textuelle du cas d’utilisation « Ajouter
une maintenance corrective »
Tableau 6_ Description textuelle du C.U. « Ajouter une maintenance corrective »
32
Figure 10_ Diagramme de séquence d'ajout d'une maintenance corrective
3.2.2. Diagramme de classes
33
3.3. Réalisation
34
Figure 14_Interface de la liste des machines
35
Conclusion
36
Chapitre 4. Etude et réalisation de la phase de
production
Introduction
Ce chapitre décrit la gestion des ordres de production, la gestion des compétences ainsi
que la gestion des demandes d’intervention de maintenance. Nous allons exposer tout d’abord
l’étape de la conception et par la suite la phase de réalisation.
37
Figure 15_ Raffinement du cas d’utilisation gérer les demandes d’intervention.
Gérer les ordres de productions
38
4.2. Conception
Nous effectuons dans ce qui suit les diagrammes de séquence pour chaque cas
d’utilisation de cette première phase.
Dans cette partie nous mettons l’accent sur les diagrammes de séquences qui
représentent les interactions entre objets en indiquant la chronologie des échanges. Cette
représentation peut se réaliser par cas d’utilisation en considérant les différents scénarios
associés.
39
La Figure 17 met en évidence le diagramme de séquence d’ajout de la demande
d’intervention.
40
La Figure 18 illustre le diagramme de classes de la deuxième phase.
41
Conclusion
L’évaluation de notre projet dans cette phase revêt une importance primordiale dans la
phase de conception, puisque cette expertise permet de diriger l’application vers
éclaircissement. Le premier pas dans cette phase consistait à dessiner les diagrammes de
séquences. Ces diagrammes révèlent qu’ils sont répétitifs. Pour qu’on évite cette répétition
dans la partie qui suit nous choisissons les cas d’utilisations importantes afin d’illustrer ses
diagrammes de séquences.
42
Chapitre 5. Etude et réalisation de la phase
comptes utilisateurs et messagerie
Introduction
Après avoir terminé l’environnement de l’application, logiciel et une vision précise sur
le déroulement de notre projet, il ne nous reste que de nous diriger vers la phase qui
s’intéresse aux principaux objectifs et les fonctionnalités de gestion des comptes utilisateurs
ainsi qu’un outil de messagerie.
S’authentifier
43
Gérer messagerie
5.2. Conception
Nous effectuons dans ce qui suit les diagrammes de séquence pour chaque cas
d’utilisation de cette troisième phase.
44
5.2.1. Diagrammes de séquences système
Dans cette partie nous mettons l’accent sur les diagrammes de séquences qui
représentent les interactions entre objets en indiquant la chronologie des échanges. Cette
représentation peut se réaliser par cas d’utilisation en considérant les différents scénarios
associés.
S’authentifier
45
5.2.2. Diagramme de classes
5.3. Réalisation
46
Les Figures 24, 25 et 26 présentent respectivement l’interface de la pré-inscription,
l’interface de modification d’un utilisateur, et l’interface de la boite de réception.
47
Conclusion générale
Après un mois et demi de stage au sein de la société ArtMedia, nous avons conçu et
développé une application de gestion de production et de maintenance. Le présent manuscrit
détaille toutes les étapes par lesquelles nous sommes passées pour arriver au résultat attendu.
Nous avons essayé tout au long de notre travail de construire notre application phase par
phase. Ce stage de fin d’études nous a permis de découvrir un environnement professionnel
différent de nos expériences précédentes.
Nous avons pu ainsi découvrir le travail en équipe au sein d’un plateau de plusieurs
personnes. Ensuite au niveau du management, nous avons appris à nous organiser, à utiliser
des outils et des méthodes de managements. Malgré toutes les difficultés rencontrées au
niveau du Framework Symfony3 et les bundle FOSUserBundle et SonataBundle et les
contraintes de temps, nous avons réussi à réaliser la totalité de notre application tout en
respectant l’aspect sécuritaire et en préparant la documentation nécessaire.
48