2012/2013
Faculté des sciences Ben M’sik
Département de mathématiques & informatique
Sciences Mathématiques et Informatiqu...
1
Je dédie ce travail,
Comme preuve de respect,
De gratitude, et de reconnaissance
À ma chère famille, pour son affection,...
2
D'abord, je voudrais remercier toute la direction Unified Systems de
m'avoir accueilli au sein de leur honorable société...
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 e...
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 Ib...
5
1) Introduction : 7
2) La qualité des équipes d’Unified Systems 8
1) Principes conducteurs : 8
2) Composition des équipe...
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) Wampserv...
7
Créée en 2009, (dontUnified Systems
le siège est située au N 2, Angle BD Ibn
Tachfine et rue Zineb Ishak, 4ème
Etage App...
8
1) Principes conducteurs :
s'attache à développer et à enrichir son savoir-faire :Unified Systems
La maîtrise des techno...
9
 Architecture SOA (Service Oriented Architecture)
 Model Driven Architecture/Engineering
 …
3) Compétences
Unified Sy...
10
 Les composantes du système qualité
 Les techniques d'assurance qualité logicielle
 Le coaching des équipes de proje...
11
L'Etude de cadrage et l'accompagnement à la mise en œuvre de
systèmes d'information (ERP )
L’Elaboration d'un Plan d'ac...
12
Les exigences d'excellence des clients d’Unified Systems, multinationales,
banques, PME et administrations, sont le mei...
13
 C/C ++
 Introduction à la programmation
 Programmation en C++ : Travaux Pratiques
 C++ pour des programmeurs C
 C...
14
Applications coopératives / GED : Unified Systems accompagne ses
clients dans la définition et la réalisation d'applica...
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...
16
1. Format du fichier :
 Les données sont sous forme d’un fichier XML.
 Format XML : XML est l’acronyme d’eXtensible M...
17
 Les employés ne doivent pas accéder au application métiers car elle contiennent
des informations confidentielles.
 E...
18
Les applications concernées au niveau de l’entreprise sont :
Application de gestion de la paie. [.txt]
Application de g...
19
Eclipse est un projet de la Fondation Eclipse visant à
développer un environnement de développement
intégré libre, exte...
20
Apache Tomcat est un conteneur libre de servlets et JSP
Java EE. Issu du projet Jakarta, c'est un projet principal de
l...
21
Ce chapitre sera consacré à la phase d’analyse et de conception.
On va d’abord présenter la conception de la base de do...
22
23
Le fichier contenant les informations de la fiche de paie existe dans un répertoire, à
l’exécution du batch, on insère ...
24
Le fichier contenant les informations de la fiche de congé existe dans un répertoire, à
l’exécution du batch, on insère...
25
Le site intranet permet aux employés de consulter leurs fiches de paie et leurs
fiches de congés.
En consultant la tabl...
26
La description de la programmation par objets a fait ressortir
l’étendue du travail conceptuel nécessaire: définition d...
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...
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-...
29
Le MCD repose sur les notions d'entité et d'association et sur les notions de
relations. Le modèle conceptuel des donné...
30
Il existe deux types d'associations : les CIF (Contrainte d'intégrité fonctionnelle)et
les CIM (contrainte d'intégrité ...
31
Java s’est imposé dans le milieu de l’entreprise grâce aux servlets, le pendant
serveur des applets, et plus récemment ...
32
WampServer (anciennement WAMP5) est
une plateforme de développement Web de type
WAMP, permettant de faire fonctionner
l...
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...
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...
35
Ce composant est développé en utilisant le langage de programmation java
(Version 5), Il se base sur les jars suivant :...
36
Le projet Intranet qui réalise les Batchs va être utilisé comme une
bibliothèque .JAR dans le projet du site web. Ceci ...
37
Ici vous allez entrer les informations sur votre base de données : Login, mot
de passe, le driver, et l’url.
Ensuite vo...
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, cet...
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...
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 ...
41
Voici la page d’accueil :
42
43
Ainsi, j’ai effectué mon stage de fin d’étude de la Licence fondamentales sciences
mathématiques informatiques option R...
44
La facilité ici est qu’il existe dans les classes du batch UtilisateurDAO ,
CongeDAO , fichePaieDAO des classes prêtes ...
Prochain SlideShare
Chargement dans…5
×

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

1 338 vues

Publié le

Publié dans : Internet
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 338
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
28
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

  1. 1. 2012/2013 Faculté des sciences Ben M’sik Département de mathématiques & informatique Sciences Mathématiques et Informatiques SMI Coordonnateur : M. HANOUNE
  2. 2. 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.
  3. 3. 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.
  4. 4. 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.
  5. 5. 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.
  6. 6. 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
  7. 7. 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
  8. 8. 7 Créée en 2009, (dontUnified 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, accompagneUnified 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).
  9. 9. 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
  10. 10. 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 :
  11. 11. 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)
  12. 12. 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é.
  13. 13. 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
  14. 14. 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.
  15. 15. 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.
  16. 16. 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.
  17. 17. 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.
  18. 18. 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 …)
  19. 19. 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.
  20. 20. 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.
  21. 21. 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.
  22. 22. 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.
  23. 23. 22
  24. 24. 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.
  25. 25. 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 :
  26. 26. 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.
  27. 27. 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).
  28. 28. 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
  29. 29. 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.
  30. 30. 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)
  31. 31. 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
  32. 32. 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);
  33. 33. 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.
  34. 34. 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.
  35. 35. 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.
  36. 36. 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
  37. 37. 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 :
  38. 38. 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é.
  39. 39. 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 configurationTous les Panneaux de configurationOutils d’administration
  40. 40. 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 :
  41. 41. 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 :
  42. 42. 41 Voici la page d’accueil :
  43. 43. 42
  44. 44. 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 :
  45. 45. 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.

×