Droit-Clause-Extractor
Verifiedby Dryade
Requires starter tier subscription
Description
Extraction et classification automatique de clauses dans les contrats francais : identification, categorisation et analyse de risque par clause
Screenshots
Details
Droit Clause Extractor
Tier: Starter | Type: Tool | Category: Legal | Version: 1.0.0
Extraction et classification automatique de clauses dans les contrats francais. Identifie les types de clauses, detecte les clauses potentiellement abusives et evalue le niveau de risque juridique.
1. Overview
Plugin Name: Droit Clause Extractor Slug: droit-clause-extractor Required Tier: starter Plugin Type: tool (REST API endpoints) Category: Legal Author: Dryade License: DSUL
What It Does
Analyse les contrats francais pour extraire chaque clause, la classifier par type (penalite, resiliation, garantie, etc.) et evaluer son niveau de risque. Detecte les clauses potentiellement abusives au regard du droit francais.
Key Capabilities
- Extraction automatique des clauses d'un contrat
- Classification par type (17 types reconnus)
- Detection des clauses abusives (art. L212-1 Code de la consommation)
- Evaluation du risque par clause (faible, moyen, eleve)
- References legales applicables pour chaque clause
2. User Stories
Primary User Stories
US-1: Revue rapide d'un bail commercial
En tant qu'avocat, je veux identifier rapidement les clauses a risque dans un bail commercial avant de conseiller mon client sur la signature.
Acceptance Criteria:
- [ ] Extraction de toutes les clauses avec leur type
- [ ] Identification des clauses abusives (ex: travaux art. 606)
- [ ] References legales pour chaque clause a risque
US-2: Audit de contrats de travail
En tant que DRH, je veux verifier que les contrats de travail ne contiennent pas de clauses non conformes au Code du travail.
Acceptance Criteria:
- [ ] Detection des clauses de non-concurrence excessives
- [ ] Verification des periodes d'essai
- [ ] Signalement des clauses de remuneration problematiques
Edge Cases
- Type de contrat inconnu : retourne message d'erreur avec types disponibles
- Contrat sans clause abusive : risque_global = "faible"
- Clause sans reference legale : commentaire vide accepte
3. Architecture
Component Diagram
+------------------+ +------------------+ +------------------+
| Plugin Router | --> | Extract Logic | --> | Data Provider |
| /droit-clause- | | routes.py | | (mock / real) |
| extractor/* | +------------------+ +------------------+
+------------------+ |
+-----v------+
| Demo Data |
| data/*.json|
+------------+
Components
| Component | File | Responsibility |
|-----------|------|----------------|
| Router | routes.py | API endpoints, validation |
| Plugin | plugin.py | Lifecycle, config management |
| Data | data/ | Contrats de demo et taxonomie (5 fichiers JSON) |
Dependencies
- Internal: core.plugins.PluginProtocol, core.plugin_config_store.PluginConfigStore
- External: None (standard library only in mock mode)
- Plugin: None
4. API Spec
REST Endpoints
| Method | Path | Description | Auth |
|--------|------|-------------|------|
| POST | /api/plugins/droit-clause-extractor/extract | Extraire les clauses | Yes |
| GET | /api/plugins/droit-clause-extractor/types | Taxonomie des types de clauses | No |
| GET | /api/plugins/droit-clause-extractor/contrats | Types de contrats disponibles | No |
| GET | /api/plugins/droit-clause-extractor/status | Statut du plugin | No |
Request/Response Examples
Extraire les clauses
// POST /extract
{
"contrat_type": "bail_commercial"
}
// Response
{
"success": true,
"contrat_type": "bail_commercial",
"nombre_clauses": 5,
"clauses_abusives": 1,
"risque_global": "eleve",
"clauses": [
{
"numero": 1,
"type_clause": "duree",
"titre": "Duree du bail",
"risque": "faible",
"abusive": false,
"references_legales": ["Art. L145-4 Code de commerce"]
}
]
}
5. Data Flow
Processing Pipeline
1. Utilisateur soumet un contrat via POST /extract
2. Router valide le type de contrat
3. Mode mock charge le contrat de demonstration
4. Extraction et classification de chaque clause
5. Calcul du risque global et comptage des clauses abusives
6. Reponse JSON structuree
Demo Data Description
Le repertoire data/ contient :
bail_commercial_exemple.json: Bail commercial 3/6/9 avec clause abusive (travaux)contrat_travail_cdi.json: CDI SYNTEC avec non-concurrence excessivecgv_fournisseur.json: CGV B2B avec limitation de responsabilitecontrat_prestation_services.json: Prestation IT avec penalites excessivestypes_clauses.json: Taxonomie de 17 types de clauses avec references legales
Total : 5 fichiers, 19 clauses analysees dans 4 types de contrats.
6. Security Considerations
Data Handling
- PII: Non - contrats synthetiques avec societes fictives
- Encryption: N/A en mode mock
- Data Retention: Aucune donnee persistee ; stateless
External API Keys
Aucune cle API requise en mode mock.
Isolation
- Plugin execute dans le contexte sandboxe du core plugin loader
- Pas d'acces direct a la base de donnees
- Pas d'ecriture fichier hors du repertoire du plugin
7. Test Plan
Test Classes
| Class | Tests | Coverage Target |
|-------|-------|----------------|
| TestPluginAttributes | 8 | 100% champs manifeste |
| TestPluginRouter | 8 | Tous les endpoints |
| TestPluginConfig | 2 | Configuration |
| TestDemoData | 8 | Tous les fichiers |
Running Tests
cd dryade-plugins
python -m pytest starter/droit-clause-extractor/tests/ -x -v --tb=short
8. Deployment Notes
Requirements
Aucun package supplementaire requis au-dela de Dryade core.
Configuration
{
"data_source": "mock"
}
Compatibility
- Min Dryade Version: 1.0.0
- Python: >=3.11
9. User Guide
Getting Started
- Verifier que votre instance Dryade dispose d'une licence starter ou superieure
- Installer le plugin via le marketplace ou
dryade-pm push - Utiliser
/extractpour analyser un contrat - Consulter
/typespour la taxonomie des clauses
Common Workflows
Workflow 1: Revue d'un bail commercial
- POST
/extractaveccontrat_type: "bail_commercial" - Identifier les clauses a risque eleve
- Verifier les clauses marquees comme abusives
- Consulter les references legales pour chaque clause
Workflow 2: Audit de CGV fournisseur
- POST
/extractaveccontrat_type: "cgv_fournisseur" - Examiner les clauses de limitation de responsabilite
- Verifier les conditions de paiement
10. Screenshots
Les captures d'ecran seront ajoutees apres l'integration UI.
11. Changelog
1.0.0 (2026-03-05)
- Version initiale
- Extraction de clauses pour 4 types de contrats
- Detection de clauses abusives
- Taxonomie de 17 types de clauses
- Evaluation de risque par clause et risque global
Future Roadmap
- [ ] Mode reel avec analyse NLP
- [ ] Comparaison de clauses entre versions de contrat
- [ ] Suggestions de clauses alternatives
- [ ] Export rapport PDF
Requires starter tier subscription