WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception d'un systeme intelligent d'analyse de cv base sur le traitement du langage naturel (NLP) pour une evaluation optimisee des candidatures: application au departement des ressources humaines

( Télécharger le fichier original )
par JOSPIN NKISSA KUDOLYE
UPL Université Protestante de Lubumbashi - Licence 2025
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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

précédent sommaire suivant






La Quadrature du Net

Ligue des droits de l'homme