mon rapport
DESCRIPTION
ÂTRANSCRIPT
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.
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
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.
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.
5
Acronymes
HTML : Hyper Text Markup Langage
PHP :
CSS : Cascading Style Sheets
UML : Unified Modeling Language
SGBD : Système Gestion Base de données
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....
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.
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.
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 :
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
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
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
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.
.
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
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
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.
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.
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.
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.
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 :
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.
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.
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.
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
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
26
Cette interface permet d’afficher le formulaire de recherche
Cette interface permet d’afficher le résultat unitaire d’une révision
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
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
29
Cette interface permet d’afficher le formulaire de recherche
Cette interface permet d’afficher la liste des accidents
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.
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"); }
?>
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>
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 à 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">
34
<input name="pass" type="password" id="pass"
style="width:175px" onkeypress="capLock(event)" />
<!--<div id="divMayus" style="visibility:hidden">Caps Lock
Activé.</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é des modules suivants : <br />
- la gestion des profils, <br />
- la gestion de l'activité Internet, <br />
- la gestion de l'activité Mobile, <br />
- la gestion de l'activité 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érations selon les droits
d'accè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ère nomenclature du personnel de Djibouti Télécom a
été migrée ce matin, si vous rencontrez des problèmes de
connexion à l'Intranet, merci de me le faire savoir en appelant le 77 85 48 48.
</div></td>
</tr>
<tr>
<td colspan="2" class="Style2"> </td>
</tr>
</table>
<br />
</div></td>
</tr>
</table></td>
</tr>
</table>
35
</div></td>
</table>
</td>
</tr>
</table>
</body>
</html>