mon rapport

35
1 AVANT-PROPOS Comme toute choix de carrière ou d’étude, le choix de poursuivre mes études jusqu’aux DEUG était primordial pour moi. De ce fait un stage est vraiment nécessaire pour avoir la base préliminaire dans ce domaine. Ce document est issu du stage de deuxième année et présenté le travail que j’ai pu effectuer du 05 février 2015 au 05 mars 2015 dans le cadre de l’obtention du diplôme DEUG Informatique. J’ai eu la chance d’effectuer un stage avec Mr.Ilyas Souleiman sur la réalisation d’une application intranet en PHP/MySQL qui permet la gestion du parc automobile de DJIBOUTI TELECOM S.A. Mon but consiste à mettre en place une application web pour gérer le parc automobile de cette société. Afin d’améliorer et d’optimiser la performance et la qualité de l’application. Vous trouverez le résultat donc dans ce rapport, le résultat d’un stage que je qualifierai à la fois de formateur et d’enrichissant à titre personnel.

Upload: abdoulfatah

Post on 02-Aug-2016

347 views

Category:

Documents


16 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Mon rapport

1

AVANT-PROPOS

Comme toute choix de carrière ou d’étude, le choix de poursuivre mes études jusqu’aux

DEUG était primordial pour moi. De ce fait un stage est vraiment nécessaire pour avoir la

base préliminaire dans ce domaine.

Ce document est issu du stage de deuxième année et présenté le travail que j’ai pu effectuer

du 05 février 2015 au 05 mars 2015 dans le cadre de l’obtention du diplôme DEUG

Informatique.

J’ai eu la chance d’effectuer un stage avec Mr.Ilyas Souleiman sur la réalisation d’une

application intranet en PHP/MySQL qui permet la gestion du parc automobile de DJIBOUTI

TELECOM S.A.

Mon but consiste à mettre en place une application web pour gérer le parc automobile de

cette société. Afin d’améliorer et d’optimiser la performance et la qualité de l’application.

Vous trouverez le résultat donc dans ce rapport, le résultat d’un stage que je qualifierai à la

fois de formateur et d’enrichissant à titre personnel.

Page 2: Mon rapport

2

Table des matières

Avant-Propos ........................................................................................................................ 1

Résumé .................................................................................................................................. 3

Remerciement ....................................................................................................................... 4

Acronymes ........................................................................................................................... 5

Introduction générale ............................................................................................................ 6

PARTIE I. Présentation de l'entreprise ......................................................................... 7

I.1 Historique ............................................................................................................. 8

I.2 Présentation Général ............................................................................................ 8 I.3 Secteur d'activité .................................................................................................. 8 I.4 Fiche d'identité de l'entréprise ............................................................................. 9

I.5 Organigramme de DJIBOUTI TELECOM .......................................................... 9 I.6 Role de DJIBOUTI TELECOM ........................................................................ 11

PARTIE II. Etude Préliminaire .................................................................................... 12

II.1 Présentation du Projet ...................................................................................... 12

II.1.1. Planifications des tâches ........................................................................... 12

II.1.2. Résultats attendués .................................................................................. 12

II.1 Analyse des bésoins ......................................................................................... 13

II.2.1. Cahier de charges ..................................................................................... 13

II.2.2. Choix Méthode d'Analyse ....................................................................... 13

PARTIE III. Conception de l'application .................................................................... 15

III.1 Diagramme de Cas d'Utilisatin ........................................................................ 15

III.2 Diagramme de Classe ...................................................................................... 18

PARTIE IV. Réalisation de l'application .................................................................... 18

IV.1 Technologies utilisés ...................................................................................... 19

IV.2 Implémentation de la Base de données .......................................................... 23

IV.2 Interface graphique ......................................................................................... 23

Conclusion générale ................................................................................................ 31

Annexes .............................................................................................................................. 32

Page 3: Mon rapport

3

Résumé

Ce rapport présente le compte rendu d’un mois de stage effectués à DJIBOUTI TELECOM S.A.

dans le cadre de ma formation en DEUG Informatique. Ma mission était de concevoir et de

réaliser une application web intranet de gestion du parc véhicule des DJIBOUTI TELECOM.

Ce rapport présente la méthodologie suivie pour la conception et l’implémentation de cette

application. Le projet a été réalisé en plusieurs phases. Chaque étape est décrite dans ce rapport, de

la conception à la réalisation. Ce rapport présente également, les difficultés rencontrées ainsi que

les solutions apportées tout au long de ce projet. L’application a été développée en PHP, d’autres

langages ou technologies ont naturellement été utilisés, comme HTML ou CSS, afin de rendre

l'application agréable et simple d’utilisation. Ce stage, riche sur le plan technique, m’a permis

d’intégrer une grande société et de travailler sur différentes étapes d’un projet informatique.

SUMMARY

This report presents the report of a month of internships made in DJIBOUTI TELECOM Inc.

within the framework of my training (formation) in VHFRQG\HDU UNIVERSITY DIPLOMA.

My mission was to conceive (design) and to realize an intranet Web application of management of

the parking vehicle for DJIBOUTI TELECOM. This document presents the methodology

followed for the conception (design) and the implementation of this application. The project was

realized in several phases. Every stage is described in this report (relationship), of the conception

(design) in the realization. This report (relationship) also presents, the difficulties met as well as

the solutions were brought throughout this project. The application was developed in PHP, other

languages or technologies were naturally used, as HTML or CSS, to return the pleasant and easy

to use application. This training course, rich on the technical plan, allowed me to integrate (join) a

big company (society) and to work on various stages of an IT project.

Page 4: Mon rapport

4

Remerciements

Avant tout commencement du rapport stage, louange à Allah, Seigneur de l’univers qui m’a

facilité le bon déroulement de stage pour une période d’un mois et qui m’a permis la rédaction de

ce rapport.

En premier temps, je remercie Mr Ahmed Hassan Miganneh, Directeur Administratif (DA),

pour m’avoir accepté en tant que stagiaire.

Je tiens à remercier aussi Monsieur Bourhan Abdoulkader Bourhan, Directeur global Solution

(DGS), pour son accueil en m’affectation un département en fonction de mon orientation

métier professionnelle après avoir eu un entretien avec lui.

En bref, je souhaite remercier sincèrement à notre honorable chef de département Ahmed-

Diouf Dirieh Dibad et à notre doyen Hassan Ali par leurs aides et à nous retrouver un très bon

lieu de travail de développement web.

Je tiens à remercier tout particulièrement mon maitre de stage, Mr Ilyas Souleiman, pour

m’avoir pris en charge, confié des tâches, fait confiance, conseillé, encouragé qui m’ai permis

de progresser sans cesse durant ce mois de stage.

Enfin, je remercie toute l’équipe pédagogique de l’université de Djibouti et les intervenants

professionnels responsables de la formation DUT INFO (DUT : Diplôme Universitaire et

Technologique, INFO: Informatique), pour avoir assuré la partie théorique de celle-ci.

Page 5: Mon rapport

5

Acronymes

HTML : Hyper Text Markup Langage

PHP :

CSS : Cascading Style Sheets

UML : Unified Modeling Language

SGBD : Système Gestion Base de données

Page 6: Mon rapport

6

Introduction Générale

La formation en DUT Informatique se complète par un stage en entreprise d’un mois. Celui-ci

constitue une étape obligatoire pour l’obtention du diplôme.

Pendant la période du 05/02/2015 au 05/03/2015, j’ai effectué un stage conventionné au sein

de DJIBOUTI TELECOM dans le département DATA avec mon maitre de stage M. Ilyas

Souleiman, Développeur web.

Ce stage avait pour objectifs de me faire découvrir le monde de développement web, qui

m’ont permis de mettre en pratique et d’évaluer mes connaissances théoriques déjà acquises,

ainsi que de confirmer ma future orientation.

Plus largement, ce stage a été l’opportunité pour moi d’appréhender le langage PHP, le

langage SQL avec MySQL.

Au-delà d’enrichir mes connaissances sur la programmation et le développement web, ce

stage m’a permis de comprendre le métier webmaster (développeur web) que j’ai eu

l’opportunité de s’orienter dans mon futur parcours professionnel.

Ce rapport de stage m’amène en tant qu’étudiant à mettre en adéquation ma réflexion en matière

d’un projet informatique.

Mon projet consiste la réalisation d’un intranet permettant la gestion du parc automobile.

L’intranet est devenu de plus en plus un outil indispensable en entreprise. Un intranet bien conçu

est un excellent outil (ou un véritable support) de communication et de diffusion de l’information

au sein d’une entreprise, il permet de mettre à disposition des informations à l’ensemble de

l’entreprise et de les mettre à jour en temps réel.

De nombreuses entreprises possèdent au moins un intranet de communication interne, c’est le cas

de DJIBOUTI TELECOM, l’entreprise d’accueil de mon stage.

Or, la conception d’un intranet pose plusieurs questions comme la nature des informations à

traiter, les personnes qui vont être concernées ou encore la sécurité. Pour répondre à ces questions

il faut prendre en compte plusieurs critères.

C’est donc tout le processus et la problématique de la mise en place d’une application intranet que

j’ai pu découvrir dans le cadre de mon stage de deuxième année d’une durée d’un mois.

Dans ce rapport nous allons voir les différentes phases de la conception d’un tel projet, les étapes

de réalisation et les solutions apportées à la mise en application d’une application intranet.

Ce rapport est divisé en plusieurs parties. En premiers lieux je vous présenterai l’entreprise

DJIBOUTI TELECOM, et l’étude préalable mène sur la création de cet intranet, puis la

conception de l’intranet, ensuite la réalisation de l’intranet, enfin nous vous dresserons un bilan

personnel de ce stage....

Page 7: Mon rapport

7

Partie I : Présentation de l’entreprise

I.1. Historique

La loi n.13 /AN /98 me du 11 mars 1998 portant réforme du secteur des postes et des

télécommunications a décidé la séparation des branches des postes et des Télécommunications de

l’Office des Postes et des Télécommunications en créant deux sociétés Distinctes et autonomes : la

société « Poste de Djibouti » et la société « Djibouti Télécom ».

Suite à cette loi, La société Djibouti Télécom a été créée le 20 septembre 1999 de la fusion du

service des Télécommunications de l’Office des Postes et Télécommunications (OPT) et de la

Société des Télécommunications Internationales de Djibouti (STID).

Les deux sociétés dissoutes ont ? été liquidé et leurs patrimoines respectifs transférer.

Djibouti Télécom.

De ce fait, Djibouti Télécom constitue le seul opérateur de télécommunications à Djibouti.

I.2. Présentation Général

Aujourd’hui, Djibouti Télécom S.A. est chargé de gérer les activités des télécommunications de

l’Ex-opt (Office de postes et de télécommunications dont la création remonte à 1957) et de celle

de la Société des Télécommunications Internationales de Djibouti (STID).

Elle est aussi dirigée par un directeur général.

Djibouti Télécom a un capital Social de 4 milliards de FD et son chiffre d'affaires est de 4.3

milliards Fdj. Elle a 10.000 nombres de lignes principales. Son taux de mémorisation pour la

commutation est de100% avec un effectif de 850.

Elle a le statut juridique d'une société anonyme et son capital est détenu.

Djibouti Télécom S.A. est un opérateur autonome de droit privé, détenant le monopole une

télécommunication national et international sur l’ensemble du territoire djiboutien

I.3. Secteur d’activité

Djibouti Télécom a mené les activités des télécommunications réalisées auparavant par la STID et

la partie télécommunication de l’Ex-opt, en utilisant l’outil d’exploitation de cette dernière.

Elle offre des services de télécommunications de qualités accessibles aux usagers privés et

particuliers.

Djibouti Télécom propose des services dans le domaine des télécommunications fixes et mobiles.

L'activité majeure de Djibouti Télécom est d’offrir des services de télécommunications de qualité

et accessible à tous. Djibouti Télécom SA, c’est surtout un éventail de produits adaptés aux

besoins de ses clients EN vendant ses produits tels que :

connexion RTC. (Par ligne téléphonique classique avec modem).

Liaison spécialisée (Liaison permanente 24H/24 H, Débit de 64 Kbits/s ou 128Kbits/s).

Djibouti Télécom se répond aux attentes de ses clients du secteur professionnel et des particuliers

en rendant des services comme :

garantir un accès équitable au service des télécommunications

Conception, développement et hébergement de site web

Réservation et location de nom de domaine

de garantir à tous (particuliers et professionnels) qui en font la demande, l’accès

aux différents services de téléphonie: Fixe, Mobile et Internet dans des bonnes

conditions et à un prix abordable.

Page 8: Mon rapport

8

I.4. Fiche d’identité de l’entreprise

RAISON SOCIALE : DJIBOUTI TELECOM

SIEGE SOCIAL: BOULVARD GEORGE POMPIDOU

TEL: 253 35.11.10 BP: 2105

SITE WEB OFFICIEL : http://www.djiboutitelecom.dj/

STATUT JURIDIQUE : Société A Responsabilité Limitée(SARL), Société d’économie mixte

CAPITAL : 4 000 000 000 Fdj

DATE DE CREATION : 20 septembre 1999

ADRESSE : 3, Bd G. Pompidou – République de Djibouti

SECTEUR D’ACTIVITE : Production et commercialisation de toutes les opérations de

télécommunications

EFFECTIF : 1220000 employés (200 Fonctionnaires et 120000 Conventionne)

LOGO :

I.5. Organigramme Djibouti Telecom

Djibouti Télécom SA est gérée par un directeur général, Mr. MOHAMED ASSOWEH

MOHAMED.

Conformément à l’article 3 de la loi n°13/AN/98/4ème L du 11 mars 1998 la société “Djibouti

Télécom S.A.” est administrée par un conseil d’administration de sept membres.

La nomination des administrateurs se fait par un décret conseille sous la direction du ministre

charges des Télécommunications. Le mandat d’administrateur est gratuit, sans préjudice du

remboursement sur justificatifs par la société, des frais exposés pour l’exercice dudit mandat.

Le conseil d’administration doit investir des pouvoirs étendus pour agir au nom de la société

dans les limites de l’objet social. Le conseil d'administration élit parmi ses membres un

président du conseil d’administration pour une durée prédéfini à des conditions strictes telles

que l'éligibilité et la limite d'âge. Cette élection est faite à la première réunion du conseil.

Page 9: Mon rapport

9

Département DATA (mon lieu de projet)

J’ai effectué mon stage dans le service DATA de Djibouti Telecom. Ce département se subdivise comme suit :

Page 10: Mon rapport

10

I.6. Rôle Djibouti Telecom

Au niveau national, Djibouti Télécom SA est un partenaire clé de grands événements

économiques, sportifs, sociaux et culturels en y apportant son savoir-faire technologique, en

fournissant les conditions de travail optimales ainsi à tous ceux qui organisent, encadrent et

relaient ces événements. Bref, Djibouti Télécom est perçu comme acteur indispensable au

développement économique du pays.

Au niveau régional, Djibouti Télécom SA est considéré comme le point d’interconnexion entre les

pays d’Afrique de l’Est, Centrale et du Sud vers l’Europe, le Moyen-Orient et l’Asie. C’est-à-dire,

elle constitue naturellement la voie de transit des communications de l’ensemble des pays de

l’Afrique de l’Est, Centrale et du Sud : Réseaux vers la Somaliland, Réseaux vers l’Éthiopie, Le

câble sous-marin régional Aden-Djibouti, Le câble sous-marin Easy,…etc.

Au niveau international, Djibouti Télécom S.A. entretient des relations directes avec plusieurs

pays et suit les règles de l’Union Internationale des Télécommunications (UIT).

Point de chute des câbles sous-marins d’interconnexion entre l’Europe et l’Asie, Djibouti Télécom

constitue la voie de transit des communications de l’ensemble des pays de l’Afrique de l’Est,

Centrale et du Sud.

Grâce au positionnement géostratégique exceptionnel de notre pays, Djibouti Télécom SA est

aussi une société à vocation internationale point de chute des câbles sous-marins d’interconnexion

entre l’Europe et l’Asie.

D’après tous ces facteurs, Djibouti Télécom permet de rendre est Djibouti un véritable hub de

télécommunication au service de la région.

Enfin, Djibouti Télécom SA se développe aux niveaux national et international.

CHEF

DE

SERVICE

(STD)

ESGC (étude support de grand compte)

FAI (fournisseur accès Internet)

ADSL

Page 11: Mon rapport

11

Partie II : Etude Préliminaire

II.1 Présentation du Projet

Le projet concerne la réalisation d’un intranet intitulé «la gestion du Parc automobile». Il

s’agit de créer un intranet qui va permettre au Département d’approvisionnement et

Logistique(DAL) de gérer la répartition des véhicules de Djibouti Télécom entre les différents

départements et leurs types d’affectation (véhicule de service, véhicule de fonction).

Sachant que l’unique contrainte étant l’utilisation du langage PHP pour développer

l’application avec une base de données sous MySQL. Cet intranet a pour objective de

résoudre les problèmes liés à la gestion des véhicules de Djibouti Telecom.

II.1.1 Planification des taches

Nom du Projet Module Les Différents taches

G

E

S

T

I

O

N

P

A

R

C

A

U

T

O

M

O

B

I

L

E

Taches Descriptions Durées

en

jours

Véhicule Ajouter un nouveau véhicule

5 jours

Rechercher véhicule

Statistique de véhicule

Affectation véhicule

Imprimer fiche identité véhicule

Affectation du véhicule

Assurance Enregistre nouvelle assurance

4 jours Rechercher assurance

Alerter délai expiration

assurances

Accident Ajouter accident

4 jours Rechercher accident

Statistique

Révision Insérer une nouvelle révision

5 jours Recherche des révisions

Notifier la date prochaine révision

Statistique par mois/annuel

Garage Envoyer au garage

5 jours rechercher

Statistique

II.1.2 Résultat Attendues :

L’objectif de mon programme est de faciliter au département DAL :

L’affectation des véhicules (service, fonction) entre les différents départements et

leurs dirigeants ;

Un suivi du visite technique(ou de l'entretien) des véhicules

Page 12: Mon rapport

12

la gestion des suivie des accidents rencontrés

suivi d’utilisation des véhicules

II.2 Analyse des besoins

II.2.1 Cahier des charges :

La rédaction du cahier des charges s’est déroulée en plusieurs étapes. J’ai d’abord effectué

quelques entretiens avec mon tuteur de stage, puis le cahier des charges se complétera au fur

et à mesure de la réalisation du projet, suite aux demandes des futurs utilisateurs.

L’analyse des besoins répond à ces questions : l’intranet pour qui ? L’intranet pour quoi

faire ? Quelles sont les fonctionnalités de l’intranet ?

Pour réaliser l’analyse des besoins sans se préoccuper de l’intranet existant, j’ai fait cette sur

des discussions “informelles pour récolter un maximum d’informations.

Il faut donc mettre en place toutes les fonctionnalités qui permettent de bien répondre ces

besoins.

Pour cela, j’ai tout d’abord défini les besoins fonctionnels de l’application. Cinq fonctions

principales ont été définies :

la gestion de véhicule : ajout d’un nouveau véhicule, affectation de véhicule,

modification des informations sur le véhicule, recherche, etc.

la gestion des assurances : nouvelle assurance, mise à jour des assurances, etc.

la gestion des révisions des véhicules : nouveau révision, mise à jour des révisions,

modification, etc.

, la gestion des garages : L’atelier du garage a pour tâche essentielle des entretiens des

Véhicules à savoir les révisions et les pannes d’auto et les achats

des pièces détachées, insertion des véhicules en pannes,

modification et recherche des véhicules en pannes;

Suppression

la gestion des accidents : enregistrement des nouveaux accidents, modification, etc.

Finalement plusieurs détails et exigences sont venus compléter le cahier des charges tout au

long du projet, notamment la génération de fiches de suivi imprimables et la sauvegarde des

données sous forme d’exportation de fichiers

II.2.1 Choix Méthode d'Analyse:

La réalisation d'un intranet doit être impérativement précédée d'une méthodologie d'analyse et de

conception qui a pour objectif de permettre de formaliser les étapes préliminaires du

développement d'un intranet afin de rendre ce développement plus fidèle aux besoins du client.

Dans le monde, les langages de la programmation sont majoritairement des langages orientés

objet. En informatique, une chose du monde réelle est représentée comme un objet.

J’ai choisi une méthode objet pour modéliser mon projet.

Sachant qu’une méthode objet est donc :

d'une part une méthode d'analyse du problème (afin de couvrir

toutes les facettes du problème),

d'autre part un langage permettant une représentation standard

stricte des concepts abstraits (la modélisation) afin de constituer

un langage commun

Page 13: Mon rapport

13

Une méthode objet permet de définir le problème à haut niveau sans rentrer dans les

spécificités d'un langage.

Une méthode objet consiste à créer une représentation informatique des éléments du monde

réel auxquels on s'intéresse, sans se préoccuper de l'implémentation, ce qui signifie qu’une

méthode objet est indépendant d'un langage de programmation en déterminant les objets

présents et d'isoler leurs données et les fonctions qui les utilisent.

Pour cela, parmi les méthodes objets, j’ai précisément sélectionné UML.

Voici les justifications de choix d’UML :

D’abord, UML se définit comme suit :

Unified Modeling Language est un langage unifié de modélisation objets.

C'est avant tout un formalisme graphique issu de notations employées dans trois méthodes objets

(OOSE, OMT et BOOCH).

UML utilise l'approche objet en étant un langage de description universel.

UML n'est pas une méthode car elle ne présente aucune démarche.

A ce titre UML est un formalisme de modélisation objet. Donc si j’utilise parfois le mot

méthode dans ce document, alors ça ne doit pas être entendu comme une "démarche".

Voici les raisons de me choix :

Son indépendance par rapport aux langages de programmation, aux domaines d'application

et aux processus, alors UML est un langage universel.

Sa notation graphique permettant d'exprimer visuellement une solution objet, ce qui facilite

la comparaison et l'évaluation de solutions.

L'aspect formel de sa notation, limite les ambiguïtés et les incompréhensions

Le fait que mon besoin est le développement d’un intranet = développement objet

C'est donc avec beaucoup d'intérêt que j’ai pris connaissance de mon choix d’utiliser UML

comme langage de modélisation(ou comme méthode d’analyse) est un très bon choix pour

illustrer la conception générale ou de modéliser la conception détaillée et l'implémentation.

.

Page 14: Mon rapport

14

Partie III : Conception de l’application

L’étude de la conception est la phase la plus importante du cycle de développement d’un

système informatique.

On a subdivisé le projet en plusieurs sous-systèmes pour minimiser les problèmes éventuels

tout en rendant la conception beaucoup plus claire.

Sachant qu’UML permet grâce à un ensemble de diagrammes très explicites, de représenter

l'architecture et le fonctionnement des systèmes informatiques complexes en tenant compte

des relations entre les concepts utilisés et l'implémentation qui en découle...

III.1 Diagramme de cas d’utilisation:

Les scénarios des cas d’utilisations

Page 15: Mon rapport

15

Fonctionnalité : Gérer des véhicules

Acteur : Administrateur

Evénement déclencheur : l’authentification de l’administrateur

Scénario nominal :

1. l’administrateur se connecte par son login et mot de passe.

2. L’administrateur enregistre un nouveau véhicule

3. l’administrateur affecte le véhicule à un agent

4. le système valide la mise à jour avec succès.

5. l’administrateur se déconnecte.

Fonctionnalité : Gérer des accidents

Acteur : Administrateur

Evénement déclencheur : lorsqu’un accident a eu lieu

Scénario nominal :

1. l’administrateur se connecte par son login et mot de passe.

2. L’administrateur enregistre les données concernant l’accident le système valide la

mise à jour avec succès.

3. le système valide la mise à jour avec succès.

4. l’administrateur se déconnecte

Page 16: Mon rapport

16

Fonctionnalité : Gérer des révisions

Acteur : Administrateur

Evénement déclencheur : lorsque la révision d’un véhicule est expirée

Scénario nominal :

1. l’administrateur se connecte par son login et mot de passe.

2. L’administrateur sélectionne le véhicule dont la révision a expiré le système valide la

mise à jour avec succès.

3. l’administrateur met à jours la révision du véhicule.

4. le système enregistre la mise à jour

5. l’administrateur se déconnecte

Fonctionnalité : Gérer des assurances

Acteur : Administrateur

Evénement déclencheur : lorsque l’assurance d’un véhicule est expirée

Scénario nominal :

1. l’administrateur se connecte par son login et mot de passe.

2. L’administrateur sélectionne le véhicule dont le véhicule a expiré

3. l’administrateur met à jours l’assurance du véhicule.

4. le système enregistre la mise à jour.

5. l’administrateur se déconnecte

Fonctionnalité : Gérer des ateliers mécanique

Acteur : Administrateur

Evénement déclencheur : lorsqu’il y a une présence d’un panne automobile ou bien

lorsqu’un automobile est envoyé au garage soit par la visite entretien du véhicule (révision

régulier) soit par la suite d’un accident.

Scénario nominal :

1. l’administrateur se connecte par son login et mot de passe.

2. L’administrateur enregistre l’envoie d’un nouveau véhicule dans le garage

3. le système valide la mise à jour avec succès.

4. l’administrateur se déconnecte

5. le cas d’utilisation se termine avec succès.

Page 17: Mon rapport

17

III.1 Diagramme de classe:

Partie IV : Réalisation de l’application

IV.1 Technologie utilisé :

IV.1.1 EasyPHP

Le programme EasyPHP permet d’exécuter PHP sur un PC. Il permet également de

gérer des bases de données MySQL. J’ai donc utilisé cet outil afin de développer mon

intranet.

EasyPHP propose un ensemble d'applications permettant de faire fonctionner des

scripts PHP en local grâce au serveur Apache, c'est-à-dire sans avoir à se connecter à un

serveur externe sur Internet. Il peut tout à fait être comparé aux logiciels WAMP ou XAMPP,

qui sont des équivalents.

EasyPHP est un environnement de développement composé de deux serveurs : un

serveur Web Apache et un serveur de base de données MySQL. De plus, il possède un

interpréteur de scripts (PHP) et d’un module d'administration SQL nommé PhpMyAdmin.

Page 18: Mon rapport

18

EasyPHP s'adresse autant aux Webmasters qu'aux personnes désirant apprendre le langage

PHP et de tester cela en toute sécurité.

En fait, EasyPHP est une application qui regrouper tous les logiciels dont nous avons besoin

pour utiliser PHP/MYSQL.

EasyPHP avec la version 1.8 inclut :

- APACHE 1.3.33 : serveur HTTP

- PHP 4.3.10: moteur de scripts

- MYSQL 4.0.15 : c’est un SGBDR, gratuit et disponible sur la plate-forme

Windows.

- PHP MyAdmin 2.6.1: c’est une interface web complète et conviviale pour

administrer les bases de données MYSQL.

Aperçu de EasyPHP 1.8:

IV.1.1 2. Le langage de développement

J’ai développé cet intranet en PHP avec la gestion d’une base de données MYSQL, en

effet une page HTML est statique et n’offre aucune interactivité avec l’internaute.

a) Le HTML

HTML (Hyper Text Markup Langage) est un langage qui formalise l’écriture d’un

document avec des balises de formatage indiquant la façon dont doit être le document

présenté et les liens qu’il établit avec d’autres documents.

Quand un internaute veut visiter un site web, il tape l’adresse du site et la page s’affiche,

mais entre-temps que s’est-il passé ?

Pour comprendre ce mécanisme, il y’a une notion fondamentale à connaître : les

relations entre clients et serveur.

Page 19: Mon rapport

19

- le client : un poste informatique qui est doté d’un système d’exploitation et

d’un navigateur internet. Ex : Internet Explorer, Netscape, Firefox…etc.

- Le serveur web : une machine généralement très puissante tout le temps

connecté à Internet (connexion très rapide). Il contient dans son disque dur

les sites web et dès qu'un client demande à voir une page web, il la lui

envoie.

En HTML, les pages possèdent l’extension .html, ex : page.html

Ce schéma illustre la communication entre un serveur web et un client :

Il y’a 2 étapes :

1 : Le navigateur envoie l’adresse URL et demande à voir une page HTML, ex :

page.htm

2 : le serveur lui répond en lui envoyant la page demandée (page.htm).

La consultation des pages html se fait à l’aide de ces deux étapes mais pour la

consultation des pages PHP, une autre étape s’ajoute entre les deux étapes.

b) Le PHP

PHP est un langage de programmation libre. Il est très plébiscité, et est mis à

jour régulièrement par une communauté très active. Il est très aisé à mettre en place

même sous Windows, généralement à l'aide de kits comprenant le serveur web

Apache, le langage PHP et la base de donnée Mysql couplée au gestionnaire graphique

PhpMyAdmin. La syntaxe du langage provient de celles du langage C, du Perl et de

Java.

Ses principaux atouts sont :

La gratuité et la disponibilité du code source (PHP4 est distribué sous licence

GNU GPL) ;

La simplicité d'interfaçage avec des bases de données (de nombreux SGBD sont

supportés, mais le plus utilisé avec ce langage est Mysql, un SGBD gratuit disponible sur

les plateformes Unix, Linux, et Windows) ;

la possibilité d'inclure le script PHP au sein d'une page HTML

Pour la consultation des pages PHP une autre étape vient s’ajouter entres les deux

dernières étapes.

Page 20: Mon rapport

20

1 : Le navigateur envoie une adresse URL et demande à voir une page en PHP

2 : Le serveur n'envoie pas tout de suite la page au client, Il la génère.

En effet, le client n'est pas capable de lire une page PHP (seul le serveur peut le lire). Le client

ne peut lire que des pages HTML. Donc, le serveur transforme les pages PHP en pages

HTML pour que le client puisse la lire.

3 : une fois que la page est générée, la page ne contient que codes HTML et le serveur

l’envoie au client.

Cette étape de génération de la page est très importante car les ordinateurs des clients ne

savent pas lire le code PHP : ils ne connaissent que le HTML. C'est donc au serveur de

transformer le code PHP en HTML.

IV.1.1 1. Le serveur APACHE et Serveur MySQL

a) Le serveur http

Il existe principalement deux serveurs web :

- IIS (Internet Information Server) : qui est intégré au système d’exploitation

de Windows ;

- Apache : qui est un serveur web complet, très performant, distribué librement

et possède un code source libre

J’ai choisi d’utiliser le serveur APACHE qui est très performant sur la plateforme

Windows.

Le serveur APACHE est un produit du package EASYPHP,

b) Le serveur MySQL

SGBDR est un système ou un logiciel de gestion de base de données relationnel.

SGBDR permet à stocker et à partager des informations dans une base de données, en

garantissant la qualité, la pérennité et la confidentialité des informations, tout en cachant la

complexité des opérations

MySQL est un Système de Gestion de Bases de Données Relationnel (SGBDR) fonctionnant

sous Linux et Windows fournit avec le package EASYPHP.

Ce schéma illustre le fonctionnement de MYSQL :

Page 21: Mon rapport

21

Lorsqu’un client veut poster un message sur un forum d’un site web.

Le navigateur envoie l’adresse URL au serveur :

1 : Le serveur recherche le fichier et s’il porte une extension laissant supposer que la page

contient du PHP (tel que .php, .php3 etc…) alors le serveur va le transmettre à PHP.

2 : Par la suite PHP analyse et exécute le code présent dans le fichier. S’il contient des

requêtes vers une base de données alors PHP va envoyer la requête SQL à MYSQL.

3 : MYSQL exécute les requêtes SQL et transmet le résultat à php.

4 : PHP va donc exécuter tout le code de la page et renvoyer le fichier (qui ne contient donc

plus de PHP) au serveur web.

Finalement le serveur web retourne au client (au navigateur) un fichier ne contenant que du

HTML.

Page 22: Mon rapport

22

IV.2 Implémentation de la Base de Données:

La base de données MySQL doit être préalablement créée de manière manuelle sur votre

hébergement qui vous donnera les renseignements nécessaires: nom du serveur, le login et le

mot de passe d'accès. A la création, cette base de données est vide.

IV.2 Les Interfaces Graphiques:

L’application que j’ai développée se décompose en quatre menus majeurs qui répondent

toutes les besoins de la direction de la société (Djibouti Telecom).

Ces quatre menus sont les suivent :

Menu Gestion des véhicules;

Menu Gestion des accidents;

Menu Gestion des révisions;

Menu Gestion des garages ;

1. Interface d’Authentification

Cette interface permet la connexion des administrateur et des utilisateurs.

Page 23: Mon rapport

23

2. Interface du Menu Véhicule

Cette interface permet de gérer la gestion des véhicules en affectant des véhicules (service,

fonction).

Cette interface est le résultat de recherche par lot des véhicules entre deux dates d’acquisition.

Page 24: Mon rapport

24

Cette interface permet l’ajout d’un nouveau véhicule :

Cette fenêtre les ajouts ou l’affichage des paramètres des véhicules.

3. Interface du Menu Assurance

Cette interface permet le formulaire d’ajout et celle de la rechercher des assurances

Page 25: Mon rapport

25

Cette interface nous affiche liste des assurances en cours

4. Interface du Menu Révision

Cette interface permet l’affichage de liste des révisions en cours

Page 26: Mon rapport

26

Cette interface permet d’afficher le formulaire de recherche

Cette interface permet d’afficher le résultat unitaire d’une révision

Page 27: Mon rapport

27

5. Interface du Menu Garage

Cette interface permet d’ajouter un véhicule dans le garage

Cette interface permet d’afficher la formulaire de recherche des garages

Page 28: Mon rapport

28

Cette interface affiche la liste des garages après une recherche par lots des garages

6. Interface du Menu Accident

Cette interface permet d’afficher le formulaire d’ajout d’un nouveau accident

Page 29: Mon rapport

29

Cette interface permet d’afficher le formulaire de recherche

Cette interface permet d’afficher la liste des accidents

Page 30: Mon rapport

30

Partie IV : Conclusion Générale

Au cours de ce stage j’ai acquis des connaissances en programmation et en méthodologie de

projet. En programmation, j’ai maitrisé le langage PHP, la modélisation UML et MySQL

comme SGBD. D’autre part, je retiendrai de ce stage le côté méthode et organisation de

projet. Avec ce stage, j’ai appris à quoi ressemble une méthodologie de projet, et ce que cela

implique (délais, suivi, tests, etc.). Ce que j’ai appris de la formation DUT INFO2 et qui m’a

servi dans les différents projets, c’est la connaissance du langage PHP et de la notation UML.

En effet, cette dernière m’a permis de saisir facilement les différents diagrammes sous

WINDESIGN et le langage PHP m’a permis de développer les fonctionnalités de l’application

(création d’interfaces, etc.) assez rapidement.

Les apports du stage au niveau du projet professionnel :

Ce travail s’est étendu sur une durée d’un mois au cours desquelles j’ai appris a bien

m’organiser et gérer le temps dont je disposais afin d’accomplir ma tâche avant le délai. En

outre ce stage a été une bonne occasion pour s’habituer à la vie au sein de l’entreprise, qui est

très différente du climat dans les établissements universitaires. Au cours de cette expérience

professionnelle, j’ai démontré mon aptitude à m’adapter à tout type de tache ainsi que mes

capacités d’organisation. De plus j’ai su rapidement m’intégrer dans un nouvel environnement

de travail. J’ai essayé tout au long de la réalisation de ce projet d’assurer un équilibre entre

structuration du recueil des données, ergonomie logicielle et efficacité du traitement de

l’information. Ainsi la portabilité des données, sans oublier la sécurité et la confidentialité des

données.

Page 31: Mon rapport

31

Partie IV : Annexes

Script login.php :

<?

include ('connexionsbd/connexionhrm.php');

if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {

extract($_POST);

// on recupère le password de la table qui correspond au login du visiteur

$sql = "select * from badge, departement where badge.CodeDep=departement.CodeDep and

LoginUtilisateur='".$login."'";

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_assoc($req);

if($data['PasswordUtilisateur'] != $pass) {header("Location: indexErreur.php");}

else {

session_start();

$_SESSION['LoginUtilisateur'] = $login;

$_SESSION['Matricule'] = $data['Matricule'];

$_SESSION['Nom'] = $data['Nom'];

$_SESSION['DesDep'] = $data['DesDep'];

$_SESSION['CodeDep'] = $data['CodeDep'];

$_SESSION['Fonction'] = $data['Fonction'];

$_SESSION['Vehicules'] = $data['Vehicules'];

$_SESSION['Pannes'] = $data['Pannes'];

$_SESSION['Assurances'] = $data['Assurances'];

$_SESSION['Garage'] = $data['Garage'];

$_SESSION['Revisions'] = $data['Revisions'];

$_SESSION['Accidents'] = $data['Accidents'];

$_SESSION['DotationCarburant'] = $data['DotationCarburant'];

$lien = $data['LienParDefaut'];

header("Location: $lien");

// header("Location:

Internet/ConnexionsADSL/index.php?Choix=Connexions&Tri=NumTel");

}

}

else {header("Location: indexErreur.php"); }

?>

Page 32: Mon rapport

32

Script index.php <? php

session_start();

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

{

session_destroy();

unset($_SESSION['login']);

}

include("generalites.php");

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title><? echo $titreintranet; ?></title>

<LINK REL="SHORTCUT ICON" HREF="Images/favicon.ico">

<link href="Styles/style.css" rel="stylesheet" type="text/css" />

<SCRIPT LANGUAGE="JavaScript">

function affichage_popup(nom_de_la_page, nom_interne_de_la_fenetre)

{

window.open (nom_de_la_page, nom_interne_de_la_fenetre, config='height=400, width=500,

toolbar=no, menubar=no, scrollbars=yes, resizable=no, location=no, directories=no,

status=no')

}

</SCRIPT>

</head>

<body>

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"

bgcolor="#FFFFFF">

<tr>

<td height="59" valign="center" bgcolor="#EEF1F2" class="Style6">INTRANET

DJIBOUTI TELECOM </td>

<td width="72%" colspan="-1" valign="center" bgcolor="#EEF1F2"><div

align="right"><div class="outer">

<ul id="menu">

<li><a href="#nogo"><img src="Images/Administration.png"/><span><b

class="h2">ADMINISTRATION</b><br />Administration de l'Intranet</span></a></li>

<li><a href="#nogo"><img src="Images/Achat.png"/><span><b

class="h2">ACHAT</b><br />Gestion du processus d'achat</span></a></li>

<li><a href="#nogo"><img src="Images/ParcAuto.png"/><span><b class="h2">PARC

AUTO</b><br />Gestion du parc automobile</span></a></li>

<li><a href="#nogo"><img src="Images/Formation.png" /><span><b

class="h2">FORMATION</b><br />Gestion du centre de formation</span></a></li>

Page 33: Mon rapport

33

<li><a href="#nogo"><img src="Images/HRM.png"/><span><b class="h2">HRM</b><br

/>Gestion administrative des Ressources Humaines</span></a></li>

<li><a href="#nogo"><img src="Images/Fixe.png"/><span><b class="h2">FIXE</b><br

/>Aspects techniques et commerciaux du Fixe</span></a></li>

<li><a href="#nogo"><img src="Images/GSM.png"/><span><b class="h2">GSM</b><br

/>Aspects techniques et commerciaux du Mobile</span></a></li>

<li><a href="#nogo"><img src="Images/Internet.png"/><span><b

class="h2">INTERNET</b><br />Aspects techniques et commerciaux de

l'Internet</span></a></li>

<li><a href="#nogo"><img src="Images/Profil.png"/><span><b

class="h2">PROFIL</b><br />Eléments concernant l'utilisateur</span></a></li>

</ul>

</div></div></td>

</tr>

<tr>

<td height="401" valign="top" colspan="2"><div align="center">

<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">

<tr>

<td height="401"><table width="45%" border="0" align="center" cellpadding="5"

cellspacing="1" style="border-width:1px; border-color:#0B2A75; border-style:solid">

<tr>

<td height="251" valign="top" bgcolor="#FFFFFF" style="background-repeat:no-

repeat; background-position:bottom; background-position:left"><span

class="Style7">Connexion &agrave; l'INTRANET </span><br />

<br />

<div align="justify">

<table width="100%" border="0" cellspacing="1" cellpadding="0">

<tr>

<td width="32%"><img src="Images/j_login_lock.jpg" /></td>

<td width="68%" style="background-image:url(Images/Globe.png);

background-repeat:no-repeat; background-position:center"><div align="center">

<table width="75%" border="0" bgcolor="#A9BAF9" align="center"

cellpadding="2" cellspacing="1" style="filter: alpha(opacity=90);

-moz-opacity: 0.9;

-khtml-opacity: 0.9;

opacity: 0.9;">

<form id="form1" name="form1" method="post" action="login.php">

<tr height="19">

<td bgcolor="#FFFFFF" class="Style3"><div align="right">Login :

</div></td>

<td width="123" bgcolor="#FFFFFF" class="Style3">

<div align="left">

<input name="login" type="text" id="login" style="width:175px"/>

</div></td></tr>

<tr height="19">

<td bgcolor="#FFFFFF" class="Style3"><div align="right">Mot de

passe :</div></td>

<td bgcolor="#FFFFFF" class="Style5">

<div align="left">

Page 34: Mon rapport

34

<input name="pass" type="password" id="pass"

style="width:175px" onkeypress="capLock(event)" />

<!--<div id="divMayus" style="visibility:hidden">Caps Lock

Activ&eacute;.</div>-->

</div></td>

</tr>

<tr>

<td height="19" colspan="2" bgcolor="#FFFFFF"><div align="right">

<input name="Submit" type="submit" class="Style3"

value="Connexion" />

</div></td>

</tr>

</form>

</table>

</div></td>

</tr>

<!--<tr>

<td colspan="2" class="Style2"><div align="justify">L'Intranet est

compos&eacute; des modules suivants : <br />

- la gestion des profils, <br />

- la gestion de l'activit&eacute; Internet, <br />

- la gestion de l'activit&eacute; Mobile, <br />

- la gestion de l'activit&eacute; Fixe, <br />

- la gestion administrative des Ressources Humaines,<br />

- la gestion du centre de formation, <br />

- la gestion du parc auto,<br />

- la gestion du processus d'achat.<br />

<br />

L'utilisateur pourra effectuer ces op&eacute;rations selon les droits

d'acc&egrave;s dont il dispose.<br />

<br />

Pour vos commentaires, vos suggestions : [email protected]</div></td>

</tr>-->

<tr>

<td colspan="2" class="Style2"><div align="justify" class="Style61">La

derni&egrave;re nomenclature du personnel de Djibouti T&eacute;l&eacute;com a

&eacute;t&eacute; migr&eacute;e ce matin, si vous rencontrez des probl&egrave;mes de

connexion &agrave; l'Intranet, merci de me le faire savoir en appelant le 77 85 48 48.

</div></td>

</tr>

<tr>

<td colspan="2" class="Style2">&nbsp;</td>

</tr>

</table>

<br />

</div></td>

</tr>

</table></td>

</tr>

</table>

Page 35: Mon rapport

35

</div></td>

</table>

</td>

</tr>

</table>

</body>

</html>