Outils pour utilisateurs

Outils du site


ujusum:1-implantation:6-contrats-esignatures

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

ujusum:1-implantation:6-contrats-esignatures [2026/06/06 03:15] – créée 91.170.108.99ujusum:1-implantation:6-contrats-esignatures [2026/06/29 22:03] (Version actuelle) – supprimée 83.202.252.200
Ligne 1: Ligne 1:
-====== Sprint 5 — Contrats & Signature Électronique ====== 
  
-===== Objectif du Sprint ===== 
- 
-Transformer une réservation en contrat juridiquement opposable. 
- 
-À l'issue du Sprint 5 : 
- 
-  * Un contrat est généré automatiquement à partir d'une réservation 
-  * Les modèles de contrat sont administrables 
-  * Un PDF est produit automatiquement 
-  * Le contrat est envoyé en signature électronique 
-  * Le client peut signer à distance 
-  * Le contrat signé est archivé 
-  * Le contrat est téléchargeable à tout moment 
- 
-Ce sprint clôture le cycle : 
- 
-<code> 
-Recherche 
- 
- 
- 
-Réservation 
- 
- 
- 
-Contractualisation 
-</code> 
- 
----- 
- 
-====== Périmètre ====== 
- 
-===== Modules concernés ===== 
- 
-<code> 
-ContractsModule 
- 
-ContractTemplateModule 
- 
-ContractGenerationModule 
- 
-SignatureModule 
- 
-DocumentModule 
- 
-PdfModule 
-</code> 
- 
----- 
- 
-====== Workflow métier ====== 
- 
-<code> 
-Réservation 
- 
- 
- 
-Génération contrat 
- 
- 
- 
-Production PDF 
- 
- 
- 
-Envoi signature 
- 
- 
- 
-Signature client 
- 
- 
- 
-Archivage 
- 
- 
- 
-Contrat actif 
-</code> 
- 
----- 
- 
-====== User Stories ====== 
- 
-===== US-501 : Générer un contrat ===== 
- 
-**En tant que gestionnaire** 
- 
-Je souhaite générer un contrat 
- 
-Afin de formaliser la réservation. 
- 
----- 
- 
-===== Endpoint ===== 
- 
-<code http> 
-POST /contracts/generate 
-</code> 
- 
----- 
- 
-===== Données utilisées ===== 
- 
-<code> 
-Client 
- 
-Bien 
- 
-Propriétaire 
- 
-Réservation 
- 
-Tarifs 
- 
-Conditions 
-</code> 
- 
----- 
- 
-===== Résultat ===== 
- 
-<code> 
-Contrat PDF généré 
- 
-Version 1 
- 
-Statut GENERATED 
-</code> 
- 
----- 
- 
-====== US-502 : Consulter un contrat ====== 
- 
-===== Endpoint ===== 
- 
-<code http> 
-GET /contracts/{id} 
-</code> 
- 
----- 
- 
-===== Données ===== 
- 
-<code> 
-Numéro 
- 
-Version 
- 
-Date génération 
- 
-Date signature 
- 
-Statut 
- 
-Documents 
-</code> 
- 
----- 
- 
-====== US-503 : Télécharger un contrat ====== 
- 
-===== Endpoint ===== 
- 
-<code http> 
-GET /contracts/{id}/download 
-</code> 
- 
----- 
- 
-===== Formats ===== 
- 
-<code> 
-PDF 
-</code> 
- 
----- 
- 
-====== Gestion des modèles ====== 
- 
-===== US-504 : Créer un modèle ===== 
- 
-===== Endpoint ===== 
- 
-<code http> 
-POST /contract-templates 
-</code> 
- 
----- 
- 
-===== Données ===== 
- 
-<code> 
-Nom 
- 
-Version 
- 
-Contenu 
- 
-Variables 
-</code> 
- 
----- 
- 
-====== US-505 : Modifier un modèle ====== 
- 
-===== Endpoint ===== 
- 
-<code http> 
-PUT /contract-templates/{id} 
-</code> 
- 
----- 
- 
-====== US-506 : Versionner un modèle ====== 
- 
-===== Objectif ===== 
- 
-Conserver les versions historiques. 
- 
----- 
- 
-===== Exemple ===== 
- 
-<code> 
-V1 
- 
- 
- 
-V2 
- 
- 
- 
-V3 
-</code> 
- 
----- 
- 
-====== Génération PDF ====== 
- 
-===== US-507 : Produire un PDF ===== 
- 
-===== Étapes ===== 
- 
-<code> 
-Template 
- 
- 
- 
-Fusion données 
- 
- 
- 
-HTML 
- 
- 
- 
-PDF 
- 
- 
- 
-Archivage 
-</code> 
- 
----- 
- 
-===== Bibliothèque ===== 
- 
-<code> 
-Puppeteer 
- 
-ou 
- 
-PDFKit 
-</code> 
- 
----- 
- 
-===== Nommage ===== 
- 
-<code> 
-CONTRACT-2027-000001.pdf 
-</code> 
- 
----- 
- 
-====== Signature électronique ====== 
- 
-===== US-508 : Envoyer en signature ===== 
- 
-===== Endpoint ===== 
- 
-<code http> 
-POST /contracts/{id}/send-signature 
-</code> 
- 
----- 
- 
-===== Fournisseurs compatibles ===== 
- 
-<code> 
-Yousign 
- 
-DocuSign 
- 
-Universign 
-</code> 
- 
----- 
- 
-===== État ===== 
- 
-<code> 
-GENERATED 
- 
- 
- 
-SENT 
-</code> 
- 
----- 
- 
-====== US-509 : Suivre une signature ====== 
- 
-===== Endpoint ===== 
- 
-<code http> 
-GET /contracts/{id}/signature-status 
-</code> 
- 
----- 
- 
-===== Statuts ===== 
- 
-<code> 
-PENDING 
- 
-OPENED 
- 
-SIGNED 
- 
-REFUSED 
- 
-EXPIRED 
-</code> 
- 
----- 
- 
-====== US-510 : Réception contrat signé ====== 
- 
-===== Workflow ===== 
- 
-<code> 
-Signature validée 
- 
- 
- 
-Webhook fournisseur 
- 
- 
- 
-Téléchargement PDF signé 
- 
- 
- 
-Archivage 
- 
- 
- 
-Mise à jour contrat 
-</code> 
- 
----- 
- 
-===== État final ===== 
- 
-<code> 
-SIGNED 
-</code> 
- 
----- 
- 
-====== Archivage documentaire ====== 
- 
-===== US-511 : Archiver un document ===== 
- 
-===== Types ===== 
- 
-<code> 
-CONTRACT 
- 
-SIGNED_CONTRACT 
- 
-ANNEX 
- 
-INVOICE 
- 
-IDENTITY_DOCUMENT 
-</code> 
- 
----- 
- 
-===== Stockage ===== 
- 
-<code> 
-S3 
- 
-MinIO 
-</code> 
- 
----- 
- 
-====== US-512 : Historique documentaire ===== 
- 
-===== Endpoint ===== 
- 
-<code http> 
-GET /documents 
-</code> 
- 
----- 
- 
-===== Filtres ===== 
- 
-<code> 
-Type 
- 
-Client 
- 
-Réservation 
- 
-Date 
-</code> 
- 
----- 
- 
-====== Cycle de vie du contrat ====== 
- 
-<code> 
-DRAFT 
- 
- 
- 
-GENERATED 
- 
- 
- 
-SENT 
- 
- 
- 
-SIGNED 
- 
- 
- 
-ARCHIVED 
- 
-└── REFUSED 
- 
-└── EXPIRED 
-</code> 
- 
----- 
- 
-====== Modèle Prisma ====== 
- 
-===== Contract ===== 
- 
-<code prisma> 
-model Contract { 
- 
-  id                String @id @default(uuid()) 
- 
-  reservationId     String @unique 
- 
-  contractNumber    String @unique 
- 
-  version           Int 
- 
-  status            String 
- 
-  generatedAt       DateTime? 
- 
-  signedAt          DateTime? 
- 
-  createdAt         DateTime @default(now()) 
-} 
-</code> 
- 
----- 
- 
-===== ContractTemplate ===== 
- 
-<code prisma> 
-model ContractTemplate { 
- 
-  id                String @id @default(uuid()) 
- 
-  name              String 
- 
-  version           Int 
- 
-  content           String 
- 
-  active            Boolean 
- 
-} 
-</code> 
- 
----- 
- 
-===== ContractSignature ===== 
- 
-<code prisma> 
-model ContractSignature { 
- 
-  id                String @id @default(uuid()) 
- 
-  contractId        String 
- 
-  provider          String 
- 
-  externalId        String 
- 
-  status            String 
- 
-  signedAt          DateTime? 
-} 
-</code> 
- 
----- 
- 
-===== Document ===== 
- 
-<code prisma> 
-model Document { 
- 
-  id                String @id @default(uuid()) 
- 
-  entityType        String 
- 
-  entityId          String 
- 
-  documentType      String 
- 
-  fileName          String 
- 
-  storagePath       String 
- 
-  uploadedAt        DateTime 
-} 
-</code> 
- 
----- 
- 
-====== Architecture Backend ====== 
- 
-<code> 
-src/modules/contracts 
- 
-├── contracts 
- 
-├── templates 
- 
-├── generation 
- 
-├── signatures 
- 
-├── documents 
- 
-└── pdf 
-</code> 
- 
----- 
- 
-====== Domain Services ====== 
- 
-<code> 
-ContractGenerationService 
- 
-PdfGenerationService 
- 
-TemplateRenderingService 
- 
-SignatureService 
- 
-DocumentStorageService 
-</code> 
- 
----- 
- 
-====== Événements métier ====== 
- 
-===== ContractGenerated ===== 
- 
-<code> 
-ContractGenerated 
-</code> 
- 
----- 
- 
-===== ContractSent ===== 
- 
-<code> 
-ContractSent 
-</code> 
- 
----- 
- 
-===== ContractSigned ===== 
- 
-<code> 
-ContractSigned 
-</code> 
- 
----- 
- 
-===== ContractRefused ===== 
- 
-<code> 
-ContractRefused 
-</code> 
- 
----- 
- 
-====== Swagger ====== 
- 
-===== Tags ===== 
- 
-<code> 
-Contracts 
- 
-ContractTemplates 
- 
-ContractGeneration 
- 
-Signatures 
- 
-Documents 
-</code> 
- 
----- 
- 
-===== Volume API ===== 
- 
-Environ : 
- 
-<code> 
-20 endpoints 
-</code> 
- 
----- 
- 
-====== Frontend ====== 
- 
-===== Espace Client ===== 
- 
-Pages : 
- 
-<code> 
-/contracts 
- 
-/contracts/[id] 
- 
-/documents 
-</code> 
- 
----- 
- 
-===== Back Office ===== 
- 
-Pages : 
- 
-<code> 
-/contracts 
- 
-/contracts/[id] 
- 
-/contract-templates 
- 
-/documents 
-</code> 
- 
----- 
- 
-===== Composants ===== 
- 
-<code> 
-ContractViewer 
- 
-ContractTimeline 
- 
-DocumentLibrary 
- 
-TemplateEditor 
- 
-SignatureStatusCard 
-</code> 
- 
----- 
- 
-====== Tests ====== 
- 
-===== Unitaires ===== 
- 
-<code> 
-ContractGenerationService 
- 
-PdfGenerationService 
- 
-SignatureService 
- 
-DocumentStorageService 
-</code> 
- 
----- 
- 
-===== Intégration ===== 
- 
-<code> 
-Reservation 
- 
- 
- 
-Generate Contract 
- 
- 
- 
-Generate PDF 
- 
- 
- 
-Archive 
-</code> 
- 
----- 
- 
-===== E2E ===== 
- 
-<code> 
-Réservation 
- 
- 
- 
-Génération contrat 
- 
- 
- 
-Envoi signature 
- 
- 
- 
-Signature 
- 
- 
- 
-Téléchargement contrat signé 
-</code> 
- 
----- 
- 
-====== Définition de terminé ====== 
- 
-Le Sprint 5 est terminé lorsque : 
- 
-  * Contrat généré automatiquement 
-  * PDF généré automatiquement 
-  * Signature électronique fonctionnelle 
-  * Archivage fonctionnel 
-  * Téléchargement fonctionnel 
-  * Historique fonctionnel 
-  * Swagger à jour 
-  * Tests verts 
-  * CI verte 
- 
----- 
- 
-====== Livrables ====== 
- 
-  * ContractsModule 
-  * ContractTemplateModule 
-  * ContractGenerationModule 
-  * SignatureModule 
-  * DocumentModule 
-  * PdfModule 
-  * DTO 
-  * Swagger 
-  * Tests 
-  * Migrations Prisma 
- 
----- 
- 
-====== Démonstration Sprint ====== 
- 
-Scénario métier : 
- 
-<code> 
-1. Réservation créée 
- 
-2. Génération du contrat 
- 
-3. Génération PDF 
- 
-4. Envoi signature 
- 
-5. Signature client 
- 
-6. Réception document signé 
- 
-7. Archivage 
- 
-8. Téléchargement contrat 
-</code> 
- 
----- 
- 
-====== Sprint suivant ====== 
- 
-===== Sprint 6 — Paiements & Facturation ===== 
- 
-Objectif : 
- 
-Permettre l'encaissement et la facturation. 
- 
-Modules concernés : 
- 
-<code> 
-PaymentsModule 
- 
-InvoicesModule 
- 
-RefundsModule 
- 
-PaymentGatewayModule 
- 
-AccountingModule 
-</code> 
- 
-Fonctionnalités : 
- 
-  * Paiement CB 
-  * Paiement acompte 
-  * Paiement solde 
-  * Factures automatiques 
-  * Avoirs 
-  * Remboursements 
-  * Historique financier 
-  * Export comptable 
- 
-À l'issue du Sprint 6, une réservation pourra être intégralement payée et facturée. 
ujusum/1-implantation/6-contrats-esignatures.1780708540.txt.gz · Dernière modification : 2026/06/06 03:15 de 91.170.108.99 · Actuellement bloqué par : 192.168.0.100,216.73.216.20

DokuWiki Appliance - Powered by TurnKey Linux