ujusum:1-implantation:6-contrats-esignatures
Différences
Ci-dessous, les différences entre deux révisions de la page.
| ujusum:1-implantation:6-contrats-esignatures [2026/06/06 03:15] – créée 91.170.108.99 | ujusum: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' | ||
| - | |||
| - | * 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 : | ||
| - | |||
| - | < | ||
| - | Recherche | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Réservation | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Contractualisation | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Périmètre ====== | ||
| - | |||
| - | ===== Modules concernés ===== | ||
| - | |||
| - | < | ||
| - | ContractsModule | ||
| - | |||
| - | ContractTemplateModule | ||
| - | |||
| - | ContractGenerationModule | ||
| - | |||
| - | SignatureModule | ||
| - | |||
| - | DocumentModule | ||
| - | |||
| - | PdfModule | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Workflow métier ====== | ||
| - | |||
| - | < | ||
| - | Réservation | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Génération contrat | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Production PDF | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Envoi signature | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Signature client | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Archivage | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Contrat actif | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== 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 / | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Données utilisées ===== | ||
| - | |||
| - | < | ||
| - | Client | ||
| - | |||
| - | Bien | ||
| - | |||
| - | Propriétaire | ||
| - | |||
| - | Réservation | ||
| - | |||
| - | Tarifs | ||
| - | |||
| - | Conditions | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Résultat ===== | ||
| - | |||
| - | < | ||
| - | Contrat PDF généré | ||
| - | |||
| - | Version 1 | ||
| - | |||
| - | Statut GENERATED | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== US-502 : Consulter un contrat ====== | ||
| - | |||
| - | ===== Endpoint ===== | ||
| - | |||
| - | <code http> | ||
| - | GET / | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Données ===== | ||
| - | |||
| - | < | ||
| - | Numéro | ||
| - | |||
| - | Version | ||
| - | |||
| - | Date génération | ||
| - | |||
| - | Date signature | ||
| - | |||
| - | Statut | ||
| - | |||
| - | Documents | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== US-503 : Télécharger un contrat ====== | ||
| - | |||
| - | ===== Endpoint ===== | ||
| - | |||
| - | <code http> | ||
| - | GET / | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Formats ===== | ||
| - | |||
| - | < | ||
| - | |||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Gestion des modèles ====== | ||
| - | |||
| - | ===== US-504 : Créer un modèle ===== | ||
| - | |||
| - | ===== Endpoint ===== | ||
| - | |||
| - | <code http> | ||
| - | POST / | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Données ===== | ||
| - | |||
| - | < | ||
| - | Nom | ||
| - | |||
| - | Version | ||
| - | |||
| - | Contenu | ||
| - | |||
| - | Variables | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== US-505 : Modifier un modèle ====== | ||
| - | |||
| - | ===== Endpoint ===== | ||
| - | |||
| - | <code http> | ||
| - | PUT / | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== US-506 : Versionner un modèle ====== | ||
| - | |||
| - | ===== Objectif ===== | ||
| - | |||
| - | Conserver les versions historiques. | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Exemple ===== | ||
| - | |||
| - | < | ||
| - | V1 | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | V2 | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | V3 | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Génération PDF ====== | ||
| - | |||
| - | ===== US-507 : Produire un PDF ===== | ||
| - | |||
| - | ===== Étapes ===== | ||
| - | |||
| - | < | ||
| - | Template | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Fusion données | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | HTML | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | |||
| - | |||
| - | ↓ | ||
| - | |||
| - | Archivage | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Bibliothèque ===== | ||
| - | |||
| - | < | ||
| - | Puppeteer | ||
| - | |||
| - | ou | ||
| - | |||
| - | PDFKit | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Nommage ===== | ||
| - | |||
| - | < | ||
| - | CONTRACT-2027-000001.pdf | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Signature électronique ====== | ||
| - | |||
| - | ===== US-508 : Envoyer en signature ===== | ||
| - | |||
| - | ===== Endpoint ===== | ||
| - | |||
| - | <code http> | ||
| - | POST / | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Fournisseurs compatibles ===== | ||
| - | |||
| - | < | ||
| - | Yousign | ||
| - | |||
| - | DocuSign | ||
| - | |||
| - | Universign | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== État ===== | ||
| - | |||
| - | < | ||
| - | GENERATED | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | SENT | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== US-509 : Suivre une signature ====== | ||
| - | |||
| - | ===== Endpoint ===== | ||
| - | |||
| - | <code http> | ||
| - | GET / | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Statuts ===== | ||
| - | |||
| - | < | ||
| - | PENDING | ||
| - | |||
| - | OPENED | ||
| - | |||
| - | SIGNED | ||
| - | |||
| - | REFUSED | ||
| - | |||
| - | EXPIRED | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== US-510 : Réception contrat signé ====== | ||
| - | |||
| - | ===== Workflow ===== | ||
| - | |||
| - | < | ||
| - | Signature validée | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Webhook fournisseur | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Téléchargement PDF signé | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Archivage | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Mise à jour contrat | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== État final ===== | ||
| - | |||
| - | < | ||
| - | SIGNED | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Archivage documentaire ====== | ||
| - | |||
| - | ===== US-511 : Archiver un document ===== | ||
| - | |||
| - | ===== Types ===== | ||
| - | |||
| - | < | ||
| - | CONTRACT | ||
| - | |||
| - | SIGNED_CONTRACT | ||
| - | |||
| - | ANNEX | ||
| - | |||
| - | INVOICE | ||
| - | |||
| - | IDENTITY_DOCUMENT | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Stockage ===== | ||
| - | |||
| - | < | ||
| - | S3 | ||
| - | |||
| - | MinIO | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== US-512 : Historique documentaire ===== | ||
| - | |||
| - | ===== Endpoint ===== | ||
| - | |||
| - | <code http> | ||
| - | GET /documents | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Filtres ===== | ||
| - | |||
| - | < | ||
| - | Type | ||
| - | |||
| - | Client | ||
| - | |||
| - | Réservation | ||
| - | |||
| - | Date | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Cycle de vie du contrat ====== | ||
| - | |||
| - | < | ||
| - | DRAFT | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | GENERATED | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | SENT | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | SIGNED | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | ARCHIVED | ||
| - | |||
| - | └── REFUSED | ||
| - | |||
| - | └── EXPIRED | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Modèle Prisma ====== | ||
| - | |||
| - | ===== Contract ===== | ||
| - | |||
| - | <code prisma> | ||
| - | model Contract { | ||
| - | |||
| - | id String @id @default(uuid()) | ||
| - | |||
| - | reservationId | ||
| - | |||
| - | contractNumber | ||
| - | |||
| - | version | ||
| - | |||
| - | status | ||
| - | |||
| - | generatedAt | ||
| - | |||
| - | signedAt | ||
| - | |||
| - | createdAt | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== ContractTemplate ===== | ||
| - | |||
| - | <code prisma> | ||
| - | model ContractTemplate { | ||
| - | |||
| - | id String @id @default(uuid()) | ||
| - | |||
| - | name String | ||
| - | |||
| - | version | ||
| - | |||
| - | content | ||
| - | |||
| - | active | ||
| - | |||
| - | } | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== ContractSignature ===== | ||
| - | |||
| - | <code prisma> | ||
| - | model ContractSignature { | ||
| - | |||
| - | id String @id @default(uuid()) | ||
| - | |||
| - | contractId | ||
| - | |||
| - | provider | ||
| - | |||
| - | externalId | ||
| - | |||
| - | status | ||
| - | |||
| - | signedAt | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Document ===== | ||
| - | |||
| - | <code prisma> | ||
| - | model Document { | ||
| - | |||
| - | id String @id @default(uuid()) | ||
| - | |||
| - | entityType | ||
| - | |||
| - | entityId | ||
| - | |||
| - | documentType | ||
| - | |||
| - | fileName | ||
| - | |||
| - | storagePath | ||
| - | |||
| - | uploadedAt | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Architecture Backend ====== | ||
| - | |||
| - | < | ||
| - | src/ | ||
| - | |||
| - | ├── contracts | ||
| - | │ | ||
| - | ├── templates | ||
| - | │ | ||
| - | ├── generation | ||
| - | │ | ||
| - | ├── signatures | ||
| - | │ | ||
| - | ├── documents | ||
| - | │ | ||
| - | |||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Domain Services ====== | ||
| - | |||
| - | < | ||
| - | ContractGenerationService | ||
| - | |||
| - | PdfGenerationService | ||
| - | |||
| - | TemplateRenderingService | ||
| - | |||
| - | SignatureService | ||
| - | |||
| - | DocumentStorageService | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Événements métier ====== | ||
| - | |||
| - | ===== ContractGenerated ===== | ||
| - | |||
| - | < | ||
| - | ContractGenerated | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== ContractSent ===== | ||
| - | |||
| - | < | ||
| - | ContractSent | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== ContractSigned ===== | ||
| - | |||
| - | < | ||
| - | ContractSigned | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== ContractRefused ===== | ||
| - | |||
| - | < | ||
| - | ContractRefused | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Swagger ====== | ||
| - | |||
| - | ===== Tags ===== | ||
| - | |||
| - | < | ||
| - | Contracts | ||
| - | |||
| - | ContractTemplates | ||
| - | |||
| - | ContractGeneration | ||
| - | |||
| - | Signatures | ||
| - | |||
| - | Documents | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Volume API ===== | ||
| - | |||
| - | Environ : | ||
| - | |||
| - | < | ||
| - | 20 endpoints | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Frontend ====== | ||
| - | |||
| - | ===== Espace Client ===== | ||
| - | |||
| - | Pages : | ||
| - | |||
| - | < | ||
| - | /contracts | ||
| - | |||
| - | / | ||
| - | |||
| - | /documents | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Back Office ===== | ||
| - | |||
| - | Pages : | ||
| - | |||
| - | < | ||
| - | /contracts | ||
| - | |||
| - | / | ||
| - | |||
| - | / | ||
| - | |||
| - | /documents | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Composants ===== | ||
| - | |||
| - | < | ||
| - | ContractViewer | ||
| - | |||
| - | ContractTimeline | ||
| - | |||
| - | DocumentLibrary | ||
| - | |||
| - | TemplateEditor | ||
| - | |||
| - | SignatureStatusCard | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Tests ====== | ||
| - | |||
| - | ===== Unitaires ===== | ||
| - | |||
| - | < | ||
| - | ContractGenerationService | ||
| - | |||
| - | PdfGenerationService | ||
| - | |||
| - | SignatureService | ||
| - | |||
| - | DocumentStorageService | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Intégration ===== | ||
| - | |||
| - | < | ||
| - | Reservation | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Generate Contract | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Generate PDF | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Archive | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== E2E ===== | ||
| - | |||
| - | < | ||
| - | Réservation | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Génération contrat | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Envoi signature | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Signature | ||
| - | |||
| - | ↓ | ||
| - | |||
| - | Téléchargement contrat signé | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== 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 : | ||
| - | |||
| - | < | ||
| - | 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 | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ====== Sprint suivant ====== | ||
| - | |||
| - | ===== Sprint 6 — Paiements & Facturation ===== | ||
| - | |||
| - | Objectif : | ||
| - | |||
| - | Permettre l' | ||
| - | |||
| - | Modules concernés : | ||
| - | |||
| - | < | ||
| - | PaymentsModule | ||
| - | |||
| - | InvoicesModule | ||
| - | |||
| - | RefundsModule | ||
| - | |||
| - | PaymentGatewayModule | ||
| - | |||
| - | AccountingModule | ||
| - | </ | ||
| - | |||
| - | Fonctionnalités : | ||
| - | |||
| - | * Paiement CB | ||
| - | * Paiement acompte | ||
| - | * Paiement solde | ||
| - | * Factures automatiques | ||
| - | * Avoirs | ||
| - | * Remboursements | ||
| - | * Historique financier | ||
| - | * Export comptable | ||
| - | |||
| - | À l' | ||
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