project_name: "Nom du projet" version: "2025-01" owner: "Direction / Produit / Équipe" contexte_metier: description: > Résumé métier en quelques phrases (qui, quoi, pourquoi). acteurs: - code: "USER" label: "Utilisateur final" description: "Personne qui utilise l'application." - code: "ADMIN" label: "Administrateur" description: "Configure le système, gère les droits." enjeux: - "Réduire le temps de traitement d'une demande de 30%." - "Améliorer la traçabilité pour les audits internes." objectifs_projet: - "Permettre de créer, suivre et clôturer des demandes." - "Fournir un tableau de bord simple aux managers." user_stories: - id: "US-01" titre: "Création d'une demande" story: "En tant que USER, je veux créer une demande pour qu'elle soit traitée." criteres_acceptation: - "Un numéro unique est attribué." - "Les champs obligatoires sont contrôlés." - id: "US-02" titre: "Clôture d'une demande" story: "En tant que ADMIN, je veux clôturer une demande pour indiquer qu'elle est terminée." criteres_acceptation: - "La demande passe en statut 'Clôturée'." - "La date de clôture est enregistrée." regles_metier: calcul: - "montant_total = somme(lignes.quantite * lignes.prix_unitaire)" validation: - "Une demande ne peut être clôturée que si tous les champs obligatoires sont remplis." legales: - "Les données sont conservées 3 ans (règle interne / RGPD)." exigences_non_fonctionnelles: performance: latence_max_ms: 500 utilisateurs_concurrents_cible: 100 securite: auth: "SSO interne (OAuth2)" audit: true rgpd: "Pas de données sensibles dans les logs." exploitabilite: logs: "JSON structuré, niveaux INFO/WARN/ERROR." monitoring: "Dashboards basiques (CPU, erreurs, latence)." maintenabilite: patterns_imposes: - "Architecture en couches (API / service / repository)." - "Tests unitaires sur les règles de calcul." contexte_technique: langages_autorises: - "Python" frameworks: backend: "Django REST Framework" frontend: "React (optionnel)" environnement_cible: type: "docker" orchestration: "kubernetes (optionnel)" cloud_provider: "AWS" interfaces: api_existantes: - name: "CRM interne" type: "REST" auth: "OAuth2" base_donnees: type: "PostgreSQL" version: "15"
id: "US-01" story: "En tant que [acteur], je veux [action] pour [bénéfice]." criteres_acceptation: - "Critère 1" - "Critère 2"
Règles métiers & non fonctionnel
Règles de calcul, validation, contraintes légales, perf, sécurité…
Contexte technique
Langages, frameworks, environnement, interfaces.
Exemples & patrons d’injection
Mini-projet “Service Desk interne”
project_name: "Service Desk interne" contexte_metier: description: > Les employés créent des demandes (IT, RH...) auprès de l'équipe support. user_stories: - id: "US-01" story: "En tant qu'employé, je veux créer une demande."
Patron d’injection par section
[System] Tu es un architecte logiciel senior. [User] Voici le CONTEXTE METIER et les OBJECTIFS en YAML...