Collecte des données métiers et constitution d'un entrepôt centrale

45
2012/2013 Faculté des sciences Ben M’sik Département de mathématiques & informatique Sciences Mathématiques et Informatiques SMI Coordonnateur : M. HANOUNE

Transcript of Collecte des données métiers et constitution d'un entrepôt centrale

Page 1: Collecte des données métiers et constitution d'un entrepôt centrale

2012/2013

Faculté des sciences Ben M’sik

Département de mathématiques & informatique

Sciences Mathématiques et Informatiques

SMI

Coordonnateur : M. HANOUNE

Page 2: Collecte des données métiers et constitution d'un entrepôt centrale

1

Je dédie ce travail,

Comme preuve de respect,

De gratitude, et de reconnaissance

À ma chère famille, pour son affection, sa patience, et ses prières.

À Mes meilleurs amis pour leur aide, leur temps, leur encouragements, leur assistance et

soutien.

À mes enseignants qui m’ont aidé à améliorer mes connaissances en me donnant

informations et conseils.

Spécialement à Mme Benabou et Monsieur Hatim Joundi pour leur aide, leurs conseils

et leur accompagnement durant les 3 mois de stage.

À tous ceux qui ont contribué de près ou de loin à la réalisation de ce travail.

Merci infiniment.

Page 3: Collecte des données métiers et constitution d'un entrepôt centrale

2

D'abord, je voudrais remercier toute la direction Unified Systems de

m'avoir accueilli au sein de leur honorable société et de m'avoir confié ce

projet.

J’adresse mes sincères remerciements à Madame Fouzia Benabou,

Professeur à la faculté des sciences Ben M’Sik, qui n’a cessé de m’encourager et

de me guider avec ses précieux et judicieux conseils tout au long de la période

de préparation de ce projet.

Je remercie également Mr Hatim Joundi, ingénieur d’état en informatique

et ex-enseignant d’informatique, pour son encadrement et son dévouement le

long du déroulement de toutes les séances d’encadrement, et également pour

ses conseils pour le pilotage du projet.

Un grand merci pour tous les responsables de la licence informatique au

niveau de la faculté des sciences Ben M’Sik.

Je suis très reconnaissant à toute personne ayant contribué de près ou

de loin à l’élaboration de ce travail.

Je tiens, notamment, à exprimer ma gratitude aux membres du Jury pour

avoir accepté de juger mon travail.

Page 4: Collecte des données métiers et constitution d'un entrepôt centrale

3

Dans l’optique de poursuivre mes études tout en entrant dans la vie

active, j’ai fait le choix de préparer un stage en entreprise. C’est donc ainsi que

j’ai pu décrocher un stage dans une entreprise de développement à Casablanca:

UNIFIED SYSTEMS.

L’avantage de ce stage est de cumuler les connaissances théoriques avec

celles de la pratique. Ceci permet également de rentrer dans la vie active et de

découvrir plus précisément le milieu informatique. Ce qui permet de bien

comprendre les outils et les astuces qu’un informaticien doit maitriser.

Dans un premier temps, on m’a confié des tâches avec lesquels j’ai

commencé à m’habitué avec les outils informatique, comme l’organisation de

l’arborescence sur Eclipse, les raccourcis clavier… Puis au fur et à mesure des

tâches plus complexes en parallèle de mes cours théoriques, ce qui m’a permis

d’apprendre des nouveautés informatiques et ainsi de mieux comprendre. Puis,

grâce à cette pratique, ceci m’a permis d’aller au-delà des cours de théorie, et

d’enrichir mes connaissances dans le domaine de l’informatique.

C’est ainsi que dans une première partie je vous présenterais la

problématique résolus, l’objectif et l’environnement du travail. Puis dans une

seconde partie je vous présenterai l’analyse que j’ai faite et la conception. Et

enfin, je vous montrerai le résultat du travail.

Page 5: Collecte des données métiers et constitution d'un entrepôt centrale

4

Mon stage s’est déroulé à la société d’Ingénierie et de Conseil en

système d'information UNIFIED SYSTEMS. Situé au BD Ibn Tachfine, la

société vise la "Performance des Systèmes d'Information et de

Communication ", abordée sous ses différents aspects : Qualité,

Productivité et Efficacité, Sécurité et Capacité à tirer le meilleur parti des

nouvelles technologies de l'information et de la communication.

Le but de mon stage est d’offrir un service de consultation des fiches

de paie et des fiches de congés aux employés d’une entreprise. Ces fiches

sont déjà générées par des applications sous forme de fichiers TXT en

mode CSV pour les fiches de paie, et des fichiers XML pour les fiches de

congé.

Donc le travail est de pouvoir extraire les informations de ces

fichiers, les mettre dans une base de données, et pouvoir les consulter à

travers un site web. En même temps, les fichiers traités doivent se

déplacer vers un répertoire « archive ».Enfin il faut créer un fichier texte

« trace » qui contient les informations sur l’état des opérations exécutés.

Le travail donc se divise en deux grandes parties :

Création des Batchs Java pour extraire les informations vers la base

de données et planification de leur exécution.

Création d’un site web intranet pour consulter les informations.

Enfin, les Batchs vont s’exécuter à une heure précise, (2h de la nuit par

exemple) pour ajouter les nouvelles tables à la base de données.

Page 6: Collecte des données métiers et constitution d'un entrepôt centrale

5

1) Introduction : 7 2) La qualité des équipes d’Unified Systems 8

1) Principes conducteurs : 8 2) Composition des équipes 8 3) Compétences 9 4) La conduite de projets et l'assurance qualité : 9 5) La Formation : 11 6) L'ingénierie du logiciel et des systèmes : 13

1) Gestion de paie : 15

1. Format du fichier : 15 2. Contenu du fichier : 15

2) Gestion des congés : 16 1. Format du fichier : 16 2. Contenu du fichier : 16

3) Problématique : 17

1) Environnement intégré de développement : Eclipse 19 2) Langage de programmation : Java, J2EE 19 3) Base de données : MySQL 19 4) Serveur web : Apache Tomcat 20

1) modèle conceptuel de données – MCD : 21 2) Diagramme de classe : 22

1) Batch des fiches de Paie – BatchTXT : 23 2) Batch des fiches de congé – BATCHXML : 24

Conclusion : 24

1) Diagramme de séquence : 25

Page 7: Collecte des données métiers et constitution d'un entrepôt centrale

6

1) Introduction 26 2) UML en œuvre 26

1) MCD : Modèle conceptuel des données 29

1) JAVA : 30 2) JAVA EE : 31

1) Wampserver 32 2) Apache Tomcat 32

1) HTML 33 2) CSS 33

1) Technologies utilisés : 35 2) Organisation du code source : 35 3) Description technique : 36 4) Utilisation du composant : 36

1. Mode d’utilisation : 36 2. Méthode d’utilisation : 36

5) Création de l’exécutables et planification de l’exécution du Batch : 38 1. Création de l’exécutable : 38 2. Planification : 38

1) Page d’authentification : 39 2) Page d’accueil : 40 3) Page des listes de congés : 41 4) Page des listes des fiches de paie : 42

1) Ajout de congé – fiche de paie – utilisateur : 44 2) Modification des données : 44 3) Désignation des roles : 44 4) Le fichier Trace : 44

Fin : 44

Page 8: Collecte des données métiers et constitution d'un entrepôt centrale

7

Créée en 2009, (dont Unified Systems

le siège est située au N 2, Angle BD Ibn

Tachfine et rue Zineb Ishak, 4ème

Etage Appt 07, 20303 Casablanca),

société d’Ingénierie et de Conseil en

système d'information, vise la "Performance des Systèmes d'Information

et de Communication ", abordée sous ses différents aspects : Qualité,

Productivité et Efficacité, Sécurité et Capacité à tirer le meilleur parti des

nouvelles technologies de l'information et de la communication.

Dans le sens de cette ambition commune, accompagne Unified Systems

les entreprises de diverses manières selon leurs contextes spécifiques :

Conseil (appropriation de ces nouvelles technologies et de nouveaux

systèmes d'information, conception de nouveaux services …).

Définition, développement, maintien en condition opérationnelle de

systèmes d'information (architecture, ingénierie)

Accompagnement dans le cadre de gestion de projet

Expertises techniques (sécurité des systèmes d'information, e-

business, Multimédia).

Page 9: Collecte des données métiers et constitution d'un entrepôt centrale

8

1) Principes conducteurs :

s'attache à développer et à enrichir son savoir-faire : Unified Systems

La maîtrise des technologies les plus récentes implique de savoir (au-delà

des effets de mode) évaluer, identifier et mettre en œuvre les nouveaux

outils permettant de concevoir des architectures, de réaliser des systèmes

performants, évolutifs et réellement pérennes.

Dans le management de projet : par une analyse préalable des

enjeux et des risques liés à chaque contexte, nos équipes veillent à

définir et à mettre en place le processus de développement et les

mesures d'assurance qualité les mieux adaptés, permettant

d'atteindre au meilleur coût les objectifs de nos clients.

Dans l'approche technique de nos missions : l'évolution permanente

des technologies et des référentiels méthodologiques nous imposent

de faire évoluer nos pratiques en fonction de l'état de l'art.

2) Composition des équipes

Pour atteindre ces objectifs, la qualité des équipes, leur engagement et

leur capacité à s'adapter à de nouveaux contextes sont fondamentaux,

c’est dans cette optique qu’Unified Systems investit sur la formation de

ses équipes :

Expertise dans la démarche CMMI.

Expertise dans la conduite de projet.

Expertise dans les différentes technologies, architectures, et

démarches :

Dot Net.

J2EE.

PHP

Page 10: Collecte des données métiers et constitution d'un entrepôt centrale

9

Architecture SOA (Service Oriented Architecture)

Model Driven Architecture/Engineering

3) Compétences

Unified Systems a défini 4 axes de développement principaux :

La conduite de projets et l'assurance qualité, avec ses deux

composantes :

L'accompagnement en Assurance Qualité

L'accompagnement en conduite de projet

La formation, avec ses 3 composantes :

Management de projet

Ingénierie du logiciel

Outils de développement

L'ingénierie du logiciel et des systèmes, avec 2 composantes :

L'informatique technique et industrielle

Les systèmes d'information d'entreprise

La sécurité des systèmes d'information

4) La conduite de projets et l'assurance qualité :

Unified Systems accompagne ses clients dans l'élaboration et la mise en

œuvre de leur démarche qualité. Son rôle consiste à réaliser un transfert

de savoir-faire afin de rendre ses clients autonomes sur les aspects

méthodes et leur permettre d'atteindre leurs objectifs.

Construit sur des nouveaux référentiels en assurance qualité (SEI/CMMI,

ITIL, ISO20 000), cet accompagnement englobe :

L’élaboration du système qualité et des Plans d'Assurance Qualité

(procédures, instructions, manuels, formulaires) concernant :

La gestion des projets informatique

Le service d'assistance HELPDESK

La formation des différentes équipes sur :

Page 11: Collecte des données métiers et constitution d'un entrepôt centrale

10

Les composantes du système qualité

Les techniques d'assurance qualité logicielle

Le coaching des équipes de projets pilotes dans la mise en place du système qualité

Cet accompagnement concerne généralement des assistances à maîtrise

d'oeuvre ou d'ouvrage ou des missions de conseil sur des grands projets,

nationaux ou internationaux. Selon les contextes, une équipe

pluridisciplinaire est construite afin couvrir l'ensemble des composantes

méthodologiques et techniques des projets.

Unified Systems peut accompagner les équipes internes dans les projets

liés :

1)au Processus de Développement, et notamment dans :

L’Accompagnement des équipes dans les différentes phases des

projets : Planification, organisation, production et pilotage

La Sécurisation et la maîtrise des risques des projets de

développement.

L'Utilisation d'outils et de solutions intégrée de gestion, de conception

et d'échanges

L’Evaluation des coûts des projets et des choix des prestataires

la Réorganisation des processus sur base de projet de développement

2)à l’E-business, et notamment dans :

la réalisation du Business Plan, qui permettra de déterminer les services à développer, d'évaluer l'opportunité d'un tel projet et

d'apprécier son retour sur investissement

l'étude d'impacts sur l'organisation et les systèmes d'information

existants

la conception et le pilotage du projet E-business

3)au Supply Chain Management (SCM), et notamment

dans :

Le Diagnostic de la chaîne logistique, (benchmark interne et externe,

indicateurs bonnes pratiques, améliorations potentielles, évaluation des enjeux)

La Construction de la chaîne logistique cible et sa mise en œuvre, (organisation, flux, principes et règles de gestion)

Page 12: Collecte des données métiers et constitution d'un entrepôt centrale

11

L'Etude de cadrage et l'accompagnement à la mise en œuvre de systèmes d'information (ERP )

L’Elaboration d'un Plan d'actions pour des améliorations à court terme

(réduction des stocks, réduction des cycles, amélioration du service, etc.).

4)à La Conduite de Changement, et notamment dans :

L'Identification et l'analyse des impacts organisationnels liés aux

changements

la Construction des plans d'actions

La Construction et la mise en place du plan de communication (plan, news internes, séminaire, kick-off meeting, site intranet…)

La Construction et la mise en place du plan de formation (plan, évaluation de compétence, support de formation, planification…)

La Gestion des ressources (recrutement, évolution de carrière, replacement, définition de postes)

5)au Décisionnel, et notamment dans :

Le Cadrage du projet (pré-étude d’organisation de projet définissant le

périmètre fonctionnel, les types d’outils pressentis...)

La Définition des indicateurs de pilotage et du référentiel commun

La Définition de l'infrastructure décisionnelle

Le Coaching et accompagnement de la mise en oeuvre du projet décisionnel

6)A la Gestion de la Relation Client (CRM), et notamment

dans :

L’Optimisation des processus

Le choix d'une Solution CRM

Le Pilotage de projet CRM et/ou la conduite du changement

5) La Formation :

Notre but est d'offrir un service de formation et de développement des

compétences informatiques de très haute qualité sur les technologies les

plus récentes, et dispensé par des collaborateurs dont les compétences et

l'expertise font référence sur le marché.

Page 13: Collecte des données métiers et constitution d'un entrepôt centrale

12

Les exigences d'excellence des clients d’Unified Systems, multinationales,

banques, PME et administrations, sont le meilleur indicateur du sérieux

des prestations offertes.

Unified Systems oriente ses actions de formation selon deux axes :

la méthode pédagogique globale, fortement axée sur le « sur-mesure »

le produit sur lequel va porter l’enseignement

Parmi les méthodes pédagogiques globales que nous utilisons

habituellement :

la formation traditionnelle de groupe en inter ou en intra entreprise

l’atelier expert

la formation conférence

la formation action

le cas pratique

Ingénierie du logiciel

Savoir exprimer les besoins utilisateur

Analyse et conception de systèmes logiciels

Assurance Qualité et test du logiciel

Objet-Ingénierie du logiciel

Développement objet et basé sur les composants

Introduction à UML

Analyse et conception objet en utilisant UML

Systèmes temps réel : Démarche orientée objet

Mise en œuvre de modèles de conception objet (Design Patterns)

Management de logiciel

Gestion de projets informatiques

Développement objet et basé sur les composants

Analyse des systèmes et applications d'entreprise

Savoir exprimer les besoins utilisateur

Analyse et conception de systèmes logiciels

Analyse et conception objet en utilisant UML

Page 14: Collecte des données métiers et constitution d'un entrepôt centrale

13

C/C ++

Introduction à la programmation

Programmation en C++ : Travaux Pratiques

C++ pour des programmeurs C

Conception et programmation avancées en C++

Programmation en C : Travaux Pratiques

Programmation avancée en C

Mise en œuvre de modèles de conception objet

C#, Visual C++.NET et Visual C++

Développer des applications .NET avec C#

Développer des applications Visual C++ .NET

Java/J2EE

Programmation Java : Travaux Pratiques

Java pour le développement d'applications Web

Développer des services Web XML avec Java

Java pour le développement d'applications dans l'entreprise

Développer des applications avec Java et XML

6) L'ingénierie du logiciel et des systèmes :

Ce domaine concerne la maîtrise des développements de systèmes

d'information et de logiciels utilisant les technologies nouvelles en

environnement distribué. Il couvre deux composantes principales :

Cette activité couvre la mise en place de systèmes d'information

d'entreprises (y compris les sites de production industriels) en utilisant les

technologies :

Clients/serveur : Unified Systems conçoit et réalise des systèmes

d'information basés sur des architectures clients/serveur, dans lesquels la combinaison de nos compétences techniques et méthodologiques

s'exprime pleinement

Intranet / Extranet /Internet : Les savoir-faire d’Unified Systems

en méthodologie et conception d'architecture, en bases de données, en sécurité, alliés à la forte expérience acquise sur les nouvelles

technologies de l'information permettent de concevoir les architectures

des systèmes communicants sur les réseaux IP.

Page 15: Collecte des données métiers et constitution d'un entrepôt centrale

14

Applications coopératives / GED : Unified Systems accompagne ses clients dans la définition et la réalisation d'applications à forte valeur

ajoutée dans le domaine du travail coopératif (groupware et workflow),

particulièrement dans le cadre de constitution de bases de données documentaires.

Unified Systems intervient de manière majeure dans les domaines

suivants :

L'informatique industrielle : Unified Systems constitue un pôle de compétence informatique, qui intervient sur des projets liés à

l'instrumentation et au contrôle de process dans des sites de production industrielle.

La sûreté de fonctionnement : Conseils relatifs au développement de systèmes et de logiciels ayant de très fortes exigences de fiabilité.

Les méthodes formelles (avec une forte maîtrise des langages Z et

Esterel).

Les exigences exprimées dans les projets de développement informatique

sont de plusieurs ordres : fonctionnels, techniques, organisationnels. Le

coût, les délais, la qualité et la sécurité sont souvent prépondérants.

Par une veille technologique active, Unified Systems cherche à connaître et

à maîtriser le plus grand nombre des techniques et des méthodes, afin de

proposer à ses clients celles qui sont les mieux adaptées à leurs

développements.

Page 16: Collecte des données métiers et constitution d'un entrepôt centrale

15

Dans la société Unified Systems, des applications métiers ont le rôle de créer

des fichiers qui contiennent des données de la gestion de la paie et des congés :

1. Format du fichier :

Les données sont sous forme d’un fichier texte en mode CSV.

La mode CSV : Comma-separated values, connu sous le sigle CSV, est

un format informatique ouvert représentant des données tabulaires sous forme

de valeurs séparées par des points-virgules.

2. Contenu du fichier :

Chaque ligne du fichier texte représente un utilisateur.

Chaque colonne (espace entre deux points-virgules) présente une information

de l’utilisateur :

o Référence.

o Montant IGR.

o Montant Prime.

o Montant d’allocation.

o Montant net.

o Moyen de paiement (chèque, compte, espèce).

o Référence du moyen de paiement.

o Matricule.

o Date de la fiche de paie.

Page 17: Collecte des données métiers et constitution d'un entrepôt centrale

16

1. Format du fichier :

Les données sont sous forme d’un fichier XML.

Format XML : XML est l’acronyme d’eXtensible Markup Langage. Comme le

langage HTML, c’est un langage de balises mais contrairement à celui-ci, les

balises du langage XML ne sont pas prédéfinies, XML est donc comme son

nom l’indique, un langage extensible.

Alors que le but du langage HTML est d’afficher les données à travers des balises

interprétées par le navigateur, XML à lui pour but de structurer l’information et il

faudra au navigateur l’aide d’une feuille de style CSS ou d’un fichier XSL pour savoir

comment interpréter les balises contenues dans un document XML.

XML est ce que l’on appelle un métalangage, soit un langage permettant de décrire

d’autres langages.

2. Contenu du fichier :

Le fichier XML contient les informations suivantes pour chaque utilisateur :

o Identifiant.

o Date du début.

o Date de fin.

o Validateur (matricule).

o Commentaire.

o Matricule.

Page 18: Collecte des données métiers et constitution d'un entrepôt centrale

17

Les employés ne doivent pas accéder au application métiers car elle contiennent

des informations confidentielles.

En supposant qu’ils en ont accès, les employés trouvent une difficulté dans la

consultation de la fiche de paie et celle du congé en accédant pour chaque fiche

à l’application métier concerné : un travail qui se répète.

l’entreprise ne contrôle pas la confidentialité des informations.

Encombrement : stockage des données de chaque mois dans le même

répertoire.

L’application « entrepôt centrale de données » a pour objectif :

la collecte des données à partir des différentes applications de l’entreprise

(fichiers TXT et XML) et leur stockage sur une base de données représentant

l’entrepôt centrale de données, puis déplacer les fichiers traités vers l’archive

et créer un rapport (fichier text) contenant toutes les informations sur les

fichiers traité : date de début du traitement, date de fin du traitement et l’état

de chaque opération (réalisé avec succès ou l’existante d’une erreur) des

fichiers et des opérations sur la base de donnée .

l’exploitation des données de cet entrepôt à travers le développement d’un site

intranet permettant :

La recherche des données L’extraction des données sous forme de rapport (Excel, pdf …)

Page 19: Collecte des données métiers et constitution d'un entrepôt centrale

18

Les applications concernées au niveau de l’entreprise sont :

Application de gestion de la paie. [.txt]

Application de gestion des congés. [.xml]

Des extractions de données sont déjà réalisés à partir de ces applications vers des

fichiers sous forme XML ou CSV ou texte …

Faire la conception de la base de données représentant l’entrepôt centrale.

Développer des batch pour charger les données des fichiers (XML et CSV) sur

l’entrepôt centrale.

Développer un site intranet pour l’exploitation de ces données.

Page 20: Collecte des données métiers et constitution d'un entrepôt centrale

19

Eclipse est un projet de la Fondation Eclipse visant à développer un environnement de développement

intégré libre, extensible, universel et polyvalent.

Son objectif est de produire et fournir des outils pour la réalisation de

logiciels, englobant les activités de programmation (notamment au moyen d’un environnement de développement intégré) mais aussi de

modélisation, de conception, de test et de reporting. Son environnement de développement intégré vise à supporter tout langage de

programmation.

Le langage Java est un langage informatique orienté objet créé par James Gosling et Patrick Naughton,

employés de Sun Microsystems, avec le soutien de Bill Joy (cofondateur de Sun Microsystems en 1982), présenté officiellement

le 23 mai 1995 au SunWorld.

La société Sun a été ensuite rachetée en 2009 par la société Oracle qui

détient et maintient désormais Java.

La particularité et l'objectif central de Java est que les logiciels écrits dans

ce langage doivent être très facilement portables sur plusieurs systèmes d’exploitation tels que UNIX, Windows, Mac OS ou GNU/Linux, avec peu

ou pas de modifications. Pour cela, devers plates-formes et Frameworks

associés visent à guider, sinon garantir, cette portabilité des applications développées en Java.

MySQL est un serveur de bases de données relationnelles

Open Source.

Un serveur de bases de données stocke les données dans

des tables séparées plutôt que de tout rassembler dans une seule table. Cela

améliore la rapidité et la souplesse de l'ensemble. Les tables sont reliées par des

relations définies, qui rendent possible la combinaison de données entre plusieurs

tables durant une requête. Le SQL dans "MySQL" signifie "Structured Query

Language" : le langage standard pour les traitements de bases de données.

Page 21: Collecte des données métiers et constitution d'un entrepôt centrale

20

Apache Tomcat est un conteneur libre de servlets et JSP

Java EE. Issu du projet Jakarta, c'est un projet principal de

l’Apache Software Foundation. Il implémente les spécifications

des servlets et des JSP du Java Community Process1, est

paramétrable par des fichiers XML et de propriétés, et inclut

des outils pour la configuration et la gestion. Il comporte également un serveur

HTTP.

Page 22: Collecte des données métiers et constitution d'un entrepôt centrale

21

Ce chapitre sera consacré à la phase d’analyse et de conception.

On va d’abord présenter la conception de la base de données qui représentent

l’entrepôt centrale, ensuite on va analyser la façon avec laquelle les Batchs doivent

s’effectuer et enfin la conception du site intranet.

Page 23: Collecte des données métiers et constitution d'un entrepôt centrale

22

Page 24: Collecte des données métiers et constitution d'un entrepôt centrale

23

Le fichier contenant les informations de la fiche de paie existe dans un répertoire, à

l’exécution du batch, on insère dans la base de données une fiche de paie pour

chaque ligne du fichier.

Ensuite on doit savoir combien de fiche s’est insérée et si elle est insérée avec

succès ou qu’il y avait une erreur ainsi que l’heure du début et de la fin de chaque

opération. Ce travail sera sous forme de Rapport qu’on appelle fichier Trace, dans ce

fichier on doit écrire toute les opérations faites lors de l’exécution du batch.

Enfin pour ne pas laisser les fichiers dans le même répertoire pour éviter de

réinsérer ces fichiers une autre fois, on déplace les fichiers traité vers le répertoire

archive. Cette action est aussi déclaré dans le fichier trace.

Donc on aura besoin de 3 répertoires :

Répertoire des fiches de paie.

Répertoire Archive.

Répertoire des fichiers trace.

Page 25: Collecte des données métiers et constitution d'un entrepôt centrale

24

Le fichier contenant les informations de la fiche de congé existe dans un répertoire, à

l’exécution du batch, on insère dans la base de données une fiche de congé pour

chaque ligne du fichier.

La meme chose que pour le batchTXT , on crée un fichier Trace, dans ce

fichier on doit écrire toute les opérations faites lors de l’exécution du batch.

Enfin pour ne pas laisser les fichiers dans le même répertoire pour éviter de

réinsérer ces fichiers une autre fois, on déplace les fichiers traité vers le répertoire

archive. Cette action est aussi déclaré dans le fichier trace.

Donc on aura besoin de 3 répertoires :

Répertoire des fiches de paie.

Répertoire Archive.

Répertoire des fichiers trace.

Sans qu’on va utiliser le même répertoire archive pour enregistrer les fichiers traités

et le même répertoire des fichiers Trace.

Conclusion :

Les Batchs seront liées à 4 répertoires :

Page 26: Collecte des données métiers et constitution d'un entrepôt centrale

25

Le site intranet permet aux employés de consulter leurs fiches de paie et leurs

fiches de congés.

En consultant la table utilisateur, on a mis pour chaqu’un un login et un mot de

passe, avec lesquels il pourra se connecter et consulter ses informations : fiche paie,

fiche de congé.

Chaque employé ne pourra voir que ses fiches pour garder la confidentialité

des informations.

Page 27: Collecte des données métiers et constitution d'un entrepôt centrale

26

La description de la programmation par objets a fait ressortir

l’étendue du travail conceptuel nécessaire: définition des

classes, de leurs relations, des attributs et

méthodes, des interfaces etc.

Pour programmer une application, il ne

convient pas de se lancer tête baissée dans

l’écriture du code : il faut d’abord organiser

ses idées, les documenter, puis organiser la

réalisation en définissant les modules et

étapes de la réalisation. C’est cette démarche antérieure à

l’écriture que l’on appelle modélisation ; son produit est un modèle.

Les spécifications fournies par la maîtrise d’ouvrage en programmation impérative

étaient souvent floues : les articulations conceptuelles (structures de données,

algorithmes de traitement) s’exprimant dans le vocabulaire de l’informatique, le

modèle devait souvent être élaboré par celle-ci. L’approche objet permet en principe

à la maîtrise d’ouvrage de s’exprimer de façon précise selon un vocabulaire qui, tout

en transcrivant les besoins du métier, pourra être immédiatement compris par les

informaticiens.

En principe seulement, car la modélisation demande aux maîtrises d’ouvrage une

compétence, un Professionnalisme qui ne sont pas aujourd’hui répandus.

UML n’est pas une méthode (i.e. une description normative des étapes de la

modélisation) : ses auteurs ont en effet estimé qu’il n’était pas opportun de définir

une méthode en raison de la diversité des cas particuliers.

Ils ont préféré se borner à définir un langage graphique qui permet de

représenter, de communiquer les divers aspects d’un système d’information (aux

graphiques sont bien sûr associés des textes qui expliquent leur contenu).

Page 28: Collecte des données métiers et constitution d'un entrepôt centrale

27

UML est donc un métalangage car il fournit les éléments permettant de construire

le modèle qui, lui, sera le langage du projet. Il est impossible de donner une

représentation graphique complète d’un logiciel, ou de tout autre système complexe,

de même qu’il est impossible de représenter entièrement une statue (à trois

dimensions) par des photographies (à deux dimensions).

Mais il est possible de donner sur un tel système des vues partielles, analogues

chacune à une photographie d’une statue, et dont la juxtaposition donnera une idée

utilisable en pratique sans risque d’erreur grave.

UML 2.0 comporte ainsi treize types de diagrammes représentant autant de vues

distinctes pour représenter des concepts particuliers du système d’information. Ils se

répartissent en deux grands groupes :

diagramme de classes (Class diagram)

diagramme d’objets (Object diagram)

diagramme de composants (Component diagram)

diagramme de déploiement (Deployment diagram)

diagramme de paquetages (Package diagram)

diagramme de structures composites (Composite structure diagram)

diagramme de cas d’utilisation (Use case diagram)

diagramme d’activités (Activity diagram)

diagramme d’états-transitions (State machine diagram)

Diagrammes d’interaction (Interaction diagram)

diagramme de séquence (Sequence diagram)

diagramme de communication (Communication diagram)

diagramme global d’interaction (Interaction overview diagram)

diagramme de temps (Timing diagram)

Ces diagrammes, d’une utilité variable selon les cas, ne sont pas

nécessairement tous produits à l’occasion d’une modélisation. Les plus utiles pour la

Page 29: Collecte des données métiers et constitution d'un entrepôt centrale

28

maîtrise d’ouvrage sont les diagrammes d’activités, de cas d’utilisation, de classes,

d’objets, de séquence et d’états-transitions.

Les diagrammes de composants, de déploiement et de communication sont

surtout utiles pour la maîtrise d’œuvre à qui ils permettent de formaliser les

contraintes de la réalisation et la solution technique.

Au cours de ce projet j’ai utilisé quelques diagrammes essentiels à la

compréhension et au formalisme des fonctionnalités représentées dans la phase de

conception, ci-dessous la description de ces diagrammes :

Le diagramme de classes est généralement considéré comme le plus important

dans un développement orienté objet. Il représente l’architecture conceptuelle du

système : il décrit les classes que le système utilise, ainsi que leurs liens, que ceux-ci

représentent un emboîtage conceptuel (héritage) ou une relation organique

(agrégation).

Le diagramme de séquence représente la succession chronologique des

opérations réalisées par un acteur. Il indique les objets que l’acteur va manipuler et

les opérations qui font passer d’un objet à l’autre. On peut représenter les mêmes

opérations par un diagramme de communication graphe dont les nœuds sont des

objets et les arcs (numérotés selon la chronologie) les échanges entre objets. En fait,

diagramme de séquence et diagramme de communication sont deux vues différentes

mais logiquement équivalentes (on peut construire l’une à partir de l’autre) d’une

même chronologie. Ce sont des diagrammes d’interaction.

Merise est une méthode d'analyse, de conception et de gestion de projet

informatique

Merise a été très utilisée dans les années 1970 et 1980 pour l’informatisation

massive des organisations. Cette méthode reste adaptée pour la gestion des projets

internes aux organisations, se limitant à un domaine précis. Elle est en revanche

moins adaptée aux projets transverses aux organisations, qui gèrent le plus souvent

des informations à caractère sociétal (environnemental et social) avec des parties

prenantes.

Page 30: Collecte des données métiers et constitution d'un entrepôt centrale

29

Le MCD repose sur les notions d'entité et d'association et sur les notions de

relations. Le modèle conceptuel des données s'intéresse à décrire la sémantique du

domaine (entity/relationship en anglais)

L'entité ou objet[modifier]

L'entité est définie comme un objet de gestion considéré d'intérêt pour

représenter l'activité à modéliser (exemple : entité pays). A son tour, chaque entité

(ou objet) est porteuse d'une ou plusieurs propriétés simples, dites atomiques

(exemples : code, nom, capitale, population, superficie) dont l'une, unique et

discriminante, est désignée comme identifiant (exemple : code).

L'entité représente le concept qui se décline, dans le concret en occurrences

d'individus.

Par construction, le MCD impose que toutes les propriétés d'une entité ont

vocation à être renseignées (il n'y a pas de propriété « facultative »).

Le MCD doit, de préférence, ne contenir que le cœur des informations strictement

nécessaires pour réaliser les traitements conceptuels (cf. MCT) : les informations

calculées (ex : montant taxes comprises d'une facture), déductibles (ex : densité

démographique = population / superficie) et a fortiori celles liées aux choix

d'organisation conçus pour effectuer les traitements (cf. MOT) ne doivent pas y

figurer.

L'association ou relation [modifier]

L'association est un lien sémantique entités :

1 entité reliée à elle-même : la relation est dite réflexive,

2 entités : la relation est dite binaire (ex : une usine 'est implantée' dans un pays),

Plus rarement 3 ou plus : parfois ternaire, voire de dimension supérieure.

Une association peut également être porteuse d'une ou plusieurs propriétés (ex :

'date d'implantation' d'une usine dans un pays)

Cette description sémantique est enrichie par la notion de cardinalité, celle-ci

indique le nombre minimum (0 ou 1) et maximum (1 ou n) de fois où une occurrence

quelconque d'une entité peut participer à une association (ex : une usine est

implantée dans un (card. min=1) et un seul (card. max=1) pays; et réciproquement

un pays peut faire l'objet soit d'aucune (card. min=0) implantation d'usine soit de

plusieurs (card. max=n). On a donc les combinaisons suivantes :(0,1)(0,n)(1,1)(1,n)

Page 31: Collecte des données métiers et constitution d'un entrepôt centrale

30

Il existe deux types d'associations : les CIF (Contrainte d'intégrité fonctionnelle)et

les CIM (contrainte d'intégrité multiple). Les CIF ont pour particularité d'être binaires

et d'avoir une cardinalité min à 0 ou 1 et une cardinalité max à 1 ou n, de plus elles

sont non porteuses de propriétés. Les CIM sont n’aires et ont toutes leurs

cardinalités max à n, de plus elles peuvent être porteuses de propriétés.

C'est un langage de programmation orienté

objet, développé par Sun Microsystems. Il

permet de créer des logiciels compatibles avec

de nombreux systèmes d’exploitation

(Windows, Linux, Macintosh, Solaris). Java

donne aussi la possibilité de développer des

programmes pour téléphones portables et

assistants personnels. Enfin, ce langage peut

être utilisé sur internet pour des petites

applications intégrées à la page web (applet)

ou encore comme language serveur (jsp).

Le langage Java reprend en grande partie la

syntaxe du langage C++, très utilisée par les

informaticiens. Néanmoins, Java a été épuré

des concepts les plus subtils du C++ et à la fois

les plus déroutants, tels que les pointeurs et

références, et l’héritage multiple remplacé par

l’implémentation des interfaces. Les

concepteurs ont privilégié l’approche orientée objet de sorte qu’en Java, tout est

objet à l’exception des types primitifs (nombres entiers, nombres à virgule flottante,

etc.)

Java permet de développer des applications client-serveur. Côté client,

les applets sont à l’origine de la notoriété du langage. C’est surtout côté serveur que

Page 32: Collecte des données métiers et constitution d'un entrepôt centrale

31

Java s’est imposé dans le milieu de l’entreprise grâce aux servlets, le pendant

serveur des applets, et plus récemment les JSP (JavaServer Pages) qui peuvent se

substituer à PHP, ASP et ASP.NET.

Java a donné naissance à un système d'exploitation (JavaOS), à des

environnements de développement (eclipse/JDK), des machines

virtuelles (MSJVM, JRE) applicatives multiplate-forme (JVM), une déclinaison pour

les périphériques mobiles/embarqués (J2ME), une bibliothèque de conception

d'interface graphique (AWT/Swing), des applications lourdes (Jude, Oracle SQL

Worksheet, etc.), des technologies web (servlets, applets) et une déclinaison pour

l'entreprise (J2EE). La portabilité du bytecode Java est assurée par la machine

virtuelle Java, et éventuellement par des bibliothèques standard incluses dans un

JRE. Cette machine virtuelle peut interpréter le bytecode ou le compiler à la volée en

langage machine. La portabilité est dépendante de la qualité de portage des JVM sur

chaque OS.

Java Enterprise Edition, ou Java EE (anciennement

J2EE ), est une spécification pour la technique Java de

Sun plus particulièrement destinée aux applications

d’entreprise. Ces applications sont considérées dans une

approche multi-niveaux1. Dans ce but,toute implémentation

de cette spécification contient un ensemble d’extensions

au framework Java standard (JSE, Java Standard Edition) afin de faciliter notamment

la création d’applications réparties.

Pour ce faire, Java EE définit les éléments suivants :

Une plate-forme (Java EE Platform), pour héberger et exécuter les

applications, incluant outre Java SE des bibliothèques logicielles (ou JDK)

additionnelles,

Une suite de tests (Java EE Compatibility Test Suite) pour vérifier la

compatibilité,

Une réalisation de référence (Java EE Reference Implementation),

dénommée GlassFish,

Un catalogue de bonnes pratiques (Java EE BluePrints);

Page 33: Collecte des données métiers et constitution d'un entrepôt centrale

32

WampServer (anciennement WAMP5) est

une plateforme de développement Web de type

WAMP, permettant de faire fonctionner

localement (sans se connecter à un serveur

externe) des scripts PHP. WampServer n'est pas

en soi un logiciel, mais un environnement

comprenant deux serveurs (Apache et MySQL),

un interpréteur de script (PHP), ainsi que

phpMyAdmin pour l'administration Web des

bases MySQL.

Il dispose d'une interface d'administration permettant de gérer et d'administrer ses

serveurs au travers d'un tray icon (icône près de l'horloge de Windows).

La grande nouveauté de WampServer 2 réside dans la possibilité d'y installer et

d'utiliser n'importe quelle version de PHP, Apache ou MySQL en un clic. Ainsi,

chaque développeur peut reproduire fidèlement son serveur de production sur sa

machine locale.

Apache Tomcat est un conteneur web libre de

servlets et JSP Java EE. Issu du projet Jakarta,

c'est un projet principal de l’Apache Software

Foundation. Il implémente les spécifications des

servlets et des JSP du Java Community Process1,

est paramétrable par des fichiers XML et de

propriétés, et inclut des outils pour la configuration

et la gestion. Il comporte également un serveur

HTTP.

Page 34: Collecte des données métiers et constitution d'un entrepôt centrale

33

L’Hypertext Markup Language, généralement abrégé HTML, est le format de

données conçu pour représenter les pages web. C’est un langage de balisage

permettant d’écrire de l’hypertexte, d’où son nom.

HTML permet également de structurer sémantiquement et de mettre en forme

le contenu des pages, d’inclure des ressources multimédias dont des images, des

formulaires de saisie, et des programmes informatiques.

Il permet de créer des documents

interopérables avec des équipements très variés de

manière conforme aux exigences de l’accessibilité du

web. Il est souvent utilisé conjointement avec des

langages de programmation (JavaScript) et des

formats de présentation (feuilles de style en cascade).

HTML est initialement dérivé du Standard Generalized

Markup Language (SGML).

Les feuilles de styles (en anglais "Cascading Style Sheets", abrégé CSS) sont un

langage qui permet de gérer la présentation d'une page Web. Le langage CSS est

une recommandation du World Wide Web Consortium (W3C), au même titre que

HTML ou XML.

Les styles permettent de définir des règles appliquées à un ou plusieurs

documents HTML. Ces règles portent sur

le positionnement des éléments,

l'alignement, les polices de caractères, les

couleurs, les marges et espacements, les

bordures, les images de fond, etc.

Page 35: Collecte des données métiers et constitution d'un entrepôt centrale

34

Le but de CSS est séparer la structure d'un document HTML et sa présentation.

En effet, avec HTML, on peut définir à la fois la structure (le contenu et la hiérarchie

entre les différentes parties d'un document) et la présentation. Mais cela pose

quelques problèmes. Avec le couple HTML/CSS, on peut créer des pages web où la

structure du document se trouve dans le fichier HTML tandis que la présentation se

situe dans un fichier CSS.

Avec CSS on peut par exemple définir un ensemble de règles stylistiques

communes à toutes les pages d'un site internet. Cela facilite ainsi la modification de

la présentation d'un site entier. CSS permet aussi de définir des règles différentes

pour chaque support d'affichage (une navigateur classique, une télévision, un

support mobile, un lecteur braille...). CSS permet aussi d'améliorer l'accessibilité des

documents web.

De plus, CSS ajoute des fonctionnalités nouvelles par rapport à HTML au point de

vue du style. En effet, HTML permet une gestion assez sommaire du style des

documents.

Photoshop est un logiciel de retouche, de traitement et de

dessin assisté par ordinateur édité par Adobe. Il est

principalement utilisé pour le traitement de photographies

numériques, mais sert également à la création d’images ex

nihilo.

Photoshop est un logiciel travaillant sur images

matricielles (également appelées bitmap, à ne pas confondre

avec le format d’enregistrement Windows bitmap) car les images sont constituées

d’une grille de points appelés pixels. L’intérêt de ces images est de reproduire des

graduations subtiles de couleurs.

Page 36: Collecte des données métiers et constitution d'un entrepôt centrale

35

Ce composant est développé en utilisant le langage de programmation java

(Version 5), Il se base sur les jars suivant :

ojdbc14.jar

mysql-connector-java-5.1.7-bin.jar

jdom-2.0.4.jar

Page 37: Collecte des données métiers et constitution d'un entrepôt centrale

36

Le projet Intranet qui réalise les Batchs va être utilisé comme une

bibliothèque .JAR dans le projet du site web. Ceci est pour faciliter la tâche et

ne pas répéter les opérations à chaque fois.

: contient le fichier Param.properties dans lequel on précise

les informations d’entrée. c’est le seule fichier que le client va

changer en mettant la destination des répertoires …

: Paquage contenant les tables de la base de données.

Connector : Paquage qui établit la connexion avec la base de

données.

: Paquage contenant les opérations (fonctions) dont on aura

besoin .

: Paquage contenant l’execution des batchs finale.

1. Mode d’utilisation :

Pour utiliser ces batch, il faut :

Disposer des composants « jar » suivants :

jdom-2.0.4.jar : pour le traitement XML

mysql-connector-java-5.1.7-bin.jar : comme pilote de la bse de

données.

intranet.jar : qui représente la librairie développé.

2. Méthode d’utilisation :

Ouvrir le fichier jar avec un décompresseur (winrar par exemple) , entrer dans :

Ma => unisys => lib et ouvrir le fichier appelé param.properties avec un éditeur text :

Page 38: Collecte des données métiers et constitution d'un entrepôt centrale

37

Ici vous allez entrer les informations sur votre base de données : Login, mot

de passe, le driver, et l’url.

Ensuite vous entrez aussi les chemins des répertoires de vos fichiers XML et

TXT, la destination du fichier de trace et les répertoires archive.

Enfin vous enregistrez ces modifications dans le fichier propriété.

Page 39: Collecte des données métiers et constitution d'un entrepôt centrale

38

1. Création de l’exécutable :

Avant de planifier l’exécution des

Batchs, on va créer un exécutable de

chaque Batch, cette action est réalisé

en exportant le projet intranet et tous les

bibliothèques (.jar) utilisé (jdom-2.0.4 et

mysql-connector-java-5.1.7-bin) dans un

répertoire (ici batch/lib) .

Puis on crée dans le répertoire lib un fichier .bat contenant le code d’exécution

java suivant :

1) Pour le fichier XML:

java -classpath lib/intranet.jar;lib/mysql-connector-java-5.1.7-bin;lib/jdom-2.0.4

ma/unisys/gestion/BatchLoadXML

pause;

2) Pour le fichier text :

java -classpath lib/intranet.jar;lib/mysql-connector-java-5.1.7-bin;lib/jdom-2.0.4

ma/unisys/gestion/BatchLoadTXT

pause;

Ainsi on aura deux exécutables .bat , il faut les planifier pour qu’ils s’exécutent

dans une heure précise .

2. Planification :

On va planifier l’exécution du batch à une heure précise

chaque jour. Et tant que la société utilise Windows, cette tâche

sera faite par le Planificateur des taches disponible sur

Windows à travers le chemin suivant :

Panneau de configuration\Tous les Panneaux de configuration\Outils

d’administration

Page 40: Collecte des données métiers et constitution d'un entrepôt centrale

39

Le site intranet permet de consulter les fiches de paie et les fiches de congé

insérées par les Batchs. On commence par une page d’authentification où l’utilisateur

doit entrer son login et son mot de passe pour pouvoir accéder à ses données :

Page 41: Collecte des données métiers et constitution d'un entrepôt centrale

40

Lors de l’insertion d’un login et d’un mot de passe qui ne sont pas correctes,

on revient à la page d’authentification en y affichant un message d’erreur :

Authentification erronée, Veuillez entrer un login et un mot de passe corrects !

Si le login et le mot de passe de l’employé sont correct, on passe à la page

d’accueil où on affiche son nom et son prénom, ainsi que les liens vers sa liste de

congé et vers sa liste de paie, et enfin un bouton pour se déconnecter :

Page 42: Collecte des données métiers et constitution d'un entrepôt centrale

41

Voici la page d’accueil :

Page 43: Collecte des données métiers et constitution d'un entrepôt centrale

42

Page 44: Collecte des données métiers et constitution d'un entrepôt centrale

43

Ainsi, j’ai effectué mon stage de fin d’étude de la Licence fondamentales sciences

mathématiques informatiques option Réseau & Systèmes. Lors de ce stage de 12

semaines, j’ai pu mettre en pratique mes connaissances théoriques acquises durant

ma formation, de plus, je me suis confronté aux difficultés réelles du monde du

travail.

Ce stage m’a permis d’avoir une idée sur le monde du développement et sur ce

qu’un informaticien doit avoir en expérience pour pouvoir avancer son niveau.

Après mon intégration dans la société, j’ai eu l’occasion de mettre en pratique

mes connaissances informatiques et d’en ajouter d’autres, ainsi que j’ai appris

plusieurs techniques tel que la manipulation des fichiers XML avec JDOM , la

manipulation des fichiers texte avec la bibliothèque java.io ... et ceci m’a mené à

maitriser l’utilisation d’ Eclipse.

Je garde du stage un excellent souvenir, il constitue désormais une expérience

professionnelle valorisante, encourageante pour mon avenir , enrichissante et

complète qui conforte mon désir d’exercer mon futur métier de développement dans

le domaine de l’informatique.

Le stage ne finira pas après ma soutenance, le travail va continuer avec la

société pour 5 autres semaines où je vais enrichir le site web de la société, d’ailleurs

ce travail a déjà commencé par la création de plusieurs pages que je vous

représente ci-dessous :

Page 45: Collecte des données métiers et constitution d'un entrepôt centrale

44

La facilité ici est qu’il existe dans les classes du batch UtilisateurDAO ,

CongeDAO , fichePaieDAO des classes prêtes à exécuter les modifications apporté

au données :

int ModifierConge(Conge conge)

int ModifierFichePaie(FichePaie fichepaie)

int ModifierUtilisateur(Utilisateur utilisateur)

De la table profil , on pourra distinguer si l’utilisateur connecté est administrateur

ou pas , l’administrateur aura droit à consulter toutes les tables , à modifier les tables

à ajouter d’autres à travers ce site web .

Le fichier Trace va être envoyé à chaque fois au responsable, ainsi qu’il sera

imprimé automatiquement ...

Fin :

Ce stage m'a conforté dans mes choix professionnels et m'a éclairé sur certaines

interrogations que j'avais sur le monde de l'entreprise. Je remercie encore une fois

toute personne ayant contribué de près ou de loin à l’élaboration de ce travail.