You are on page 1of 5

République Tunisienne

Ministère de l’Enseignement Supérieur


Et la Recherche Scientifique
Université de Carthage

Ecole Nationale d’ingénieurs de Carthage

Conception

Sujet : Développement d’une plateforme d’automatisation


de processus de recrutement

Réalisé par : Oumayma Limeme


Encadré par : Mme Roua Elheni

Réalisé au sein de AddInn Group Tunisie

Année Universitaire
2022/2023

1
Conception
I-Conception architecturale
L'architecture d'une application web de recrutement basée sur Angular et .NET Core Clean Architecture peut
être divisée en deux aspects : l'architecture physique et l'architecture logique.

1-Architecture physique
Notre application est en architecture N-tiers. L’architecture N-tiers, ou encore appelée multi-tier, est une
architecture client-serveur dans laquelle une application est exécutée par plusieurs composants logiciels
distincts .Plus précisément, dans notre projet, N=4.

-Frontend (Angular) : C'est la partie de l'application qui s'exécute côté client dans le navigateur
de l'utilisateur. Il est développé à l'aide du framework Angular.

-Backend (ASP.NET Core) : C'est la partie de l'application qui s'exécute côté serveur. Il est
développé à l'aide du framework ASP.NET Core et fournit des API REST pour communiquer avec le
frontend et accéder aux données.

-Base de données (Postgres) : C'est l'endroit où les données de l'application sont stockées.
Dans une application de recrutement, cela pourrait inclure des informations sur les candidats, les
offres d'emploi, les entreprises, etc.

- Serveur : C'est l'environnement d'exécution pour l'application backend. Il peut être hébergé
sur un serveur physique ou dans le cloud.

2-Architecture logique
2
L'architecture logique fait référence à la structure interne de l'application et à la manière dont les différents
modules et couches sont organisés.Dans cette section, nous présentons les architectures logiques de notre
projet.

Architecture Front-End (Angular)

L'architecture front-end de l'application de recrutement est organisée selon le modèle MVVM, où la vue est
responsable de l'apparence de l'interface utilisateur, le modèle d'affichage fournit les fonctionnalités et la
logique métier, et le modèle gère les données et la logique de domaine. Cette architecture facilite la
collaboration entre les concepteurs et les développeurs, permettant une conception et un développement
efficaces de l'application.

View (Vue) : La vue est responsable de définir la structure, la disposition et l'apparence de ce que l'utilisateur
voit à l'écran. Idéalement, chaque vue est définie en XAML (Extensible Application Markup Language), avec
un code-behind limité qui ne contient pas de logique métier. Dans certains cas, le code-behind peut contenir
une logique d'interface utilisateur qui implémente le comportement visuel difficile à exprimer en XAML, comme
les animations.

ViewModel (Modèle d'affichage) : Le modèle d'affichage implémente les propriétés et les commandes
auxquelles la vue peut être liée, et informe la vue de toutes les modifications d'état par le biais d'événements
de notification de modification. Les propriétés et les commandes que le modèle d'affichage fournit définissent
les fonctionnalités à offrir par l'interface utilisateur, mais c'est la vue qui détermine la façon dont cette
fonctionnalité doit être affichée.

Model (Modèle) : Les classes de modèle sont des classes non visuelles qui encapsulent les données de
l'application. Le modèle représente généralement le modèle de domaine de l'application, qui inclut
généralement un modèle de données, ainsi que la logique métier et de validation. Les classes de modèle sont
généralement utilisées conjointement avec les services ou référentiels qui encapsulent l'accès aux données et
la mise en cache.

3
Architecture Back-End

Notre modèle de conception back-end est ASP.Net Core Web API (Application Programming Interface). En
effet, ASP.NET Core prend en charge la création d’API Web à l’aide de la clean architecture .

Dans le contexte de l'architecture Clean Architecture, l'application est divisée en couches logiques qui sont
définies comme suit :

Couche de présentation :

C'est la couche la plus externe de l'architecture logique et correspond au frontend (Angular) de l'application.
Il est responsable de l'affichage des données à l'utilisateur et de la gestion des interactions utilisateur.

Couche d'application :

Cette couche contient la logique métier de l'application et est responsable de la coordination entre les
différentes fonctionnalités. Elle interagit avec la couche d'infrastructure pour accéder aux services et aux
données.

Couche d'infrastructure :

Cette couche contient le code qui est spécifique à l'infrastructure de l'application, telle que l'accès à la base
de données, les services externes, etc.

Couche de domaine :

C'est la couche la plus interne de l'architecture logique et contient les entités métier de l'application, ainsi que
les règles métier. Cette couche est indépendante de toute technologie spécifique et peut être utilisée dans
d'autres parties de l'application.

4
En résumé, une application web de recrutement basée sur Angular et .NET Core Clean Architecture peut être
organisée avec un frontend Angular pour la présentation, un backend ASP.NET Core pour la logique métier,
une base de données pour le stockage des données, et une architecture logique bien définie avec des
couches de présentation, d'application, d'infrastructure et de domaine.

You might also like