Application Streamlit (exploration et validation)

Objectif

Développer une application interactive permettant :

  • de valider le bon fonctionnement de la chaîne PostgreSQL → API → accès applicatif,

  • d’explorer visuellement les données ingérées,

  • de répondre aux principales questions analytiques du projet.

L’application est construite avec le framework Streamlit, offrant une interface web simple à déployer et à utiliser.

Connexion aux données

L’application se connecte directement à la base PostgreSQL hébergée sur Supabase.

La connexion utilise les mêmes paramètres que ceux configurés pour l’API Django REST, assurant la cohérence des accès. —

Structure de l’application

L’interface est organisée en onglets thématiques, chacun correspondant à une question d’analyse.

Vue d'ensemble des onglets Streamlit

Onglet « Marché »

Objectif

Fournir une vue globale du marché de l’emploi étudié.

Vue d'ensemble des onglets Streamlit Top 5 des villes avec le plus d'offres d'emploi

Fonctionnalités

  • Calcul du nombre total d’offres distinctes.

  • Affichage tabulaire des offres.

  • Identification des localisations les plus représentées via un classement des villes.

Cette vue permet de répondre à la question : « Dans quelles zones géographiques se concentrent les offres ? »

Onglet « Compétences »

Objectif

Identifier les compétences les plus demandées et leur priorité relative.

Top 5 hard-skills les plus demandées Top 5 soft-skills les plus demandées

Fonctionnalités

  • Agrégation des compétences par catégorie : - compétences techniques (hard skills), - compétences comportementales (soft skills).

  • Comptage du nombre d’offres associées à chaque compétence.

  • Calcul du pourcentage d’offres concernées.

  • Visualisation des compétences dominantes (tableaux et graphiques).

Cet onglet répond à la question : « Quelles compétences sont les plus fréquemment requises, et doivent être priorisées dans la préparation du profil ? »

Onglet « Salaire »

Objectif

Explorer la disponibilité et les bornes salariales.

Salaire minimum et maximum des offres d'emploi

Fonctionnalités

  • Calcul du nombre d’offres contenant une information salariale exploitable.

  • Comparaison entre volume total d’offres et volume avec salaire renseigné.

  • Affichage des bornes salariales annuelles lorsque disponibles.

Cet onglet permet de répondre à la question : « Quels niveaux de salaire minimum et maximum apparaissent dans les offres, afin de préparer les échanges avec les recruteurs ? »

Onglet « Géographie »

Objectif

Visualiser la répartition spatiale des offres d’emploi.

Répartition géographique des offres d'emploi

Fonctionnalités

  • Filtrage des offres disposant de coordonnées géographiques.

  • Affichage cartographique interactif à l’aide de Plotly et OpenStreetMap.

  • Exploration visuelle par survol (intitulé, ville, type de contrat).

Cette visualisation facilite l’analyse : « Où se situent géographiquement les opportunités identifiées ? »

Onglet « Métiers proches »

Objectif

Identifier des intitulés de postes proches sémantiquement afin d’élargir le champ de recherche.

Répartition géographique des offres d'emploi

Méthode

  • Nettoyage et normalisation des intitulés de postes.

  • Calcul d’embeddings multilingues à l’aide d’un modèle SentenceTransformer.

  • Mesure de similarité cosinus entre un intitulé de référence et les intitulés présents dans la base.

  • Restitution des intitulés proches au-dessus d’un seuil de similarité (70%).

Résultat

Pour chaque métier proche : - score de similarité sémantique, - nombre d’offres associées.

Cet onglet répond à la question : « Quels intitulés alternatifs ou voisins peuvent être utilisés comme mots-clés pour élargir la recherche d’emploi ? »

Rôle dans l’architecture globale

L’application Streamlit joue un double rôle :

  • outil d’exploration analytique, facilitant l’interprétation des données,

  • outil de validation technique, confirmant : - la cohérence des données stockées, - l’accessibilité de la base depuis un service externe, - la stabilité du pipeline après déploiement.

Elle constitue la dernière étape visible de la chaîne collecte → prétraitement → base → API → exploration.