Académique Documents
Professionnel Documents
Culture Documents
Groupe OCP
1
Sommaire
Sommaire.........................................................................................................2
Remerciements................................................................................................4
Dédicace..........................................................................................................5
Résumé............................................................................................................6
Chapitre I : introduction générale sur la société........................................6
1. Introduction...........................................................................................6
2. But de stage ..........................................................................................6
3. Présentation de l’OCP...........................................................................7
4. Histoire de groupe OCP........................................................................8
5. Organigramme de groupe OCP.............................................................9
6. Emplacement du groupe OCP...............................................................10
7. Status juridique d’OCP.........................................................................11
8. Mission et activité du OCP...................................................................12
9. Service DSI/D/P/K................................................................................15
9.1Rôle des section....................................................................................18
9.2Mission du service informatique...........................................................19
Chapitre II : analyse des besoin et spécification.........................................18
I. Cahier des charges...........................................................................18
1. Présentation du projet............................................................................18
2. Problématique.......................................................................................18
3. Solution.................................................................................................18
4. Avantage...............................................................................................19
II. Processus de développement............................................................19
III. Planification (Diagramme de Gantt)................................................20
Partie III : Conception de l’application......................................................22
I. Introduction......................................................................................22
II. Langage de modélisation UML.......................................................22
III. Conception de l’application.............................................................25
1. Identification des acteurs.......................................................................25
2. Diagramme des cas d’utilisations..........................................................25
3. Diagramme de classe.............................................................................28
4. Diagramme de séquence.......................................................................29
2
5. Diagramme d’activité ...........................................................................30
6. Base de données de l’application..........................................................32
IV. Sécurité ...........................................................................................34
Partie IV : Réalisation de l’application.......................................................35
1. Langage de développement...................................................................35
2. Outils et logiciels de développement....................................................37
Chapitre V : Présentation de l’application.................................................40
Conclusion......................................................................................................52
3
Remerciement :
4
Dédicace :
Merci !
5
Résumé
Ce présent travail s’inscrit dans le cadre de notre projet de fin d’étude en
licence génie informatique.
Il a été effectué au sein de la société OCP. Dans ce cadre, la société d'accueil
nous a demandé de trouver une solution informatique simple et rapide pour la
gestion de décharge du matériels informatiques afin d'éviter la gestion manuelle
qui a causé plusieurs problèmes tels que:
▪ La perte des données.
▪ La perte de temps lors de la recherche d’une information.
▪ Un espace de stockage très important.
▪ L'absence de statistiques.
Afin de résoudre les problèmes ci-dessus, nous avons développé une solution
logicielle qui a apporter des remèdes techniques à tous les problèmes cités
précédemment en permettant à notre client de :
• Effectuer des demandes.
• Suivre l’état d’avancement des demandes.
• Consulter la résultat du traitement à savoir le renouvellement et la
nouvelle dotation.
• Consulter les matériels en fonction.
• Gérer compte utilisateur.
Pour la réalisation, nous avons utilisé les langages PHP, HTML5, JavaScript,
Bootstrap et le système de gestion de base de données MySQL.
1. Introduction
Un stage est une étape essentielle dans la vie professionnelle, c’est un
complément de formation d’une importance substantielle, servant à confronter
ce qu’on a acquis durant la période des études à la réalité de l’entreprise.
6
Vu son importance dans le parcours professionnelle, notre souci était
d’effectuer un stage dans une entreprise de renommée, ce qui nous’ a conduit à
choisir le groupe OCP SA (OFFICE CHERIFIENNE DES PHOSPHATES SA),
qui occupe une place très importante dans l’économie nationale et
internationale.
En effet, ce stage que nous venons d’effectuer au sein de la Direction Pôle
Mines de Khouribga, Département des Affaires Juridiques et Immobilières nous’
a permis d’enrichir notre expérience professionnelle, de confronter le milieu du
travail et améliorer nos connaissances acquises tout au long de notre parcours
estudiantin.
2. But de stage :
Le but de stage de formation, au sein d’une entreprise ou d’une administration,
est de vous permettre d’approfondir vos connaissances dans la formation que
vous venez d’achever pour améliorer vos chances de retrouver rapidement un
emploi.
3. Présentation de l’OCP
7
Le sous-sol Marocain renferme les plus importants gisements de la
planète : trois quarts des réserves mondiales du phosphates. Le groupe OCP est
présent cinq zones géographiques du Maroc, trois zones d’exploitations minières
et deux centres de transformation chimique.
Les besoins continus de l’agriculture mondiale en phosphate ont fait du
groupe un organisme qui jusqu’à nos jours n’a cessé de grandir, et pour se
maintenir sur le plan de la concurrence par rapport aux autres pays producteurs
de phosphate et dérivés, il se modernise, se développe continuellement et
s’affirme comme le LEADER du marché mondial des phosphates.
L’OCP a été constitué sous la forme d’un organisme semi-publique sous
contrôle de l’état. Il fonctionne ainsi comme une société dont le seul actionnaire
est l’état Marocain, appliquant les méthodes de gestion privée, dynamique,
souple et efficace vu le caractère de ses activités industrielles et commerciales. Il
est dirigé par un Directeur Général nommé par DAHIR, le contrôle est exercé
par un conseil d’administration présidé par le premier ministre.
8
1965 : Début production acide phosphatique et engrais à Safi
1975 : Création du groupe OCP, structure organisationnelle intégrant
l’OCP et ses entreprises filiales.
1980 : Partenariat industriel en Belgique.
1990 : Exploration de nouveaux projets de partenariats industriels et de
renforcement de capacités.
2000 : Démarrage d’une unité de flottation de phosphates à Khouribga.
2002 : Prise de participation dans la société PPL (Inde) dans le cadre
d’une joint-venture avec le groupe BRILA.
2005 : Démarrage de l’usine de Lavage/Flottation à Youssoufia.
2006 : Projet nouvelle ligne DAP 850 000 t/an à JORF LASFAR.
2008 : Démarrage de l’usine projet OCP-BUNGE à JORF LASFAR.
9
6. Emplacement géographique de l’OCP :
La direction générale du groupe OCP SA est située à Casablanca, route d’El
Jadida ; Ces zones minières et industrielles sont :
Zone de Khouribga
Zone de Youssoufia et Benguerir.
Zone de Boukraâ / Laâyoune.
Zone de Safi.
Jorf Lasfar.
10
FIGURE : EMPLACEMENT GÉOGRAPHIQUE DE L’OCP
Ces sites se divisent en des sites de production de :
Phosphate Dérivés
Safi
Khouribga
Jorf Lasfar
Benguérir
Youssoufia
Boucraà-Laàyoune
11
Safi:pour les
Casablanca: produits de
pour les Youssoufia,
produits Benguerir et les
provenant de produits
Khouribga transformés
localement ;
JorfLasfar : Laâyoune :
pour les pour les
produits locaux produits de
; Boukraâ ;
12
• TRANSPORT : une fois le phosphate traité, il est transporté vers les ports de
Casablanca, Safi, El Jadida pour l’exportation vers les différents pays du monde.
• VALORISATION et COMMERCIALISATION : le phosphate extrait est
traité en grande partie dans des usines chimiques pour être transformé en
produits dérivés commercialisables : acide phosphorique de base, acide
phosphorique purifié, engrais solides, avant d’être exporté avec le reste qui est
en état brut vers de nombreux clients.
13
La section guichet et magasin :
- La réception du courrier et le tri par nature et par application.
- Dispatching des documents.
- L’envoie et la réception du courrier.
La section réseau :
- Assurer les connexions téléphoniques réseaux.
- La configuration et suivie des équipement réseaux
(commutateurs, routeurs, modems).
- Assurer et diagnostiquer les connexions réseau entre les
utilisateurs et les équipement actifs.
- Elle veille à la disponibilité, la gestion du réseau 24h/24.
Section maintenance, bureautique et administration
réseau :
- Installation et configuration des équipements informatiques en
réseau (postes de travail, serveurs, imprimantes)
- Maintenance du premier niveau des machines.
Service DESK :
Ce service est fait pour aider les employés de l’OCP à exécuter
leurs taches dans les meilleurs conditions de travail tout en évitant la
charge du travail et pour mieux gérer le temps et identifier le besoin des
clients (formulation de leurs demandes).
14
Chapitre II : Analyse des besoins et spécification :
I. Cahier de charge :
1. Présentation du projet:
Dans le souci d’améliorer certains de des processus de gestion, la société
souhaite se doter d’une application web qui permet de gérer les demandes du
décharge de matériel informatique de ses employés, pour par la suite l’intégrer
dans le système global de la société. Plusieurs avantages sont envisagés :
Simplifier les procédures liées au traitement des demandes du décharge.
Réduire le temps de la procédure et aussi faciliter la communication entre
le service et l’employé.
Cette application va remplacer le traitement manuel effectué par le service
informatique de la société et faciliter la manipulation des données extraites.
2. Problématique :
Les employés doivent à chaque fois se transporter au service informatique
pour savoir l’état d’avancement de son demande.
15
En cas d’un problème dans la machine de l’employé, ce dernier doit
remplir une demande manuellement ce qui n’est pas professionnel.
Problème de perte du demandes et aussi la difficulté rencontré pour les
traiter.
3. Solution :
Développement d’une application web qui permet :
- Au employé d’effectuer des demandes et suivre l’état de ses demandes
à distance et aussi garder contact avec les différents services dans la
société.
- Au service informatique de traiter facilement les demandes de
vérification d’état et aussi gérer les utilisateurs de cette application.
- Au service informatique de traiter facilement les demandes de nouveau
matériel.
- Notification par message lorsque le traitement est effectuer.
4. Avantage :
Gestion et traitement rapide des demandes.
Rapidité et efficacité du service.
Gain du temps.
16
Le cycle en V est constitué de 8 étapes qui ont toutes leur importance.
17
Validation : Le produit est à ce moment testé en regard de la spécification
fonctionnelle. Toutes les utilisations qui y ont été définies doivent pouvoir se
vérifier dans les faits.
Mise en production et recette : Le produit est vérifié une dernière fois en
pré-production, avant d’être mis en production. Le client procède à la recette,
pour vérifier que son expression de besoin est respectée.
III. Planification :
la contrainte de temps m’a obliger à gérer mon travail, à définir une durée
limitée pour chaque tâche et l’enchaînement de chaque activité.
Diagramme de Gantt :
Le diagramme de Gantt est un outil utilisé (souvent en complément d'un réseau
PERT) en ordonnancement et en gestion de projet et permettant de visualiser
dans le temps les diverses tâches composant un projet.
18
Chapitre III : Conception de l’application
I. Introduction :
Dans ce chapitre, on v a mettre l’accent sur la conception de l’application, Pour
la réalisation et la conception de celle-ci, on a choisi de la modéliser en
s’appuyant sur le formalisme UML. Ce chapitre présentera la partie
fonctionnelle du modèle UML à travers le diagramme de classe et le diagramme
des cas d’utilisation ainsi que les diagrammes de séquence.
Cette phase poursuit la tâche entamée dans la phase d’analyse et capture des
besoins, elle vise à identifier et décrire la majorité des besoins utilisateurs,
construire l’architecture de base du système et lever les risques majeurs du
projet.
Au niveau de cette phase, nous analysons les différents cas d’utilisation puis
nous essayons de les détaillées pour comprendre chaque fonctionnalité attendue
du système en examinant tous les scénarios compte des scénarios exceptionnels
et des erreurs.
19
La conception est une phase importante avant la réalisation de tout projet, elle
nécessite des méthodes permettant de mettre en place un modèle sur lequel on
va s'appuyer.
20
• UML est un langage qui permet de modéliser tous les types de systèmes
informatiques mais, qui nécessite toutefois une méthodologie de conception.
Il s’articule autour de neuf types de diagrammes devisés en deux catégories.
- Les vues statiques du système :
• Le diagramme de cas d'utilisation
• Le diagramme de classes
• Le diagramme d'objets
• Diagramme de composant
• Diagramme de déploiement
- Les vues dynamiques du système :
• Le diagramme d'états-transitions
• Le diagramme de séquence
• Le diagramme de collaboration
Les diagrammes qu'on a montrés dans la partie précédente sont des moyens
de description des objets ainsi que des liens qui les relient. J’ai utilisé les
diagrammes suivants :
21
Diagramme de cas d'utilisation
Diagramme de classes
Diagramme de séquence
Diagramme d’activité
22
Le diagramme des cas d'utilisation (Use Case Diagram) constitue la première
étape de l’analyse UML en :
- Modélisant les besoins des utilisateurs.
- Identifiant les grandes fonctionnalités et les limites du système.
- Représentant les interactions entre le système et ses utilisateurs.
Le diagramme des cas d’utilisations n’est pas un inventaire exhaustif de toutes
les fonctions du système. Il ne liste que des fonctions générales essentielles et
principales sans rentrer dans les détails.
23
- Cas d’utilisation du service contrôle matériel :
24
3. Diagramme de classe :
Le diagramme de classes représente les classes constituant le système et les associations entre
elles.
Les diagrammes de classes expriment de manière générale la structure statique d’un système,
en termes de classe et de relations entre ces classes.
De même qu’une classe décrit un ensemble d’objets, une association décrit un ensemble de
liens, les objets sont des instances de classes et les liens sont des instances de relations.
25
• Un employé peut avoir un ou plusieurs matériels.
• Service contrôle matériel peut traiter un ou plusieurs demandes.
• Service informatique peut traiter un ou plusieurs demandes.
• Service contrôle matériel peut gérer l’affectation d’un ou plusieurs matériels.
4. Diagramme de séquence :
26
Diagramme de séquence de l’authentification :
5. Diagramme d’activité :
27
Les diagrammes d'activités permettent de mettre l'accent sur les traitements. Ils
sont donc particulièrement adaptés à la modélisation du cheminement de flots de
contrôle et de flots de données. Ils permettent ainsi de représenter
graphiquement le comportement d'une méthode ou le déroulement d'un cas
d'utilisation.
28
6. Base de données de l’application :
Une base de données (en anglais database), permet de stocker et de retrouver
l'intégralité de données brutes ou d'informations en rapport avec un thème ou
une activité, celles-ci peuvent être de natures différentes et plus ou moins reliées
entre elles. Dans la très grande majorité des cas, ces informations sont très
structurées, et la base est localisée dans un même lieu et sur un même support.
Ce dernier est généralement informatisé.
29
- TYPEDEM : type de la demande ( demande de vérification d’état
matériel / demande nouveau matériel )
- MSG : message où employé va expliquer le problème rencontrer dans
son PC
- ETAT : entier défini l’état de la demande ( 0 si la demande n’est pas
encore traiter ou 1 s’elle est traiter)
- NATUREAFF : nature d’affectation ( c’est au service d’informatique
de la remplir ), définit la décision après traitement de la demande.
- ACC : entier qui égale à 0 si les condition de réparation est non
accepter ou égale à 1 s’elles sont accepter
- FILES : champs qui permet de stocker le nom du fichier à transmettre
ou è télécharger.
employe ( MATRICULE, NOM, PRENOM, ENTITE, SA, PHOTO)
- MATRICULE : identifiant de l’employé
- ENTITE : définit le département auquel l’employé s’appartient
- SA : entier défini l’entité auquel l’employé s’appartient
materiel ( NSERIE, NOM, TYPE, PHOTO, #MATRICULE )
- NSERIE : identifiant du matériel
- TYPE : défini le type du matériel (clavier, PC portable, Unité centrale
…)
- PHOTO : défini le nom de la photo pour l’afficher par la suite en
appelant son nom stocker dans la base de données
- MATRICULE : identifiant de l’employé pour définir à qui appartient
ce matériel, c’est une clé étrangère
utilisateur ( ID, MATRICULE, PWD, ROLE, EMAIL, ETAT )
- ID : identifiant de l’utilisateur
- PWD : password ( on va utiliser une fonction de cryptage pour assurer
la sécurité )
- ETAT : entier qui égale 1 si le compte utilisateur est activer ou égale 0
s’il est désactiver
message ( ID, EXPEDITEUR, RECEPTEUR, MESSAGE )
- ID : identifant du message
- MESSAGE : contenu du message
Rôle des tables :
30
Le rôles des tables est de stocker l’information saisie dans la base de données
pour ensuite l’utiliser dans d’autre fonction. Il importe aussi de créer les
relations entre ces tables.
Rôle des relations :
Les relations permettent essentiellement de maintenir l’intégrité des
informations : éviter l’incohérence et la redondance entre les informations
stockées dans des tables différentes.
V. Sécurité :
Concernant la sécurité au niveau de l’application, l’accès à l’application passe
par login et un mot de passe. Et aussi pour assurer sécurité global dans
l’application, on a ajouter la notion du session qui permet de passer par
l’authentification avant d’aller à n’importe quel pages.
31
Chapitre IV : Réalisation
1. Langage de développement :
HTML :
CSS :
32
CSS Cascading Style Sheets (feuilles de styles en cascade), servent à mettre
en forme des documents web, type page HTML ou XML. Par l'intermédiaire de
propriétés d'apparence (couleurs, bordures, polices, etc.) et de placement
(largeur, hauteur, côte à côte, dessus-dessous, etc.), le rendu d'une page web peut
être intégralement modifié sans aucun code supplémentaire dans la page web.
Les feuilles de styles ont d'ailleurs pour objectif principal de dissocier le contenu
de la page de son apparence visuelle. Ceci permet :
De ne pas répéter dans chaque page le même code de mise en forme
D'utiliser des styles génériques, avec des noms explicites (par exemple un
style encadré pour du texte ou des images)
De pouvoir changer l'apparence d'un site web complet en ne modifiant
qu'un seul fichier
De faciliter la lecture du code de la page.
La puissance et de l'intérêt des CSS peut être démontrée en modifiant
radicalement l'apparence d'une page, sans changer son code HTML d'un
iota... Bref les CSS permettent de gagner en productivité et en maintenabilité
des sites web, tout en offrant des possibilités graphiques incontestables.
Lorsqu'on se lance dans la conception de pages web, il faut apprendre les
CSS !
Javascript :
33
JavaScript, à ne pas confondre avec Java, est un langage de programmation
inventé pour le web. Son utilisation principale se fait suivant le terme consacré,
côté client, c’est-à-dire dans le navigateur de l’internaute. Son utilité est
d’apporter tout ce que le HTML n’apporte pas : l’interactivité de l’utilisateur
avec la page. Pour le résumer succinctement, tout ce qui se produit après le
chargement d’une page est lié à un script JavaScript : chargement d’élément,
mise à jour, animation …
PHP
34
complexes (animation, carrousel, tableau, histogramme, …) et tout en réduisant
la quantité de caractères requis, et donc le poids du site web.
2. Logiciel et outils de développement :
Brackets :
Xampp :
35
PhpMyAdmin est un logiciel gratuit écrit en PHP destiné à gérer
l’administrateur de MySQL sur le Web. PhpMyAdmin prend en charge un large
éventail d’opérations sur MySQL et MariaDB. Opérations utilisées
fréquemment (gestion des relations de données, des tables, des colonnes, des
relations, des index, les utilisateurs, les permissions, etc.) peuvent être effectuées
via l’interface utilisateur, alors que vous avez encore la possibilité d’exécuter
directement une instruction SQL.
Google Chrome :
Power AMC :
PowerAMC est l’un des outils majeurs de modélisation des données et des
processus ,il fournit un jeu unique d’outils de modélisation professionnels qui
associent les techniques et notations standard de la modélisation de processus
métiers, de la modélisation des données et de la modélisation d’applications
UML et d’autres fonctionnalités puissantes afin de vous aider à analyser,
concevoir, construire et maintenir vos applications, en utilisant les techniques les
plus élaborées d’ingénierie logiciel. La solution de modélisation PowerAMC
permet d’intégrer étroitement la conception et la maintenance des couches de
données centrales de votre application et exigences de projet, processus métiers,
36
code orienté objet, vocabulaires XML et informations de réplication de base de
données.
37
L’environnement de l’employé :
38
si l’employé veut avoir une idée sur les conditions avant de l’accepter, il faut
cliquer sur lu, il va se retrouver sur cette page :
39
Notre demande s’affiche en rouge pour nous informe que notre demande est non
encore traiter. S’elle est traiter, elle va s’afficher en vert comme ceci
Pour avoir plus de détails sur la demande, il faut cliquer sur son id. s’elle est non
encore traiter, on va avoir cette page :
40
Sinon (s’elle est traitée), on va avoir
41
Le service informatique peut consulter les demandes de vérification envoyer par
les employés, les demandes en rouge sont les demandes à traiter, et ce qui sont
en vert sont les demandes déjà traitées.
- Le traitement du demande
Pour traiter une demande, il faut cliquer sur la premier icône dans le champs
action
42
Après vérification, le service informatique doit choisir la nature d’affectation et
aussi envoyer un message au demandeur pour lui expliquer les détails du
traitement.
Après traitement, la demande traité devient en vert.
43
Le service informatique peut aussi consulter la liste des employés,
44
Les comptes en vert sont les comptes activés, et ce qui sont en rouge sont les
comptes désactivés.
45
- Traitement demande nouveau matériel.
46
Lorsque vous cliquez sur DETAIL VERIFICATION MATERIRL, il va
s’afficher les détails du traitement du service informatique, et à la base de ses
détails on va validé la demande ou pas
Après traitement,
47
48
En fin le passage de la demande du décharge est terminé, à la fin du
traitement, notre employé va avoir soit son ancien matériel réparé soit un
nouveau matériel.
Conclusion
49
Pendant la période de notre stage qui a duré 1 mois, nous étions charger de
développer une application web pour la gestion des demandes de décharge du
matériel informatique pour l’entreprise OCP en utilisant des nouvelles
technologies et de nouveaux outils et langages vus lors du cursus universitaire
telles que les langages php, html, css, javascript et sql.
Ce projet nous’ a donné l’opportunité de s’initier à la vie professionnelle dans
un milieu réel et avoir un début d’expérience significatif, En effet, le travail à la
fois sur l’aspect technique et métier, la prise d’initiative, le raisonnement
logique, le fait d’imposer nos méthodes et de trouver des solutions alternatives
pour surmonter partiellement ou globalement un problème, et surtout le respect
des délais seront des aspects essentiels de notre futur métier, d’une autre part,
ceci nous’a permis de faire preuve de responsabilité, ponctualité, créativité,
innovation et implication qui sont les clés de la bonne conduite et de la réussite
d’un projet informatique d’où m’a pu bénéficier de nouvelles acquisitions qui
ont enrichi nos connaissances et nos compétences.
Ce stage a vraiment confirmé nos ambitions futures d’exercer dans le
domaine informatique, même s’il nous reste encore beaucoup à apprendre.
Certes, des améliorations et des traitements seront mises en œuvre pour
compléter le travail, pour finalement arriver à l’objectif souhaité de l’entreprise.
50