6.9 KiB
PRD - Product Requirements Document - Allons-y Assistant de Candidature IA
1. Introduction
Ce Product Requirements Document (PRD) détaille les objectifs, les fonctionnalités et les exigences techniques du projet "Allons-y - Assistant de Candidature IA". Il vise à fournir une compréhension claire et partagée du produit, de ses utilisateurs et des spécifications nécessaires à son développement.
2. Objectifs du Produit
- Objectif Principal : Simplifier et optimiser le processus de candidature pour les demandeurs d'emploi grâce à l'intelligence artificielle.
- Objectifs Spécifiques :
- Réduire le temps passé par les candidats à adapter leurs documents.
- Augmenter la pertinence des candidatures par rapport aux offres.
- Fournir des retours constructifs pour améliorer les documents (CV, LM).
- Offrir une expérience utilisateur intuitive et accessible.
- Permettre une découverte rapide du produit sans barrière d'inscription.
3. Utilisateurs Cibles
- Toute personne en recherche d'emploi, du jeune diplômé au professionnel expérimenté.
- Utilisateurs cherchant à optimiser leur temps et l'efficacité de leurs candidatures.
4. Portée du MVP (Minimum Viable Product) - Phase 1
Le MVP se concentrera sur la fonctionnalité la plus valorisante et la plus différenciante : l'Analyse d'Offre (Scoring), combinée à une gestion de base des utilisateurs et des documents.
4.1 Fonctionnalités du MVP
- Gestion de l'Authentification :
- Inscription d'un nouvel utilisateur (email, mot de passe, nom/prénom optionnels).
- Connexion / Déconnexion (basée sur JWT).
- Gestion du profil utilisateur (affichage, modification basique).
- Gestion des Documents Utilisateur :
- Upload d'un CV par l'utilisateur connecté (formats PDF, DOCX).
- Stockage sécurisé du CV sur le backend (avec lien en DB).
- Fonctionnalité IA : Analyse d'Offre (Scoring) :
- Pour utilisateur connecté : L'utilisateur colle le descriptif de l'offre et sélectionne un CV déjà uploadé.
- Pour utilisateur non connecté (Anonyme) : L'utilisateur colle le descriptif de l'offre et uploade temporairement un CV.
- L'IA (Gemini/Mistral) analyse le descriptif de l'offre et le CV.
- Résultat : Un score de pertinence (ex: 1-100%) et des points clés textuels justifiant le score (ex: "Compétences manquantes", "Mots-clés pertinents trouvés", "Expériences similaires").
- Limitation du nombre de requêtes pour les utilisateurs anonymes (ex: 2 requêtes/session ou par IP).
- Interface Utilisateur :
- Page d'accueil invitant à s'inscrire/se connecter ou à essayer l'analyse d'offre.
- Formulaire simple pour l'analyse d'offre.
- Tableau de bord utilisateur basique avec les actions rapides et un aperçu des documents.
- Messages d'erreur et de succès clairs.
5. Exigences Fonctionnelles Détaillées (MVP)
-
FE-AUTH-001 : L'utilisateur doit pouvoir s'inscrire avec une adresse email et un mot de passe.
-
FE-AUTH-002 : L'utilisateur doit pouvoir se connecter avec son email et son mot de passe.
-
FE-AUTH-003 : L'utilisateur doit être redirigé vers le tableau de bord après une connexion réussie.
-
FE-PROFILE-001 : L'utilisateur connecté doit voir son nom ou email sur le tableau de bord.
-
FE-FILE-001 : L'utilisateur connecté doit pouvoir uploader un fichier (CV) via un bouton dédié.
-
FE-FILE-002 : L'upload doit supporter les formats PDF et DOCX.
-
FE-IA-ANALYSE-001 : L'utilisateur doit pouvoir accéder au formulaire d'analyse d'offre.
-
FE-IA-ANALYSE-002 : Le formulaire doit inclure un champ de texte pour le descriptif de poste.
-
FE-IA-ANALYSE-003 : Le formulaire doit inclure une option pour sélectionner un CV uploadé (pour connecté) ou uploader un CV temporaire (pour anonyme).
-
FE-IA-ANALYSE-004 : Après soumission, un indicateur de chargement doit apparaître.
-
FE-IA-ANALYSE-005 : Le résultat de l'analyse (score, texte d'analyse) doit être affiché de manière claire.
-
FE-ANONYMOUS-001 : Un utilisateur non connecté doit pouvoir accéder au formulaire d'analyse d'offre sans s'inscrire.
-
FE-ANONYMOUS-002 : Après l'analyse anonyme, une invitation à s'inscrire doit être affichée.
-
BE-AUTH-001 : Le backend doit valider les informations d'inscription (email unique, mot de passe fort).
-
BE-AUTH-002 : Le backend doit hasher les mots de passe avant stockage en DB.
-
BE-AUTH-003 : Le backend doit générer un JWT après connexion réussie.
-
BE-FILE-001 : Le backend doit gérer l'upload de fichiers, les stocker et enregistrer leurs métadonnées en DB.
-
BE-FILE-002 : Le backend doit extraire le texte des fichiers PDF/DOCX pour l'IA.
-
BE-IA-ANALYSE-001 : L'endpoint d'analyse d'offre doit recevoir le descriptif et le CV.
-
BE-IA-ANALYSE-002 : Le backend doit construire un prompt optimisé pour l'IA (Gemini/Mistral) intégrant l'offre et le CV.
-
BE-IA-ANALYSE-003 : Le backend doit appeler l'API IA et gérer ses réponses (parsing, erreurs).
-
BE-IA-ANALYSE-004 : Le backend doit stocker les requêtes IA et leurs résultats en DB (avec ou sans
user_id
). -
BE-ANONYMOUS-001 : Le backend doit implémenter un mécanisme de limitation de débit (rate limiting) pour les requêtes anonymes.
6. Exigences Non Fonctionnelles (MVP)
- Performance :
- Temps de réponse de l'API IA : < 5 secondes (hors temps de l'API externe).
- Temps de chargement des pages : < 3 secondes.
- Sécurité :
- Mots de passe hachés.
- Utilisation de HTTPS en production.
- Protection contre les injections SQL, XSS, CSRF.
- Stockage sécurisé des clés API.
- Gestion des fichiers uploadés de manière sécurisée (permissions, noms de fichiers uniques).
- Scalabilité :
- Architecture permettant d'ajouter de nouvelles fonctionnalités IA.
- Base de données PostgreSQL pour la scalabilité des données.
- Fiabilité :
- Gestion des erreurs robuste pour les appels API (backend et IA).
- Journalisation (logging) des événements importants.
- Expérience Utilisateur :
- Interface propre, intuitive et réactive.
- Messages de retour clairs et amicaux.
7. Critères d'Acceptation du MVP
Le MVP sera considéré comme achevé lorsque :
- Les utilisateurs peuvent s'inscrire, se connecter et gérer leur profil.
- Les utilisateurs connectés peuvent uploader et stocker leurs CVs.
- La fonctionnalité d'Analyse d'Offre (scoring) est entièrement opérationnelle pour les utilisateurs connectés et anonymes (avec limitation).
- Les résultats de l'analyse d'offre sont pertinents et bien présentés.
- L'application est stable et ne présente pas d'erreurs majeures.
- Les exigences de sécurité de base sont respectées.
8. Futures Itérations / Fonctionnalités Post-MVP
Voir le document ROADMAP.md
pour les détails des phases futures.