9. Titre : Supprimer ou modifier un CV
Résumé : Modifier ou retirer un CV
déjà téléversé.
Acteurs : Demandeur d'emploi
Précondition : Être connecté et CV
existant.
Scénario nominal :
9.1. Le candidat accède à ses CVs.
9.2. Il en supprime ou modifie un.
Postcondition : Modification prise en compte.
46

Figure 15 Diagramme de séquence CU 9 supprimer ou
modifier un cv
10. Titre : Analyser un CV
Résumé : Le système traite le CV avec le
NLP.
Acteurs : Système (automatique)
Précondition : CV téléchargé.
Scénario nominal :
10.1. Le système extrait le texte.
10.2. Il génère les vecteurs BERT.
10.3. Il calcule la similarité.
Postcondition : Score disponible.
47

Figure 16 Diagramme de séquence CU 10 Analyser un cv
11. Titre : Afficher résultat de l'analyse
Résumé : Affiche tous les CVs reçus pour une
offre. Acteurs : Entreprise
Précondition : Des candidats ont postulé.
Scénario nominal :
11.1. L'entreprise accède à la liste des
candidatures. 11.2. Elle consulte les informations et scores. Postcondition :
Liste disponible.
48

Figure 18 Diagramme de séquence CU 11 AfficherResultat
13. Titre : Afficher candidatures
Résumé : Affiche tous les CVs reçus pour une
offre. Acteurs : Entreprise
Précondition : Des candidats ont postulé.
Scénario nominal :
13.1. L'entreprise accède à la liste des
candidatures. 13.2. Elle consulte les informations et scores. Postcondition :
Liste disponible.
49

Figure 19 Diagramme de séquence CU 12 afficher
candidatures 3.10. Diagramme de classe de conception
Le diagramme de classes de conception constitue un outil
fondamental de modélisation, permettant de représenter la
structure statique d'un système d'information. Il offre une vision
structurée des entités qui composent l'application, en
précisant leurs attributs, leurs méthodes ainsi que les relations
qui les relient.
Dans le cadre de ce projet, ce diagramme formalise les
entités centrales, notamment les comptes utilisateurs, les CV, les
offres d'emploi, ainsi que les résultats d'analyse
générés par le moteur NLP. Il joue également un
rôle clé dans la conception de la base de données
PostgreSQL et l'implémentation des modèles dans Django.
Éléments clés dans un diagramme de
classes
1. Classe
Une classe est représentée par un rectangle
divisé en trois compartiments :
· Le nom de la classe (ex. : CV, Offre, Utilisateur,
Analyse)
· Les attributs (ex. : email, mots_clés, score)
· Les méthodes ou opérations (ex. :
générer_otp(), analyser_cv())
50
2. Attributs
Ils représentent les données propres à
chaque entité.
Exemple : La classe CV possède des attributs tels que
fichier_pdf, compétences, années_d'expérience.
3. Opérations ou Méthodes
Ce sont les comportements internes à chaque classe.
Exemple : La classe Utilisateur peut avoir des
méthodes telles que authentifier(), vérifier_otp(), ou
réinitialiser_mot_de_passe().
4. Visibilité
Elle détermine l'accessibilité des
éléments :
· public : accessible depuis toute autre classe
· privé : accessible uniquement à
l'intérieur de la classe
· protégé : accessible aux classes
héritées Types de relations entre les classes
a.Association
Lien logique entre deux entités. Exemple : Une
Entreprise publie plusieurs Offres. Un Demandeur d'emploi peut
téléverser plusieurs CV.
b. Héritage
(généralisation)
Une classe spécialisée hérite d'une classe
plus générale.
Exemple : La classe Utilisateur est générique
et donne naissance aux classes Entreprise et Demandeur d'emploi.
c. Composition
Relation forte : la suppression de la classe principale
entraîne celle de la dépendante.
Exemple : Une Analyse dépend d'un CV. Si ce dernier est
supprimé, l'analyse devient obsolète.
d. Agrégation
Relation souple : l'entité liée peut exister
indépendamment.
Exemple : Une Offre est associée à une Entreprise,
mais l'Entreprise peut exister sans offre.
e. Dépendance
Lien temporaire utilisé pour l'exécution d'une
tâche ponctuelle.
Exemple : ExportService utilise les données des CV et des
scores pour générer un fichier (PDF, Excel), sans lien permanent
avec ces classes.
Ce diagramme de classes constitue une représentation
synthétique de l'architecture du système, facilitant le passage
vers l'implémentation technique avec Django. Il assure une
compréhension claire des rôles et responsabilités de chaque
entité, tout en garantissant une maintenabilité
et une extensibilité optimales du projet.
51
DC Système
OffreEmploi
- titre : string
description : texte
exigences : texte
responsabilités : texte - salaire : decimal
devise_salaire : string salaire_visible : booléen
- localisation : string
télétravail_possible : booléen
- type_contrat : string niveau expérience : string
_
active booléen
- date_limite : date
- date_création : datetime date modification : datetime
compétences_ requises : JSONField avantages : texte
+ Creer offre()
+ supprirner_offre()
+ modifier_offre()
+ afficher_details_offre()
+ Hltreroffre()
CV
fichier_cv: FileField
données_extraites: JSONField compétences :
JSONField formations: JSONField a nnées_expérience : float
poste_recherche : string poste_occupe : string description_expérience :
texte texte_extrait : texte méthade_exhachon : string erreur
traitement:texte statut :CharField
notes : texte
date_création : datetime date traitement: datetime
= estimer_annees_experience[.: + modifier_cv0
+ supprimer cv()
+ extraire données[:
|
|
ProfilEntreprise
|
|
|
|
|
PrafilChercheurErnploie
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nam_entreprise : string logo : image descriptian_entreprise :
string site_web : string
+
|
|
|
|
photo_profil : image compétences : string
expérience : string
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ ajouter_phota_proFil()
+ supprimer_photo_prehl()
+ ajouter_compétences(} +
supprimer_compétence()
|
+
|
|
modifier()
+ ajouter()
+ supprimer()
+ changer logo()
|
+
|
+
|
+
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Utilisateur
|
|
|
|
|
|
|
|
|
|
|
email : String
numero_telephone : String type_utilisateur: String prenorn :
String
nom : String
ville : String
code_otp : String es# vedfie : Boolean tentatives connexion :
Integer token_reinitialisation : String est_actif : Boolean
est_membre_personnel : Boolean date inscription : Date derniere_connexion :
Date derniere_activite : Date
|
|
|
|
|
|
|
+ générer_otp()
+ générer_token réinitialisation()
+ activer compte()
+ désactiver_compte()
+ marquer_camme vérifié()
+ norn_cornplet() : String
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 Reçoit
|
|
|
|
|
|
|
|
|
|
|
|
O..'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Notification
|
|
|
|
|
|
|
|
|
|
|
|
titre : String message : String lue : Boolean uri : LIRL date
creation : Date
|
|
|
|
|
|
|
|
|
|
|
+ marquer_lue(j : void
+ marquer_non_lue(): void
-F envoyer par email()
|
|
|
|
|
|
|
|
Genére
O..
ResultatAnalyseCV
score : String
date_analyse Date
+ enregistrer envoil)
+ get_categorie_score()
Trace t]'
JoumalEnvoiEmail
- destinataire : String - statut : String
- message_erreur : String - date envoi : Date
+ enregistrer envoi()
Figure 20 Diagramme système
52
3.11. DIAGRAMME DE CLASSES PARTICIPANTES
Le diagramme de participants, également appelé
diagramme de communication ou diagramme de collaboration, est un diagramme
d'interaction en UML. Il illustre les objets impliqués dans une
interaction ainsi que les messages échangés entre eux afin de
réaliser un scénario spécifique,
généralement dérivé d'un cas d'utilisation.
Contrairement au diagramme de séquence qui met l'accent sur la
chronologie des événements, le diagramme de participants
privilégie la structure statique des échanges en
représentant les rôles des objets et les relations de
communication entre eux.
Ce type de diagramme permet de modéliser les
collaborations entre les différentes classes d'analyse, notamment les
classes de type boundary (interface utilisateur), control (logique
métier ou coordination) et entity (gestion des données). Il
fournit ainsi une vue claire et synthétique de l'architecture logique du
système dans le cadre d'un traitement donné.

Figure 21 Diagramme de classe participante CU 1
inscription

Figure 1 22
Diagramme de classe participante CU 2
Authentification

53
Figure 23 Diagramme de classe participante CU 3
Réinitialisation
Figure 24 Diagramme de classe participante CU 4 Gérer
profil

54
Figure 25 Diagramme de classe participante CU 5 publier
offre

55
Figure 26 Diagramme de classe participante CU 6 Gérer
offre
56

Figure 27 Diagramme de classe participante CU 7 Consulter
l'offre

Figure 28 Diagramme de classe participante CU 8
Téléverser cv

57
Figure 29 Diagramme de classe participante CU 9 Supprimer
modifier cv

58
Figure 30 Diagramme de classe participante CU 10 Analyser
cv

59
Figure 31 Diagramme de classe participante CU 11 Afficher
résultat
Figure 32 Diagramme de classe participante CU 12 Afficher
candidature
60
|