Curriculum Vitae: Formations Et Diplomes Obtenus
Curriculum Vitae: Formations Et Diplomes Obtenus
Curriculum Vitae: Formations Et Diplomes Obtenus
23 ans - Célibataire
Tel : +261342103916
e-mail : [email protected]
I
STAGES ET EXPERIENCES PROFESSIONNELLES
COMPETENCES EN INFORMATIQUE
Langages de programmation : PHP ,JSP & Servelet, JAVA, Visual Basic, C, C++
Framework : CodeIgniter
Notation : UML2
II
Systèmes de gestion de base de données : MySQL, ORACLE
COMPETENCES LINGUISTIQUES
AUTRES COMPETENCES
Initiation à l'Entrepreneuriat
DIVERS
Esprit Créateur
Etre responsable
III
SOMMAIRE GENERAL
CURRICULUM VITAE ...........................................................................................................I
SOMMAIRE GENERAL ...................................................................................................... IV
REMERCIEMENTS ............................................................................................................ VII
LISTE DES FIGURES........................................................................................................VIII
LISTE DES TABLEAUX ....................................................................................................... X
LISTE DES ABREVIATIONS ............................................................................................. XI
INTRODUCTION GENERALE ............................................................................................ 1
Partie I : PRESENTATION .................................................................................................... 2
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique .......................................... 3
1. 1. Information d’ordre général ........................................................................................... 3
1.2. Missions et historique........................................................................................................ 3
1.3. Organigramme institutionnel de l’ENI ........................................................................... 5
1.4. Domaine de spécialisation ................................................................................................. 7
1.5. Architecture des formations pédagogiques ..................................................................... 8
1.6. Relations de l’ENI avec les entreprises et les organismes ............................................ 11
1.7. Partenariat au niveau international .............................................................................. 13
1.8. Débouchés professionnels avec des diplômés ................................................................ 15
1.9. Ressources humaines....................................................................................................... 17
Chapitre 2. Présentation de la ferme MAMI (Malagasy Miompy) .................................. 18
2.1. Localisation et contact .................................................................................................... 18
2.2. Organigramme ................................................................................................................ 18
2.3. Présentation ..................................................................................................................... 19
Chapitre 3. Description du projet ......................................................................................... 20
3.1. Formulation ..................................................................................................................... 20
3.2. Objectif et besoins de l’utilisateur ................................................................................. 20
3.3. Moyens nécessaires à la réalisation du projet ............................................................... 20
3.4. Résultats attendus ........................................................................................................... 21
3.5. Planification des travaux ............................................................................................... 21
Partie II : ANALYSE ET CONCEPTION .......................................................................... 23
Chapitre 4 : Analyse préalable .............................................................................................. 24
4.1. Analyse de l’existant........................................................................................................ 24
4.2. Critique de l’existant ....................................................................................................... 25
4.3. Conception avant-projet ................................................................................................. 25
IV
Chapitre 5 : Analyse conceptuelle......................................................................................... 40
5.1. Dictionnaire des données ................................................................................................ 40
5.2. Règles de gestion. ............................................................................................................. 43
5.3. Présentation et spécification des besoins fonctionnels ................................................. 44
a. DSS « Sortir provende » ................................................................................................. 49
b. DSS « Enregistrer matière première ............................................................................. 51
c. DSS « Fabriquer provende » .......................................................................................... 54
d. DSS « Effectuer un paiement» ....................................................................................... 56
e. DSS « Rechercher produit vendu .................................................................................. 58
f. DSS « Voir total matière première disponible ............................................................. 60
g. DSS « Modifier employé » .............................................................................................. 61
h. DSS « Supprimer employé» ........................................................................................... 63
5.4. Exigence besoins techniques ........................................................................................... 66
5.5. Modélisation du domaine (Modèle de domaine)........................................................... 66
Chapitre 6 : Conception détaillée ......................................................................................... 68
6.1. Architecture système ................................................................................................... 68
6.2. Diagramme de séquence de conception par chaque cas d’utilisation ..................... 69
6.3. Diagramme de classe de conception par chaque cas d’utilisation .............................. 75
6.4. Diagramme de classe de conception globale ................................................................. 81
6.5. Diagramme de paquetage ............................................................................................... 82
6.6. Modèle de déploiement ................................................................................................... 82
PARTIE III : REALISATION .............................................................................................. 84
Chapitre 7 : Mise en place de l’environnement de développement ................................... 85
7.1. Pré requis ......................................................................................................................... 85
7.2. Installation et configuration des Outils ......................................................................... 86
7.3. Architecture de l’application.......................................................................................... 92
Chapitre 8 : Développement de l’application ……………………………………………..93
V
TABLE DES MATIERES .................................................................................................. XVI
RESUME/ABSTRACT………………………………………………………………………
VI
REMERCIEMENTS
En préambule à ce mémoire, je souhaite adresser mes remerciements les plus sincères
premièrement à Dieu tout puissant de m’avoir donné la santé et l’intelligence durant mes cinq
années universitaires et aux personnes qui m’ont apporté leurs aides et leurs encouragements
et qui ont contribué à l'élaboration de ce mémoire pour l'obtention du diplôme de Master
professionnel en informatique.
Enfin, j’espère que les membres du jury trouvent dans ce rapport les qualités de clarté
et de motivation qu’ils attendent.
VII
LISTE DES FIGURES
Figure 1: Organigramme de l'ENI .............................................................................................. 6
Figure 2 : Organigramme de la ferme MAMI (Malagasy Miompy) ........................................ 18
Figure 3 Historique UML ......................................................................................................... 34
Figure 4 : Elément constitutif de cas d’utilisation.................................................................... 44
Figure 5 : Diagramme de Cas d’utilisation .............................................................................. 47
Figure 6 : Diagramme de séquence système de « Sortir provende » ....................................... 51
Figure 7 : Diagramme de séquence système de «Enregistrer matière première » ................... 53
Figure 8 : Diagramme de séquence système de « Fabriquer provende» .................................. 56
Figure 9 : Diagramme de séquence système de « Effectuer paiement» ................................... 58
Figure 10 : Diagramme de séquence système de « Rechercher produit vendu» ...................... 60
Figure 11 : Diagramme de séquence système de «Voir total matière première disponible » .. 61
Figure 12 : Diagramme de séquence système de « Modifier employé» .................................. 63
Figure 13 : Diagramme de séquence système de « Supprimer employé » ............................... 65
Figure 14 : Modèle de domaine................................................................................................ 67
Figure 15 : Mode de fonctionnement du MVC ........................................................................ 69
Figure 16 : Diagramme de séquence conception de « Sortir provende » ................................. 70
Figure 17 : Diagramme de séquence conception de « Enregistrer matière première » ............ 71
Figure 18 : Diagramme de séquence conception de «Fabriquer provende» ............................ 72
Figure 19 : Diagramme de séquence conception de « Effectuer paiement » ........................... 73
Figure 20 : Diagramme de séquence conception de « Rechercher produit vendu » ................ 74
Figure 21 : Diagramme de séquence conception de « Voir total matière première disponible »
.................................................................................................................................................. 74
Figure 22: Diagramme de séquence conception de « Modifier Employé » ............................. 75
Figure 23 : Diagramme de classe conception de « Sortir provende » ...................................... 77
Figure 24 : Diagramme de classe conception de « Enregistrer matière première » ................. 78
Figure 25 : Diagramme de classe conception de « Fabriquer provende » ............................... 78
Figure 26 : Diagramme de classe conception de « Effectuer un paiement » ........................... 79
Figure 27 : Diagramme de classe conception de « Rechercher produit vendu » ..................... 79
Figure 28 : Diagramme de classe conception de « Voir total matière première disponible » . 80
Figure 29 : Diagramme de classe conception de « Modifier Employé » ................................. 80
Figure 30 : Diagramme de classe globale ................................................................................ 81
Figure 31:Diagramme de paquetage ........................................................................................ 82
Figure 32:Diagramme de déploiement ..................................................................................... 83
VIII
Figure 33 : Etape 1 - Installation VP ........................................................................................ 87
Figure 34 : Etape 2 - Installation VP ........................................................................................ 87
Figure 35 : Etape 3 - Installation VP ........................................................................................ 87
Figure 36 : Etape 4 - Installation VP ........................................................................................ 88
Figure 37 : Etape 5 - Installation VP ........................................................................................ 88
Figure 38 : Etape finale - Installation VP ................................................................................. 88
Figure 39 : Etape 1 -Installation de NetBeans.......................................................................... 89
Figure 40: Etape 2 - Installation de NetBeans.......................................................................... 89
Figure 41: Etape 3 - Installation de NetBeans.......................................................................... 90
Figure 42: Etape 4 - Installation de NetBeans.......................................................................... 90
Figure 43: Etape 5 - Installation de NetBeans.......................................................................... 91
Figure 44: Etape finale - Installation de NetBeans .................................................................. 91
Figure 45 : Architecture microservice ...................................................................................... 92
Figure 46: Création de la base de données ............................................................................... 94
Figure 47 : base de donnée créer .............................................................................................. 95
Figure 48 : Création table « ingredient ».................................................................................. 95
Figure 49 : Table « ingredient » créer ...................................................................................... 96
Figure 50: Page d’accueil élevage .......................................................................................... 102
Figure 51 : Page d'accueil dépense ......................................................................................... 102
Figure 52 : Page d'accueil produit .......................................................................................... 103
Figure 53 : Page d'accueil Vente ............................................................................................ 103
Figure 54 : capture de la page « gestion de formule alimentaire » ........................................ 104
Figure 55 : Capture du formulaire « Enregistrement de matière première » ......................... 104
Figure 56 : Capture de la page « Gestion de matière première » ........................................... 105
Figure 57 : Capture du formulaire « Guide de fabrication provende » .................................. 106
Figure 58 : Capture de la page « Etat de la matière première » ............................................. 106
Figure 59 : Capture de la page « Historique de matière première »....................................... 107
Figure 60 : Capture du formulaire « Enregistrement Promotion » ........................................ 108
Figure 61 : Capture du formulaire « Enregistrement provende finie » .................................. 108
Figure 62 : Capture de la page « Historique Provende finie » ............................................... 109
Figure 63 : Capture de la page « Etat de provende finie » ..................................................... 109
Figure 64 : Capture Formulaire Caractéristique provende ..................................................... 110
IX
LISTE DES TABLEAUX
Tableau 1: Organisation du système de formation pédagogique de l’Ecole .............................. 8
Tableau 2 : Liste des formations existantes à l’ENI................................................................. 10
Tableau 3: Débouchés professionnels éventuels des diplômés ................................................ 16
Tableau 4 : matériels utilisés et leurs caractéristiques ............................................................. 21
Tableau 5: Chronogramme de travail ....................................................................................... 22
Tableau 6 : Matériels utilisés dans la ferme MAMI................................................................. 24
Tableau 7 : Logiciels utilisés par la ferme MAMI (Malagasy Miompy) ................................. 25
Tableau 8 : Avantages et l’inconvenients des solutions ........................................................... 26
Tableau 9 : Comparaison de quelques SGBD .......................................................................... 27
Tableau 10 : Comparaisons entre les différents langages de programmation .......................... 29
Tableau 11 : Comparaison MERISE et 2TUP ......................................................................... 32
Tableau 12 : Généralités des outils UML................................................................................. 36
Tableau 13 : Comparaison NetBeans et Eclipse ...................................................................... 38
Tableau 14 : Dictionnaire des données .................................................................................... 40
Tableau 15 : Cas d’utilisation pour le gérant ........................................................................... 45
Tableau 16 : Représente la priorisation des cas d’utilisations ................................................. 48
Tableau 17 : Description textuelle de cas d’utilisation « Sortir provende » ............................ 49
Tableau 18 : Description textuelle de cas d’utilisation «Enregistrer matière première » ...... 51
Tableau 19 : Description textuelle de cas d’utilisation « Fabriquer provende » ...................... 54
Tableau 20 : Description textuelle de cas d’utilisation « Effectuer un paiement » .................. 57
Tableau 21 : Description textuelle de cas d’utilisation « Rechercher produit vendu » ............ 58
Tableau 22 : Description textuelle de cas d’utilisation « Voir total matière première disponible
» ................................................................................................................................................ 60
Tableau 23 : Description textuelle de cas d’utilisation «Modifier employé » ......................... 62
Tableau 24 : Description textuelle de cas d’utilisation « Supprimer employé »...................... 63
Tableau 25 : Pré requis matériels pour NetBeans .................................................................... 85
Tableau 26 : Pré requis matériels pour Visual paradigm ......................................................... 86
X
LISTE DES ABREVIATIONS
2TUP : 2 Track Unified Process
3D : 3 Dimension
ARM : Fabrique des Processeurs Multicoeur
BDD : Base de données
CPU : Central Processing Unit
CSS : Cascading Style Sheets
DCC : Diagramme de Classe de Conception
DSC : Diagramme de Séquence Conception
DSS : Diagramme de Séquence Système
EDI : Environnement de Développement Intégré
ENI : Ecole Nationale d’Informatique
GPLv2 : General Public License version 2
HDD : Disque Dur
HP : Hewlett-Packard
HTML : HyperText Markup Language
IDE : Integrated Development Environment
LAMP : Linux, Apache, MySQL, and Php
LMD : Licence Master Doctorat
MAMI : Malagasy Miompy
MERISE : Méthode d'Étude et de Réalisation Informatique par les Sous-Ensembles
MVC : Modèle View Controleur
OS : Operating System
PHP : Hypertext Preprocessor
RAM : Random Access Memory
RG : Règle de gestion
SGBD : Système de Gestion de Base de Données
SQL : Structured Query Language
TIC : Technologie de l’information et de la communication
UML : Unified Modeling Language
UPST : Université Paul Sabatier de Toulouse
VMS : Virtual Memory System
VP : Visual Paradigm
WAMP : Windows Apache MySQL PHP
XI
XML : Extensible Markup Language
XII
INTRODUCTION GENERALE
Ce mémoire présente le travail fait lors de mon stage depuis le 25 avril 2022 jusqu’au 21
Octobre 2022 au sein de la ferme MAMI (Malagasy Miompy). Ce six mois de travail m’a
permis de mettre en pratique et d’expérimenter toutes les connaissances acquises au sein de
mon établissement l’ENI.
On constate que ce sujet est vraiment intéressant. La création d’une nouvelle application de
gestion facilitera et aidera beaucoup le gérant à bien maîtriser sa ferme et de bien contrôler
tous les produits et les employés.
L’objectif de ce projet est de faciliter le travail du gérant de la ferme pour qu’il puisse bien la
contrôler sans aucune difficulté.
Ainsi, le présent mémoire se divisera en trois grandes parties : la première partie aura pour
objet la présentation générale de l’Ecole Nationale de l’Informatique et de la ferme MAMI
(Malagasy Miompy), la seconde partie sera consacrée sur la description du projet, l’analyse et
la conception de système et la dernière partie portera sur sa réalisation.
1
Partie I : PRESENTATION
2
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique
De façon formelle, l’ENI était constituée et créée au sein du (CUR) par le décret N°
83-185 du 24 Mai 1983, comme étant le seul établissement Universitaire Professionnalisé au
niveau national, destiné à former des techniciens et des Ingénieurs de haut niveau, aptes à
répondre aux besoins et exigences d’Informatisation des entreprises, des sociétés et des
organes implantés à Madagascar.
3
L’implantation de cette Ecole Supérieure de technologie de pointe dans un pays en
développement et dans une Province (ou Faritany) à tissu économique et industriel faiblement
développé ne l’a pourtant pas défavorisée, ni empêchée de former des spécialistes
informaticiens de bon niveau, qui sont recherchés par les entreprises, les sociétés et les
organismes publics et privés sur le marché de l’emploi.
Une formation de troisième cycle a été ouverte à l’Ecole a été ouverte à l’Ecole depuis
l’année 2003 – 2004 grâce à la coopération académique et scientifique entre l’Université de
Fianarantsoa pour le compte de l’ENI et l’Université Paul Sabatier de Toulouse (UPST).
Cette filière avait pour objectif de former certains étudiants à la recherche dans les
différents domaines de l’Informatique, et notamment pour préparer la relève des Enseignants-
Chercheurs qui étaient en poste.
La mise en place à l’Ecole de ces deux options de formation devait répondre au besoin
de basculement vers le système Licence – Master – Doctorat (LMD).
4
Mais la filière de formation des Techniciens Supérieurs en Maintenance des Systèmes
Informatiques a été gelée en 2009.
L’ENI est administrée par un conseil d’Ecole, et dirigée par un directeur nommé
par un décret adopté en conseil des Ministres.
5
Conseil d'école
Conseil Direction
Collège des enseignants
Scientifique
Sécrétariat Service
principal pédagogique
6
Sur cet organigramme, l’Ecole placée sous la tutelle académique et administrative de
l’Université de Fianarantsoa, et dirigée par un Directeur élu par les Enseignants –
Chercheurs permanents de l’Etablissement et nommé par un décret pris en Conseil des
ministres pour un mandat de 3 ans.
Les activités de formation et de recherche organisées à l’ENI portent sur les domaines
suivants :
7
Tableau 1: Organisation du système de formation pédagogique de l’Ecole
Formation théorique Formation pratique
- Voyage d’études
- Stages
Le recrutement des étudiants à l’ENI se fait uniquement par voie de concours d’envergure
Les offres de formation organisées à l’Ecole ont été validées par la Commission
Décembre 2012.
o Informatique Générale
8
L’architecture des études à trois niveaux conforment au système Licence- Master-
Doctoral (LMD) permet les comparaisons et les équivalences académiques des diplômes au
niveau international.
Le Doctorat est un diplôme qu’on peut obtenir en 3 ans après l’obtention du diplôme de
MASTER RECHERCHE.
9
Tableau 2 : Liste des formations existantes à l’ENI
FORMATION EN
d’admission
Professionnel
d’accès le
formation
Informatiqu
délivrer e Professionnel
Diplôme de Master
Recherche
10
L’accès en première année de MASTER se fait automatiquement pour les étudiants de
l’Ecole qui ont obtenu le diplôme de Licence Professionnelle.
Les Ecoles Doctorales jouissent d’une autonomie de gestion par rapport aux
Etablissements de formation universitaire.
Depuis l’année universitaire 2010-2011, l’ENI s’est mise à organiser des formations
hybrides en informatique dans les différentes régions (Fianarantsoa, Toliara) en raison de
l’insuffisance de la capacité d’accueil des infrastructures logistiques. En effet, le système de
formation hybride semi - présentielle utilise la visioconférence pour la formation à distance.
Les stages effectués chaque année par les étudiants mettent l’Ecole en rapport
permanent avec plus de 300 entreprises et organismes publics, semi-publics et privés,
nationaux et internationaux.
Les compétences que l’Ecole cherche à développer chez ses étudiants sont
l’adaptabilité, le sens de la responsabilité, du travail en équipe, le goût de l’expérimentation et
l’innovation.
11
Les stages en milieu professionnel permettent de favoriser une meilleure adéquation
entre les formations à l’Ecole et les besoins évolutifs du marché de l’emploi.
L’informatique de gestion d’entreprise
Les technologies de l’information et de la communication (TIC)
La sécurité informatique des réseaux
L’administration des réseaux et des systèmes
Les services bancaires et financiers, notamment le Mobile Banking
Les télécommunications et la téléphonie mobile
Les Big Data
Le commerce, la vente et l’achat, le Marketing
L’ingénierie informatique appliquée
L’écologie et le développement durable
12
1.7. Partenariat au niveau international
De 2000 à 2004, l’ENI avait fait partie des membres du bureau de la Conférence
Internationale des Ecoles de formation d’Ingénieurs et Technicien d’Expression Française
(CITEF).
A partir du mois de Juillet 2001, l’ENI avait abrité le Centre de Réseau Opérationnel
(Network Operating Center) du point d’accès à Internet de l’Ecole ainsi que de l’Université
de Fianarantsoa. Grâce à ce projet américain qui a été financé par l’USAID Madagascar,
l’ENI de l’Université de Fianarantsoa avait été dotées d’une ligne spécialisée d’accès
permanent au réseau Internet.
13
L’ENI avait de même noué des relations de coopération avec l’Institut de Recherche
pour le Développement (IRD).
Par ailleurs, depuis toujours la même année 2010, l’ENI de Fianarantsoa avait été
sélectionnée pour faire partie des organismes partenaires de l’Université de Savoie dans le
cadre du projet TICEVAL relatif à la certification des compétences en TIC ;
Le projet TICEVAL avait été financé par le Fonds Francophone des Inforoutes pour la
période allant de 2010 à 2012, et il avait eu pour objectif de généraliser la certification des
compétences en Informatique et Internet du type C2i2e et C2imi.
Savoie avait été signée par les deux parties concernées. La mise en œuvre de la Convention de
Coopération avait permis d’envoyer des étudiants de l’ENI à Chambéry pour poursuivre des
études supérieures en Informatique.
Enfin et non des moindres, l’ENI avait signé en Septembre 2009 un protocole de
collaboration scientifique avec l’ESIROI – STIM de l’Université de la Réunion.
14
1.8. Débouchés professionnels avec des diplômés
Le chômage des jeunes diplômés universitaires fait partie des maux qui gangrènent
Madagascar. L’environnement sociopolitique du pays depuis 2008 jusqu’ à ce jour a fait que
le chômage des diplômés est devenu massif par rapport aux établissements de formation
supérieure existants.
Cependant, les formations proposées par l’Ecole permettent aux diplômés d’être
immédiatement opérationnels sur le marché du travail avec la connaissance d’un métier
complet lié à l’informatique aux TIC.
Les diplômés en LICENCE et en MASTER issus de l’ENI peuvent faire carrière dans
différents secteurs.
Les formations dispensées à l’Ecole sont ainsi orientées vers le besoin et les attentes
des entreprises et des sociétés.
15
D’une manière générale, les diplômés de l’ENI n’éprouvent pas de difficultés
particulières à être recrutés au terme de leurs études. Cependant, l’ENI recommande à ses
diplômés de promouvoir l’entrepreneuriat en TIC et de créer des cybercafés, des SSII ou des
bureaux d’études.
- Programmeur
- Agent de référencement
- Administrateur de réseau
- Développeur d’applications
- Ingénieur réseau
16
- Concepteur Réalisateur d’applications
Nombre d’Enseignants permanents : 12 dont deux (01) Professeur Titulaire, deux (02)
Professeurs, six (04) Maîtres de Conférences et cinq (05) Assistants d’Enseignement
Supérieur et de Recherche
Personnel Administratif : 23
17
Chapitre 2. Présentation de la ferme MAMI (Malagasy
Miompy)
Dans ce chapitre, nous allons nous focaliser sur la présentation de la ferme MAMI (Malagasy
Miompy) avant d’effectuer toute analyse auprès de cette entreprise. Pour mieux comprendre
cet ouvrage, nous allons nous intéresser sur son identité et sa structure organisationnelle, ainsi
que la mission, l’objectif de l’organisation et l’organigramme existant.
La ferme MAMI (Malagasy Miompy) est une ferme de poulets de chair. Elle élève
8000 poulets dont 500 producteurs. Elle possède également un champ de maïs et de soja,
matières premières nécessaires pour la fabrication des provendes. Elle est située à Fenoarivo
Alakamisy Antananarivo Madagascar. Son contact est [email protected].
2.2. Organigramme
18
2.3. Présentation
La ferme MAMI (Malagasy Miompy) a été fondé en 2020, avec 500 poulets et 4
employés. A l’époque la ferme ne produisait pas encore ses poussins de chair, ni ses
provendes ; elle se fournissait auprès du fournisseur « Avitech ». En 2021, la ferme a
commencé à élever ses propres poulets reproducteurs, cultiver et produire elle-même les
provendes nécessaires à l’élevage de ses poulets. Désormais, elle a 26 employés dont 6
vendeurs aux points de vente et élève jusqu’à plus de 8000 poulets dont 150 poulets vendus
par jour. Elle est en partenariat avec plusieurs restaurants autour de la capitale.
19
Chapitre 3. Description du projet
3.1. Formulation
Le stage au sein de la ferme MAMI (Malagasy Miompy) a débuté le 25 Avril 2022 accueilli
par son gestionnaire, qui est également le propriétaire. Il a expliqué les difficultés et
problèmes sur la gestion de sa ferme et les conséquences que cela engendre. La ferme élève
entre 6500 et 7500 poulets dont 150 par jours vont en abattoir après l’engraissement de 6
semaines. Il a expliqué également qu’il y a de trop grande quantité de données à gérer surtout
au niveau de la fabrication et de la distribution de provendes, de la gestion de promotion de
poulets à élever, de l’emballage qui devient le produit fini, et enfin la vente.
Le tableau 4 montre les matériels utilisés et ses caractéristiques respectifs qui nous ont
permis de concevoir et de réaliser ce projet au cours de ce stage.
21
Tableau 5: Chronogramme de travail
Activités Période Nombre de jours
Analyse Mai 2022 15
Conception Mai-Juin 2022 30
22
Partie II : ANALYSE ET CONCEPTION
23
Chapitre 4 : Analyse préalable
Nous sommes maintenant sur ce chapitre qui va présenter une étude de l’existant
suivie de critique permettant d’améliorer le projet à réaliser. C’est une phase importante pour
bien comprendre le système et définir ses objectifs.
D’après une enquête dans le domaine étudié, on a obtenu les informations à propos des
matériels utilisés dans la ferme MAMI (Malagasy Miompy) et ses points de vente qui sont
représenté par le Tableau 6.
24
4.1.2.2. Logiciels informatiques
Le tableau 7 représente les logiciels utilisés par le ferme MAMI (Malagasy Miompy) .
Les matériels et logiciels utilisés par l’entreprise sont faciles à manipuler mais ne sont
pas fiables, incontrôlables et difficile pour enregistrer une grande donnée ; et nécessitent
beaucoup de concentration et d’effort. Le risque d’erreur est très élevé. Le gestionnaire
n’arrive pas gérer sa ferme ; que ce soit au niveau de la fabrication des provendes, l’élevage
des poulets ou à sa mise sur le marché. Il faut tout saisir à la main et le logiciel ne peut pas
contrôler s’il y a erreur ou pas. Les poulets n’atteignent pas le poids idéal et la ferme ne
produit pas la somme exacte nécessaire de poulets qu’il faut fournir. Soit, il y a gaspillage qui
signifie perte, soit il y a rupture de stock qui équivaut aussi à une perte. De plus, le risque de
vol par les employés est élevé faute de contrôle. Le gestionnaire perd la gestion de
comptabilité de l’entreprise et a du mal à calculer le chiffre d’affaire annuel et bénéfices. En
plus, cela ne satisfait pas réellement les besoins des clients et les recettes journalières ne sont
pas maîtrisées.
A cause des inconvénients constatés, des solutions ont été proposées, le tableau 8
montre l’avantage et l’inconvénient des solutions
25
Tableau 8 : Avantages et l’inconvenients des solutions
Solutions Avantages Inconvénients
Acheter un logiciel de Couteux
gestion Facile à acquérir Le logiciel ne
répond pas aux
besoins
Conception et réalisation Entreprise bien Il est encore à
d’un logiciel de gestion de la gérée concevoir, à réaliser
ferme Moins couteux et à tester et demande
Possibilité donc du temps avant
d’agrandir la ferme de pouvoir l’utiliser
Facile à adapter
Le projet ne peut se faire sans le SGBD. Il existe plusieurs SGBD. On doit alors
connaître d’abord lequel on va choisir. Le but de ce choix de SGBD est de faciliter et
d’accélérer le travail à accomplir, et aussi pour faire le meilleur choix en choisissant le plus
convenable. Le tableau 9 montre les comparaisons des avantages et inconvénients de quelques
SGBD.
26
Tableau 9 : Comparaison de quelques SGBD
Nom de SGBD Avantages Inconvénients
MySQL - système de gestion de base de - ne supporte pas de
données du modèle relationnel requête imbriquée
- rapide
- stable
- gratuit
- riche en documentation
- performant
- open source [5]
PostGreSQL - Open source - Impossible d’y
- Standard stocker une structure
- Permet de stocker une information arborescente de
beaucoup plus structurée fichiers
- Robuste [6] - Pas d’ordonnanceur
intégré
- Pas de vue
matérialisée
Pas de requêtes
évoluées
Oracle - Plus utilisé - Coût
- Riche en termes de fonctionnalités - Complexité souvent
- Larges solutions d’accès (tout inutile
langage et toutes technologies) [7] - Forte spécificité
D’après les comparaisons dans le tableau 11, on a choisi le SGBD MySQL pour la réalisation
du projet car il convient le mieux au projet à réaliser.
MySQL est un Système de Gestion de Base de Données (SGBD) parmi les plus
populaires au monde. Il est distribué sous double licence, une licence publique générale GNU
27
et une propriétaire selon l’utilisation qui en est faites. La première version de MySQL est
apparue en 1995 et l’outil est régulièrement entretenu.
Ce système est particulièrement connu des développeurs pour faire partit des
célèbres quatuors: WAMP (Windows, Apache, MySQL et PHP), LAMP (Linux) et MAMP
(Mac). Ces packages sont si populaires et simples à mettre en œuvre que MySQL est
largement connu et exploité comme système de gestion de base de données pour des
applications utilisant PHP. C’est d’ailleurs pour cette raison que la plupart des hébergeurs
web proposent PHP et MySQL.
L’une des spécificités de MySQL c’est qu’il inclut plusieurs moteurs de bases de
données et qu’il est par ailleurs possibles au sein d’une même base de définir un moteur
différent pour les tables qui composent la base. Cette technique est astucieuse et permet de
mieux optimiser les performances d’une application. Les 2 moteurs les plus connus étant
MyISAM (moteur par défaut) et InnoDB.
La réplication est possible avec MySQL et permet ainsi de répartir la charge sur plusieurs
machines, d’optimiser les performances ou d’effectuer facilement des sauvegardes des
données.
Cette application ne peut pas être réalisée sans langage de programmation pour le
développer. Nous savons bien qu’il y a plusieurs langages qu’on peut choisir comme C++,
C#, etc.…on a choisi le langage Java pour son excellente portabilité et sa réputation par
rapport aux autres langages. Le tableau 10 nous montre les comparaisons entre les différents
langages de programmation.
28
Tableau 10 : Comparaisons entre les différents langages de programmation
C++ Le langage C++ est un des L'incroyable rapidité - Le C++ n'est pas
langages les plus célèbres au du C++ est l'une des très récent : il a
monde. Très utilisé, principales raisons été développé
notamment dans le secteur de sa popularité dans les années
des jeux vidéo qui apprécie actuelle. Le C++ est 1980 pour
ses performances et ses couramment utilisé apporter plus de
possibilités ; Le C++ est le dans les applications fonctionnalités
descendant du langage C. Ces à faible latence, car au langage C,
deux langages, bien que sa compilation et son développé dans
semblables au premier abord, exécution sont les années 1970.
sont néanmoins différents. nettement plus La compatibilité
29
rapides que celles entre les deux
des autres langages langages est de
de programmation plus en plus
polyvalents. limitée.
Toutefois, le
principal
inconvénient du
C++ réside dans
son haut degré
d'abstraction.
Java a été créée en 1991 par Sun Microsystems afin d'offrir un langage de programmation
adapté au contrôle d'appareils électroniques, dans le cadre du projet Green. Le but était de
pouvoir contrôler en quelque sorte les appareils du futur, de manière à ce qu'ils deviennent
interactifs et puissent communiquer entre eux. Au départ, les chercheurs de ce projet créèrent
un prototype du nom de Star7, une sorte de télécommande capable de communiquer avec ses
semblables. Ceux-ci désirèrent alors créer un système d'exploitation adapté à cette
télécommande en C++, qui était de loin le langage de programmation orienté objet le plus
utilisé en cette période. Cependant, les contraintes imposées par ce langage irrita l'un des
membres de ce projet, James Gosling, et ce dernier finit par concevoir un nouveau langage
plus adapté au contrôle de cet appareil, qu'il nomma Oak. Cependant, ce nom étant déjà utilisé
dans le monde de l'informatique, il fut finalement convenu de lui donner le nom de Java.
Comme Java était initialement développé pour contrôler des appareils électroniques et non
des ordinateurs, il présente l'avantage de produire des programmes peu encombrants (donc
rapidement téléchargeables depuis une page web), fiables, performants et faciles à porter vers
d'autres appareils (un programme Java fonctionne aussi bien sous Windows, Mac OS, Linux
ou tout autre système d'exploitation, et ce sans aucune modification de la part du
développeur). De plus, Java est un langage sûr, qui empêche tout dégât sur une machine
distante ayant lancé une applet (application prévue pour s'exécuter depuis une page web). Il
faut toutefois préciser que ce n'est plus le cas lorsqu'une application autonome est générée: à
ce moment, le programme sera autorisé à lire et écrire librement sur le disque de l'utilisateur,
et à gérer tous les évènements que les autres langages sont en mesure d'effectuer.
Dans le but de populariser ce langage aux yeux du monde et afin de démontrer tout son
potentiel, les programmeurs Patrick Naughton et Jonathan Peayne lancèrent en 1994 un
navigateur capable d'exécuter des applets Java, dont la particularité était d'avoir été lui-même
conçu en Java. Dans un premier temps, il fût baptisé WebRunner, mais on lui préféra le nom
de HotJava. Cependant, ce ne fut que vers début 1996 que le langage devint vraiment célèbre,
alors que Netscape rendit son navigateur compatible.
31
Afin de développer dans ce langage, il est conseillé de se procurer la dernière version du JDK
(actuellement la 1.2.x), disponible gratuitement sur le site de Sun. Celle-ci permet en effet de
réaliser des applications Java utilisant les spécificités de Java 2 et des versions antérieures. Il
faut cependant garder à l'esprit, lors de la création d'applets, que les concepteurs de
navigateurs ont tardé à rendre leurs produits compatibles avec les dernières versions de Java.
C'est la raison pour laquelle il est préférable de se cantonner aux instructions spécifiques à la
version 1.0.2 du langage, le compilateur se chargeant lui-même de produire du code de
génération antérieure.
32
D’après les comparaisons dans le tableau 11, on a alors décidé d’utiliser la méthode 2TUP
pour la conception du projet à réaliser
Le 2TUP propose un cycle de développement en Y, qui dissocie les aspects techniques des
aspects fonctionnels. Il commence par une étude préliminaire qui consiste essentiellement à
identifier les acteurs qui vont interagir avec le système à construire, les messages
qu'échangent les acteurs et le système, à produire le cahier des charges et à modéliser le
contexte (le système est une boîte noire, les acteurs l'entourent et sont reliés à lui, sur l'axe qui
lie un acteur au système on met les messages que les deux s'échangent avec le sens). Le
processus s'articule ensuite autour de trois phases essentielles :
La phase de réalisation consiste à réunir les deux branches, permettant de mener une
conception applicative et enfin la livraison d'une solution adaptée aux besoins.
UML (Unified Modeling Language), que l’on peut traduire par « langage de
modélisation unifié » est une notation permettant de modéliser un problème de façon
standard. Un modèle est une simplification de la réalité. Comme toute chose pour que tout se
passe normalement cela nécessite des principes c'est-à-dire que les principes de la
modélisation sont le choix de quels modèles nous créons une influence profonde sur la
33
manière d’attaquer le problème et de former une solution, tous modèle peut être
exprimé à différent niveaux de précision, cela signifie qu’on n’est pas obligé d’exprimer un
modèle avec un seul niveau, mais la pluralité des niveaux de précision permet de comprendre
le sujet, les meilleurs modèles sont bien reliés à la réalité et un seul modèle ne suffit pas. Tous
systèmes un peu compliqué sera mieux appréhendé à travers un ensemble de modèles presque
indépendants. UML est une modélisation orientée objet, couvre toutes les phases d’un projet,
c'est-à-dire de l’analyse des besoins jusqu’au déploiement. La modélisation UML aussi se fait
selon trois axes tels que : Structurel, Comportemental et Architectural. UML aussi est
un langage visuel, cela signifie qu’en UML, il y a facilité de communication,
l’utilisation de graphes/schémas et le texte reste utile dans certains cas.
34
4.3.6.2. Résumé d’UML
UML s’articule autour de treize types de diagrammes, chacun d’eux étant dédié à la
représentation des concepts particuliers d’un système logiciel. Ces types de diagrammes sont
répartis en deux grands groupes :
35
Diagramme de temps : Il fusionne les diagrammes d’états et de séquence pour
montrer l’évolution de l’état d’un objet au cours du temps.
Diagramme d’activité : Il montre l’enchaînement des actions et décisions au sein
d’une activité.
Diagramme d’états : Il montre les différents états et transitions possibles des
objets d’une classe.
L’outil de conception est nécessaire pour concevoir le système étudié. Cela permet
de créer des diagrammes UML. Le tableau 12 alors représente les généralités des outils
UML.
D’après le tableau 12 présentant les raisons qui sont basés sur la généralité nous a poussés de
choisir de Visual Paradigm comme un outil UML.
Visual Paradigm est un outil de modélisation qui permet la création des diagrammes UML et
des modèles qui en sont à l’origine. Ceux-ci peuvent alors générer du code dans un langage de
programmation déterminé. Il propose également la création d’autres types de diagrammes,
36
comme celui qui permet la modélisation des bases de données pouvant, lui aussi, générer des
canevas d’applications basés sur des Framework et Pattern mais en plus, générer du code SQL
qu’il peut ensuite déployer automatiquement dans différents environnements.
Il est à notre sens très complet mais relativement coûteux. Plus spécifiquement, il permet :
Les outils de développement sont parmi les outils qui vont nous permettre de
développer une application ou un applet. Ils regroupent dans un même outil la possibilité
d’écrire du code source, d’exécuter et de débugger le code. En fait, il existe plusieurs IDE
pour le langage Java ; mais on ne va comparer que les environnements de développement
Eclipse et NetBeans dans le tableau 13.
37
Tableau 13 : Comparaison NetBeans et Eclipse
Outils Avantages Inconvénients
A propos de la popularité, Eclipse tient une première place et elle est le plus utilisée. Par
contre, graphiquement, NetBeans est plus léger qu’Eclipse. Son interface est plus claire et
plus agréable. En outre, avec NetBeans, on a plus l'essentiel, les fonctionnalités sont là, il n'y
a pas de soucis et la configuration est facile. Le serveur de compilateur JAVA Tomcat et
Glasfish sont intégrés sur NetBeans. Par contre, on installe et on configure sur Eclipse.
38
License) et GPLv2. En plus de Java, NetBeans permet la prise en charge native de divers
langages tels le C, le C++, le JavaScript, le XML, le Groovy, le PHP et le HTML, ou d'autres
(dont Python et Ruby) par l'ajout de greffons. Il offre toutes les facilités d'un IDE moderne
(éditeur en couleurs, projets multi-langage, refactoring, éditeur graphique d'interfaces et de
pages Web).
NetBeans est compilé en Java et disponible sous Windows, Linux, Solaris , Mac
OS X ou sous une version indépendante des systèmes d'exploitation (requérant une machine
virtuelle Java).Il constitue par ailleurs une plateforme qui permet le développement
d'applications spécifiques (bibliothèque Swing (Java)). L'IDE NetBeans s'appuie sur cette
plateforme.
39
Chapitre 5 : Analyse conceptuelle
Le dictionnaire de données est une manière de présenter toutes les données qui
circulent dans l’application. Et le tableau numéro 14 nous le montre.
40
DateFinitionProvende Date de finition de la provende D 10 jj/mm/aaa
41
NbrTotalInitial Nombre initial des poulets N 6
arrivant dans la ferme
NomEmployé Nom de l’employé AN 50
42
PrixProduit Prix du produit au marché N 6
AN : Alfa-Numérique
N : Entier (Numérique)
D : Date
43
5.3. Présentation et spécification des besoins fonctionnels
- Le gérant
44
Dans le cas d’acteurs non-humains, il est possible de définir une interface qui représente les
opérations offerts par cet acteur.
Un Cas d’utilisation est une manière spécifique d’utiliser un système. C’est l’image
d’une fonctionnalité du système, déclenché en réponse à la stimulation d’un acteur externe.
Les cas d’utilisation sont une technique de description du système étudié privilégiant le point
de vue de l’utilisateur.
En générale le nom de cas d’utilisation doit se composer d’un verbe à l’infinitif qui décrit une
action .Pour que l’ensemble du modèle soit cohérent. Il faut choisir tous les verbes soit du
point de vue système, soit du point de vue utilisateur.
Pour bien détailler notre conception, on va parcourir tous les cas d’utilisation par acteur
principale ensuite on fait la synthèse de cas d’utilisation.
45
Afficher stock par triage Afficher stock par triage
Voir total stock Afficher total stock
Afficher produit le plus vendu et le moins Afficher produit le plus vendu
vendu Afficher produit le moins vendu
Afficher produit presque en rupture et en Afficher produit bientôt en
abondance rupture
Afficher produit en abondance
Rechercher produit vendu Rechercher produit vendu
Voir détail promotion en vitamine Afficher promotion en vitamine
Enregistrer nouvelle type de dépense Ajouter nouvelle dépense
Enregistrer produit fini stocké Ajouter produit fini stocké
Ajouter nouvelle promotion Afficher historique promotion
Enregistrer décès
Ajouter nouvelle promotion
Ajouter employé Ajouter employé
Voir Nombre total employé Afficher nombre total employé
Enregistrer produit vendu du jour Ajouter produit vendu du jour
46
La figure 5 montre le diagramme de cas d’utilisation.
47
5.3.2. Priorisation des cas d’utilisations
Après voir identifiés les cas d’utilisation, il est nécessaire de déterminer la priorité de chaque
cas d’utilisation.
1 : Haute
2 : Moyenne
48
3 : Bas
Bien que de nombreux diagrammes d’UML permettent de décrire du cas, il est recommandé
de rédiger une description textuelle car c’est une forme souple qui convient dans bien des
situations. Avant de décrire un diagramme de séquence pour chaque cas d’utilisation, on va
illustrer les descriptions textuelles pour chaque cas d’utilisation
49
Scénarios nominaux :
50
Figure 6 : Diagramme de séquence système de « Sortir provende »
51
données
Pré condition
Scénarios nominaux :
1. Cliquer sur bouton enregistrer
1.1.Afficher formulaire
2. Remplir formulaire
3. Valider
3.1.Vérifier
] alternatif [
(Si champ vide)
3.2.Réinitialiser le champ
3.3. Envoyer message d’erreur
52
Figure 7 : Diagramme de séquence système de «Enregistrer matière première »
53
c. DSS « Fabriquer provende »
54
5.3.Le système ferme le formulaire
55
Figure 8 : Diagramme de séquence système de « Fabriquer provende»
56
Tableau 20 : Description textuelle de cas d’utilisation « Effectuer un paiement »
Cas d’utilisation Effectuer un Paiement
Résumé Ce cas d’utilisation effectue un paiement
pour l’employé par le gérant
Acteur Utilisateur (Gérant)
Objectif Pour effectuer un paiement
Pré condition
Scénarios nominaux :
1. L’utilisateur clique sur le bouton
effectuer paiement
Scénarios 1.1. Le système affiche le
formulaire renseignement
employé
2. L’utilisateur saisit les cordonnées
3. L’utilisateur valide
3.1. Le système vérifie le champ
] alternatif [
(Si champ vide)
3.2. Le système réinitialise le
champ
3.3. Le système envoie un message
d’erreur
(Si pas champ vide)
3.4. Le système vérifie le paiement
existant dans ce mois
(Si paiement existe)
3.5. Le système calcule la somme
3.6. Le système modifie
3.7. Le système enregistre dans la
base de données
(Si pas champ vide)
3.8. Le système envoie un message
de succès
57
Post condition Paiement effectué
58
Acteur Utilisateur (Gérant)
Objectif Pour rechercher produit vendu
Pré condition
Scénarios nominaux :
1. L’utilisateur choisit paramètre
2. L’utilisateur clique sur le bouton
Scénarios rechercher
3. Le système vérifie les paramètres
] alternatif [
(Si paramètre vide)
2.2. Le système réinitialise les
paramètres
2.3. Le système envoie un message
d’erreur
(Si paramètre non vide)
2.4. Le système sélectionne les
données
2.5. le système affiche en tant que
dialogue
2.6. Le système réinitialise les
paramètres
Scénarios d’exceptions :
Aucun
59
La figure 10 montre le diagramme de séquence système de « Rechercher produit vendu»
60
Scénarios nominaux :
1. L’utilisateur clique sur le bouton voir
1.1.Le système comprend le bouton
Scénarios 1.2.Le système sélectionne et trie
1.3.Le système affiche le résultat
.
Scénarios d’exceptions :
Aucun
61
Tableau 23 : Description textuelle de cas d’utilisation «Modifier employé »
Cas d’utilisation Modifier employé
Résumé Ce cas d’utilisation modifie les données de
l’employé
Acteur Utilisateur (Gérant)
Objectif Pour modifier les données
Pré condition Voir liste quelque chose à modifier
Scénarios nominaux :
1. L’utilisateur sélectionne la ligne à
modifier
Scénarios 1.1.Le système affiche la ligne dans
un champ
2. L’utilisateur modifie le champ
3. L’utilisateur clique sur le bouton
modifier
3.1.Le système vérifie l’entrée
] alternatif [
(Si l’entrée est correcte)
3.2.Le système enregistre les
modifications
3.3.Le système affiche un message de
réussite
(Si l’entrée est incorrecte)
3.4.Le système affiche la ligne dans
un champ
3.5.Le système affiche un message
d’erreur
Scénarios d’exceptions :
Aucun
62
Post condition 4. Donnée modifiée
63
Pré condition Voir liste employé
Scénarios nominaux :
1. L’utilisateur sélectionne un
employé
Scénarios 2. L’utilisateur clique sur le bouton
supprimer
2.1. Le système envoie un
message de confirmation
(Si l’utilisateur affirme OUI)
2.2. Le système supprime
l’employé
2.3. Le système affiche un
message de réussite
Scénarios d’exception :
64
Figure 13 : Diagramme de séquence système de « Supprimer employé »
Pour fabriquer une provende, il n’est plus utile de réfléchir ; le système doit guider
l’utilisateur.
Pour gérer les employés, le système doit être capable de le faire (gérer absence,
paiement).
Pour éviter les gaspillages ou la rupture de stock, le système doit pouvoir guider
l’utilisateur.
Le système doit pouvoir maîtriser les dépenses de chaque promotion
Le système doit pouvoir connaître si la promotion doit consommer de la vitamine
65
Le système doit pouvoir contrôler tous les produits au marché ou dans la ferme.
Tous les systèmes d’information à un certain point dont nous appelons spécification
technique de projet. Lorsqu’on évalue le résultat du projet informatique, un logiciel, afin
d’assurer que celui-ci rencontre les objectifs, le premier réflexe est de regarder si les
comportements souhaités sont présents. Hors, c’est répondre à la moitié de la question sur
l’atteinte de l’objectif.
Les exigences de spécifications de besoins techniques jouent un rôle important que les
comportements désirés. Il sert à spécifier les critères qui peuvent être utilisés pour juger du
fonctionnement d’un système, plutôt que des comportements de celui-ci. Cela devrait être mis
en contraste avec les exigences fonctionnelles (cas d’utilisation) qui définissent les
comportements spécifiques ou les fonctions désirés par l’utilisateur. Dans notre cas, il n’y a
pas d’exigence technique spécifiée.
L’analyse orienté Object est centrée sur la création d’une description du domaine dans
la perspective d’une classification des objets. La décomposition du domaine implique
l’identification des concepts de base de logiciel à développer, des attributs et des associations,
illustrées par un ensemble de diagrammes montrant les concepts et les objets du domaine.
On utilise un diagramme de classe pour représenter le modèle du domaine mais d’une manière
générale.
Construire un modèle du domaine mettant évidence les propriétés importantes du mode réel,
les objets de ce modèle doivent être des concepts du domaine d’application (objet « Métier »)
et non des objets informatiques.
66
Avant de passer à la conception détaillée de notre projet, les concepts pertinents doivent être
identifiés par l’intermédiaire du modèle de domaine, Les cardinalités ne sont pas obligatoires
dans la modélisation du domaine.
67
Chapitre 6 : Conception détaillée
68
Figure 15 : Mode de fonctionnement du MVC
Par rapport aux diagrammes de séquence système, ici, nous remplacer le système vu
comme une boite noire par un ensemble d’objets en interactions. Pour cela nous utiliserons
trois types de classes d’analyse, à savoir les views.
69
Figure 16 : Diagramme de séquence conception de « Sortir provende »
70
Figure 17 : Diagramme de séquence conception de « Enregistrer matière première »
71
Figure 18 : Diagramme de séquence conception de «Fabriquer provende»
72
Figure 19 : Diagramme de séquence conception de « Effectuer paiement »
73
Figure 20 : Diagramme de séquence conception de « Rechercher produit vendu »
74
6.2.7. DSC « Modifier employé
75
6.3.1 Concepts de base
Classe : Description abstraite d’un ensemble d’objets qui portagent les mêmes propriétés
(attributs et associations) et comportements (opérations et état).
Attribut : Donnée déclarée au niveau d’une classe, éventuellement typée à laquelle chacun
des objets de cette classe donne une valeur. Un attribut peut posséder une multiplicité et une
valeur initiale. Un attribut dérivé (« / ») est un attribut dont la valeur peut être déduite d’autres
informations disponibles dans le modèle.
Opération : élément de comportement des objectifs défini de manière globale dans leur
classe. Une opération peut déclarer des parenthèses (eux-mêmes types) ainsi qu’un type de
retour.
Rôle : nom donné à une extrémité d’une association : par extension, manière dont les
instances d’une classe voient les instances d’une autre classe au travers d’une association.
Composition : forme forte agrégation dans laquelle les parties ne peuvent appartient à
plusieurs agrégats et où le cycle de vie des parties est subordonné à celui de l’agréât.
Super-classe : Classe générale reliée à d’autres classes plus spécialisées (sous-classes) par
une relation de généralisation.
Généralisation : une relation entre classifier où les descendants héritent des propriétés de
leur parent commun. Ils peuvent néanmoins comprendre chacun des propriétés spécifiques
supplémentaires mais aussi modifier les comportements hérités.
76
Classe d’association : association promue au rang de la classe. Elle possède tout à la fois les
caractéristiques d’une association et celles d’une classe et peut donc porter des attributs qui
prennent des valeurs pour chaque lien entre objets.
Contrainte : condition portant sur un ou plusieurs éléments du modèle qui doit être vérifiée
par les éléments concernés. Elle est notée entre accolades et souvent insérée dans une note
graphique (le post-it).
Dépendance : relation sémantique entre deux éléments dans laquelle la modification d’un des
éléments (élément indépendant) peut effectuer la sémantique de l’autre élément (élément
dépendant).
77
6.3.2.2. DCC « Enregistrer matière première »
78
6.3.2.4. DCC « Effectuer un paiement »
79
6.3.2.6. DCC « Voir total matière première disponible »
80
6.4. Diagramme de classe de conception globale
81
6.5. Diagramme de paquetage
Les diagrammes de paquetages peuvent utiliser des paquetages pour illustrer les
différentes couches de l'architecture en couches d'un système logiciel. Les paquetages peuvent
avoir des relations de dépendances UML « classiques » telles que "le paquetage javax.security
dépend du paquetage java.lang". Les paquetages peuvent aussi avoir des dépendances
spéciales de types package import (importation de paquetage) et package marge (fusion de
paquetages). La figure 31 montre le diagramme de paquetage
82
Figure 32:Diagramme de déploiement
83
PARTIE III : REALISATION
84
Chapitre 7 : Mise en place de l’environnement de
développement
Pour notre projet, on a utilisé NetBeans 8.1 comme IDE de cette application. Netbeans
exige des spécifications techniques très précises :
NetBeans8.1
85
Visual paradigm
Pour avoir installé l’application visual paradigm, il suffit d’avoi le fichier source de visual
paradigm et de l’installer comme toute application sur Windows (double clic).
87
Figure 36 : Etape 4 - Installation VP
Nous choisissons l’emplacement et cliquons le bouton « Next ».
Pour la réalisation de ce projet, on a adopté l’IDE Netbeans qui est connu pour développer
une application avec le langage Java.
Cochons ensuite la case à choser sur cette page pour l’acceptation de licence. Après cela,
nous cliquons le bouton « Next »
89
Figure 41: Etape 3 - Installation de NetBeans
On coche d’abord la case à cocher existant dans cette page pour la mise à jour des plugins
installés. Ensuite, cliquons le bouton « Install » pour continuer l’installation.
90
.
91
7.3. Architecture de l’application
Les conteneurs sont un exemple parfait d'architecture de microservices, car ils permettent de
concentrer sur le développement des services sans avoir à se soucier des dépendances. Les
applications cloud natives modernes sont généralement construites sous forme de
microservices à l'aide de conteneurs.
92
Chapitre 8 : Développement de l’application
8.1. Création de la base de données
La création de la base de données est une étape indispensable pour la réalisation d’un
projet.
Cependant, plusieurs manières existent pour la création d’une base de données, par exemple,
pour la SGBD MySQL, il existe une création de base de données en mode console ; une autre
façon est de créer la base de données à partir de l’interface graphique de phpMyAdmin.
Dans notre cas, on a choisi la création de base de données à partir de phpMyAdmin grâce à sa
facilité. De nos jours, les tâches sont toutes simplifiées car c’est l’objectif de la technologie.
Les figures 46, 47, 48 et 49 montrent les étapes de la création d’une base de données.
Après l’ouverture de Wamp Server, le logo de Wamp Server devenant vert s’affiche dans la
barre d’outils.
93
Figure 46: Création de la base de données
Ensuite, on clique sur le bouton « create » comme on voit sur la figure 47. Après cela, on
obtient une nouvelle page qui signifie que la base de données a été bien créée intitulé
« bdd_ferme ».
94
Figure 47 : base de donnée créer
Après tout cela, on arrive à l’étape où il faut créer les tables. Dans ce mémoire, il existe
plusieurs tables mais la figure 48 nous montre uniquement la table ingrédient car il serait trop
long de tous les montrer.
95
Ensuite, on clique sur « save » et la table est créée. La figure 49 montre cette étape.
Le code de cette application se divise en plusieurs parties. Pour pouvoir bien montrer et
expliquer cela, on a capturé un extrait de chacune de ces parties.
package connection;
96
public static int PORT = 11111;
}package connection;
Connection connection;
Statement statement;
String SQL;
String url;
String utilisateur;
String mot_de_passe;
String host;
int port;
public requete(String url, String utilisateur, String mot_de_passe, String host, int port) {
97
this.url = url;
this.utilisateur = utilisateur;
this.mot_de_passe = mot_de_passe;
this.host = host;
this.port = port;
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
System.err.println(e.getMessage());
return connection;
connexionDatabase();
try {
statement = connection.createStatement();
resultSet = statement.executeQuery(sql);
98
System.out.println(sql);
System.err.println(se);
return resultSet;
connexionDatabase();
try {
statement = connection.createStatement();
statement.executeUpdate(sql);
result = sql;
result = se.toString();
return result;
connexionDatabase();
int i;
SQL = "INSERT";
99
SQL += " into " + nomTable + " value( ";
if(valeur[0].equals("null")){
SQL += "null,";
if (i < valeur.length - 1) {
SQL += ",";
else{
if (i < valeur.length - 1) {
SQL += ",";
SQL += ")";
return this.executionUpdate(SQL);
connexionDatabase();
100
SQL = "SELECT * FROM " + nomTable;
System.out.println(SQL);
return this.executionQuery(SQL);
connexionDatabase();
int i;
if (i < nomColone.length - 1) {
SQL += ",";
return this.executionUpdate(SQL);
101
La figure 50 montre la page d’accueil élevage de notre application.
102
La figure 52 montre la page d’accueil produit de notre application.
103
La figure 54 montre la capture de la page « gestion de formule alimentaire » de notre application.
105
Figure 57 : Capture du formulaire « Guide de fabrication provende »
La figure 58 montre la capture de la page « Etat de la matière première » de notre application.
106
Figure 59 : Capture de la page « Historique de matière première »
107
Figure 60 : Capture du formulaire « Enregistrement Promotion »
La figure 61 montre la capture de la page Enregistrement provende finie » de notre application.
109
Figure 64 : Capture Formulaire Caractéristique provende
110
CONCLUSION GENERALE
En guise de conclusion, la technologie de l’informatique est très importante et même
indispensable pour l’Homme.
Durant ce six mois de stage, on a conçu et créé une application pour la gestion de la ferme
MAMI.
Grâce à cette application, beaucoup de problèmes rencontrés auparavant ont été résolus. Cette
application sert de guide à la formulation de fabrication de provende, guide à la distribution
de provende, indique la promotion de poulets qui va à l’abattoir, et gère le morcellement de
poulets et de la vente en général.
Effectivement, ce stage a été bénéfique pour moi. Il nous a permis de familiariser déjà dans le
monde professionnel et surtout de mettre en pratique les cours théoriques acquis à l’école.
Pour un meilleur emploi de cette application, il est préférable de concevoir une version
« android » sur téléphone mobile.
XIII
REFERENCES BIBLIOGRAPHIQUES
[1] Steve Berberat, le 17.06.2012.Présentation de Visual Paradigm For UML, p.1-2
[4] Pascal Roques et Franck Vallée, 4 ème Edition. UML 2 en action (De l’analyse des
besoins à la conception).EYROLLES, p.25-32
REFERENCES WEBOGRAPHIQUES
[7] http://www.ordinateur.cc/Logiciel/Logiciel-de-base-de-donn%C3%A9es/112879.html,
consulté le Septembre 2022
XIV
GLOSSAIRE
Abattoir : bâtiment dans lequel le bétail est abattu par plusieurs personnes pour l'alimentation
humaine
Ferme : une exploitation agricole exploitée sous le régime d'une location de longue durée
avec un loyer annuel fixe, ou fermage
Matière Première : matière à l'état brut, ou, après collecte, ayant subi une première
transformation sur le lieu d'exploitation pour la rendre propre à l'échange international,
utilisée dans la transformation de matériels finis ou comme source d'énergie.
Poulet de chair : appelé aussi poulet à frire ou poulet à griller, est une Poule domestique
élevée spécifiquement pour la production de viande..
XV
TABLE DES MATIERES
CURRICULUM VITAE ...........................................................................................................I
SOMMAIRE GENERAL ...................................................................................................... IV
REMERCIEMENTS ............................................................................................................ VII
LISTE DES FIGURES........................................................................................................VIII
LISTE DES TABLEAUX ....................................................................................................... X
LISTE DES ABREVIATIONS ............................................................................................. XI
INTRODUCTION GENERALE ............................................................................................ 1
Partie I : PRESENTATION .................................................................................................... 2
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique .......................................... 3
1. 1. Information d’ordre général ........................................................................................... 3
1.2. Missions et historique........................................................................................................ 3
1.3. Organigramme institutionnel de l’ENI ........................................................................... 5
1.4. Domaine de spécialisation ................................................................................................. 7
1.5. Architecture des formations pédagogiques ..................................................................... 8
1.6. Relations de l’ENI avec les entreprises et les organismes ............................................ 11
1.7. Partenariat au niveau international .............................................................................. 13
1.8. Débouchés professionnels avec des diplômés ................................................................ 15
1.9. Ressources humaines....................................................................................................... 17
Chapitre 2. Présentation de la ferme MAMI (Malagasy Miompy) .................................. 18
2.1. Localisation et contact .................................................................................................... 18
2.2. Organigramme ................................................................................................................ 18
2.3. Présentation ..................................................................................................................... 19
Chapitre 3. Description du projet ......................................................................................... 20
3.1. Formulation ..................................................................................................................... 20
3.2. Objectif et besoins de l’utilisateur ................................................................................. 20
3.3. Moyens nécessaires à la réalisation du projet ............................................................... 20
3.3.1. Moyens Humains .......................................................................................................... 20
3.3.2. Moyens Matériels ......................................................................................................... 21
3.4. Résultats attendus ........................................................................................................... 21
3.5. Planification des travaux ............................................................................................... 21
Partie II : ANALYSE ET CONCEPTION .......................................................................... 23
Chapitre 4 : Analyse préalable .............................................................................................. 24
XVI
4.1. Analyse de l’existant........................................................................................................ 24
4.1.1. Organisation actuelle ................................................................................................... 24
4.1.2. Moyens matériels et logiciels existants ....................................................................... 24
4.1.2.1. Matériels informatiques ............................................................................................ 24
4.1.2.2. Logiciels informatiques ............................................................................................. 25
4.2. Critique de l’existant ....................................................................................................... 25
4.3. Conception avant-projet ................................................................................................. 25
4.3.1. Proposition des solutions ............................................................................................. 25
4.3.2. Solution retenue ............................................................................................................ 26
4.3.3. Système de Gestion de Base de Données .................................................................... 26
4.3.3.1. Présentation de MySQL............................................................................................ 27
4.3.3.2. Caractéristiques de MySql ....................................................................................... 28
4.3.4. Langage de programmation ........................................................................................ 28
4.3.4.1. Présentation du langage de programmation JAVA ............................................... 31
4.3.5. Méthode de conception ................................................................................................ 32
4.3.5.1. Présentation de 2TUP ............................................................................................... 33
4.3.6. Présentation d’UML .................................................................................................... 33
4.3.6.1. Historique de l’UML [4] ............................................................................................. 34
4.3.6.2. Résumé d’UML ......................................................................................................... 35
4.3.7. Outils de conception ..................................................................................................... 36
4.3.7.1. Présentation de Visual de Paradigm........................................................................ 36
4.3.7.2. Fonctionnalités de Visual Paradigm ........................................................................ 37
4.3.8. Outils de développement .............................................................................................. 37
4.3.8. 1. Présentation de NetBeans ........................................................................................ 38
Chapitre 5 : Analyse conceptuelle......................................................................................... 40
5.1. Dictionnaire des données ................................................................................................ 40
5.2. Règles de gestion. ............................................................................................................. 43
5.3. Présentation et spécification des besoins fonctionnels ................................................. 44
5.3.1. Diagrammes des cas d’utilisations .............................................................................. 44
5.3.1.1. Identification des acteurs .......................................................................................... 44
5.3.1.2. Cas d’utilisations fonctionnels.................................................................................. 45
5.3.2. Priorisation des cas d’utilisations ............................................................................... 48
5.3.3. Diagrammes des séquences système pour chaque cas d’utilisation ......................... 49
a. DSS « Sortir provende » ................................................................................................. 49
XVII
b. DSS « Enregistrer matière première ............................................................................. 51
c. DSS « Fabriquer provende » .......................................................................................... 54
d. DSS « Effectuer un paiement» ....................................................................................... 56
e. DSS « Rechercher produit vendu .................................................................................. 58
f. DSS « Voir total matière première disponible ............................................................. 60
g. DSS « Modifier employé » .............................................................................................. 61
h. DSS « Supprimer employé» ........................................................................................... 63
5.3.2. Exigences besoins non fonctionnels ........................................................................... 65
5.4. Exigence besoins techniques ........................................................................................... 66
5.5. Modélisation du domaine (Modèle de domaine)........................................................... 66
Chapitre 6 : Conception détaillée ......................................................................................... 68
6.1. Architecture système ................................................................................................... 68
6.2. Diagramme de séquence de conception par chaque cas d’utilisation ..................... 69
6.2.1. DSC « Sortir provende» ............................................................................................... 69
6.2.2. DSC « Enregistrer matière première ......................................................................... 70
6.2.3. DSC « Fabriquer provende » ...................................................................................... 71
6.2.4. DSC « Effectuer un paiement » ................................................................................... 72
6.2.5. DSC « Rechercher produit vendu » ............................................................................ 73
6.2.6. DSC « Voir total matière première disponible» ....................................................... 74
6.2.7. DSC « Modifier employé............................................................................................. 75
6.3. Diagramme de classe de conception par chaque cas d’utilisation .............................. 75
6.3.1 Concepts de base............................................................................................................ 76
6.3.2. Narration de diagramme de classe de conception par cas d’utilisation .................. 77
6.3.2.1. DCC « Sortir provende» ...................................................................................... 77
6.3.2.2. DCC « Enregistrer matière première » ........................................................... 78
6.3.2.3. DCC « Fabriquer provende » ............................................................................. 78
6.3.2.4. DCC « Effectuer un paiement » .......................................................................... 79
6.3.2.5. DCC « Rechercher produit vendu » ................................................................... 79
6.3.2.6. DCC « Voir total matière première disponible » .............................................. 80
6.3.2.7. DCC « Modifier Employé » ................................................................................. 80
6.4. Diagramme de classe de conception globale ................................................................. 81
6.5. Diagramme de paquetage ............................................................................................... 82
6.6. Modèle de déploiement ................................................................................................... 82
PARTIE III : REALISATION .............................................................................................. 84
XVIII
Chapitre 7 : Mise en place de l’environnement de développement ................................... 85
7.1. Pré requis ......................................................................................................................... 85
7.2. Installation et configuration des Outils ......................................................................... 86
7.2.1. Outils de modélisation : Visual Paradigm.................................................................. 86
7.2.2. Outils de développement : NetBeans .......................................................................... 89
7.3. Architecture de l’application.......................................................................................... 92
Chapitre 8 : Développement de l’application ……………………………………………93
XIX