Initial commit

This commit is contained in:
2026-01-27 20:43:47 +01:00
commit f9b1d43c81
45 changed files with 1066 additions and 0 deletions

24
contracts/data_model.md Normal file
View File

@@ -0,0 +1,24 @@
# Modèle de données
Décrit les entités clés et leurs relations.
---
## Légende des zones
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé backend.
---
## Entités principales
- Entité : <A COMPLETER PAR AGENT>
- Champs : <A COMPLETER PAR AGENT>
- Contraintes : <A COMPLETER PAR AGENT>
## Relations
- Relation : <A COMPLETER PAR AGENT>
- Cardinalité : <A COMPLETER PAR AGENT>
---
## Exemple (a supprimer)
- `User` 1..N `Order`.

24
contracts/errors.md Normal file
View File

@@ -0,0 +1,24 @@
# Contrat derreurs API
Ce document définit le format standard des erreurs.
---
## Légende des zones
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé backend.
---
## Format
- Structure : <A COMPLETER PAR AGENT>
- Codes derreur : <A COMPLETER PAR AGENT>
- Messages utilisateurs vs techniques : <A COMPLETER PAR AGENT>
## Conventions
- Codes HTTP : <A COMPLETER PAR AGENT>
- Champs obligatoires : <A COMPLETER PAR AGENT>
---
## Exemple (a supprimer)
- `{ "error": { "code": "VALIDATION_ERROR", "message": "Email invalide" } }`

View File

@@ -0,0 +1,28 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Import Item",
"type": "object",
"required": ["source", "item"],
"properties": {
"source": {
"type": "object",
"properties": {
"name": {"type": "string"},
"imported_at": {"type": "string", "format": "date-time"}
}
},
"item": {
"type": "object",
"required": ["name", "domain"],
"properties": {
"name": {"type": "string"},
"domain": {"type": "string"},
"description": {"type": "string"},
"specs": {
"type": "object",
"additionalProperties": true
}
}
}
}
}

0
contracts/openapi.yaml Normal file
View File

24
contracts/pagination.md Normal file
View File

@@ -0,0 +1,24 @@
# Contrat de pagination
Ce document définit la pagination standard pour lAPI.
---
## Légende des zones
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé backend.
---
## Stratégie
- Type (page/offset/cursor) : <A COMPLETER PAR AGENT>
- Paramètres : <A COMPLETER PAR AGENT>
## Réponse
- Structure des meta : <A COMPLETER PAR AGENT>
- Liens (next/prev) : <A COMPLETER PAR AGENT>
---
## Exemple (a supprimer)
- Paramètres : `page=1&limit=20`.
- Meta : `total`, `page`, `page_size`.