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

CHAPITRE 4 IMPLEMENTATION DE LA SOLUTION PROPOSEE

4.1. Introduction

Dans ce chapitre, nous présentons les différents outils et techniques utilisés tel que le NLP pour implémenter notre système intelligent d'analyse de CV. Après une justification approfondie des choix technologiques (langages, frameworks, SGBD), nous détaillons l'architecture d'implémentation adoptée, qui repose sur une approche client-serveur hybride articulée autour des modèles MVT (Model-View-Template) pour le backend (Django) et MVVM (Model-View-ViewModel) pour le frontend (React). Nous exposons ensuite les différents modules développés et les tests réalisés pour évaluer le bon fonctionnement de la solution et quelques rappelles important pour sur les notions de machines learning, deep learning et nlp .

4.1. Technologies

1. Choix des langages de programmation

· JavaScript (React) : utilisé côté client pour concevoir une interface dynamique en architecture MVVM. Le modèle (données), la vue (UI) et la logique de liaison (état via hooks ou Redux) sont clairement séparés.

· Python (Django) : choisi pour son efficacité dans le développement web côté serveur et son intégration native avec des bibliothèques NLP (BERT, Spacy). Django suit le modèle MVT, facilitant la structuration du backend.

· Tailwindcss: utilisés pour structurer et styliser l'interface dans les composants React.

2. Frameworks

· React.js : framework JavaScript moderne, basé sur le modèle MVVM, permettant une gestion efficace des vues et de l'état via composants, props et hooks.

· Django : framework Python robuste, structuré selon le modèle MVT, utilisé pour la logique métier, les API REST, la sécurité et l'interface avec la base de données via ORM.

· Tailwind CSS : bibliothèque CSS utilitaire, utilisée pour styliser l'interface sans compromettre la séparation des vues et de la logique.

· PyTorch / Transformers (Hugging Face) : frameworks utilisés pour charger et exploiter le modèle BERT dans l'analyse sémantique des CV.

· PyMuPDF / pdfminer : bibliothèques Python utilisées pour parser et extraire le contenu textuel des CV en PDF.

66

3. Base de données

Le système utilise PostgreSQL comme SGBD relationnel robuste, performant et bien adapté à l'architecture Django. Le modèle de données est défini à travers des modèles Django (ORM), avec une structure logique respectant l'intégrité des relations (utilisateurs, offres, CV analysés...).

4. Environnement de développement

· Visual Studio Code (VS Code) : utilisé comme éditeur principal, avec intégration d'extensions pour Python, React, Tailwind, etc.

5. Approche d'implémentation

Nous avons adopté une approche modulaire avec séparation claire des responsabilités entre frontend, backend, NLP et base de données.

Côté client :

· Le frontend React est structuré selon MVVM, avec :

o Model : état local / global (via Redux)

o View : composants d'interface (formulaires CV, tableau de bord, résultats)

o ViewModel : gestion logique (soumissions, appels API) Côté serveur :

· Django suit l'approche MVT, où :

o Model : définit la base de données via ORM

o View : fonctions ou classes retournant JSON

o Template : utilisé uniquement pour endpoints HTML (admin), sinon nous avons utilisé un API REST + React

Modules clés développés

· Module Authentification (utilisateurs, entreprises, chercheurs d'emploi)

· Module de dépôt et parsing de CV (upload, extraction PDF)

· Module d'analyse sémantique avec BERT

· Dashboard interactif pour les recruteurs (via React + Chart.js)

· Système de notification (emails)

· Module de gestion des rôles (permissions Django)

Ces Technologies ont était choisi car c'est adapter pour développer les applications qui utilises le modèle de machine Learning .

67

6. Étude et mise en oeuvre d'un serveur Celery

Dans le domaine du développement d'applications web et distribuées, il est fréquent de rencontrer des traitements lourds ou longs à exécuter, tels que l'envoi massif d'e-mails, la génération de rapports volumineux ou le traitement d'images. L'exécution synchrone de ces tâches dans le processus principal d'une application entraîne souvent une dégradation significative des performances et de l'expérience utilisateur. Pour répondre à ce problème, la communauté Python a développé Celery, un système de gestion de tâches asynchrones permettant d'exécuter ces traitements en arrière-plan grâce à un mécanisme de file d'attente et à des workers indépendants.

· Définition de Celery

Celery est un framework Python open-source dédié à la gestion de tâches distribuées et à leur exécution asynchrone. Il s'appuie sur un système de messagerie intermédiaire appelé broker qui joue le rôle de file d'attente.

Dans ce modèle, l'application principale délègue l'exécution des tâches à un ou plusieurs workers Celery qui les traitent de manière indépendante, permettant ainsi à l'application de rester réactive.

· Architecture générale

L'architecture de Celery repose sur quatre composants principaux :

précédent sommaire suivant






La Quadrature du Net

Ligue des droits de l'homme