SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
2012/2013
Faculté des sciences Ben M’sik
Département de mathématiques & informatique
Sciences Mathématiques et Informatiques
SMI
Coordonnateur : M. HANOUNE
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.
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.
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.
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.
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
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
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).
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
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 :
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)
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é.
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
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.
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.
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.
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.
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 …)
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.
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.
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.
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.
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 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.
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 :
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.
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).
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
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.
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)
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
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);
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.
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.
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.
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
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 :
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é.
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
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 :
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 :
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é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 :
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.

Weitere ähnliche Inhalte

Was ist angesagt?

RAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESRAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESTombariAhmed
 
Rapport PFE réalisation d’un Framework Kinect
Rapport PFE réalisation d’un Framework KinectRapport PFE réalisation d’un Framework Kinect
Rapport PFE réalisation d’un Framework KinectAmine MEGDICHE
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...Hajer Dahech
 
Projet réalisé par ameny Khedhira & Arij Mekki
Projet réalisé par  ameny Khedhira & Arij MekkiProjet réalisé par  ameny Khedhira & Arij Mekki
Projet réalisé par ameny Khedhira & Arij MekkiAmeny Khedhira
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRSkander Driss
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATSiwar GUEMRI
 
Rapport du projet fin d'etudes
Rapport du projet fin d'etudesRapport du projet fin d'etudes
Rapport du projet fin d'etudesTahani RIAHI
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachAyoub Mkharbach
 
Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Addi Ait-Mlouk
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseAbderrahmane Filali
 
Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Ghali Rahma
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webSalma Gouia
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileRim ENNOUR
 
Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Karim Ben Alaya
 
Rapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMMRapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMMEya TAYARI
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileNader Somrani
 

Was ist angesagt? (20)

RAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESRAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDES
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Rapport PFE réalisation d’un Framework Kinect
Rapport PFE réalisation d’un Framework KinectRapport PFE réalisation d’un Framework Kinect
Rapport PFE réalisation d’un Framework Kinect
 
Rapport de PFE
Rapport de PFERapport de PFE
Rapport de PFE
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe esprit
 
Projet réalisé par ameny Khedhira & Arij Mekki
Projet réalisé par  ameny Khedhira & Arij MekkiProjet réalisé par  ameny Khedhira & Arij Mekki
Projet réalisé par ameny Khedhira & Arij Mekki
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIR
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
Rapport du projet fin d'etudes
Rapport du projet fin d'etudesRapport du projet fin d'etudes
Rapport du projet fin d'etudes
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 
Rapport PFE
Rapport PFERapport PFE
Rapport PFE
 
Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Rapport de pfe format doc 2013
Rapport de pfe format doc 2013
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data Warehouse
 
Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...
 
Rapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMMRapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMM
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobile
 

Andere mochten auch

Sécurité informatique
Sécurité informatiqueSécurité informatique
Sécurité informatiqueoussama Hafid
 
ImagineCamps certification
ImagineCamps certificationImagineCamps certification
ImagineCamps certificationoussama Hafid
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
Solution de transfert mobile - Formats d'échange
Solution de transfert mobile - Formats d'échangeSolution de transfert mobile - Formats d'échange
Solution de transfert mobile - Formats d'échangeOCTO Technology
 
Power point (carrière informatique) a rendre
 Power point (carrière informatique) a rendre  Power point (carrière informatique) a rendre
Power point (carrière informatique) a rendre yamakuzayan1
 
IJTI-process & Team Map Resources présentation
 IJTI-process & Team Map Resources présentation  IJTI-process & Team Map Resources présentation
IJTI-process & Team Map Resources présentation Davidjohnbourne
 
Les appels système
Les appels systèmeLes appels système
Les appels systèmeSalah Triki
 
Cop21 livret-v11-bd
Cop21 livret-v11-bdCop21 livret-v11-bd
Cop21 livret-v11-bdRAC-F
 
Bysoft - L'open source-combien ca coute ? L'addition s'il vous plait !
Bysoft - L'open source-combien ca coute ? L'addition s'il vous plait !Bysoft - L'open source-combien ca coute ? L'addition s'il vous plait !
Bysoft - L'open source-combien ca coute ? L'addition s'il vous plait !Pauline Salendre
 
Qualité catalogue avec les webservices de l'Abes
Qualité catalogue avec les webservices de l'AbesQualité catalogue avec les webservices de l'Abes
Qualité catalogue avec les webservices de l'AbesRomain_V
 
Motivation des équipes internes
Motivation des équipes internesMotivation des équipes internes
Motivation des équipes internesInteraction Games
 
Diagnostic de performance énergétique
Diagnostic de performance énergétiqueDiagnostic de performance énergétique
Diagnostic de performance énergétiqueFishimmo
 

Andere mochten auch (20)

Rapport PFE
Rapport PFERapport PFE
Rapport PFE
 
Sécurité informatique
Sécurité informatiqueSécurité informatique
Sécurité informatique
 
ImagineCamps certification
ImagineCamps certificationImagineCamps certification
ImagineCamps certification
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Solution de transfert mobile - Formats d'échange
Solution de transfert mobile - Formats d'échangeSolution de transfert mobile - Formats d'échange
Solution de transfert mobile - Formats d'échange
 
Power point (carrière informatique) a rendre
 Power point (carrière informatique) a rendre  Power point (carrière informatique) a rendre
Power point (carrière informatique) a rendre
 
Par15
Par15Par15
Par15
 
IJTI-process & Team Map Resources présentation
 IJTI-process & Team Map Resources présentation  IJTI-process & Team Map Resources présentation
IJTI-process & Team Map Resources présentation
 
Les appels système
Les appels systèmeLes appels système
Les appels système
 
Cop21 livret-v11-bd
Cop21 livret-v11-bdCop21 livret-v11-bd
Cop21 livret-v11-bd
 
Bysoft - L'open source-combien ca coute ? L'addition s'il vous plait !
Bysoft - L'open source-combien ca coute ? L'addition s'il vous plait !Bysoft - L'open source-combien ca coute ? L'addition s'il vous plait !
Bysoft - L'open source-combien ca coute ? L'addition s'il vous plait !
 
Max
MaxMax
Max
 
Qualité catalogue avec les webservices de l'Abes
Qualité catalogue avec les webservices de l'AbesQualité catalogue avec les webservices de l'Abes
Qualité catalogue avec les webservices de l'Abes
 
Presentation Parkings
Presentation Parkings Presentation Parkings
Presentation Parkings
 
Trimestriel Mars 2013
Trimestriel Mars 2013Trimestriel Mars 2013
Trimestriel Mars 2013
 
Motivation des équipes internes
Motivation des équipes internesMotivation des équipes internes
Motivation des équipes internes
 
Tni smart
Tni smartTni smart
Tni smart
 
Diagnostic de performance énergétique
Diagnostic de performance énergétiqueDiagnostic de performance énergétique
Diagnostic de performance énergétique
 
Reperes ue
Reperes ueReperes ue
Reperes ue
 
Artoiscope n°140 - Jan/Fév13
Artoiscope n°140 - Jan/Fév13Artoiscope n°140 - Jan/Fév13
Artoiscope n°140 - Jan/Fév13
 

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

458008733-Rapport-de-projet-de-fin-d-etudes.pdf
458008733-Rapport-de-projet-de-fin-d-etudes.pdf458008733-Rapport-de-projet-de-fin-d-etudes.pdf
458008733-Rapport-de-projet-de-fin-d-etudes.pdfsoyedmohamed
 
Hamdaoui abdelilah
Hamdaoui abdelilahHamdaoui abdelilah
Hamdaoui abdelilahMoez Moezm
 
Soubki projet
Soubki projetSoubki projet
Soubki projets1kor
 
portail_captif.pdf
portail_captif.pdfportail_captif.pdf
portail_captif.pdfnabila201151
 
Monticolo sem-know
 Monticolo sem-know Monticolo sem-know
Monticolo sem-knowADIL LAOUFI
 
Catalogue formation Tunnel-IT 2019
Catalogue formation Tunnel-IT  2019Catalogue formation Tunnel-IT  2019
Catalogue formation Tunnel-IT 2019Tunnel-IT
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...Sid Ahmed Benkraoua
 
2.presentation merise
2.presentation merise2.presentation merise
2.presentation meriseshaheenyaar
 
PRESENTTION_DU_PROJET_DE_SUPER_021337.docx
PRESENTTION_DU_PROJET_DE_SUPER_021337.docxPRESENTTION_DU_PROJET_DE_SUPER_021337.docx
PRESENTTION_DU_PROJET_DE_SUPER_021337.docxAlbanHenovi
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti MohammedMohammed JAITI
 
Application de planification de production
Application de planification de productionApplication de planification de production
Application de planification de productionMarwa Bhouri
 
Développement d'un forum de discussion
Développement d'un forum de discussionDéveloppement d'un forum de discussion
Développement d'un forum de discussionYoussef NIDABRAHIM
 
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Bachir Benyammi
 
Cc Presentation Tsec Tri(31mai2010)
Cc Presentation Tsec Tri(31mai2010)Cc Presentation Tsec Tri(31mai2010)
Cc Presentation Tsec Tri(31mai2010)msinghlcc
 
Rapport de stage gsi djinta michelle hendrid encadreur kamleu noumi emeric
Rapport de stage gsi djinta michelle hendrid encadreur   kamleu noumi emericRapport de stage gsi djinta michelle hendrid encadreur   kamleu noumi emeric
Rapport de stage gsi djinta michelle hendrid encadreur kamleu noumi emericEmeric Kamleu Noumi
 
Memoire licence informatique application gestion personnel par herma - zita...
Memoire licence  informatique application gestion personnel  par herma - zita...Memoire licence  informatique application gestion personnel  par herma - zita...
Memoire licence informatique application gestion personnel par herma - zita...Soumia Elyakote HERMA
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 

Ähnlich wie Collecte des données métiers et constitution d'un entrepôt centrale (20)

458008733-Rapport-de-projet-de-fin-d-etudes.pdf
458008733-Rapport-de-projet-de-fin-d-etudes.pdf458008733-Rapport-de-projet-de-fin-d-etudes.pdf
458008733-Rapport-de-projet-de-fin-d-etudes.pdf
 
Hamdaoui abdelilah
Hamdaoui abdelilahHamdaoui abdelilah
Hamdaoui abdelilah
 
Soubki projet
Soubki projetSoubki projet
Soubki projet
 
Rapport stage
Rapport stageRapport stage
Rapport stage
 
portail_captif.pdf
portail_captif.pdfportail_captif.pdf
portail_captif.pdf
 
Monticolo sem-know
 Monticolo sem-know Monticolo sem-know
Monticolo sem-know
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
Catalogue formation Tunnel-IT 2019
Catalogue formation Tunnel-IT  2019Catalogue formation Tunnel-IT  2019
Catalogue formation Tunnel-IT 2019
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
 
2.presentation merise
2.presentation merise2.presentation merise
2.presentation merise
 
PRESENTTION_DU_PROJET_DE_SUPER_021337.docx
PRESENTTION_DU_PROJET_DE_SUPER_021337.docxPRESENTTION_DU_PROJET_DE_SUPER_021337.docx
PRESENTTION_DU_PROJET_DE_SUPER_021337.docx
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
 
Application de planification de production
Application de planification de productionApplication de planification de production
Application de planification de production
 
Développement d'un forum de discussion
Développement d'un forum de discussionDéveloppement d'un forum de discussion
Développement d'un forum de discussion
 
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
 
Cc Presentation Tsec Tri(31mai2010)
Cc Presentation Tsec Tri(31mai2010)Cc Presentation Tsec Tri(31mai2010)
Cc Presentation Tsec Tri(31mai2010)
 
Rapport de stage gsi djinta michelle hendrid encadreur kamleu noumi emeric
Rapport de stage gsi djinta michelle hendrid encadreur   kamleu noumi emericRapport de stage gsi djinta michelle hendrid encadreur   kamleu noumi emeric
Rapport de stage gsi djinta michelle hendrid encadreur kamleu noumi emeric
 
Memoire licence informatique application gestion personnel par herma - zita...
Memoire licence  informatique application gestion personnel  par herma - zita...Memoire licence  informatique application gestion personnel  par herma - zita...
Memoire licence informatique application gestion personnel par herma - zita...
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
SI_MCC_2020_21.pptx
SI_MCC_2020_21.pptxSI_MCC_2020_21.pptx
SI_MCC_2020_21.pptx
 

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

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 22
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 41 Voici la page d’accueil :
  • 43. 42
  • 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. 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.