Mon rapport

Page 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.

1


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

2


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.

3


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 AhmedDiouf 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.

4


Acronymes     

HTML : Hyper Text Markup Langage PHP : CSS : Cascading Style Sheets UML : Unified Modeling Language SGBD : Système Gestion Base de données

5


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....

6


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.

7


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.

8


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 :

9


CHEF DE SERVICE (STD)

ESGC (étude support de grand compte)

FAI (fournisseur accès Internet)

ADSL

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.

10


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 G E S T I O N P A R C A U T O M O B I L E

Module Taches

Les Différents taches Descriptions

Véhicule

Ajouter un nouveau véhicule Rechercher véhicule Statistique de véhicule Affectation véhicule Imprimer fiche identité véhicule Affectation du véhicule Enregistre nouvelle assurance Rechercher assurance Alerter délai expiration assurances Ajouter accident Rechercher accident Statistique Insérer une nouvelle révision Recherche des révisions Notifier la date prochaine révision Statistique par mois/annuel Envoyer au garage rechercher Statistique

Assurance

Accident

Révision

Garage

Durées en jours

5 jours

4 jours

4 jours

5 jours

5 jours

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

11


 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

12


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. .

13


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

14


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

15


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.

16


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.

17


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.

18


-

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.

19


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 :

20


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.

21


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.

22


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.

23


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

24


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

25


Cette interface permet d’afficher le formulaire de recherche

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

26


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

27


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

28


Cette interface permet d’afficher le formulaire de recherche

Cette interface permet d’afficher la liste des accidents

29


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.

30


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");

} ?>

31


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%" bgcolor="#FFFFFF">

border="0"

align="center"

cellpadding="0"

cellspacing="0"

<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>

32


<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:norepeat; 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">

33


<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 : ilyas@intnet.dj</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>

34


</div></td> </table> </td> </tr> </table> </body> </html>

35


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.