Rédigé par :
DEDICACES
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 2
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION |
REMERCIEMENTS
REMERCIEMENTS
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 3
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION |
REMERCIEMENTS
SOMMAIRE
Dédicaces .................................................................................................... Erreur ! Signet non défini.
REMERCIEMENTS ................................................................................................................................3
LISTES DES ILLUSTRATIONS .................................................................................................................5
LISTES DES SIGLES ET DES ACRONYMES ...............................................................................................6
INTRODUCTION GENERALE .................................................................................................................7
Chapitre 1. PRESENTATION GENERALE DE L’ENTREPRISE .....................................................................8
Chapitre 2. Concepts theoriques ....................................................................................................... 10
I – Principe de conceptions ...........................................................................................................10
Inversion de contrôle ................................................................................................................10
II.1 – Programmation orienté Objet...............................................................................................11
II.2 – Les Design Patterns ..............................................................................................................12
a) Autres principes de Conception ........................................................................................13
II.3 – Les Architecture n-tiers.........................................................................................................14
a) Définition ..........................................................................................................................14
b) Problème ..........................................................................................................................14
II.4 – Les Architecture Orientés Services ........................................................................................14
II. Objectifs............................................................................................................................14
III. Notions de service ou composant de service ................................................................15
II.5 – Présentation des Frameworks Utilisé à Koossery Technologies pour les applications .net .....18
II.5.1 – Présentation du Framework de Koossery TechnologyPartie Back End ............................18
II.5.2 – Présentation du FrameworkASP.NET MVC .....................................................................21
Chapitre 3. Mise en Œuvre de la Solution .........................................................................................25
III.1 – DEMARCHE..........................................................................................................................25
III.2 – Conception et Production du modèle de données ...............................................................25
III.2.1 – Méthodologie de conception UML à KOOSSERY TECHNOLOGY ...................................... 27
III.2.1 Description des Eléments du Modèle d’Analyse ...............................................................29
Description des éléments de modélisation du modèle d’analyse ...............................................33
III.3 – Implémentation des modules ......................................................... Erreur ! Signet non défini.
III.4 – Quelques Résultats obtenus ................................................................................................35
III.5 – Hébergement et déploiement de la solution ........................................................................ 40
Conclusion Générale .........................................................................................................................43
Bibliographies ................................................................................................................................... 44
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 4
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | LISTES DES
ILLUSTRATIONS
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 5
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | LISTES DES
SIGLES ET DES ACRONYMES
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 6
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | INTRODUCTION
GENERALE
INTRODUCTION GENERALE
Face à l’évolution rapide de l’informatique, les besoins se font de plus en plus ressentir et
diversifier de par le monde. Pour répondre à cette demande de plus en plus croissante et
diversifié, les SSII se doivent de concevoir des stratégies pour comprendre, analyser et
anticiper les problèmes, afin d’y répondre efficacement en proposant des solutions adaptées
ou personnalisées. De cet effort naîtrons plusieurs approches et concept d’architectures
chacun essayant de proposer la meilleure qualité de service tout en masquant la complexité
côté client. En effet dans le secteur de l’immobilier , les besoins sont variés et la concurrence
y est de taille ; il fallait donc a la société Koossery Technology Cameroon de se doter d’une
solution logicielle dédier a la convergence et à l’unification du système d’information au sein
des services .
Au cours de notre stage à Koossery Technology Cameroon nous avons exploré plusieurs
techniques et concepts permettant le développement industrialiser d’applications n-tiers,
orienté services principalement sur la plate forme doNet de Microsoft. Ce document présente
tous les composants que nous avons appris, et utilisés pour mettre en place une solution de
gestion immobilière pour le web batics immobilier.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 7
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 1.
PRESENTATION GENERALE DE L’ENTREPRISE
I. Situation Géographique
La société Koossery technologies est située au quartier Akwa au lieu-dit salle de fêtes
comme l’illustre le plan de la figure1 ci-dessous
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 8
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 1.
PRESENTATION GENERALE DE L’ENTREPRISE
D’autre part elle axe ses recherches et ses contributions dans le secteur de l’Open source pour
la production de solutions de référence, à des coûts adaptés aux marchés des pays en voie de
développement.
La maîtrise des coûts totaux de possession (TCO) pour les solutions proposées ;
L’adaptation des solutions proposées aux changements constants des métiers de ses
partenaires d'affaires, grâce aux architectures orientées services (SOA).
Des Framework techniques et méthodologiques internes pour toutes les missions de son
périmètre de compétences ;
Des solutions in house sur étagères pour des problématiques d’entreprise courantes : GED,
ERP, Gestion et supervision d’infrastructure technique.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 9
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
I – PRINCIPE DE CONCEPTIONS
Faible Couplage
Le couplage est une mesure de degré auquel un élément est lié à un autre, en a connaissance
ou en dépend. S’il y a couplage ou dépendance, l’objet dépendant peut être affecté par les
modifications de celui dont il dépend.
Forte cohésion
Une application se doit se bien savoir déléguer les tâches à effectuer. L'idée de ce second
principe est de vérifier que nous rassemblons bien dans une classe des méthodes cohérentes,
qui visent à réaliser des objectifs similaires.
Inversion de contrôle
Ce principe trouve tout son sens dans les deux points suivants :
Les modules de haut niveau ne doivent pas dépendre de modules de bas niveau. Tous deux
doivent dépendre d'abstractions.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 10
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
Les abstractions ne doivent pas dépendre de détails. Les détails doivent dépendre
d'abstractions.
Ce troisième principe se base sur le faible couplage pour savoir quand il doit s'appliquer.
Selon ce principe, la relation de dépendance doit être inversée : les modules de bas niveau
doivent se conformer à des interfaces définies et utilisées par les modules de haut niveau.
Ouvert aux extensions traduit le fait que le module peut être étendu pour proposer des
comportements qui n'étaient pas prévus lors de sa création.
Fermé aux modifications stipule que les extensions sont introduites sans modifier le code
du module.
L'ouverture/fermeture se pratique en faisant reposer le code "fixe" sur une abstraction du code
amené à évoluer. Toutes ces notions fondamentales guident les développeurs lors de la phase
de conception. Elles peuvent également être vues comme autant d'objectifs à atteindre au
cours d'une phase de conception Objet mais aussi comme autant d'outils d'évaluation et de
critique d'une conception déjà bien entamée
I. Objectifs
La POO se base sur la modularité et la réutilisabilité et ses objectifs sont très intéressants. On
peut citer entre autre :
Réutiliser ce qui a déjà été écrit soit directement (code et modèles) soit par adaptation
(l'héritage)
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 11
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
Limitations
Toutefois Lorsque l'on parle de Programmation Orientée-Objets (ou POO), on voit de manière
instantanée les principes d’encapsulation, d'héritage, et de polymorphisme. Toutefois, avec
ces principes seuls,
Couplage fort entre les classes : Les classes sont liées entre elles indirectement.
Ceci se manifeste par le fait que pour un système existant l'ajout de nouvelles
fonctionnalités passent par la modification de la solution existante,
Cohésion faible : Ceci se matérialise par le fait que les méthodes sont distribuées
entre les différentes classes de notre système.
Toutes ces limitations ne nous permettent pas de concevoir un système évolutif, facile à
maintenir et prenant en compte le fait que les besoins évoluent toujours, sont très souvent mal
définis et surtout sont incomplets. Les principes de la POO masquent que la clé d'une bonne
conception ne se trouve pas dans l'héritage mais plutôt dans l'encapsulation des variations
dans un système, car en effet l'encapsulation a une définition limité (caché les attributs d'un
objet). Les premières solutions semblent avoir vu le jour avec la génération des design
patterns.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 12
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
Présentation et définition
Concept formalisé par le GOF, les design patterns, en informatique, sont des solutions
classiques et éprouvées aux problèmes de design récurrents dans le monde du développement
des applications. Les patterns définissent une interaction entre les objets et fournissent une
manière élégante de réutiliser des solutions aux problèmes fréquents rencontrés dans le
challenge de la programmation. Ils sont définis suivant 3 groupes :
Contrairement à la POO, les design patterns ont pour objectif la résolution de problèmes
récurrents par l’application d’une solution éprouvée et l'obtention de nouveaux
comportements par combinaison d'éléments existants et interchangeables plutôt que par
simple héritage.
Les design patterns ont introduits d'autres principes de conception. Cette approche se base sur
la manière dont les systèmes changent, ce qui permet d’anticiper ces changements et de
chercher où ils vont survenir. Cette approche se base sur les principes décris dans le livre du
GOF :
Ainsi les design patterns introduisent des concepts qui concourent à l’augmentation de la
qualité d’un logiciel en proposant l’implémentation du principe de l’ouvert fermé définit plus
haut(OCP). Cette première solution offre de réelles perspectives à la POC, car vise à la
stabiliser. La POC a trouvé tout son sens dans les architectures d’applications
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 13
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
b) Problème
Avec les applications n-tiers, on dispose enfin d'une vision cohérente du système
d'information. Tous les composants sont représentés sous la forme d'objets interchangeables
qu'il est possible d'implanter librement, en fonction des besoins... Toutefois les développeurs
font face de nos jours à des complexités grandissantes (tout comme avec la POO, les design)
et la naissance de nouveaux besoins tels les intégrations d’applications, les indépendances de
plate forme, les indépendances de protocole. Les nouvelles générations d’application doivent
être équipées pour répondre aux besoins énumérés ci-dessus. L’Architecture Orientée Service
permettra aux applications de répondre à ces besoins d’une part et d’autre part elle change le
regard des créateurs de produits high-tech qui ne les conçoivent plus en fonction de
spécifications purement techniques mais comme une réponse aux besoins du marché. Ce qui
pousse l’informatique à se mettre au diapason du business moderne où le client est roi, le
marketing « one to one » et le travail collaboratif
L'évolutivité, car toute application est vivante, a une certaine durée de vie, peut se voir
greffer de nouveaux modules et doit pouvoir répondre aux nouveaux besoins fonctionnels ;
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 14
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
La distribution, pour pouvoir utiliser ces modules à distance et les centraliser au sein de
l'entreprise par exemple ;
Alignement métier : Construire et organiser le système à partir des réalités métiers, qui
doivent se retrouver dans ses constituants ;
Neutralité technologique : L’élément qui utilise un service ne doit pas être contraint ni
par la technologie d’implémentation, ni par sa localisation (potentiellement distribué).
La vue interne contient des informations relatives à la logique interne comme le détail des
traitements, les algorithmes, les référentiels ou les bases de données utilisées.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 15
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
Le contrat de service
L’approche SOA favorise la construction de nouveaux services par compositions de services
existants. Ceci permettra par exemple à un service lors de son exécution de faire appel à un ou
plusieurs autres services
Fonctionnement de la SOA
3 principaux acteurs sont au cœur de la SOA
Pourvoyeur de services
C’entité qui développe le service et le publie en l’enregistrant auprès d’un répertoire de services.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 16
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
Répertoires de services
Le répertoire de services [Figure 3] est un annuaire où les services peuvent être recherchés et
découverts dynamiquement au travers du réseau.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 17
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
• Réutilisabilité de services : des services de base peuvent être partagés entre différentes
applications. Le développement de nouvelles applications peut alors être fait par combinaison
de services déjà éprouvés et du coup le risque de bug s'en trouve amoindri.
• Les équipes de développements qui adoptent SOA sont souvent emmenées à mettre en place
un Centre d'Excellence en Architecture, ce qui élève le niveau de conception et de
développement
I. La couche DAO
C'est la couche d'accès aux données. Les données peuvent être stockées dans une base de
données (MySQL, Oracle, SQL Server..) ou sur tout autre support (_chier Excel, XML,..).
Pour accéder aux données en base, la couche DAO va s'appuyer sur un Framework de
mapping objet relationnel (ORM) tel qu'iBatis et/ou NHibernate. Il arrive aussi souvent de
s'appuyer directement sur ADO.NET : mais cela se fait en respectant une architecture
similaire à l'utilisation de l'ORM.
La couche SISV
C'est la couche des services simples. Cette couche manipule directement la couche DAO. Il
s'agit d'une couche en général très stable car elle est constituées de petites fonctionnalités
simples qui sont obtenues en effectuant des combinaisons d'appels sur la couche DAO. Elle
incarne la couche des composants métiers.
La couche SVCO
C'est la couche des services composés. Cette couche est constituée de services à haute valeur
ajouté, c'est-à-dire de services de haut niveau obtenus par combinaison des fonctionnalités
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 18
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
offertes par la couche SISV. La couche SVCO ne doit jamais faire appel directement à la
couche DAO : pour fonctionner, la couche SVCO s'appuie uniquement sur la couche SISV et
rien que sur la couche SISV. C'est la couche qui est exposé à l'extérieur, celle que les autres
entités peuvent utiliser. Elle rend donc service par combinaison d'éléments de la couche SISV.
Spring.Net [2]
A la base du Framework Spring.Net se trouve un conteneur à objets. C'est-à-dire qu'il contient
et gère le cycle de vie et la configuration d'objets d'application. Toutefois le développeur
garde le contrôle de son application grâce à l'usage de déclaration à l'intention du conteneur.
Il a en général deux moyens d'arriver à ses moyens, soit en centralisant les informations dans
un descripteur de déploiement (fichier XML), soit en annotant directement certains éléments
du code. Le gros avantage par rapport aux serveurs d'application est qu'avec SPRING, vos
classes n'ont pas besoin d'implémenter une quelconque interface pour être prises en charge par
le Framework (au contraire des serveurs d'applications J2EE et des EJBs). C'est en ce sens
que SPRING est qualifié de conteneur « léger ».
Pour réaliser tout ceci, SPRING s'appuie sur les principes du design pattern IoC et sur la
programmation par aspects (AOP).
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 19
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
Les couches développées sont rendues indépendantes par l’utilisation des interfaces. Au sein
de Logique métier, les couches SVCO et SISV sont toutes autant indépendantes. L’intégration
entre ces couches se fera en utilisant le conteneur léger Spring.NET. En effet toutes les
couches exposent les interfaces de leurs composants via Spring.NET en utilisant les fichiers
de configuration. Lorsque, par exemple, la couche SISV a besoin du composant DAO, elle
demande à Spring.NET de lui fournir une référence du composant. Si le composant existe
déjà, Spring.NET se contente juste de renvoyer la référence de l’objet. Dans le cas contraire,
le conteneur léger crée un objet, garde la référence de cet objet (pour une éventuelle
utilisation future) et renvoie la référence en question. La communication entre les couches se
fait donc essentiellement par découverte de service, en utilisant à fond les Finder qui
représentent une implémentation du pattern ServiceLocator.
Ainsi tous les objets concrets de la couche DAO sont stockés dans un fichier de
configuration, il en va de même pour les objets de la SISV. Les objets de la couche
SVCO seront quant à eux exposer (toujours via Spring.NET). [2]
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 20
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
IBATIS
IBATIS est un Framework Apache de persistance qui permet de mettre en correspondance des
requêtes SQL et des instances d'objet.
Les requêtes SQL sont associées à des classes d'objets via des fichiers de définition XML. En d'autres
termes, un SELECT en SQL via iBatis renvoie directement l'instance (ou une liste d'instances le cas
échéant) de l'objet correspondant.
Les objets mis en correspondance avec une relation doivent pouvoir être construits, renseignés et
consultés l'association peut se faire quasiment automatiquement, iBatis analysant les types de part
et d'autre et effectuant les conversions qui correspondent aux attributs des classes et aux attributs
des relations mises en œuvre.
* Modèle : les modèles sont les parties de l'application qui mettent en œuvre la logique de
l'application de données de domaine.
Souvent, les objets du modèle récupèrent et stockent l'état des objets dans une base de
données.
Dans de petites applications, le modèle est souvent une séparation conceptuelle au lieu d'une
séparation physique. Par exemple, si l'application ne fait que lire une série de données et les
envoyer à la vue, l'application n'a pas besoin d'avoir une couche modèle physique et des
classes associées. Dans ce cas, l'ensemble des données assume le rôle d'un modèle objet.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 21
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
* Vues : Les vues sont les éléments qui affichent l'interface utilisateur (UI). Typiquement,
cette interface utilisateur est créée à partir du modèle de données.
Un exemple serait une vue d'édition d'un tableau de produits, affichant des zones de texte, des
listes déroulantes et des cases à cocher basées sur l'état actuel d'un objet de type Product.
* Contrôleurs : Les contrôleurs sont les composants qui gèrent l'interaction avec l'utilisateur,
travaillent avec le modèle et, finalement, sélectionnent la vue qui va permettre de faire un
rendu de l'interface utilisateur.
Dans une application MVC, la vue ne fait qu'afficher les informations que le contrôleur gère
et répond aux entrées et actions de l'utilisateur. Par exemple, le contrôleur traite les valeurs de
chaîne de requête et transmet ces valeurs au modèle qui, en retour, effectue les requêtes sur la
base de données en utilisant les valeurs.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 22
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
• Séparation des tâches (traitement des données, logique métier, la logique et l'interface
utilisateur), testabilité et développement dirigé par les tests par défaut. Tous les contrats de
base dans le Framework MVC sont basés sur des interfaces et peuvent être testés en utilisant
des simulacres (Mock Objects), qui sont des objets simulés, imitant le comportement des
objets réels de l'application. Vous pouvez en tester de façon unitaire l'application sans avoir à
exécuter les contrôleurs dans un processus ASP.NET, ce qui rend les tests unitaires rapides et
flexibles. Vous pouvez utiliser n'importe quel Framework de test compatible avec le .NET
Framework.
• Un outil de mappage d'URL puissant, qui vous permet de créer des applications dont les
URL sont compréhensibles. Les URL n'ont pas à inclure les extensions du nom de fichier, et
sont destinées à soutenir des modèles de désignation qui fonctionnent bien pour l'optimisation
des moteurs de recherche (SEO) et pour l'adressage au format REST (representational state
transfer).
• Support des balises existantes dans ASP.NET (fichiers .aspx), contrôles utilisateur (fichiers
.ascx) et pages maîtres (fichiers .master), en tant que modèles de vues. Vous pouvez utiliser
les fonctionnalités existantesd'ASP.NET avec le Framework ASP.NET MVC, telles que des
pages maîtres imbriquées, des expressions enligne (<% =%>), les contrôles serveur
déclaratifs, les templates, le data-binding, la localisation, etc.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 23
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 2.
Concepts theoriques
• Support des fonctionnalités existantes d'ASP.NET. ASP.NET MVC vous permet d'utiliser
des dispositifs tels que les formulaires d'authentification et l'authentification Windows, les
autorisations sur les URL, les fonctionnalités d'appartenance à un groupe et de rôle, le
mécanisme de cache de données et de code produit, les session et la gestion du profil, la
surveillance de la santé (health monitoring), le système de configuration et l'architecture des
fournisseurs.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 24
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION |
III.1 – DEMARCHE
La démarche utilisée ici est celle décrite dans le paragraphe « Méthodologie de
conception UML à Koossery-Technology » du chapitre 3 de la partie 2.1. Rappelons
néanmoins que la structure adoptée pour modéliser les projets en langage UML suit la
méthodologie objet en vigueur, à savoir RUP. Cette structure fondamentale s’exprime à
travers trois packages : Use Case View, Logical View et Component View.
• Consulter les statistiques globales de l'activité de tous les responsables et de tous les
partenaires et de tous les clients.
1 GERER une entité = Créer une nouvelle entité, mettre à jour une entité existante, supprimer
une entité existante, consulter des entités respectant un certain nombre de critères.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 25
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Envoyer une synthèse de la semaine aux abonnés en fonction de leurs critères de recherche
d’un produit (basée sur leur alerte).
• Envoyer aux partenaires les notifications des réservations clients avec copie au CDP et
Responsable société ;
B) Choix de l’architecture
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 26
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Un acteur représente un rôle d’une entité présente dans le contexte du système considéré vis-
à-vis de ce système. L’entité doit être distincte du système lui-même. L’entité doit être
extérieure au système considéré. En fonction de ce rôle, l’entité interagit avec le système.
• Multiplicité
• Convention de Nommage :
Pour les acteurs représentant des rôles de systèmes externes, <<External System>><nom du
rôle de système>. Exemple : <<ExternalSystem>>ERP.
Pour un projet Serveur un acteur externe peut être le Front End (<<ExternalSystem>>Front-
End) et pour un projet Front End il peut être un humain (<<ExternalSystem>>Caissière)
- le package de contexte
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 27
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Package Actor
C’est dans ce package qu’on range tous les acteurs du projet. Pour une modélisation d’un
projet Serveur par exemple, on a comme principal acteur le Front End. (Voir la figure 6).
On y trouve aussi bien les acteurs humains que les systèmes extérieurs. On peut
éventuellement faire figurer les interfaces de librairies extérieures utilisées par le système
modélisé. Ce regroupement dans un package unique permet une gestion centralisée de
l’ensemble des acteurs du système
Package Context
On y signale toutes les entités systèmes du projet. On entend ici par entité, un bloc. Exemple :
pour un projet
donné, les entités pourraient être : le front-end, le serveur, la base de donnée, l’ERP, etc. (Voir
la figure 6).
C’est dans ce package qu’on range toutes les uses cases du projet. Pour une meilleure lecture,
les uses cases d’un projet sont organisés par module fonctionnel : chaque bloc fonctionnel
constitue alors un package de Uses Cases. Par exemple pour un logiciel de gestion banque de
détail, on pourrait avoir les modules fonctionnels suivants :
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 28
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Ce qui donnerait alors par exemple pour le module de gestion des clients physiques, un
package de «UC Package» CLTPHYS-Clients Physiques comme montre la figure 7 extraite
d’un projet UML :
Certaines de ces classes, les entités, sont directement issues de l’expression des besoins. Leur
spécification se poursuit et se précise en analyse.
Elle doit contenir la définition de la classe et l’ensemble des commentaires et contraintes pertinents
portant sur la classe dans son ensemble.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 29
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
• Composant
Les composants métiers modélisent la partie la plus stable du système d’information, c’est-à-
dire celle susceptible d’évoluer le moins dans le temps. Elle correspond en général aux entités
stables du Système d’Information.
Les services rendus par un composant « service » doivent être à terme exprimés à travers des
interfaces présentées par le composant mais réalisées par les entités du composant de manière
à renforcer l’encapsulation des objets et donc le faible couplage des composants entre eux.
• Classes pour la DAO (Data Access Object) : ce sont les classes pour les accès aux
données
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 30
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Nommage :
Contenu
• 1..n entités (classes stéréotypées avec le stéréotype standard « entity ») représentant les objets
métier du composant
• 1..n diagrammes de classes manifestant ces entités et les associations qu’elles partagent avec des
• 1..n contrôles (classes stéréotypées avec le stéréotype standard « control ») représentant les
processus métier du système.
• 1..n diagrammes de classes manifestant ces control et les associations qu’ils partagent avec des
médiateurs donnant accès aux composants métiers.
Diagramme de Classe
Utilisation
Un ou plusieurs diagrammes de classes doivent être fournis pour chacun des packages (voir
chapitre 1.4)
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 31
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
ensemble de classes d’autres packages du modèle avec lesquelles les premières partagent des
associations (ou mieux, les interfaces d’autres composants), en fonction de l’objectif exact du
diagramme tel
Par ailleurs des diagrammes de classes doivent également être utilisés pour représenter
graphiquement les
packages formant l’architecture logique en couches du système à ses différents niveaux et les
relations de dépendance qui les structurent.
Elle peut contenir une description de l’objectif du diagramme, c’est-à-dire la raison pour
laquelle le diagramme a été créé de manière à manifester un ensemble particulier de classes
avec un ensemble particulier de relations (associations, arbres de généralisation ou de
spécialisation) qu’elles partagent.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 32
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
• Classe (Class)
Contenu :
- 1..n attributs
- 1..n opérations
• Volumétrie : indique le nombre d’instances possibles de la classe dans le système (il s’agit
généralement plus d’un ordre de grandeur que d’une valeur précise).
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 33
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Composant
Les composants métiers modélisent la partie la plus stable du système d’information, c’est-à-dire celle
Susceptible d’évoluer le moins dans le temps. Elle correspond en général aux entités stables du
Système d’Information. A la différence des composants métiers, les composants « services »
modélisent la partie la plus instable du système d’information, c’est-à-dire celle susceptible d’évoluer
le plus dans le temps. Elle correspond en général aux processus métiers dont le rôle est d’orchestrer
les services proposés par la couche de composants métiers Les services rendus par un composant «
service » doivent être à terme exprimés à travers des interfaces présentées par le composant mais
réalisées par les entités du composant de manière à renforcer l’encapsulation des objets et donc le
faible couplage des composants entre eux.
• Classes pour la DAO (Data Access Object) : ce sont les classes pour les accès aux données
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 34
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 35
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 36
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Diagrammes de séquences :
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 37
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Diagramme de classes
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 38
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 39
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Configuration requises
Le serveur de production devrait avoir les configurations suivantes :
• Serveur IIS 6+
Ce dernier implique que le FE consomme directement les services sous forme de SVCO.
Pour pouvoir faire passer la solution de consommation web service à consommation locale il
faut :
2
S’il y a des doublons lors de n’importe quelle copie dans la suite , on les écrase.
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 40
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
S'assurer que tout ce qu'il y a dans le tag <dictionnary> de la partie SVCOFinder du fichier
spring-BaticsImmobilier_SERVICE.xml se trouve dans le même tag de la partie SVCOFinder
du fichier spring-Batics_Immo_SVCO.xml si ce n'est pas le cas compléter le tag de spring-
Batics_Immo_SVCO.xml
L'idée étant de ne plus utiliser les web services pour la consommation des services on doit
rapatrier tous les fichiers de configuration du BE au FE, c'est ce qu'on a commencé à faire en
rapatriant les fichiers de configuration de spring. On va continuer en rapatriant les fichiers de
message ,mail pour ce faire :
Copier tous les fichiers XML des messages du BE (DAO, SISV et SVCO) vers le répertoire
~\BaticsImmobilierAdmin\BaticsImmobilier_WEBAPP\config\messages
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 41
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Chapitre 3. Mise
en Œuvre de la Solution
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 42
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Conclusion
Générale
CONCLUSION GENERALE
Le stage chez Koossery Technologie cmr nous a été très bénéfique sur plus d’un plan. Sur le
plan académique nous avons complété notre formation en conception et développement
logiciel notamment avec les approches par composants ,les designs patterns et l’efficacité du
développement via l’utilisation des Framework techniques .Sur le plan professionnel nous
avons toucher du doigt les réalités de l’entreprise dans un contexte réel par notre présence
dans le pool dotNet de Koossery Tech . Nous avons ainsi développé une expérience dans le
développement industrialisé d’application n-tiers et les architectures orientés services ; Nous
avons pu combiné différents Framework et outils de l’heure pour produire une solution à un
problème réel.
Le travail n’a pas été fait sans difficultés, la principale étant la prise en main des Framework
Spring.Net et iBatis, Asp.net MVC .Nous étions étranger a la plate formes .NET et aux
nouveaux langages asp.Net et C#. Nous avons aussi été confrontés à l’exposition des services
lors du déploiement chez l’hébergeur services exposés, et les différentes configurations des
fichiers qui requiert une expérience. Ces difficultés ont été surmonté grâce à l’encadrement
reçu au sein de Koossery Technologie .
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 43
MISE EN PLACE D’UNE APPLICATION DE GESTION IMMOBILIERE : MODULE ADMINSTRATION | Bibliographies
BIBLIOGRAPHIES
Rapport stage pré-ingénieur rédigé par Tchoulegheu Njemou Marcel Thierry Page 44