45
Royaume du Maroc Université Mohammed V - Souissi Ecole Nationale Supérieure d’Informatique et d’Analyse des Systèmes - E.N.S.I.A.S. Sujet : Automatisation du Tableau de Bord de la Division Régionale de Fès. Réalisé par : Mlle. EDDARIY ZAKIA Encadré par : Mr. BENTAJAR My Abdelhadi Année Universitaire : 2005-2006

Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Embed Size (px)

Citation preview

Page 1: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Royaume du Maroc Université Mohammed V - Souissi

Ecole Nationale Supérieure d’Informatique et d’Analyse des Systèmes

- E.N.S.I.A.S.

Sujet: Automatisation du Tableau de Bord de la Division Régionale de Fès.

Réalisé par: Mlle. EDDARIY ZAKIA

Encadré par : Mr. BENTAJAR My Abdelhadi

Année Universitaire : 2005-2006

مصعب البكدوري
Stamp
Page 2: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

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.

Page 3: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Je tiens à adresser mes plus vifs remerciements à la direction de l’ONE et en

particulier Mr. BENADAD, Chef de la Division De Distribution de Fès, pour m’avoir

permis d’accomplir mon stage au sein de l’ONE, et à mon encadrant Mr. BENTAJAR MY

Abdelahadi, Chef du service du contrôle de gestion, pour son soutien et son encouragement.

Ainsi je remercie Mr. HINDO, Chef de l’Agence de Distribution de Sefrou, pour ses

conseils et aides précieuses qui m’ont aidé à réaliser le travail demandé, et à tout le personnel

du service du contrôle de gestion, et à tout le personnel de la Direction Régionale de

Distribution de Fès pour leurs conseils et leurs aides qui m’ont permis de passer ce stage dans

les meilleurs conditions.

EDDARIY ZAKIA

Page 4: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Figure 1 :répertoire de base de IIS……...…………………………………………………… 16

Figure 2 :Ajouter index.php à IIS…………………………………………………………….17

Figure 3 :première connexion de l’utilisteur...………………………………………………..18

Figure 4 :erreur d’identification1……………………………………………………………..19

Figure 5 : erreur d’identification2…………………………………………………………….19

Figure 6 :erreur d’identification3……………………………………………………………..20

Figure 7 :éléments du tableau de bord………………………………………………………..21

Figure 8 :parcourir un fichier………….……………………………………………………..22

Figure 9 :le tableau de bord de la BT 1.……….……………………………………………..23

Figure 10:le tableau de bord de la BT 2……………………………………………………....24

Figure 11:le tableau de bord des clients NOUR………...……………………………………25

Figure 12 :consultation de la BT……………………………………………………………..26

Figure 13 :menu de la rubrique BT…………………………………………………………..26

Figure 14:menu de la rubrique MT …..……………………………………………………...27

Figure 15:menu de la rubrique période …...…………………………………………………27

Page 5: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Introduction……………………………………………………………………..........1

Chapitre 1 : Contexte général du projet………………………………………….......2

1.1.Présentation de l’Organisme d’accueil……………………...............................3

1.1.1. Présentation de l’Office National d’Electricité…………………….........3

1.1.1.1 Historique et mission……………………………………………....3

1.1.1.2 Organigramme…………………………………………………......4

1.1.2 Présentation de la Direction Régionale de Distribution de Fès……….....5

1.2. Présentation du sujet……………………………………………………….....6

1.2.1. Problématique……………………………………………………..........6

1.2.2. Objectifs…………………………………………………………...........6

1.2.3. Description…………………………………………………………......6

Chapitre 2 : Analyse et Conception…………………………………………………..8

2.1. Analyse des besoins………………………………………………………..9

2.2. Conception…………………………………………………………...........10

Chapitre 3 : Réalisation…………………………………………………………….15

3.1. Choix des outils du développement…………………………………….16

3.2. Interfaces………………………………………………………………..18

Conclusion…………………………………………………………………………………..29

Support technique…………………………………………………………………………...30

Glossaire………………………………………………………………………………….....38

Bibliographie………………………………………………………………………………..40

Page 6: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

1

Vu la diversité et la complexité des informations que les managers ont à gérer

aujourd’hui, l’utilisation de tableau de bord est devenue une nécessité. En effet, le tableau de

bord est un outil d’aide à la décision, puisqu’il met à la disposition des gestionnaires les

informations leurs permettant d’agir correctement, il permet de voir et analyser un très grand

nombre de données sans avoir à se perdre dans les informations en vrac. Il se présente sous

forme d’un ensemble d’indicateurs pertinents qui permettront d’avoir une vision globale et

rapide ainsi que les détails en cas de besoin.

C’est pour cette raison que l’automatisation du tableau de bord s’impose, puisque la

fiabilité de l’information est le facteur essentiel pour réussir tout travail de pilotage et de

décision, et la disponibilité de l’information à temps permet aux responsables d’engager les

actions correctes et les décisions nécessaires, afin, d’améliorer la situation présente pour

atteindre les objectifs.

Dans ce cadre s’inscrit le sujet du stage que j’ai effectué au sein de l’Office National

d’Electricité, et qui consiste à automatiser le tableau de bord de la Direction Régionale de

Distribution de Fès.

Le présent rapport se répartit en trois chapitres, le premier s’articule sur deux grandes

parties, à savoir la présentation de l’organisme accueillant, ONE, et celle du sujet. Le

deuxième est une analyse des besoins et les solutions apportées, et le dernier sera une

explication du travail réalisé. Le rapport s’achève par une conclusion qui met le point sur le

travail réalisé.

Page 7: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

2

Page 8: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

3

1.1 .Présentation de l’organisme d’accueil

1.1.1 Présentation de L’Office National de l’électricité

1.1.1.1 Historique et mission :

L’Office National de l’Electricité a été crée par Dahir en août 1963 et a été substitué à

la Société Electrique du Maroc à qui était confiée depuis 1924, la concession d’une

organisation de production, de transport et de distribution de l’énergie électrique. A cette date,

les usines de l’Energie Electrique du Maroc assuraient 90% de la production nationale.

L’ONE est un établissement public à caractère industriel et commercial, doté de la

personnalité civile et de l’autonomie financière et a été investi depuis sa création de

l’exclusivité de la production et du transport. Il assure également la distribution de l’énergie

électrique dans plusieurs provinces du royaume notamment en milieu rural. Les droits et

obligations de l’ONE sont définis dans un cahier de charge approuvé par décret en 1974,

lequel définit les conditions techniques, administratives et financières relatives à l’exploitation

des ouvrages de production, transport et distribution de l’électricité.

Ainsi, la production et le transport de l'énergie électrique sur le territoire national sont

assurés, depuis 1963, par l'Office National de l'Electricité (ONE), établissement public à

caractère industriel et commercial placé sous la tutelle administrative et technique du

Ministère de l'Energie et des Mines.

Page 9: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

4

1.1.1.2 Organigramme :

DIRECTEUR GENERAL Ahmed

NAKKOUCH COMITE DE DIRECTION

Directeur de Projet

Directeur Audit et

Organisation

Directeur Financier

Directeur

Ressources Humaines

Directeur Commercial et

Marketing

Directeur Communication et

Coopération

Directeur

Planification

Directeur Stratégie et Développement

Directeur Electrification

Rurale

Directeur Distribution

Directeur Transport

Directeur Production

Directeur Approvisionnements

et Marchés

Directeur Technique et

Ingénierie

Page 10: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

5

1.1.2 Présentation de la Division Régionale :

Pour chaque Direction, que ce soit de Production, du Transport ou de Distribution,

elle chapeaute un ensemble de Division situé dans plusieurs régions du royaume, et pour la

direction de Distribution,il y en a sept placées sur Casa , Fès , Kenitra , Mekhnès , Marrakech

, Agadir et Oujda.

La hiérarchie de chacune de ces Divisions et comme se suit :

Chef de Division

Service des Ressources Humaines

Service de sécurité

Département d’Appui informatique

Services techniques régionaux

Département Comptabilité Service de

Contrôle de Gestion

Les Agences De Distribution (AD)

Les Agences Commerciales (AC)

Le service du contrôle de gestion, où j’ai effectué mon stage, a été crée en 1994, et sa

création avait pour objectif d’assister les opérationnels pour atteindre les objectifs mis en

place.

Page 11: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

6

1.2 Présentation du sujet :

1.2.1 Problématique :

Le tableau de bord est un ensemble d’indicateurs permettant de comparer les

prévisions avec les réalisations, mais le point essentiel voire indispensable est la rapidité

d’édition du tableau de bord, qui emporte directement sur la précision.

Donc le problème qui s’impose est :

Comment accélérer l’édition du tableau de bord ? Pour pouvoir mesurer, analyser et

prendre les décisions correctives au bon moment, afin d’améliorer la situation actuelle.

1.2.2Objectifs :

L’objectif de stage que j’ai effectué au sein de l’ONE et précisément à la

Direction Régionale de Distribution de Fès (DRD) au service du contrôle de gestion est de

réaliser une application pour automatiser le tableau de bord de la DRD de Fès, et cette

application doit répondre aux exigences suivantes :

Automatiser le calcul effectué pour élaborer le tableau de bord que soit au niveau

des AD ou au niveau de la DRD.

Permettre l’échange des informations entre les AD situées à Fès, Missour, Taza,

Sefrou, Taounate, Al Hoceima et la DRD à l’aide du serveur.

Permettre à chaque responsable de consulter les informations qui lui sont propres et

de descendre dans les niveaux d’analyse.

1.2.3 Description :

Il s’agit d’une application intranet, où l’utilisateur doit s’identifier dès la

première page en transmettant son login et mot de passe au serveur qui se charge de les

accepter ou répondre par un message d’erreur si il y a une erreur d’identification,si

l’identification se passe correctement une session est affectée à l’utilisateur qui trouvera dès la

deuxième page les choix qui peut faire, à savoir élaborer le tableau de bord du mois en cours

ou consulter les informations des périodes antérieures selon les différents modes d’analyses

soient par agences ou communes,ou encore par usage. Dans la connexion on distingue deux

types d’utilisateurs, la DRD car elle peut consulter toutes les communes et les AC.

Page 12: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

7

Quant à chaque AD, elle ne peut que consulter les communes et les AC qui se trouvent dans

son territoire.

Page 13: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

8

Page 14: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

9

2.1 Analyse des besoins :

Le stage consiste à automatiser le tableau de bord de la DRD de Fès, afin

d’assurer la fiabilité de l’information, puisque chaque mois l’ONE élabore son tableau de

bord et pour faire celui–ci, il doit être élaboré au niveau de la plus petite entité à savoir L’AD

ensuite au niveau de la DRD, pour enfin pouvoir préparer le tableau de bord final de l’Office.

Et le premier problème que la DRD rencontre, c’est qu’elle doit attendre l’arrivée

des informations concernant chaque AD pour pouvoir élaborer son tableau de bord ce

qui entraîne un retard.

Le deuxième problème est que chaque AD effectue le calcul nécessaire pour éditer

son tableau de bord, et la DRD doit refaire le même travail afin d’élaborer le sien

contenant les informations propres à chaque AD, ce qui retarde son édition et réduit le

temps de disponibilité de l’information pour pouvoir comparer, analyser et décider

puisqu’il doit être envoyé au siège à casa.

Le troisième problème c’est que, non seulement,il n’y a pas une seule méthode de

calcul, mais en plus on risque de perdre les informations antérieures puisqu’elles ne

sont pas stockées dans une structure bien déterminée.

Donc l’application doit d’abord permettre le stockage des différentes

informations concernant chaque mois et année et pour chaque entité, automatiser les

calculs faits pour normaliser la méthode de calcul et assurer la validité de

l’information, sa crédibilité et sa fiabilité, et enfin assurer la disponibilité de toute

information recherchée et à chaque moment.

Page 15: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

10

2.2 Conception :

Donc pour pouvoir résoudre le problème du stockage des informations j’avais

besoin de concevoir une base de données.

J’ai donc procédé selon les étapes suivantes :

La première étape est d’énumérer les différentes informations dont chaque

entité responsable a besoin, ensuite comprendre la structure des fichiers dont ils

disposent et les méthodes de calculs,et j’ai pu conclure que le tableau de bord

s’articule sur deux grandes parties : la Basse tension (BT), qui elle-même

comprend d’autres éléments à savoir le BT hors NOUR¹, le PERG hors NOUR¹ et

enfin le NOUR¹ lui-même, et la deuxième la moyenne tension (MT),et chaque

élément de cette liste a sa propre méthode de calcul et ses propres informations qui

doivent être stockées,d’où la nécessite d’énumérer les différents attributs de

chaque élément que j’aurai besoin. Et j’ai pu donc tirer :

Pour le BT hors NOUR :

Commune : int.

Cd_Abonnee : char (5).

Tarif : int.

Nb_Abonnebt : int.

Vente_Kwbt : float.

Vente_cmbt : float.

Pour le PERG hors NOUR :

Ind_cto : char (8).

Tarif : int.

Cd_Abonnee : char (4).

Dossier : char (5).

Total_cons :float .

Mont_total :float .

¹ : pour toute explication des termes ci-dessus veuillez consulter le glossaire.

Page 16: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

11

Pour NOUR, il faut encore distinguer entre deux types d’informations qui sont

regroupées dans un seul fichier, la première concernant les nouveaux abonnées ainsi que les

résilies du mois en cours, et la deuxième concernant les ventes du mois en cours.

De ce fait, j’ai pu tirer :

Pour les abonnements du NOUR :

Commune : int.

Cd_art : char (4).

Nb_Abonnee : int.

Pour les ventes du NOUR :

Commune : int.

Cd_Art : int.

Cons_Kwh : float.

Cons_dh : float.

C’est ce qui concerne les informations dont il faut disposer pour la BT, et pour traiter la MT

il faut avoir les attributs suivants :

Commune : int.

Cd_Art : int.

Tarif : int.

Nb_Abonneemt : int.

Ventes_Kwhmt : float.

Ventes_cmmt : float.

La deuxième étape concerne la finalisation des attributs cités ci-dessus pour

pouvoir élaborer les tables de la base de données, et comme je l’ai signaler dans la

partie analyse, les informations insérées dans la base de données doivent être

différenciées selon le mois et l’année, pour pouvoir résoudre le problème des

pertes des informations et faciliter la recherche des informations, la consultation,

selon une période choisie par l’utilisateur, c’est pourquoi il s’avère indispensable

d’ajouter à tous les champs cités ci-dessus les attributs :

Mois : char (10).

Année : int.

Page 17: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

12

Pour obtenir les cinq tables suivantes :

la table analysebt :

Mois : char (10).

Année : int.

Commune : int.

Cd_Abonnee : char (5).

Tarif : int.

Nb_Abonnebt : int.

Vente_Kwbt : float.

Vente_cmbt : float.

La table PERG :

Mois : char (10).

Année : int.

Ind_cto : char (8).

Tarif : int .

Cd_Abonnee : char (4).

Dossier : char (5).

Total_cons : float.

Mont_total : float.

La table Nourabonnee :

Mois : char (10).

Année : int.

Commune : int.

Cd_art : char (4).

Nb_Abonnee : int.

La table Nourvente :

Mois : char (10).

Année : int.

Commune : int.

Cd_Art : int.

Cons_Kwh : float.

Cons_dh : float.

Page 18: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

13

Et enfin la table analysemt :

Mois : char (10).

Année : int.

Commune : int.

Cd_Art : int.

Tarif : int.

Nb_Abonneemt : int.

Ventes_Kwhmt : float.

Ventes_cmmt : float.

Comme on peut le constater, que l’attribut Commune apparaît dans chaque table, et

le pourquoi de la chose fait l’objet de la troisième étape de la conception.

La première chose que j’ai constaté lors de l’étude des fichiers concernant le

tableau bord, que dans ceux-ci il y a une seule information qui peut faire référence

a une région, c’est le code commune, et à partir de celui-ci il faut tirer les

informations concernant chaque AC (agences commerciales) et par la suite chaque

AD, et enfin celles de la DRD.

D’autre part, et comme j’ai signalé dans la partie objectifs du stage, que

l’application doit assurer la consultation des informations concernant chaque

utilisateur, et pouvoir les regrouper par commune, AC et enfin par AD.

Donc l’ajout d’une table où il y a la liste des communes avec leurs AC et AD

est indispensable, et pour ceci j’aurai besoin des attributs suivants :

Commune : int.

Cd_AC : char (6).

Cd_AD : char (6).

Lib_com : char (20).

Lib_AC : char (20).

Lib_AD : char (10).

Mais d’après ce que nous avons vu dans le cours de la base de données,

l’élaboration d’une base de données doit respecter les trois formes normales,ce qui va justifier

la quatrième étape.

Page 19: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

14

Pour pouvoir respecter les trois formes normales, la liste des attributs ci-dessus

va donner naissance à trois tables puisque à partir de l’attribut Commune on peut,

tirer le Cd_AC qui est unique pour une commune, et de ce dernier on peut tirer le

Cd_AD qui lui aussi unique pou une AC.

La table commune :

Commune : int. //la clé primaire

Lib_com : char (20).

Cd_AC : char (6).//clé étrangère

La table ac :

Cd_AC : char (6). //la clé primaire

Lib_AC : char (20).

Cd_AD : char (6). //clé étrangère

La table AD :

Cd_AD : char (6). //la clé primaire

Lib_AD : char (10).

En cinquième et dernière étape, j’ai crée une table connexion, car comme il est

signalé dans les objectifs l’application, elle doit être partagée dans le réseau, et une

fois un utilisateur est connecté, il doit s’identifier par un login et mot de passe, qui

seront envoyés au serveur, qui va tester leurs validités, d’où les attributs suivants :

La table connexion :

Login : char (10).

Mot_de_passe : char (7).

Donc, après toutes ces étapes j’ai pu crée la base de données que j’ai nommé

Tableau_de_bord, et qui contient 9 tables à savoir :

La table analysebt.

La table analysemt.

La table PERG.

La table Nourabonnee.

La table Nourvente.

La table commune.

La table ac.

La table ad.

Et enfin la table connexion.

Page 20: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

15

Page 21: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

16

3.1 Choix des outils de développement : Comme je l’ai déjà signalé que l’application, doit être partagée dans le réseau

local de la DRD, donc j’avais besoin d’un serveur web, enfin j’ai opté pour IIS (Internet

Information Services), pour le langage de programmation j’ai utilisé le PHP, et Java-script, et

comme système de gestion de bases de données (SGBD) MYSQL.

Donc, la première chose à faire, c’est configurer le IIS pour qu’il puisse lire et

interpréter le code écrit en PHP,et ajouter une interface pour pouvoir administrer MYSQL.

La réalisation de ceci demande deux étapes, bien sur après avoir installé PHP et

MYSQL :

la première c’est changer le répertoire de base du site web, pour ce faire

il faut ouvrir les propriétés de Site Web par défaut et aller sur

l'onglet Répertoire de base et changer le chemin d’accès local,on y

est mis le chemin complet du répertoire où se trouvent les pages PHP

du site :

Figure 1

Page 22: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

17

la deuxième étape consiste à ajouter l’extension PHP, pour que IIS puisse

interpréter les pages IIS, et ceci en allant dans les propriétés du Site

Web par défaut. Dans l'onglet Documents en cliquant sur Ajouter.

Après entrer index.php comme Nom de document par défaut.

Figure 2

Après, j’ai installé phpMyadmin, qui est une interface en PHP pour administrer MySQL.

Page 23: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

18

3.2 Interfaces :

Une fois connecté au site, l’utilisateur se trouvera devant une page où il doit

fournir son login et mot de passe, comme le montre la figure 3, pour pouvoir accéder à

d’autres pages :

Figure 3

Page 24: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

19

Si l’utilisateur ne saisie pas ces informations, et clique sur le bouton se connecter, une boite

de dialogue lui demandant de saisir ces informations apparaît, comme le montre la figure 4 :

Figure 4

Si maintenant, l’utilisateur a tapé son login sans mot de passe une autre boite s’affiche lui

signalant l’erreur commise :

Figure 5

Page 25: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

20

Le quatrième et dernier cas pour la vérification de la validité de la connexion est

lorsque l’utilisateur envoie au serveur un couple (login, mot de passe) invalide une page

apparaît comme la montre la figure 6 signalant une erreur :

Figure 6

Page 26: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

21

Après toutes ces étapes de vérification de la connexion, et après une connexion

valide, une session est affectée à l’utilisateur,qui se trouvera devant une page lui offrant les

différents choix qu’il a, ce qui est explicité dans la figure 7 :

Figure 7

Le premier volet concerne l’élaboration du tableau du bord du mois en cours

avec les différents éléments qui le compose à savoir BT, MT, PERG, et NOUR, et le

deuxième volet concernant la consultation des résultats des périodes passées.

Page 27: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

22

Par exemple si l’utilisateur a choisi le premier volet et exactement l’élément

Portefeuille BT pour élaborer le tableau de bord de celui-ci la page suivante s’affiche :

Figure 8

Dans cette page, il y a les champs réservés aux fichiers qui doivent être parcourus pour

insérer les informations dans la base de données.

Page 28: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

23

Après que cette opération soit effectuée, le bouton « Générer » amène l’utilisateur à la

page du tableau de bord dans ce cas de la BT, et la première des choses vérifiées est que les

données que l’utilisateur veut insérer ne sont pas déjà insérées dans la base de données, si

c’était le cas un message signalant ceci apparaît, et bien sûr les information ne seront pas

insérées :

Figure 9

Page 29: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

24

Dans cette page, il y a quatre tableaux le premier concerne les clients trimestriels, le

deuxième pour le portefeuille BT du mois en cours, et le troisième représente une

comparaison entre Décembre dernier et le mois en cours, et enfin le dernier représente

l’évolution nette du portefeuille de l’année précédente et l’année en cours, comme le montre

la figure 10 :

Figure 10

Je signale que ce que je viens de décrire pour le tableau de bord BT reste valable

pour celui du MT, et du PERG.

Page 30: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

25

Seulement pour celui du NOUR qui nécessite un traitement différent, la forme est

aussi différente, mais la page concernant le parcours des fichiers est la même, et elle sous la

forme :

Figure 11

Ceci concernant le traitement d’élaboration du tableau du bord, pour la deuxième

partie de l’application, qui la consultation, l’utilisateur peut consulter et comparer les

différentes informations qui lui sont propres.

Page 31: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

26

Par exemple si l’utilisateur choisi l’élément « Ventes d’énergie » la page suivante

s’affiche :

Figure 12

Dans celle-ci, il trouvera les différents modes de consultation qu’il peut faire, après le

choix d’une parmi eux, il trouvera le tableau de bord du mois en cours avec une barre où il y a

tous les choix qu’il veut,c'est-à-dire consulter par commune ou par AC, ou AD :

Figure 13

Page 32: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

27

Figure 14

Et pour le menu période il trouvera les différentes périodes qu’il peut consulter a savoir le mois en cours, le mois précèdent, l’année en cours ou encore l’année précédente, comme le montre la figure 15 :

Figure 15

Page 33: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

28

Et il faut signaler que lorsque l’utilisateur est dans la partie concernant la MT,

donc le choix d’une période implique l’affichage des informations concernant celles de la

MT, par exemple s’il est dans la page MT/commune lorsqu’il clique sur une période, les

données s’affichent par commune de la période choisie…

Cette remarque s’applique aussi à la rubrique usage qui se trouve dans la BT et la

MT.

Je signale aussi que l’utilisateur ne peut pas accéder à une page en tapant son URL,

car dans chaque page il y a un code par lequel je vérifie est ce que l’utilisateur était identifié

ou non.

Remarque : pour savoir plus de détails sur le code des fonctions utilisées veuillez consulter le

support technique.

Page 34: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

29

Le monde de travail dans l’entreprise est différent de celui dans l’école. Puisque ce dernier est basé sur la théorie, et on ignore l’importance des informations qu’on acquit dans celle-ci. Par contre à l’entreprise cette théorie est pratiquée puis développée selon les besoins. Donc, pour bien gérer des notions en théorie il suffit de les pratiquer afin de pouvoir les comprendre.

A la fin du stage, j’ai réussi à accomplir le travail dont j’étais chargée de faire.

Ce stage m’a permis, sur le plan technique, de raffiner ma formation, puisque j’ai pu

connaître d’autres outils informatiques, découvrir les aspects organisationnels de l’entreprise

accueillante, et d’autre part sur le plan humain, de développer des nouveaux rapports avec

les membres du personnel, et pouvoir communiquer avec ces derniers qu’il que soit le poste

qu’ils occupent.

Page 35: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

30

Page 36: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

31

1. Code de la fonction vérifiant l’insertion de tous les paramètres du formulaire

Je signale que avant tout et au début de la première page je dois déclarer le début d’une

session en écrivant la ligne :

<? session_start();

?>

1.1 Le code du bouton « se connecter »

< input type="submit" name="Submit" value="&nbsp;&nbsp;Se connecter&nbsp;&nbsp;&nbsp;"

OnClick="verify (login, psswd)" >

1.2 Le code de la fonction verify (login, psswd)

<SCRIPT LANGUAGE="JavaScript"><!--

Function verify (login, psswd)

{

if (login.value == "") //on vérifie si l’utilisateur a bien saisie son login

{

alert(" Veuillez s'identifier SVP et merci"); //le message qui s’affiche

return false;

}

if(psswd.value=="") //on vérifie si l’utilisateur a bien saisie son mot se passe

{

alert(" Veuillez saisir votre mot de passe");

return false;

}

return true; //si l’utilisateur a bien saisie tous ses paramètres

}

//--> </SCRIPT>

Page 37: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

32

2. verification de la validité du couple (login,paswd)

<? php

session_start();

if ( isset($_POST['login'])) //je vérifie si le login est envoyé

{$login = $_POST['login'];//je déclare des nouvelles variables où je stocke le login

// Et le mot de passe envoies par le formulaire

$psswd=$_POST ['psswd'];

$_SESSION['login'] = $login;// je déclare une session apportant le nom de la variable

// $login

session_register($_SESSION['login']);//on enregistre le nom de la session pour pouvoir

//l’utiliser par la suite

print('<p align="center" class="Style1">'.'Bonjour' . "$login".'</p>');}}

else{

echo '<p align="center" class="Style1">Désolé!'.'&nbsp;'.'&nbsp;'.'vous devez

s\'identifier </p>';

exit();}//si l’utilisateur a tapé seulement l’url de la page sans s’identifie sa

//demande est rejetée.

?>//je signale que ce code est inséré dans chaque page pour pouvoir garder la

//trace de l’objet session et verifier que l’utilisateur a été identifié.

<?

mysql_connect ('localhost','root','') or die("erreur de connexion au serveur");//connexion au

//serveur

mysql_select_db('tableau_de_bord') or die("erreur de connexion a la base de

données");//connexion à la base de données

$query="select Lib_AD,mot_de_passe from connexion where Lib_AD= '$login' and

mot_de_passe= '$psswd'"; // on cherche dans la table connexion s’il y a un utilisateur possédant

//le couple ($login, $psswd')

$res=mysql_query($query);

If (!mysql_fetch_row($res))//si le résultat est nul donc il y a une erreur dans les informations

//saisies

Page 38: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

33

{echo '<div align="center"><font color="#FF0000" size="+2" face="Times New Roman,

Times, serif">Erreur de connexion </font></div>';

echo'<div align="center"><font color="#FF0000" size="+1" face="Times New Roman, Times,

serif">Votre login et mot de passe ne sont pas valides</font></div>';

}

else{

echo'<div align="center"><font color="#FF0000" size="+2" face="Times New Roman, Times,

serif">Succès! </font></div>';}

?>

Page 39: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

34

3. Code du formulaire permettant de parcourir les fichiers a inséré dans la base de

données

<form method="POST" ACTION="tabbt.php" enctype="multipart/form-data">

<p align="center"> <span class="Style1">Fichier 1:</span>&nbsp;

<input type="file" name="fibt[]"></p>

<p align="center"> <span class="Style1">Fichier 2:</span>&nbsp;

<input type="file" name="fibt[]"></p>

<p align="center"> <span class="Style1">Fichier 3:</span>&nbsp;

<input type="file" name="fibt[]"></p>

<p align="center"> <span class="Style1">Fichier 4:</span>&nbsp;

<input type="file" name="fibt[]"></p>

<p align="center"> <span class="Style1">Fichier 5:</span>&nbsp;

<input type="file" name="fibt[]"></p>

<p align="center"> <span class="Style1">Fichier 6:</span>&nbsp;

<input type="file" name="fibt[]"></p>

<p align="center"> <span class="Style1">Fichier 7:</span>&nbsp;

<input type="file" name="fibt[]"></p>

<br />

<input type="submit" value=" G&eacute;n&eacute;rer ">

</p>

</form>

Je tiens à signaler que les fichiers parcourus sont des fichiers dbase (.dbf) donc pour

pouvoir tirer les informations de ces fichiers et les traitées il faut des fonctions adaptées pour

ceci,puisque les fichiers dbase sont un type de fichiers de base de données.

Donc,dans la suite je vais expliciter le code utilisé pour tirer les informations des

fichiers de la BT.

<? session_start();

if(isset($_SESSION['login']))

{

$login=$_SESSION['login'];

Page 40: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

35

session_register($_SESSION['login']);

print('<p align="center" class="Style1">'.'Bonjour' .'&nbsp;'.'&nbsp;'. "$login".'</p>');

$filbt =$HTTP_POST_FILES ['fibt']; //on stocke dans la variable $filbt, qui est un tableau,

// les fichiers parcourus dans la page précédente

}

else{print('<div align="center"> <span class="unnamed1">Désolé!'.'&nbsp;'.'&nbsp;'.'vous

devez s\'identifier'.'</span> </div>');

exit();}

?>

<?

$cp=0;

$months=array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","

Octobre","Novembre","Décembre");

$mois_courant = date("m");

$A_courante = date(" Y");

$mois_cr=$months[$mois_courant-2];

count($filbt);//on calcule le nombre des fichiers parcourus

mysql_connect('localhost','root','') or die("erreur de connexion au serveur");

mysql_select_db('tableau_de_bord') or die("erreur de connexion a la base de donnees");

if($login=="DR FES") //on teste si les informations que l’utilisateur veut insérer ne sont pas

//dans la base de données.

{$query4="SELECT * FROM `btvente`, `ac` ,`commune`,`ad`

where (btvente.Commune=commune.Commune)and (commune.Cd_AC=ac.Cd_AC) and

(ac.Cd_AD=ad.Cd_AD) and (btvente.mois=' $mois_cr') and (btvente.Annee= '$A_courante') ";}

else{$query4="SELECT * FROM `btvente`, `ac` ,`commune`,`ad`

where (btvente.Commune=commune.Commune)and (commune.Cd_AC=ac.Cd_AC) and

(ac.Cd_AD=ad.Cd_AD) and (ad.Lib_AD= '$login') and (btvente.mois='$mois_cr') and

(btvente.Annee='$A_courante') ";}

$result=mysql_query($query4);

if (!mysql_fetch_row($result)){//les informations ne sont pas dans la BD.

while($cp<=count($filbt))

{if($filbt['name'][$cp]!=""){

Page 41: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

36

$file[$cp]= 'C:\application\www\intranet'.'/'."bt[$cp]".'.'.'dbf';

copy($filbt['tmp_name'][$cp],$file[$cp]);//on copie les fichiers

$db[$cp] =dbase_open("bt[$cp].dbf", 0); //on ouvre la base de données pour la lire

if ($db[$cp]) {//on teste est ce que la BD est bien ouverte.

$record_numbers[$cp] = dbase_numrecords($db[$cp]);//on compte le nombre de champs dans la

//bases de données

for ($i = 1; $i <= $record_numbers[$cp]; $i++) {

$row = dbase_get_record_with_names($db[$cp], $i);//on stocke dans le tableau $row les

//champs

$a=trim($row['CD_ABONNE']);//on lit les champs dont on aura besoin dans la suite

$b=trim($row['COMMUNE']);

$c=trim($row['TARIF']);

$d=trim($row['NB_ABONNE']) ;

$e=trim($row['CONS_1TR']) ;

$f=trim($row['CONS_2TR']) ;

$g=trim($row['CONS_3TR']) ;

$h=trim($row['CONS_4TR']) ;

$ii=trim($row['MONT_1TR']) ;

$j=trim($row['MONT_2TR']) ;

$k=trim($row['MONT_3TR']) ;

$l=trim($row['MONT_4TR']) ;

$m=trim($row['MONT_MNA']) ;

$res1=$f+$e+$g+$h;

$res2=$ii+$j+$k+$l+$m;

if (($row['TARIF'] == 0)||($row['TARIF'] == 1)||($row['TARIF'] == 3)||($row['TARIF']

== 7)||($row['TARIF'] == 8)||($row['TARIF'] == 11)||($row['TARIF'] == 13)||($row['TARIF'] ==

15)||($row['TARIF'] == 18)||($row['TARIF'] == 19)||($row['TARIF'] == 21)||($row['TARIF'] ==

28)||($row['TARIF'] == 31)||($row['TARIF'] == 41)||($row['TARIF'] == 48)||($row['TARIF'] ==

90))

{

mysql_query("insert into analyse values('$mois_cr',

'$A_courante','$a','$b','$c','$d','$res1','$res2');");}

Page 42: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

37

}}

echo "<font color=red>FICHIERS COPIENT AVEC SUCC&Egrave;S !</font><br /><br />";

}

$cp++; }

}

else{

echo '<p> le fichier que vous voulez parcourir est déjà parcouru!</p>';}

//si les informations sont déjà dans la base de données on envoie un message signalant ceci.

?>

Page 43: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

38

Page 44: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

39

BT : la basse tension, les clients BT, sont ceux utilisant 110V-220V.

MT : la moyenne tension, les clients MT, sont ceux utilisant 3600V.

NOUR : est un nouveau type de paiement que l’ONE a conçu,et les clients NOUR ou

bien les clients Prépaiement,sont des clients possédant des cartes rechargeables qu’elles

doivent recharger pour pouvoir consommer l’électricité,ce type de clients est essentiellement

basé dans les milieux ruraux.

PERG : Programme d’Electrification Rurale Générale, le programme qu’a commencé

l’ONE au 1997 et qui a pour objectif faire bénéficier tout le milieu rural de l’électricité, et par

la suite les bénéficiers de ce programme sont appelés les clients PERG.

AC : Agence Commerciale, c’est la plus petite entité dans la hiérarchie de l’ONE.

AD : Agence de Distribution, qui chapeaute plusieurs AC.

Page 45: Sujet Automatisation du Tableau de Bord de la Division ... · PDF filed’édition du tableau de bord, qui emporte directement sur la précision. Donc le problème qui s’impose est

Rapport de stage Septembre 2005

40

MOHAMED LAARIBI, Le contrôle de Gestion dans les entreprises Marocaines,

1997,327 p.

L’ONE (auteur) ,40 ans d’ONE l’énergie d’un pays en mouvement, 2003.

www.one.org.ma/presentation.

www.one.org.ma/noshommes.

www.developpez.com/php.

www.developez.com/serveurweb.

www.commentcamarche.net/javascript.

www.commentcamarch.net/php.