WOURI — backend Convex : plan de données multi-tenant (organisations, agriculteurs, conversations, alertes, connaissances avec provenance, observabilité)
# WOURI — Backend Convex
Plan de données multi-tenant de WOURI : le socle Convex qui porte les
organisations, les agriculteurs, les conversations, les alertes, les sources de
connaissance et l'observabilité de la plateforme.
WOURI est une plateforme agritech et climate-tech conversationnelle multilingue
d'African Digit Consulting, destinée aux agriculteurs ivoiriens via WhatsApp, en
dioula, baoulé et français.
## Périmètre de ce dépôt
Ce dépôt contient **uniquement le plan de données**. Il ne contient ni le calcul
(ASR, TTS, NLU, LLM, audio), ni la passerelle WhatsApp, ni le site public, qui
vivent dans leurs propres dépôts.
| Ce que ce dépôt fait | Ce qu'il ne fait pas |
| --- | --- |
| Schéma multi-tenant et relations | Inférence ASR, TTS, traduction |
| Autorisation par rôles et périmètres | Passerelle WhatsApp et webhooks |
| Threads de conversation et mémoire | Interfaces web et consoles |
| Recherche documentaire avec provenance | Traitement audio lourd |
| Alertes, ciblage et cycle de diffusion | Hébergement applicatif |
| Traces d'exécution, audit, feature flags | |
## Démarrage
```bash
pnpm install
npx convex dev # lie le dépôt à un déploiement de développement
pnpm typecheck
pnpm test:convex
```
Aucune clé externe n'est nécessaire en développement : la recherche vectorielle
utilise par défaut un modèle d'embedding local déterministe, ce qui rend les
tests reproductibles.
## Scripts
| Commande | Rôle |
| --- | --- |
| `pnpm convex:dev` | Développement avec rechargement |
| `pnpm convex:codegen` | Régénère les types Convex |
| `pnpm typecheck` | Vérification TypeScript |
| `pnpm test:convex` | Suite de tests complète |
| `pnpm convex:test:permissions` | Tests d'isolation entre organisations |
| `pnpm convex:test:alerts` | Tests du flux d'alerte |
| `pnpm convex:test:knowledge` | Tests sources, RAG et météo |
## Principes tenus par ce socle
**Cloisonnement strict entre organisations.** L'organisation autorisée est
toujours dérivée de la s …