⚙️Portée Fonctionnelle Détaillée

La plateforme s'articule autour de quatre modules interdépendants, formant un écosystème complet.

1.1. Barre Latérale de Configuration Dynamique

  • Gestion de l'API : Champ de saisie sécurisé (type `password`) pour la clé API Groq. La clé est stockée dans l'état de la session pour la durée d'utilisation, elle n'est jamais sauvegardée en clair.
  • Sélecteur de Modèle d'IA : Menu déroulant permettant de choisir entre plusieurs modèles d'IA (ex: `Llama 3.3 70B` pour la précision, `Llama 3.1 8B` pour la vitesse), offrant un contrôle direct sur le compromis performance/coût.
  • Options Techniques : Case à cocher pour un "Mode Debug" qui affiche les charges utiles JSON brutes envoyées et reçues de l'API, essentiel pour le dépannage.

1.2. Panneau d'Analyse Principal

  • Upload de Fichiers : Zone de téléversement claire pour les CV au format PDF, avec des aides contextuelles sur les formats supportés et la taille maximale.
  • Sélecteur de Référentiel : Menu déroulant peuplé dynamiquement à partir des fichiers de configuration JSON présents sur le serveur.
  • Internationalisation (I18N) Nouveau : L'ensemble des textes de l'interface est géré via un dictionnaire de traduction (FR/EN), permettant une utilisation fluide dans un contexte international.

Le cœur de la plateforme est capable d'interpréter les référentiels de deux manières distinctes pour allier précision moderne et compatibilité avec l'existant.

2.1. Analyse Granulaire (Logique par défaut)

Ce mode utilise un "mega-prompt" sophistiqué pour forcer l'IA à agir comme un expert en conformité méticuleux.

  • Instruction de Rôle : Le prompt assigne à l'IA le rôle d' "Expert en conformité GFSI".
  • Format de Sortie Imposé : La réponse doit obligatoirement être un JSON structuré, minimisant les hallucinations et facilitant le parsing.
  • Analyse Exigence par Exigence : Le prompt liste chaque exigence du référentiel sélectionné, forçant l'IA à fournir une évaluation pour chacune.
  • Exigence de Justification : Pour chaque évaluation, l'IA est instruite de trouver et de **citer textuellement** les passages pertinents du CV (candidate_evidence).
  • Auto-Évaluation de l'IA : Le modèle doit fournir un confidence_score (de 0.0 à 1.0) sur sa propre évaluation, permettant de mesurer la fiabilité de chaque point.

2.2. Analyse Traditionnelle (Mode de Compatibilité)

Pour les anciens fichiers de référentiels ne suivant pas la nouvelle structure, un prompt plus simple est utilisé, assurant que l'application ne tombe pas en panne et peut continuer à analyser ces cas de figure.

3.1. Affichage à l'Écran (Post-Analyse)

  • Tableau de Bord Synthétique : Affichage en haut de page de métriques clés (Total, Conformes, Partiels, Non-conformes) et d'un taux de conformité global.
  • Verdict Visuel : Une boîte de recommandation finale (ex: "RECOMMANDÉ") utilise des couleurs vives (vert, jaune, rouge) pour un impact immédiat.
  • Analyse Qualitative : Trois colonnes distinctes pour les "Forces Principales", les "Lacunes Critiques" et les "Opportunités de Développement".
  • Exploration Détaillée : Les exigences sont regroupées par catégories dans des onglets. Au sein de chaque onglet, chaque exigence est présentée dans une boîte extensible ("expander"), permettant à l'utilisateur de se concentrer sur les points d'intérêt.

3.2. Rapport Exportable

  • Génération HTML : Création d'un fichier HTML complet, autonome et stylisé, pouvant être facilement partagé, imprimé ou archivé.
  • Branding et Clarté : Le rapport inclut un en-tête professionnel, la date de l'analyse, et une mise en page claire utilisant des tableaux et des codes couleur pour une lisibilité maximale.

Cette section, protégée par mot de passe, transforme l'application d'un outil statique à une plateforme de connaissance vivante.

4.1. Assistant de Création de Référentiels via IA

C'est la fonctionnalité la plus innovante, permettant une autonomie complète du siège :

  1. L'administrateur **colle le texte brut** d'un nouveau standard dans une zone de texte.
  2. Il clique sur "Générer le JSON".
  3. L'application envoie ce texte à l'API Groq avec un prompt spécifique lui demandant de **structurer l'information** selon le format JSON requis par l'application (avec catégories, poids, exigences critiques, etc.).
  4. L'IA retourne un objet JSON propre et formaté.

4.2. Système de Gestion de Contenu (CMS) Simplifié

  • Prévisualisation : Le JSON généré est affiché à l'écran pour validation par l'administrateur.
  • Sauvegarde en un Clic : L'administrateur nomme le fichier et clique sur "Sauvegarder". Le fichier est alors écrit sur le disque du serveur.
  • Rechargement à la Volée : L'application est conçue pour recharger dynamiquement la liste des référentiels disponibles, rendant le nouveau standard immédiatement utilisable sans redémarrage ni intervention technique.

🛠️Architecture Technique et Options d'Évolution

Architecture Actuelle (MVP Streamlit)

L'application est un monolithe intelligent basé sur Streamlit qui gère à la fois le frontend et le backend.


Utilisateur (Directeur/Admin)
      |
      |-- Navigateur Web
      |
[ Serveur / Machine Virtuelle ]
      |
      |-- Application Streamlit (Python)
      |   |
      |   |-- 1. Gestion UI & Session State
      |   |
      |   |-- 2. Logique Métier (extract_text, build_prompt)
      |   |       |
      |   |       '-----> [ API Externe : Groq Cloud ]
      |   |                    |-- LLM (Llama, etc.)
      |   |
      |   '-- 3. Accès Fichiers Locaux
      |           |
      |           '-----> /referentiels/*.json (Lecture/Écriture)
            

Options d'Évolution pour la Scalabilité

OptionDescription de la StackAvantagesInconvénientsCas d'usage Idéal
A. MVP Actuel
(Streamlit)
Monolithe Python avec Streamlit.
  • Vitesse de développement imbattable
  • Écosystème unique (Python)
  • Faible coût initial
  • Scalabilité horizontale limitée
  • Personnalisation de l'UI contrainte
  • Gestion fine des droits complexe
Proof of Concept, déploiement interne rapide pour < 50 utilisateurs.
B. Scale-Up API-First
(Découplé)
Backend: FastAPI/Flask (Python)
Frontend: Vue.js/React (JavaScript)
  • API REST robuste et réutilisable
  • Expérience utilisateur riche et sur-mesure
  • Scalabilité horizontale claire
  • Équipes spécialisées (front/back)
  • Développement plus long et complexe
  • Nécessite des compétences multiples (Py/JS)
  • Déploiement en deux parties
Besoin d'intégrations tierces (SIRH), application mobile future, UI complexe, > 50 utilisateurs.
C. Enterprise "Tout-en-Un"
(Django)
Framework Django (Python) avec son système de templates et son ORM.
  • Sécurité et robustesse éprouvées
  • Interface d'admin générée automatiquement
  • ORM puissant pour la BDD
  • "Piles incluses" (authentification, etc.)
  • Plus rigide et "cadré"
  • Le frontend est moins dynamique qu'avec un framework JS dédié
  • Plus lourd pour une application simple
L'application devient un système de gestion central avec des règles métier complexes et une forte dépendance à une base de données relationnelle.

🛡️Exigences Non-Fonctionnelles

CatégorieSpécification Détaillée (déduite du code v25.12)
PerformanceTemps de réponse interactif grâce à des spinners Streamlit. L'analyse principale, dépendante de l'API, doit viser un retour en moins de 30 secondes pour une expérience fluide.
SécuritéConfidentialité API : Utilisation de `st.session_state` et input de type `password` pour la clé. Confidentialité Données : Instruction de l'IA via le prompt pour l'anonymisation. Contrôle d'accès : Section Admin protégée par un mot de passe non-stocké.
MaintenabilitéCode modulaire avec des fonctions dédiées (extraction, analyse, affichage, rapport). La logique des référentiels est externalisée dans des fichiers JSON, permettant des mises à jour sans toucher au code source.
Internationalisation (I18N)Présence d'un dictionnaire `TRANSLATIONS` pour le support du Français et de l'Anglais, rendant l'application prête pour un déploiement global.
Robustesse & Gestion d'ErreursLe code gère explicitement : les PDF invalides (vides, protégés), les clés API incorrectes, les erreurs de connexion à l'API Groq, et les échecs de parsing JSON de la réponse, affichant des messages d'erreur clairs à l'utilisateur.
Configurabilité & ExtensibilitéL'application est hautement configurable : l'utilisateur choisit le modèle d'IA. Elle est extensible : les administrateurs peuvent ajouter de nouveaux référentiels de manière autonome via l'interface, sans intervention de l'équipe de développement.

🗺️Roadmap d'Évolution

PhaseDuréeLivrables Clés
1 – MVP Avancé
(Statut : Terminé)
0-3 mois Workflow complet d'analyse, support PDF, moteur d'analyse granulaire, rapport HTML, mode admin avec assistant IA, support multilingue (FR/EN).
2 – Améliorations
(À venir)
4-9 mois Tableau de bord de statistiques pour les admins, support des formats .docx et .txt, fonctionnalité d'analyse comparative (1 CV vs plusieurs référentiels), historisation des analyses dans une base de données.
3 – Évolution
(Vision à long terme)
10-18 mois Mise en place d'une API REST pour intégration avec des SIRH, module de suivi du plan de formation pour les candidats recrutés, gestion avancée des droits et des équipes.

📈KPIs & Critères de Succès

  1. Taux d'Adoption Utilisateur : Pourcentage de directeurs de site utilisant activement l'outil chaque mois. Cible : > 80%.
  2. Efficacité du Processus : Réduction du temps moyen entre la réception d'un CV et la décision de pré-qualification par le siège. Cible : -75%.
  3. Fiabilité de l'Analyse : Pourcentage de rapports générés jugés "fiables et utiles" (ne nécessitant pas de reprise manuelle complète) par les experts du siège. Cible : > 90%.
  4. Satisfaction Utilisateur (NPS) : Score Net Promoter Score collecté auprès des directeurs de site et des administrateurs. Cible : > +40.