rapport de stage de fin d’annee - glossip · rapport du stage de premier année l’onp...
TRANSCRIPT
Rapport du stage de premier année L’ONP (2005/2006) 0
RAPPORT DE STAGE DE FIN D’ANNEE ENCADRE PAR : REALISE PAR : Mr EL Kotai Cherki Mohamed SRERHO Année Universitaire : 2005-2006
INFORMATISATION DU SYSTEME DE GESTION A L’OFFICE NATIONAL DES PÊCHES
1 page texte
0.5 DH
1 page mixte
1 DH
1 page image
2 DH
1 CD vierge
2 DH
1 pochette double
0.5 DH
1 reliure (baguette + transparent + papier cartonné)
6 DH
3.1. Java Java est à la fois un langage de programmation et une plateforme d'exécution [7]. Le langage Java a la particularité principale d'être portable, puisqu'il peut tourner sur n'importe quelle machine disposant d'un interpréteur Java. Cette portabilité est fondamentale sur Internet,
4. Réalisation Au lancement de l’application, l’utilisateur a le choix entre deux menus : New Project et Load Project.
Rapport du stage de premier année L’ONP (2005/2006) 2
REMERCIEMENTS Nous tenons à exprimer notre gratitude à Mme Nezha Sallahdine le Délégué de l’ONP qui nous a confié un sujet si intéressant, ainsi qu’à Mr Cherki notre encadrant qui nous a assisté tout au long de ce projet. Nous tenons également à remercier tous ceux qui ont contribué de prés ou de loin à l’accomplissement de ce travail.
Rapport du stage de premier année L’ONP (2005/2006) 3
Liste des figures et des tables .................................................................................................. 4 Introduction ................................................................................................................................ 5 Chapitre 1 : Contexte général du projet ................................................................................... 6
I. ORGANISME D’ACCUEIL II. PRESENTATION DU PROJET
2.1. Cadre général et but du projet 2.2. Description du travail demandé
2.3. Planning des tâches effectuées
Chapitre2: ModElisation et conception de la base .............................................................. 14 I.Modélisation de la base
1.1 Dictionnaire de données 1.2. Les tables de la base
II. Conception de la base
2.1. La Conception de la base 2.2 Modèle conceptuel des données
Chapitre 3: Environnement d’implémentation....................................................................... 22 I. outil de programmation. II. Système de gestion de la base de données utilisée
Chapitre4: Realisation ............................................................................................................. 25
I. L'Architecture de l'application………………………………………………………… II. Les services de l'application 2.1 Page d'accueil 2.2 Page Principale 2.3 Réalisation du service Gestion Matériels 2.3.1 Matériels reçus 2.3.2 Matériels envoyés 2.4 Réalisation du service Gestion des Courriers 2.5 Réalisation du service Mise à Jour des Entités 2.5.1 Gestion des utilisateurs 2.5.2 Gestion des services 2.5.3 Gestion des sociétés 2.5.4 Gestion des marques 2.5.5 Gestions des Modèles et des types du matériel 2.6 Réalisation du service Gestion des Interventions 2.6.1 Gestion des interventions 2.6.2 Gestion des intervenants 2.7 Etats de sortie
Conclusion et Perspectives .................................................................................................... 40 Bibliographie ............................................................................................................................ 41
Table des matières
Annexe1 :Exemple du code………………………………………………………………..…………42
Rapport du stage de premier année L’ONP (2005/2006) 4
Liste des Figures et des tables Figure 1 :Organigramme…………………………………………………page 8 Figure 2 : Le système de gestion MAYA…….. ……………………….page 9 Figure 3 : Le modèle conceptuel des données …………………….…page 21 Figure 4 : L’architecture de l’application………………………………..page 26 Figure 5 :Page d’accueil………………………………………………….page 27 Figure 6 : La page principale de l’application………………………….page 28 Figure 7 : Gestion des matériels reçus……….………………………..page 29 Figure 8 : Gestion des matériels envoyés………….………………….page 31 Figure 9 : Gestion des courriers………………………..……………….page 32 Figure 10 : Gestion des utilisateurs…………………………….………page 33 Figure 11 : Gestion des service……….…………………………..……page 34 Figure 12 : Gestion des sociétés……………………………………….page 35 Figure 13 : Gestion des marques………………………………………page 36 Figure 14 : Gestion des interventions……………………………..…..page 37 Figure 15 : Gestion des intervenants………………………………….page 38 Figure 16 : Etats de sorties…………..…………………………………page 39 Tableau 1 :Planning des tâches effectuées…………………………..page 11 Tableau 2 : Le processus de la conception…………………………...page 13 Tableau 3 : Les tables de la base………………………………………page 15 Tableau 4 : Le dictionnaire des données………………………………page 16
Rapport du stage de premier année L’ONP (2005/2006) 5
INTRODUCTION
Dans le monde d’aujourd’hui qui est de plus en plus régi par les lois de l’informatisation et les nouvelles technologies de l’information vu sa performance et son efficacité, les entreprises et les sociétés marocaines ont opté pour une stratégie d’informatisation afin de profiter de ces technologies de l’information ainsi que de mettre à jour les services présentés et effectuer un profit maximum.
En vertu de cette stratégie, l’Office National des Pêches (ONP) intègre des applications informatiques et met en place un système d’information qui permet l’analyse et la diffusion de l’information utile pour ces besoins, dans le but de faciliter le déroulement du travail au sein de cette dernière.
C’est dans ce cadre que s’inscrit notre stage de fin d’année « gestion des matériels, des courriers et des interventions» qui cible à informatiser le système de gestion de ces derniers dans l’ONP ainsi que leurs utilisateurs qui sont les employés de la délégation.
Dans ce rapport, nous définissons en premier lieu le fonctionnement et les différentes fonctionnalités assurées par notre application.
Le premier chapitre définit le contexte général du projet, il débute par une présentation de l’organisme d’accueil. La deuxième partie est réservée à la présentation du projet.
Le deuxième chapitre est consacré à l’analyse et la conception de la base de données.
Dans le troisième chapitre nous préciserons l’environnement d’implémentation ainsi que le système de gestion de base de données.
Le dernier chapitre illustrera notre travail par des exemples tout en détaillant le processus de l’application,
Rapport du stage de premier année L’ONP (2005/2006) 7
I ORGANISME D’ACCUEIL L’ONP première entreprise publique marocaine évaluée par une agence européenne de notation sociale. L’ONP a connu depuis sa création en 1964 des mutations profondes et des évaluations remarquable, pour qu’elle soit aujourd’hui parmi les secteurs prioritaires de l’économie nationale. Le secteur des Pêches Maritimes revêt une importance stratégique pour le développement économique et social du Royaume. L’amélioration de sa compétitivité passe par la mise à niveau de l’ensemble des maillons de la filière. L’ONP, entreprise publique au service du secteur, s’est engagé dans une profonde réorganisation interne afin d’accompagner, de manière soutenue et efficace, la mise à niveau et la modernisation du secteur de la pêche. Dans ce cadre et au-delà de ses missions de service public, l’ONP veille à accompagner les opérateurs de la filière pêche côtière et artisanale et à agir en partenariat avec l’ensemble des parties prenantes de la filière en apportant un soutien actif aux initiatives citoyennes visant notamment la préservation des ressources halieutiques, la protection de l’environnement, le développement social et humain. Fidèle à son ambition «d’être une entreprise publique de référence, dédiée au développement et à l’accroissement de la compétitivité de la filière pêche, gérée selon les critères de rentabilité, de partenariat, de service public et de service client », l’ONP s’efforce d’intégrer pleinement la dimension sociale, éthique et environnementale dans sa politique managériale. Cette approche est privilégiée non seulement au sein de l’entreprise, mais fait également l’objet d’une politique de diffusion et de promotion auprès de ses partenaires pour partager les mêmes valeurs et les faire adhérer aux mêmes objectifs de développement durable et socialement responsable. Afin d’établir un bilan objectif de sa réorganisation interne et de déterminer les axes de progrès en matière de responsabilité sociale, l’ONP a confié à Vigeo, agence européenne de notation, une mission d’évaluation - notation de la responsabilité sociale. A ce titre, l’ONP est la première entreprise publique marocaine à être évaluée dans ce domaine. En s’appuyant sur un référentiel international opposable et précis comportant 29 critères, cette notation a porté de façon exhaustive sur les 6 domaines suivants : 1) Le respect des droits humains dans la société et sur les lieux du travail ; 2) La valorisation des ressources humaines et l’amélioration continue des relations sociales; 3) La sauvegarde de l’environnement ; 4) La valorisation des intérêts des clients et des fournisseurs ; 5) La bonne gouvernance d’entreprise ; 6) L’engagement sociétal. Dans l’ensemble, cinq des six domaines audités sont évalués à un niveau égal ou supérieur à 3, c’est à dire un niveau où l’entreprise est "active", voire même "engagée". Aperçu global de la notation Notation comparée des domaines Notation et tendance par domaine
Rapport du stage de premier année L’ONP (2005/2006) 8
Les résultats obtenus font ressortir que l’ONP est située au niveau "engagée " dans le domaine "Sociétal". Pour les auditeurs de Vigeo, cet engagement "souligne une conception de la responsabilité sociale essentiellement centrée sur la prise en compte prioritaire des attentes sociétales au sens large et confirme l’image "d’entreprise citoyenne déjà acquise par l’ONP". Parallèlement, l’ONP est considérée comme une entreprise "active" dans les domaines "Gouvernement d’entreprise", "Clients – fournisseurs ", " Environnement " et "Droits Humains". Le domaine des Ressources Humaines est classé dans la catégorie " prudente ", il n’en demeure pas moins que les auditeurs de Vigeo constatent qu’il s’agit d’un domaine "en progression". Ce constat tient au fait que l’ONP est actuellement régi par le statut de la fonction publique qu’il conviendra de modifier afin d’introduire les mesures de motivation, de reconnaissance du mérite, ou encore de gestion des compétences et des carrières. Ainsi, le rapport d’évaluation fait ressortir que affiche des performances appréciables dans tous les domaines de la Responsabilité Sociale. De manière générale, l’ONP se positionne clairement comme une entreprise publique au service du développement de la compétitivité du secteur et à l’écoute de l’ensemble de ses parties prenantes ; gouvernement, profession, société civile et le personnel de l’entreprise. Le Maroc et vu l’importance du secteur maritime a bien structuré ces offices, en effet il y a un siège à Casablanca et plusieurs délégations, et en particulier celle de Tanger qui suit l’organigramme ci-dessous :
Délégué Régional Responsable qualité siège
Secrétaire
Vaguemestre Opératrice informatique
Adjoint délégué Responsable assurance qualité
Chef de halle Comptable Chargé des règlements des armateurs
Responsable Informatique
Gardien
Chef de
carreau
Aide
caissier
caissier
Contrôleur
de quai
Peseur
Crieur
Pointeur
Chargé des
statistiques
Régisseur
Taxateur
Régisseur
suppléant
Figure 1 : Organigramme
Rapport du stage de premier année L’ONP (2005/2006) 9
Dans le cadre de l’informatisation des activités de l’ONP, ce dernier travaille avec un système d’information MAYA qui est un outil de gestion. On présente dans la figure qui suit le fonctionnement de ce système
Figure 2 : Le système de gestion MAYA
Aide à la décision
Consolidation Information de gestion
Gestion financière Suivi de gestion Gestion opérationnelle
Mareyeurs Usiniers Espèces,
Armateurs Marins bateaux
Taxes prélèvements
Orienter les politiques : Gestions des ressources, marketing, organisation de la profession....
Mieux faire connaître la filière
Offrir le service d’une gestion efficace et rapide
Gérer /stocker l’information de base
Gestion Commerciale
Rapport du stage de premier année L’ONP (2005/2006) 10
II PRESENTATION DU PROJET
Cette partie est consacrée à décrire le cahier des charges du stage réalisé
2.1 Cadre général et but du projet
Les informations de l’office national des pèches sont archivées sur papier ce qui augmente la possibilité de les perdre, en plus cette façons de gestion augmente le temps de la recherche, et pour éviter ces défauts l’ONP nous a affecté ce stage qui a pour but l’informatisation du système de gestion des matériels, des courriers ainsi que la gestion de leurs utilisateurs et leurs services. L’application à développer pendant ce stage doit permettre aussi la gestion des interventions et des intervenants à l’ONP délégation de Tanger ainsi que leurs sociétés, son objectif est de bien structurer les données de cette délégation. Chaque matériel qui est soit reçu par la délégation soit envoyé vers le siège pour une réparation, doit être stocké dans la base de données, ainsi que les interventions effectuées sur ce dernier, et aussi les courriers, qui sont envoyés ou reçus, devront être bien stockés de la même façon que les matériels, en plus l’application doit permettre la mise à jour de ces données ; en effet la modification et la suppression de ces données doivent être assurées par cette application. Le stage effectué doit permettre aussi l’affichage des états de sortie selon un critère donné tel que la date, l’utilisateur, l’intervenant, la société de l’intervenant……..etc.
2.2 Description du travail demandé
Vu son but, l’application doit être constituée d’une base de données fiable et cohérente, et d’une interface facile à manipuler. En effet toutes les informations sur les matériels, les courriers, les interventions, les intervenants, les sociétés des intervenants…..etc, doivent être dans une base de données et ces informations sont saisies par l’utilisateur qui travaille avec cette application, et pour ces raisons, l’application à réaliser doit respecter des contraintes de plusieurs ordres :
Du point de vue fonctionnel :
-- Sauvegarde de l’historique des opérations effectuées sur les les données de l’office.
-- La mise à jour des informations -- Recherche des informations et leurs impressions
Du point de vue interface homme machine : -- Interface claire, rationnelle -- Interface sécurisée
Rapport du stage de premier année L’ONP (2005/2006) 11
2.3 Planning des tâches effectuées Cette partie est consacrée à présenter les principales tâches à effectuer pour le développement de l’application et qui peuvent être résumées comme suit :
Tâches à réaliser
1. Collection des données relatives au projet
2. Analyse des besoins
3. Présentation des planning du travail + validation
4. Elaboration du modèle conceptuel, logique et physique de données
5. Présentation de l’interface de l’application et validation
6. Développement du processus de transfert de données entre la base de données créée sous ACCESS et l’interface implémentée avec VB
7. Test global + validation
Tableau1 : Planning des tâches effectuées
Rapport du stage de premier année L’ONP (2005/2006) 12
Description de certaines tâches Collection des données relatives à la gestion du materiel Avant de commencer à réaliser l’application qui est le but du stage, il est d’abord nécessaire de bien comprendre les besoins, qui ont poussé l’office national des pêches à faire cette dernière, et aussi la façon avec laquelle cette application va fonctionner. C’est dans ce cadre que s’inscrit l’étape de la collection des données, qui consiste à définir le périmètre du projet, notamment à définir l’utilisateur final, c'est-à-dire celui à qui l'application est destinée ainsi que de définir les propriétés des matériels à gérer (Numéro de série, code à barre, la date de réception, les interventions….etc.) et les courriers (Numéro de courrier, date de réception, Utilisateur….etc.) et les interventions(Numéro intervention,Nom intervenant,société intervenant………….) ainsi que les propriétés des utilisateurs et ses services et les intervenants et ses sociétés. Analyse des besoins Cette deuxième étape a pour enjeu de valider la demande de l’organisme. Lors de cette phase on a identifié les besoins généraux du projet, et on a étudié la faisabilité de ce dernier. Elaboration du modèle conceptuel, logique et physique de données La conception d'un système d'information n'est pas évidente car il faut réfléchir à l'ensemble de l'organisation que l'on doit mettre en place. La phase de conception nécessite des méthodes permettant de mettre en place un modèle sur lequel on va s'appuyer, et parmi ces méthodes il y a la méthode MERISE qui fait suite à une consultation nationale lancée en 1977 par le ministère de l'Industrie dans le but de choisir des sociétés de conseil en informatique afin de définir une méthode de conception de systèmes d'information. Le but de cette méthode est d'arriver à concevoir un système d'information. La méthode MERISE est basée sur la séparation des données et des traitements à effectuer en plusieurs modèles conceptuels et physiques. La séparation des données et des traitements assure une longévité au modèle. En effet, l'agencement des données n'a pas à être souvent remanié, tandis que les traitements le sont plus fréquemment. La méthode Merise consiste à concevoir un modèle conceptuel de données (MCD), à le transposer en modèle logique de données relationnelles (MLDR), puis générer le modèle physique correspondant (MPD)
Rapport du stage de premier année L’ONP (2005/2006) 13
Ces étapes peuvent être modélisées comme suit : Tableau2 : Processus de la conception
Expression des besoins
Modèle conceptuel MCD décrivant les règles et les contraintes à prendre en des données : compte
Modèle logique MLDR représente un choix logiciel pour le système des données relationnelles d’information
Modèle physique MPD reflète un choix matériel pour le système des données d’information
Concernant les tâches numéro 5 et 6 elles seront détaillées dans le chapitre 3.
Rapport du stage de premier année L’ONP (2005/2006) 14
Chapitre 2 : MODELISATION ET CONCEPTION DE LA BASE
Rapport du stage de premier année L’ONP (2005/2006) 15
I MODÉLISATION DE LA BASE Dans cette partie, nous allons présenter les tables de la base, le dictionnaire de données ainsi que les différents modèles de données. Vu le but de l’application, la base de données stocke et gère ces derniers d’une façon fiable et cohérente et ceci grâce aux différentes relations qui seront détaillées plus tard. 1.1 Les tables de la base Dans ce qui suit, nous allons présenter les tables utilisées dans la base et le rôle de Chacun
Nom de la table
Clé primaire de la table
Rôle de la table
type_matériel
NumTypeMateriel
Affecter des numéros aux matériels
type_courrier
TypeCourrier
Affecter des numéros aux Type de courrier
type_envoi
Type Envoi
Affecter des numéros aux Type d’envoi
Type_intervention
NumTypeIntervention
Affecter des numéros aux Type d’interventions
matériel
NumMateriel
Enregistrer les matériels reçus et envoyés
Catégorie
NumCategorieMateriel
Diviser les matériels selon les catégories
Marque
NumMarque
Enregistrer les marques des matériaux
Model
NumModel
Enregistrer les modèles des matériels
Intervention
NumIntervention
Enregistrer les interventions effectuées sur les matériels
intervenant
NumIntervenant
detail_intevention NumIntervention, NumIntervenant
Enregistrer les références des intervenants
Détail des interventions
Rapport du stage de premier année L’ONP (2005/2006) 16
Société
NumSociete
Affecter des numéros aux Sociétés des intervenants
courrier
NumCourrier
Enregistrer les courriers reçus et envoies
detail_courrier
NumContenuCourrier
Enregistrer les détails des courriers
Utilisateurs
NumUtilisateur
Enregistrer les références des Utilisateurs de la délégation
Service
NumService
Affecter des numéros au Service des utilisateurs
Tableau3 : Les tables de la base Description de quelques tables La table materiel Cette table contient des informations sur les matériels reçus ou envoyés comme le numéro du matériels, le numéro de série, la date de réception, la date d’envoie qui est nulle pour les matériels existants actuellement dans l’office….etc. Cette table à plusieurs relations1 avec les autres tables telle que la table categorie, la table type_envoi…etc. La table detail_intervention Cette table contient le numéro de l’intervenant et le numéro de l’intervention ainsi que le champ detail_intervention. L’utilité de cette table est de garder l’historique sur les interventions effectuées, et elle permet de sauvegarder les remarques sur les intervenants. La table categorie Cette table sert à diviser les matériels selon leur catégorie a savoir catégorie informatique, catégorie télécommunication, catégorie bureautique, catégorie électronique, catégorie consommable, la table categorie contient les champs suivant : NumCategorieMateriel, DesignationCategorie Type_envoi Cette table contient deux champs à savoir : TypeEnvoi et DescriptionEnvoi, l’utilité de cette table est de garder dans la base de données les raisons d’envois, et ce le même principe pour les tables type_intervention, type_materiels et type_courrier.
1 Voir la partie II de ce chapitre
Rapport du stage de premier année L’ONP (2005/2006) 17
1.2 Dictionnaire de données Dans ce qui suit, nous allons présenter le dictionnaire des données qui regroupe tous les attributs Nom de l’attribut
Description
Entité(s) de rattachement
NumTypeMateriel Référence de type du matériel
type_materiel
DesignationMateriel La désignation du matériel
type_materiel
TypeCourrier
Référence de type du courrier
type_courrier, courrier
DescriptionCourrier
La désignation du courrier type_courrier
TypeEnvoi
Référence de type d’envoi type_envoi, materiel
NumTypeIntervention
Référence de type de l’intervention
type_intervention
DescriptionIntervention
La désignation du type de l’intervention
type_intervention
NumTypeMateriel
Référence du type du matériel
type_materiel, materiel
DesignationMateriel
Désignation du matériel
type_materiel
NumMateriel
Référence du matériel
Materiel, intervention
DateReceptMateriel
Date de réception du matériel
materiel
DateEnvoiMateriel
Date d’envoi du matériel
materiel
EtatMateriel
L’Etat du matériel
materiel
NumUtilisateur
Référence de l’utilisateur materiel, utilisateur
NumCategorieMateriel
Référence de la catégorie materiel, categorie , marque
NumSerie
Numéro de série du matériel Materiel
Rapport du stage de premier année L’ONP (2005/2006) 18
CodeABarre
Code à barre du matériel
Materiel
NumModel
Référence du matériel Materiel, model
DescriptionMateriel
Description du matériel Materiel
NumCourrier
Référence du courrier Courrier
DateCourrier
Date de réception ou d’envoi du courrier
Courrier
NumContenuCourrier
Référence du contenu du courrier
courrier
DesignationContenuCourrier
Le contenu du courrier Courrier
DesignationCategorie
Catégorie Categorie, marque
NumMarque
Référence de la marque Marque
DesignationMarque
La marque du matériel Marque
DesignationModel
Le modèle du matériel Model
NumTypeIntervention
Référence de type des interventions
type_intervention
DescriptionIntervention
Description de l’intervention type_intervention
NumIntervention
Référence de l’intervention Intervention, detail_intervention
DateIntervention
Date de l’intervention Intervention
NumIntervenant
Référence de l’intervenant Intervention, detail_intervention
MatriculeIntervenant
Le matricule de l’intervenant Intervention
NomIntervenant
Le nom de l’intervenant
Intervenant,
Rapport du stage de premier année L’ONP (2005/2006) 19
NumSociete Référence de la société Intervenant,
societe
DetailIntervention Détail de l’intervention Intervenant
DescriptionSociete Le nom de la société Societe
MatriculeUtilisateur Le matricule de l’utilisateur Utilisateur
NomUtilisateur Le nom de l’utilisateur Utilisateur
PrenomUtilisateur Le prénom de l’utilisateur Utilisateur
NumService Référence du service de l’utilisateur
Utilisateur, service
DescriptionService La description du service Service
DescriptionEnvoi Une description de la raison d’envoi
type_envoi
Tableau 4 : Le dictionnaire des données
Rapport du stage de premier année L’ONP (2005/2006) 20
II CONCEPTION ET MODÉLISATION DE LA BASE 2.1 La conception de la base Après avoir présenté les champs et les tables de la base, nous allons expliquer dans cette partie le modèle conceptuel et le modèle logique de données établis en utilisant la méthode MERISE. La fiabilité et la cohérence de la base sont assurés par les différentes relations entre les tables de cette dernière, en effet la table courrier dépend fonctionnellement de la table detail_courrier, puisqu’un courrier ne peut avoir qu’un seul sujet, et dépend fonctionnellement aussi de la table type_courrier, puisqu’un courrier ne peut être qu’envoyé ou reçu, et de même il dépend fonctionnellement de la table utilisateur, puisqu’un courrier ne peut être destiné que pour un et un seul utilisateur, mais ce dernier peut avoir plusieurs courriers, ainsi la table utilisateur dépend fonctionnellement de la table service, puisqu’un utilisateur appartient à un seul service, et un service peut avoir plusieurs utilisateurs, et de même pour la table Intervenant qui dépend fonctionnellement de la table societe. La table materiel qui est la table principale dépend fonctionnellement de la table utilisateur, puisque chaque matériel est destiné à un unique utilisateur (la délégation est considérée comme un utilisateur), par contre un utilisateur peut avoir plusieurs matériels (ordinateur, bureau……….), ainsi elle dépend fonctionnellement de la table type_materiel, en effet un materiel ne peut avoir qu’un seul type (ordinateur,fax,balance….), mais dans un type donné on peut avoir plusieurs matériels. La table materiel dépend aussi de la table categorie puisque un matériel appartient à une seule catégorie à savoir informatique, électronique, consommable,télécommunication ou bureautique, et dans une catégorie on trouve plusieurs matériels, ainsi elle dépend fonctionnellement de la table type_envoi qui détermine la raison d’envoi du matériel, et dépend fonctionnellement aussi de la table model, puisqu’un matériel appartient à un modèle donné, et ce dernier a une dépendance fonctionnelle avec la table Marque vu qu’une marque peut avoir plusieurs modèles, et ce dernier dépend lui- même de la table catégorie, puisque dans une catégorie donnée on trouve plusieurs marques. Il y a une dépendance fonctionnelle entre la table materiel, et la table intervention vu qu’une intervention ne peut être que sur un et un seul matériel, et un matériel peut subir plusieurs interventions, la table intervention dépend aussi de la table type_intervention (locale ou externe). La table detail_intervention qui dépend des deux tables intervention et intervenant, puisqu’une intervention peut être faite par plusieurs intervenants, et un intervenant peut faire plusieurs interventions. 2.2 Modèle conceptuel de données La figure de la page suivante présente le modèle conceptuel de données, ce modèle sera transposé en modèle logique de données relationnelles (MLDR), puis générer le modèle physique correspondant (MPD) :
Rapport du stage de premier année L’ONP (2005/2006) 21
0, N 0, N 1, 1 1,1 1, 1 1, 1 0, N 0, N 0 , N 0, N 1, 1 1,1 0,N 1,1 1,N 1,1 0, N 1, 1 0, N 1,1 1,1 0,N 0,N 1,1 1,N 1,N 0, N
Courrier # NumCourrier DateCourrier
detail_courrier # NumContenuCourrier DesignationContenuCourrier
service # NumService DescriptionService
utilisateur # NumUtilisateur MatriculeUtilisateur NomUtilisateur PrenomUtilisateur
type_courrier # TypeCourrier DescriptionCourrier
materiel # NumMateriel DateReceptMateriel DateEnvoiMateriel EtatMateriel NumSerie CodeABarre DescriptionMateriel
type_intervention # NumTypeIntervention DescriptionIntervention
type_envoi # TypeEnvoi DesignationEnvoi
marque # NumMarque DesignationMarque
type_materiel # NumTypeMateriel DesignationMateriel
intervention # NumIntervention DateIntervention
categorie # NumCategorieMateriel DesignationCategorie
intervenant # NumIntervenant MatriculeIntervenant NomIntervenant PrenomIntervenant
model # NumModel DesignationModel
societe # NumSociete DescriptionSociete
DF DF
DF
DF DF
DF DF
DF
DF
DF
DF
DF
DF
DF
Figure 3: Le modèle conceptuel des données
1,1
1,1
0,N
detail_intervention Detail_intervention
Rapport du stage de premier année L’ONP (2005/2006) 23
Dans ce chapitre, nous allons présenter l’outil de programmation de notre application qui est le VB.6 et le Système de Gestion des Bases de Données Access 2003. I. OUTIL DE PROGRAMMATION
L’application développée pendant notre stage est implémentée par l’outil VB.6 qui créer par Microsoft afin de réaliser facilement des applications fonctionnant sous Microsoft Windows ©.
Visual Basic est, comme son nom l'indique, un outil visuel permettant de créer sans notion de programmation l'interface graphique (GUI - Graphical User Interface) en disposant à l'aide de la souris des éléments graphiques (boutons, images, champs de texte, menus déroulants,...).
L'intérêt de ce langage est de pouvoir associer aux éléments de l'interface des portions de code associées à des événements (clic de souris, appui sur une touche, ...). Pour cela, Visual Basic utilise un petit langage de programmation dérivé du BASIC (signifiant Beginners All-Purpose Symbolic Instruction Code, soit code d'instructions symboliques multi-usage pour les débutants). Le langage de script utilisé par Visual Basic est nommé à juste titre VBScript, il s'agit ainsi d'un sous-ensemble de Visual Basic. De plus, ce langage est utilisé pour de nombreuses autres applications Microsoft© que Visual Basic:
• Microsoft Access • Microsoft Active Server Pages • Microsoft Excel • Microsoft Internet Explorer • Microsoft Word
Ainsi, pour créer un utilitaire, il suffit de créer son interface graphique à l'aide de la bibliothèque d'élément en les assemblant tels un puzzle, puis de programmer à l'aide de VBScript les événements associés aux éléments de l'interface.
De par le nombre de composants fournis avec Visual Basic, les possibilités en terme d'interface graphique sont très grandes. D'autre part, les contrôles ActiveX, des composants actifs utilisables dans vos applications, permettent d'avoir accès à des fonctions avancées:
• accès à des bases de données • accès à des fonctionnalités réseau • accès à des fonctions d'entrée-sortie
Rapport du stage de premier année L’ONP (2005/2006) 24
II. SYSTÈME DE GESTION DE LA BASE DE DONNÉES UTILISÉE Vu la gestion performante des données assurée par le SGBD Access, et vu la simplicité de la connection VB_Access, on a choisi ce dernier comme SGBD et on a utilisé comme méthode de connection la méthode ADO (Activex Database object) qui est un composant ActiveX permettant d'accéder aux bases de données de façon beaucoup plus facile sans se soucier de tout ce qui est allocation des environnements de travail (cf. programmation avec la couche basse d'ODBC). ADO fournit des objets qui permettent de se connecter à une base et de réaliser des requêtes SQL sur cette base Exemple : Le code de remplissage du tableau de la page « gestion des services » : Voir annexe 1
Rapport du stage de premier année L’ONP (2005/2006) 26
Ce chapitre est réservé à illustrer le travail réalisé pendant le stage par des exemples des différents services assurés par l’application. I L’ARCHITECTURE DE L’APPLICATION Cette partie est consacrée à décrire l’architecture de l’application,
Identification (login, mot de passe)
Gestion des matériels
Changer le mot de passe
Gestion des courriers Gestion des interventions
Recherche
Mise à jour
Recherche
Mise à jour
Recherche
Mise à jour
Gestion des utilisateurs Gestion des intervenants
Recherche
Mise à jour
Gestion des services
Recherche
Mise à jour
Mise à jour
Recherche
Gestion des sociétés
Recherche
Mise à jour
Figure 4:L’architecture de l’application
Gestion des m
arques et des m
odèles
Rapport du stage de premier année L’ONP (2005/2006) 27
II LES SERVICES DE L’APPLICATION Dans cette partie, nous allons présenter les différents services assurés par notre application 2.1 Page d’accueil Vu l’importance de la sécurité dans le domaine de gestion, et vu que l’application sera utilisée par un seul utilisateur de l’ONP, on a prévu de la commencer par la page présentée ci-dessous, qui sert à identifier l’employé qui va travailler sur cette application :
Figure 5 : Page d’accueil Le mot de passe est enregistré dans une variable globale qui permet la mémorisation de ce dernier ainsi que sa modification. Dans le cas d’un faux mot de passe un message sera affiché pour demander de retaper ce dernier.
Rapport du stage de premier année L’ONP (2005/2006) 28
2.2 Page principale La figure ci-dessous présente la page principale de l’application
Cette page permet l’accès aux différents services grâce au menu qui contient le service « Mise à jour des entités », qui permet l’ajout et la modification et la suppression des utilisateurs, des services et des sociétés, et il contient aussi les services « Gestion Matériel », « Gestion des courriers » qui permettent la mise à jour des matériaux reçus et envoyés aussi bien que les courriers, et le service « Gestion des Interventions » qui permet la mise à jour des interventions effectuées sur les matériels par catégorie (interventions sur matériels informatique, interventions sur matériel électronique…….),ainsi que la gestion des intervenants, et le service « Etat de sortie » qui permet la visualisation et l’impression des données et finalement le menu de cette page contient l’option «Quitter » qui permet de quitter l’application.
Figure 6: Page principale
Rapport du stage de premier année L’ONP (2005/2006) 29
2.3 Réalisation du service Gestion Matériels Dans cette partie on va décrire le service « Gestion Matériel », qui permet la manipulation des matériels envoyés et reçus par catégorie. 2.3.1 Matériels reçus Pour la mise à jour des matériels reçus par la délégation de la part du siège, on a prévu un sous menu avec un lien pour accéder aux différentes options du service présenté dans la page ci-dessous à savoir « Gestion des materiels reçus »:
Figure 7: Gestion des matériels reçus
Rapport du stage de premier année L’ONP (2005/2006) 30
Après avoir choisi la catégorie du matériel à manipuler, un tableau se remplit à l’ouverture de cette page, et suit les mises à jour effectuées instantanément par les informations des matériels reçus. Nous avons trois opérations dans ce service : : « Nouveau » qui sert à insérer un nouveau matériel reçu dans la base et ceci en choisissant l’utilisateur correspondant et en entrant les différentes informations comme type du matériel, le numéro de série de ce matériel et son code à barre, ainsi que les autres informations correspondantes. Puis on valide cette opération grâce à l’option « valider » qui permet la validation des opérations déjà choisies. Dans le cas d’une nouvelle marque, d’un nouveau modèle ou d’un nouveau type de matériel le mot « new » qui existe dans la liste des marques, dans la liste des modèles et dans le combo de type de matériel nous envoi vers le service qui permet respectivement la mise à jour des marques, des modèles ainsi que la mise à jour des types de matériels qui seront détaillés plus tard, : « Modifier » qui permet la modification des informations du matériel en le choisissant par un click sur le tableau, pour que les zones textes et les autres composantes de l’interface se remplissent par les informations du matériel qu’on veut modifier. On le valide ensuite grâce à l’option « valider ». : « Supprimer » qui sert à supprimer un matériel en le choisissant par un click sur le tableau. Le service contient aussi l’option « retour » qui permet le retour à la page principale.
2.3.2 Matériels envoyés
La mise à jour des matériels envoyés se fait dans la page ci-dessous
Rapport du stage de premier année L’ONP (2005/2006) 31
La manipulation du matériel envoyé ce fait de la même façon que les matériels reçus, sauf que les informations à manipuler sont différentes. 2.4 Réalisation du service Gestion des Courriers Pour la réalisation de ce module, on a utilisé un modèle qui permet la saisie des informations sur les courriers, puis la validation de l’opération effectuée qui peut être « Nouveau », « modifier » et « supprimer ». Après avoir choisi le type de courrier, dans ce cas courrier reçu ou courrier envoyé, la page ci-dessous apparaît pour faire les mises à jour nécessaires
Figure8: Gestion des Matériels envoyés
Rapport du stage de premier année L’ONP (2005/2006) 32
Cette page contient aussi un tableau qui se remplit à son ouverture par les informations des courriers par type et qui suit les mises à jour effectuées instantanément et ceci grâce à une variable de commande qui permet la séparation entre les deux types de courriers. Ce service contient aussi les opérations suivantes : : « Nouveau » après avoir choisi cette option, l’employé de l’office national des pêches insère toutes les informations sur le courrier (utilisateur, date, description …) Qui seront sauvegardées dans la base de données, puis il valide l’action grâce à l’option « valider » : « Modifier » qui permet la modification des informations du courrier et ceci en le choisissant par une click sur le tableau pour que les zones de page se remplissent et puis on valide grâce a l’option « valide » : « Supprimer » qui sert à supprimer des courriers en le choisissant à partir du tableau. Ce service contient aussi l’option retour qui permet un retour à la page précédente.
Figure 9: Gestion des courriers
Rapport du stage de premier année L’ONP (2005/2006) 33
2.5 Réalisation du service Mise à Jour des Entités Ce service est très important puisqu’il permet des mises à jour sur des entités. Dans cette partie on va présenter les différentes options de ce service 2.5.1 Gestion des Utilisateurs Vu que l’age de travail est compris entre 22 ans et 60 ans, et vu la possibilité qu’un employé laisse sa place à un autre pour une cause ou pour une autre, alors la délégation doit faire les modifications et les suppressions nécessaires des utilisateurs, la figure ci-dessous présente la page qui permet les mises à jour sur les utilisateurs
Figure 10: Gestion des utilisateurs
Rapport du stage de premier année L’ONP (2005/2006) 34
Comme les autres services assurés par cette application, le service utilisateur contient plus que les opérations classiques à savoir : « nouveau », « modifier », « supprimer », « valider » et « retour », les opérations suivantes : : « Nouveau Service » qui est un lien entre le service « utilisateur » et le service « service », il permet la mise à jour des services de la délégation. 2.5.2 Gestion des services La page ci-dessous présente le service « service », qui permet la mise à jour des services de la délégation.
La manipulation de cette page se base sur le même principe que les autres pages de cette application, sauf qu’il y a un lien vers le service « utilisateur ». 2.5.3 Gestion des Sociétés La page ci-dessous présente le service « societe » qui permet la mise à jour des Sociétés des intervenants.
Figure 11: Gestion des services
Rapport du stage de premier année L’ONP (2005/2006) 35
De même que service « gestion des services », cette page contient les opérations de base ainsi que le service « Intervenant », et ce dernier est un lien entre cette page et celle des intervenants. 2.5.4 Gestion des Marques La page suivante présente le service « marque » qui permet la mise à jour des marques
Figure 12: Gestion des sociétés
Rapport du stage de premier année L’ONP (2005/2006) 36
2.5.5 Gestions des Modèles et des types du matériel Les pages qui permettent la mise à jour des deux services « gestion du type du materiel » et «gestion des modèles », sont identiques à celle du service « gestion des marques » décrit dans la partie précédente 2.6. Réalisation du service Gestion des Interventions Le service « Gestion des Interventions », qui est composé de deux sous services le sous service « gestion des intervenant », et le sous service « gestion des interventions », est très important vu l’indispensabilité de sauvegarde de l’historique de ces derniers. Dans cette partie en va présenter les deux sous service du service « Gestion des Interventions ».
Figure 13: Gestion des marques
Rapport du stage de premier année L’ONP (2005/2006) 37
2.6.1 Gestion des interventions Après avoir choisi la catégorie du matériel à réparer la page ci-dessous apparaît pour faire les opérations nécessaires
Ce sous service contient plus que les trois opérations classiques de l’application, et qui jouent d’ailleurs les mêmes rôles que dans les autres services, il contient le lien « Intervenant » qui nous envoie vers le sous service « gestion des intervenants » dans le cas ou l’intervenant n’a jamais fait une intervention avant. 2.6.2 Gestion des Intervenants
Figure 14: Gestion des interventions
Rapport du stage de premier année L’ONP (2005/2006) 38
Dans cette partie on va présenter le sous service « gestion des intervenants » qui sert à faire des sauvegardes des intervenants, la figure ci-dessous présente la page de ce sous service.
Figure 15: Gestion des intervenants Le sous service que nous sommes entrain de présenter contient les même options que le service « utilisateur », sauf que « gestion des intervenants » contient aussi un lien « Intervention » pour aller au sous service « gestion des interventions » 2.7. Etat de sortie Pour différentes raisons, plusieurs informations sur les matériels, les interventions et les courriers doivent être imprimés et c’est pour cela on a réalisé le service « état de sortie » qui permet la visualisation et l’impression des informations sur les courriers, des interventions ou sur les matériels par catégorie, selon un critère donné qui peut être la date, type ou l’utilisateur ou aussi par société pour les interventions, la page suivante présente ce service
Rapport du stage de premier année L’ONP (2005/2006) 39
Pour l’impression, seul le tableau qui contient les informations sera imprimé.
Figure 16: Etat de sortie
Rapport du stage de premier année L’ONP (2005/2006) 40
Au cours de ce stage, on a réalisé une application qui permet à l’Office National des Pêches la gestion des matériels, des courriers et des interventions. L’application réalisée sera utilisée par les employés de l’ONP, elle leur donnera la possibilité de consulter les matériels et les courriers reçus et envoyés et même les interventions effectuées. Mais malgré l’effort fourni, ce travail doit être complété afin d’aboutir à une application achevée qui gère plus que les matériels,les courriers et les interventions, les comptes et les documents et qui pourrait être utilement exploités par le l’office national des pêches. Ce stage nous a été d’un double apport, d’une part on a maîtrisé des outils de développement puissants à savoir VISUAL BASIC et SGBD ACCESS et on a pu aussi approfondir notre connaissance en matière de base de données. D’autre part, on a appris beaucoup de choses concernant le monde du travail en général et l’environnement de l’office national des pêches en particulier. Pendant cette période du stage, on a bénéficié d’un bon encadrement, ce qui nous a permis d’acquérir une bonne expérience professionnelle. Par ailleurs, nous estimons que le travail réalisé peut être complété par une informatisation des systèmes documentaires de l’ONP. Nous espérons que ce rapport sera d’un bénéfice pour tous ceux qui le consultent ainsi que pour l’office national des pêches.
Conclusion et perspectives
Rapport du stage de premier année L’ONP (2005/2006) 41
Bibliographie OUVRAGE Le guide du programmeur…………………………………. FRANTZ Gérard PRESENTATION La présentation de la structure l’ONP………………………..Mr.Blemkadem le Délégué adjoint de l’ONP LIBRAIRIE MSDN……………………………………………………..Librairie de Visual studio 6 Site Internet www.onp.co.ma ………………………………………………Le site officiel de l’ONP www.commentçamarche.com.................................................................................
Rapport du stage de premier année L’ONP (2005/2006) 42
ANNEXE 1 Le code de remplissage du tableau de la page « gestion des services » : Private cn As ADODB.Connection //déclaration d’une variable globale de //connection Dim r_service As New ADODB.Recordset // déclaration d’un recordset Dim j as integer Set cn = New ADODB.Connection cn.Open "DSN=gestion_documentaire" Set r_service.ActiveConnection = cn Set r_service.ActiveConnection = cn j = 1 GridService.Row = 0 GridService.Col = 0 GridService.Text = "Numero Service" GridService.Col = 1 GridService.Text = "Nom Service" r_service.Open " select * from service ", cn, adOpenKeyset // execution de la //requête SQL et un curseur pour //compter le nombre de ligne rendue GridService.Rows = r_service.RecordCount + 1 //nombre de ligne rendu+1= //nombre De ligne de la table Do While Not r_service.EOF //Boucle pour le remplissage de la table GridService.Row = j GridService.Col = 0 GridService.Text = r_service!NumService //extraire de la données GridService.Col = 1 GridService.Text = r_service!DescriptionService j = j + 1 r_service.MoveNext //Le pointeur pointe sur l’enregistrement qui suit Loop r_service.Close //fermeture de la recordset