Update project structure and documentation

- Update CLAUDE.md to reflect new directory structure
- Add ancien-confluent and proto-confluent language variants
- Reorganize ConfluentTranslator with modular architecture
- Add comprehensive user guide (GUIDE_UTILISATION.md)
- Update API documentation and configuration files
- Clean up obsolete documentation files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
StillHammer 2025-12-23 07:20:39 +08:00
parent 5602ce50be
commit aed98f17ea
23 changed files with 4379 additions and 3623 deletions

314
CLAUDE.md
View File

@ -1,157 +1,157 @@
# CLAUDE.md # CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Projet ## Projet
**Confluent** est un projet de création d'une langue construite (conlang) pour la Civilisation de la Confluence, une civilisation fictive du projet de jeu de rôle **civjdr**. **Confluent** est un projet de création d'une langue construite (conlang) pour la Civilisation de la Confluence, une civilisation fictive du projet de jeu de rôle **civjdr**.
## État actuel ## État actuel
Le système linguistique de base est **validé et documenté** : Le système linguistique de base est **validé et documenté** :
- 67 racines (15 sacrées, 52 standards) - 67 racines (15 sacrées, 52 standards)
- 16 liaisons sacrées - 16 liaisons sacrées
- Système verbal complet (12 verbes, conjugateurs) - Système verbal complet (12 verbes, conjugateurs)
- Syntaxe SOV avec particules - Syntaxe SOV avec particules
- 6 castes et 6 lieux nommés - 6 castes et 6 lieux nommés
## Structure du projet ## Structure du projet
``` ```
confluent/ confluent/
├── CLAUDE.md # Ce fichier ├── CLAUDE.md # Ce fichier
├── docs/ ├── docs/
│ ├── SYSTEM_PROMPT_LLM.md # Prompt pour contextualiser un LLM │ ├── SYSTEM_PROMPT_LLM.md # Prompt pour contextualiser un LLM
│ ├── LEXIQUE_REFERENCE_CONFLUENCE.md # Vocabulaire à traduire │ ├── LEXIQUE_REFERENCE_CONFLUENCE.md # Vocabulaire à traduire
│ ├── langue/ # Documentation linguistique │ ├── langue/ # Documentation linguistique
│ │ ├── 01-PHONOLOGIE.md # Sons, consonnes, voyelles │ │ ├── 01-PHONOLOGIE.md # Sons, consonnes, voyelles
│ │ ├── 02-MORPHOLOGIE.md # Racines, liaisons sacrées │ │ ├── 02-MORPHOLOGIE.md # Racines, liaisons sacrées
│ │ ├── 03-GRAMMAIRE.md # Verbes, conjugaisons, particules │ │ ├── 03-GRAMMAIRE.md # Verbes, conjugaisons, particules
│ │ ├── 04-SYNTAXE.md # Structure de phrase, négation, questions │ │ ├── 04-SYNTAXE.md # Structure de phrase, négation, questions
│ │ └── 05-VOCABULAIRE.md # Lexique validé (castes, lieux) │ │ └── 05-VOCABULAIRE.md # Lexique validé (castes, lieux)
│ ├── culture/ │ ├── culture/
│ │ └── CONTEXTE_CIVILISATION.md # Contexte culturel │ │ └── CONTEXTE_CIVILISATION.md # Contexte culturel
│ └── archive/ │ └── archive/
│ └── PLAN_LANGUE_REGARD_LIBRE.md # Document de travail original │ └── PLAN_LANGUE_REGARD_LIBRE.md # Document de travail original
└── data/ └── data/
└── lexique.json # Données structurées (racines, liaisons) └── lexique.json # Données structurées (racines, liaisons)
``` ```
## Documents de référence ## Documents de référence
### Pour comprendre la langue ### Pour comprendre la langue
1. `docs/langue/01-PHONOLOGIE.md` - Sons et règles phonétiques 1. `docs/langue/01-PHONOLOGIE.md` - Sons et règles phonétiques
2. `docs/langue/02-MORPHOLOGIE.md` - Structure des mots et liaisons 2. `docs/langue/02-MORPHOLOGIE.md` - Structure des mots et liaisons
3. `docs/langue/03-GRAMMAIRE.md` - Verbes et conjugaisons 3. `docs/langue/03-GRAMMAIRE.md` - Verbes et conjugaisons
4. `docs/langue/04-SYNTAXE.md` - Construction des phrases 4. `docs/langue/04-SYNTAXE.md` - Construction des phrases
5. `docs/langue/05-VOCABULAIRE.md` - Lexique complet 5. `docs/langue/05-VOCABULAIRE.md` - Lexique complet
### Pour le contexte ### Pour le contexte
- `docs/culture/CONTEXTE_CIVILISATION.md` - Valeurs et culture - `docs/culture/CONTEXTE_CIVILISATION.md` - Valeurs et culture
- `docs/LEXIQUE_REFERENCE_CONFLUENCE.md` - Vocabulaire à traduire - `docs/LEXIQUE_REFERENCE_CONFLUENCE.md` - Vocabulaire à traduire
### Pour un LLM ### Pour un LLM
- `docs/SYSTEM_PROMPT_LLM.md` - Prompt système complet - `docs/SYSTEM_PROMPT_LLM.md` - Prompt système complet
### Données structurées ### Données structurées
- `data/lexique.json` - Racines, liaisons, particules en JSON - `data/lexique.json` - Racines, liaisons, particules en JSON
## Règles linguistiques (résumé) ## Règles linguistiques (résumé)
### Phonétique et Orthographe ### Phonétique et Orthographe
- **Consonnes (10):** b, k, l, m, n, p, s, t, v, z - **Consonnes (10):** b, k, l, m, n, p, s, t, v, z
- **Voyelles actives (5):** a, e, i, o, u - **Voyelles actives (5):** a, e, i, o, u
- **Voyelles réservées:** y, é, è (expansion future) - **Voyelles réservées:** y, é, è (expansion future)
**⚠️ IMPORTANT : Pas de majuscules en Confluent** **⚠️ IMPORTANT : Pas de majuscules en Confluent**
- Le Confluent n'a PAS de distinction majuscule/minuscule - Le Confluent n'a PAS de distinction majuscule/minuscule
- Tout le texte Confluent est écrit en MINUSCULES - Tout le texte Confluent est écrit en MINUSCULES
- Les noms propres, castes, lieux sont TOUS en minuscules : "uraakota", "siliaska", "aliaska" - Les noms propres, castes, lieux sont TOUS en minuscules : "uraakota", "siliaska", "aliaska"
- Les lexiques JSON stockent tout en minuscules - Les lexiques JSON stockent tout en minuscules
### Structure des racines ### Structure des racines
- Toute racine **finit par CV** (consonne + voyelle) - Toute racine **finit par CV** (consonne + voyelle)
- **~80% standard** : commence par consonne (ex: sili, toka) - **~80% standard** : commence par consonne (ex: sili, toka)
- **~20% sacrée** : commence par voyelle (ex: aska, ura) - **~20% sacrée** : commence par voyelle (ex: aska, ura)
### Les 16 liaisons sacrées ### Les 16 liaisons sacrées
| Base | Liaisons | Domaine | | Base | Liaisons | Domaine |
|------|----------|---------| |------|----------|---------|
| **I** | i, ie, ii, iu | Agentivité | | **I** | i, ie, ii, iu | Agentivité |
| **U** | u, ui | Appartenance | | **U** | u, ui | Appartenance |
| **A** | a, aa, ae, ao | Relation | | **A** | a, aa, ae, ao | Relation |
| **O** | o, oa | Tension | | **O** | o, oa | Tension |
| **E** | e, ei, ea, eo | Dimension | | **E** | e, ei, ea, eo | Dimension |
### Composition ### Composition
``` ```
sili (regard) + -i- (agent) + aska (libre) sili (regard) + -i- (agent) + aska (libre)
→ sil- + i + aska = Siliaska → sil- + i + aska = Siliaska
``` ```
## Vocabulaire validé ## Vocabulaire validé
### Castes ### Castes
| Français | Confluent | | Français | Confluent |
|----------|-----------| |----------|-----------|
| Enfants des Échos | Nakukeko | | Enfants des Échos | Nakukeko |
| Enfants du Courant | Nakuura | | Enfants du Courant | Nakuura |
| Ailes-Grises | Aliaska | | Ailes-Grises | Aliaska |
| Faucons Chasseurs | Akoazana | | Faucons Chasseurs | Akoazana |
| Passes-bien | Takitosa | | Passes-bien | Takitosa |
| Voix de l'Aurore | Oraumi | | Voix de l'Aurore | Oraumi |
### Lieux ### Lieux
| Français | Confluent | | Français | Confluent |
|----------|-----------| |----------|-----------|
| La Confluence | Uraakota | | La Confluence | Uraakota |
| Gouffre Humide | Vukuura | | Gouffre Humide | Vukuura |
| Antres des Échos | Kekutoka | | Antres des Échos | Kekutoka |
| Cercles de Vigile | Sikuvela | | Cercles de Vigile | Sikuvela |
| Halls des Serments | Talusavu | | Halls des Serments | Talusavu |
| Grande Fresque | Ekakova | | Grande Fresque | Ekakova |
### Peuple ### Peuple
**Siliaska** = "Les porteurs du regard libre" **Siliaska** = "Les porteurs du regard libre"
## API ConfluentTranslator ## API ConfluentTranslator
Le serveur de traduction (`ConfluentTranslator/server.js`) expose les endpoints suivants : Le serveur de traduction (`ConfluentTranslator/server.js`) expose les endpoints suivants :
### Gestion des lexiques ### Gestion des lexiques
- **GET** `/lexique` - Retourne le lexique ancien (legacy) - **GET** `/lexique` - Retourne le lexique ancien (legacy)
- **GET** `/api/lexique/:variant` - Retourne le lexique pour `proto` ou `ancien` - **GET** `/api/lexique/:variant` - Retourne le lexique pour `proto` ou `ancien`
- **GET** `/api/stats` - Statistiques des lexiques chargés - **GET** `/api/stats` - Statistiques des lexiques chargés
- **POST** `/api/reload` - Recharge les lexiques (développement) - **POST** `/api/reload` - Recharge les lexiques (développement)
### Recherche et analyse ### Recherche et analyse
- **GET** `/api/search?q=<mot>&variant=<proto|ancien>&direction=<fr2conf|conf2fr>` - Recherche dans le lexique - **GET** `/api/search?q=<mot>&variant=<proto|ancien>&direction=<fr2conf|conf2fr>` - Recherche dans le lexique
- **POST** `/api/analyze/coverage` - Analyse la couverture d'un texte français avant traduction - **POST** `/api/analyze/coverage` - Analyse la couverture d'un texte français avant traduction
### Traduction ### Traduction
- **POST** `/translate` - Traduction FR → Confluent avec système contextuel (retourne layers 1-3) - **POST** `/translate` - Traduction FR → Confluent avec système contextuel (retourne layers 1-3)
- **POST** `/api/translate/raw` - Traduction brute sans parsing (debug) - **POST** `/api/translate/raw` - Traduction brute sans parsing (debug)
- **POST** `/api/translate/batch` - Traduction par lot de mots - **POST** `/api/translate/batch` - Traduction par lot de mots
- **POST** `/api/translate/conf2fr` - Traduction Confluent → FR - **POST** `/api/translate/conf2fr` - Traduction Confluent → FR
### Debug ### Debug
- **POST** `/api/debug/prompt` - Génère le prompt système sans appeler le LLM - **POST** `/api/debug/prompt` - Génère le prompt système sans appeler le LLM
## Prochaines étapes ## Prochaines étapes
1. Enrichir le lexique (verbes, concepts abstraits, émotions...) 1. Enrichir le lexique (verbes, concepts abstraits, émotions...)
2. Définir les formules rituelles 2. Définir les formules rituelles
3. Résoudre les questions ouvertes (nombres, propositions relatives...) 3. Résoudre les questions ouvertes (nombres, propositions relatives...)
4. Créer des outils de traduction/génération 4. Créer des outils de traduction/génération
## Conventions de travail ## Conventions de travail
- **Ratio sacré/standard** : garder ~20-25% de racines sacrées (V initial) - **Ratio sacré/standard** : garder ~20-25% de racines sacrées (V initial)
- **Mix phonétique** : ~70% créations originales, ~20% finnois-like, ~10% basque-like - **Mix phonétique** : ~70% créations originales, ~20% finnois-like, ~10% basque-like
- **Éviter** : sons trop elfiques (L/R liquides), sons anglo/latins (th, ph) - **Éviter** : sons trop elfiques (L/R liquides), sons anglo/latins (th, ph)
- **Tester** : chaque nouvelle racine avec des compositions - **Tester** : chaque nouvelle racine avec des compositions
## Lien avec civjdr ## Lien avec civjdr
Ce projet est un sous-projet de `../civjdr`. La langue reflète les valeurs de la civilisation : observation, transmission, mémoire, confluence/union. Ce projet est un sous-projet de `../civjdr`. La langue reflète les valeurs de la civilisation : observation, transmission, mémoire, confluence/union.

View File

@ -1,205 +0,0 @@
# Tests des Endpoints - ConfluentTranslator API
**Date:** 2025-12-04
**Statut:** ✅ TOUS LES ENDPOINTS FONCTIONNELS
---
## Résumé
- ✅ **Serveur:** Running (PM2)
- ✅ **Lexique:** Chargé (1835 entrées ancien, 164 proto)
- ✅ **API Keys:** Fonctionnelles
- ✅ **LLM:** Anthropic + OpenAI opérationnels
---
## Endpoints Publics
### GET /api/health
```bash
curl http://localhost:3000/api/health
```
**Résultat:** ✅ `{"status":"ok"}`
---
## Endpoints Authentifiés
**Clé API Admin:** `d9be0765-c454-47e9-883c-bcd93dd19eae`
### GET /api/validate
```bash
curl -H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
http://localhost:3000/api/validate
```
**Résultat:** ✅ `{"valid":true,"user":"Admin","role":"admin"}`
### GET /api/stats
```bash
curl -H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
http://localhost:3000/api/stats
```
**Résultat:** ✅ 904 mots Confluent, 1835 mots FR, 670 racines
### GET /api/search
```bash
curl -H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
"http://localhost:3000/api/search?q=enfant&variant=ancien&direction=fr2conf"
```
**Résultat:** ✅ Trouvé "naki" + variantes (Nakukeko, Nakuura...)
### POST /translate (Anthropic)
```bash
curl -X POST -H "Content-Type: application/json" \
-H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
-d '{"text":"Les enfants observent la Confluence","target":"ancien","provider":"anthropic","model":"claude-sonnet-4-20250514"}' \
http://localhost:3000/translate
```
**Résultat:** ✅ `va naki su vo uraakota milak u`
**Tokens économisés:** 23,990 tokens
### POST /translate (OpenAI)
```bash
curl -X POST -H "Content-Type: application/json" \
-H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
-d '{"text":"bonjour","target":"ancien","provider":"openai","model":"gpt-4o-mini"}' \
http://localhost:3000/translate
```
**Résultat:** ✅ Traduction générée
### POST /api/translate/batch
```bash
curl -X POST -H "Content-Type: application/json" \
-H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
-d '{"words":["enfant","eau","regard"],"target":"ancien"}' \
http://localhost:3000/api/translate/batch
```
**Résultat:** ✅ `{"enfant":"naki","eau":"ura","regard":"spima"}`
### POST /api/translate/conf2fr
```bash
curl -X POST -H "Content-Type: application/json" \
-H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
-d '{"text":"nakuura","variant":"ancien"}' \
http://localhost:3000/api/translate/conf2fr
```
**Résultat:** ✅ `"enfants du courant"` (100% coverage)
### POST /api/debug/prompt
```bash
curl -X POST -H "Content-Type: application/json" \
-H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
-d '{"text":"Les enfants observent","target":"ancien"}' \
http://localhost:3000/api/debug/prompt
```
**Résultat:** ✅ Prompt système complet généré
### POST /api/analyze/coverage
```bash
curl -X POST -H "Content-Type: application/json" \
-H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
-d '{"text":"Les enfants observent","target":"ancien"}' \
http://localhost:3000/api/analyze/coverage
```
**Résultat:** ✅ `{"coverage":100,"found":2,"missing":0}`
### GET /api/llm/limit
```bash
curl -H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
http://localhost:3000/api/llm/limit
```
**Résultat:** ✅ `{"allowed":true,"remaining":-1,"limit":-1,"used":2}` (Admin = illimité)
---
## Endpoints Admin
### GET /api/admin/tokens
```bash
curl -H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
http://localhost:3000/api/admin/tokens
```
**Résultat:** ✅ Liste de 3 tokens (Admin, TestUser, AutoTest)
### POST /api/admin/tokens
```bash
curl -X POST -H "Content-Type: application/json" \
-H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
-d '{"name":"NewUser","role":"user"}' \
http://localhost:3000/api/admin/tokens
```
**Résultat:** ✅ Nouveau token créé avec API key complète retournée
### GET /api/admin/stats
```bash
curl -H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
http://localhost:3000/api/admin/stats
```
**Résultat:** ✅ Stats globales (tokens, logs, requêtes, erreurs)
### GET /api/admin/logs
```bash
curl -H "X-API-Key: d9be0765-c454-47e9-883c-bcd93dd19eae" \
"http://localhost:3000/api/admin/logs?limit=5"
```
**Résultat:** ✅ 5 derniers logs avec détails
---
## Corrections Appliquées
### Chemins relatifs corrigés :
1. ✅ `radicalMatcher.js:5``../../../../data/lexique.json`
2. ✅ `morphologicalDecomposer.js:5``../../../../data/lexique.json`
3. ✅ `promptBuilder.js:21``../../../prompts/`
4. ✅ `auth.js:7,15``../../data/`
5. ✅ `server.js:792``../../prompts/cf2fr-refinement.txt`
### Configuration PM2 :
- ✅ Créé `ecosystem.config.js`
- ✅ PM2 redémarré avec `--update-env`
- ✅ Variables d'environnement chargées depuis `.env`
- ✅ PM2 sauvegardé avec `pm2 save`
---
## Performance
- **Lexique:** 1835 entrées Ancien-Confluent, 164 Proto-Confluent
- **Économie de tokens:** ~24,000 tokens par traduction (87% d'économie)
- **Temps de réponse:** ~2s pour traduction LLM
- **Mémoire:** ~87 MB
---
## Clés API Disponibles
### Admin (illimité)
```
d9be0765-c454-47e9-883c-bcd93dd19eae
```
### TestUser (20 req/jour)
```
008d38c2-e6ed-4852-9b8b-a433e197719a
```
### AutoTest (20 req/jour)
```
343c01ae-8e9c-45b4-a04e-98c67d98d889
```
---
## Notes Techniques
- **Providers LLM:** Anthropic (Claude) + OpenAI (GPT)
- **Modèles testés:** `claude-sonnet-4-20250514`, `gpt-4o-mini`
- **Rate limiting:** Admin = illimité, User = 20 req/jour
- **Logging:** Tous les endpoints loggés avec détails
- **Auth:** Basée sur API keys (header `X-API-Key`)
---
**Statut Final:** 🎉 TOUS LES ENDPOINTS FONCTIONNENT PARFAITEMENT

View File

@ -1 +0,0 @@
../ancien-confluent

View File

@ -0,0 +1 @@
../ancien-confluent

View File

@ -1 +0,0 @@
../../data/lexique-francais-confluent.json

View File

@ -0,0 +1 @@
../../data/lexique-francais-confluent.json

View File

@ -1 +0,0 @@
../../data/lexique.json

View File

@ -0,0 +1 @@
../../data/lexique.json

File diff suppressed because it is too large Load Diff

View File

@ -1,185 +0,0 @@
# Commit Summary: Full Lockdown Security
## 🎯 Objectif
Sécuriser TOUS les endpoints de l'API pour empêcher tout accès non authentifié aux données.
## 📝 Modifications
### Fichiers modifiés
- `server.js` - Ajout `authenticate` middleware sur tous les endpoints
- `public/index.html` - Migration complète vers `authFetch()` avec auto-logout
### Fichiers créés
- `README_SECURITY.md` - Guide rapide de sécurité
- `SECURITY_TEST.md` - Procédure de test détaillée
- `CHANGELOG_SECURITY.md` - Documentation complète des changements
- `test-security.sh` - Script de test automatisé
- `COMMIT_SUMMARY.md` - Ce fichier
## 🔒 Endpoints sécurisés
### Avant (partial security)
- ❌ 8 endpoints publics non protégés
- ✅ 3 endpoints protégés
- ⚠️ Endpoint `/api/reload` dangereux et public
### Après (full lockdown)
- ✅ 15 endpoints protégés
- ✅ 2 endpoints publics volontaires (`/api/health`, page HTML)
- ✅ 100% des données nécessitent authentification
## 🎨 Frontend
### authFetch() amélioré
- Auto-logout sur 401/403
- Gestion automatique des sessions expirées
- Throw error avec message utilisateur clair
### Login flow
- Test avec `/api/validate` au lieu de `/api/stats`
- Chargement automatique des données après connexion
- Meilleure gestion des erreurs
## 📊 Impact
### Sécurité
- 🔒 **Niveau de sécurité : MAXIMAL**
- ✅ Aucune fuite de données possible
- ✅ Rate limiting sur endpoints sensibles
- ✅ Admin routes protégées
### Utilisateur
- ✅ Expérience utilisateur améliorée
- ✅ Messages d'erreur clairs
- ✅ Auto-logout automatique
- ✅ Pas de changement visuel (UI identique)
### Développeur
- ✅ Documentation complète
- ✅ Scripts de test fournis
- ✅ Architecture claire et maintenable
## ✅ Tests
### Validation effectuée
- [x] Syntaxe JavaScript valide (`node -c`)
- [x] Tous les `fetch()` remplacés par `authFetch()` (sauf login)
- [x] Endpoints publics identifiés et documentés
- [x] Auto-logout fonctionne sur 401/403
### Tests à effectuer (post-déploiement)
- [ ] Lancer le serveur (`npm start`)
- [ ] Vérifier création token admin
- [ ] Tester connexion interface web
- [ ] Exécuter `./test-security.sh`
- [ ] Vérifier tous les endpoints retournent 401 sans auth
## 📚 Documentation
### Pour l'utilisateur
- `README_SECURITY.md` - Guide rapide de démarrage
### Pour le testeur
- `SECURITY_TEST.md` - Procédure de test manuelle
- `test-security.sh` - Script de test automatisé
### Pour le développeur
- `CHANGELOG_SECURITY.md` - Historique détaillé des modifications
- Commentaires inline dans `server.js` (marqués "SECURED")
## 🚀 Déploiement
### Étapes recommandées
1. Backup de `data/tokens.json` (si existant)
2. Merge des modifications
3. `npm start`
4. Noter le token admin affiché
5. Tester l'interface web
6. Exécuter `./test-security.sh`
### Rollback si problème
```bash
git revert HEAD
npm start
```
## 💡 Notes techniques
### Compatibilité
- ✅ Backward compatible au niveau code
- ⚠️ **BREAKING CHANGE** : Tous les clients doivent s'authentifier
- ⚠️ API publique n'existe plus (sauf `/api/health`)
### Performance
- ✅ Pas d'impact performance (middleware léger)
- ✅ LocalStorage pour cache token côté client
- ✅ Pas de requête supplémentaire par appel API
### Sécurité
- ✅ Tokens stockés côté serveur uniquement
- ✅ Pas de JWT (pas de décodage côté client)
- ✅ Rate limiting maintenu sur endpoints sensibles
- ✅ CORS non modifié (même origine)
## ⚠️ Breaking Changes
### Pour les clients existants
**Avant :** Pouvaient appeler `/api/stats`, `/api/lexique/*` sans auth
**Après :** Doivent fournir header `x-api-key` avec token valide
### Migration
```javascript
// Ancien code client
fetch('/api/stats')
// Nouveau code client
fetch('/api/stats', {
headers: { 'x-api-key': 'your-token' }
})
```
## 📈 Métriques
### Lignes de code
- `server.js` : +20 lignes (nouveaux endpoints publics)
- `server.js` : 9 lignes modifiées (ajout authenticate)
- `index.html` : +15 lignes (authFetch amélioré)
- `index.html` : 3 lignes modifiées (fetch → authFetch)
### Documentation
- 4 nouveaux fichiers markdown
- 1 script de test bash
- ~800 lignes de documentation totale
### Tests
- 12 tests automatisés dans `test-security.sh`
- 10 tests manuels dans `SECURITY_TEST.md`
## 🎉 Résultat
**Mission accomplie !**
Tous les endpoints sont sécurisés. L'interface HTML ne peut charger aucune donnée sans authentification valide. Le système gère automatiquement les sessions expirées.
**Niveau de sécurité : 🔒 MAXIMAL**
---
## Commande de commit suggérée
```bash
git add ConfluentTranslator/server.js ConfluentTranslator/public/index.html
git add ConfluentTranslator/*.md ConfluentTranslator/*.sh
git commit -m "feat: implement full lockdown security on all endpoints
- Add authenticate middleware to all API endpoints (except health check)
- Upgrade authFetch() with auto-logout on 401/403
- Add /api/validate endpoint for token validation
- Secure admin-only endpoints with requireAdmin
- Add comprehensive security documentation and test scripts
BREAKING CHANGE: All API endpoints now require authentication
Clients must provide x-api-key header with valid token
Closes #security-full-lockdown"
```

View File

@ -1,168 +0,0 @@
# Résultats des Tests - Système de Nombres Base 12
Date: 2025-11-28
## ✅ Tests Réussis
### 1. Lexique Nombres (`22-nombres.json`)
- ✅ Fichier créé et structuré
- ✅ 13 chiffres de base (0-12)
- ✅ Chargement vérifié: `tiru` (3), `tolu` (12)
- ✅ Puissances de 12 définies (tolusa, toluaa, tolumako)
- ✅ Opérations arithmétiques documentées
### 2. Prompt Système (`ancien-system.txt`)
- ✅ Section "SYSTÈME DE NOMBRES (BASE 12)" présente
- ✅ Chiffres 0-12 avec vocabulaire Confluent
- ✅ Puissances de 12 documentées
- ✅ Construction des nombres expliquée
- ✅ Quantificateurs vagues (tiru tiru, tolu tolu)
- ✅ Opérations arithmétiques (samuk, pasak, kisun, toluk)
- ✅ Exemple 4 avec traduction complète de nombres
### 3. Documentation
- ✅ `SYSTEME_NUMERIQUE_BASE12.md` (600+ lignes)
- Ancrage culturel complet
- 12 lunes, 12 phalanges, 12 clans
- Avantages mathématiques prouvés
- Applications pratiques
- ✅ `REFERENCE_RAPIDE_NOMBRES.md`
- Tables de conversion
- Formule de conversion rapide
- Exemples d'usage
### 4. TODO mis à jour
- ✅ Section "Système de nombres" marquée comme FAIT
- ✅ 10 sous-tâches complétées
## 📊 État du Système
### Fichiers créés/modifiés
```
ancien-confluent/lexique/22-nombres.json
docs/SYSTEME_NUMERIQUE_BASE12.md
docs/REFERENCE_RAPIDE_NOMBRES.md
ConfluentTranslator/prompts/ancien-system.txt (modifié)
TODO.md (mis à jour)
```
### Contenu validé
#### Chiffres de base
| Base 10 | Base 12 | Confluent |
|---------|---------|-----------|
| 0 | 0 | zaro |
| 1 | 1 | iko |
| 2 | 2 | diku |
| 3 | 3 | tiru |
| 4 | 4 | katu |
| 5 | 5 | penu |
| 6 | 6 | seku |
| 7 | 7 | sivu |
| 8 | 8 | oktu |
| 9 | 9 | novu |
| 10 | A | deku |
| 11 | B | levu |
| 12 | 10 | tolu |
#### Puissances de 12
| Base 10 | Base 12 | Confluent |
|---------|---------|-----------|
| 12 | 10 | tolu |
| 144 | 100 | tolusa |
| 1728 | 1000 | toluaa |
| 20736 | 10000 | tolumako |
#### Construction des nombres
- Structure: `COEFFICIENT + tolu + UNITÉ`
- Exemple: 25 (base 10) = 21 (base 12) = `diku tolu iko`
#### Exemples de traduction attendus
```
Français: Trois enfants.
Confluent: tiru naki
Français: Douze oiseaux.
Confluent: tolu apo
Français: Trois enfants voient douze oiseaux.
Confluent: va tiru naki vo tolu apo mirak u
```
## ⚠️ Tests nécessitant API Key
Les tests suivants nécessitent une clé API Anthropic configurée:
- `test-simple-nombre.js` - Tests de traduction basiques
- `test-nombres.js` - Suite de tests complète
Erreur rencontrée:
```
Could not resolve authentication method. Expected either apiKey or authToken to be set.
```
## 🎯 Tests Manuels Recommandés
Pour tester le système avec l'interface web (http://localhost:3000):
### Test 1: Nombres simples
1. Phrase: "Trois enfants."
2. Attendu: `tiru naki`
### Test 2: Nombre sacré (12)
1. Phrase: "Douze oiseaux volent."
2. Attendu: contient `tolu apo`
### Test 3: Nombre composé
1. Phrase: "Vingt-cinq guerriers."
2. Attendu: `diku tolu iko` (2×12+1)
### Test 4: Phrase complète SOV
1. Phrase: "Trois enfants voient douze oiseaux."
2. Attendu: `va tiru naki vo tolu apo mirak u`
### Test 5: Grosse (144)
1. Phrase: "Une grosse de poissons."
2. Attendu: `tolusa pesa`
### Test 6: Quantificateur vague
1. Phrase: "Beaucoup d'ancêtres."
2. Attendu: `tolu tolu aita` ou `mako aita`
### Test 7: Expression idiomatique
1. Phrase: "Je comprends complètement."
2. Attendu: `Tolu miraku` (je vois douze)
## 📝 Notes
### Avantages de la Base 12 implémentés
- ✅ Divisibilité par 2, 3, 4, 6
- ✅ Fractions exactes (1/2=0.6, 1/3=0.4, 1/4=0.3)
- ✅ Ancrage culturel (12 lunes, 12 phalanges)
- ✅ Comptage corporel naturel (jusqu'à 60)
### Intégration culturelle
- ✅ 12 lunaisons du calendrier
- ✅ 12 clans originels (mythologie)
- ✅ Expressions idiomatiques
- ✅ Usage commercial (tolusa = grosse)
## ✅ Validation Globale
Le système de nombres en base 12 est:
- **Mathématiquement cohérent**
- **Culturellement ancré**
- **Linguistiquement intégré**
- **Documenté complètement**
- **Prêt pour traduction**
## 🚀 Prochaines Étapes
1. ⏳ Tester avec API Key valide
2. ⏳ Valider traductions réelles avec LLM
3. ⏳ Ajuster si nécessaire selon résultats
4. ⏳ Passer aux émotions (métaphores corporelles)
5. ⏳ Propositions relatives (BONUS)
---
**Système de nombres Base 12 - COMPLET et VALIDÉ** ✅

View File

@ -1,358 +0,0 @@
# 🧪 Résumé des Tests API
## ✅ Tests créés avec succès !
Tous les scripts de test ont été créés dans le dossier `testsAPI/`.
---
## 📦 Ce qui a été créé
### Scripts de test (.bat)
1. **test-health.bat** - Test endpoint public (1 test)
2. **test-unauthorized.bat** - Test sécurité sans auth (13 tests)
3. **test-authorized.bat** - Test accès avec auth (8 tests)
4. **test-all.bat** - Lance tous les tests (22 tests)
### Scripts utilitaires (.bat)
5. **quick-check.bat** - Vérification rapide (4 checks)
6. **get-token.bat** - Extraction du token admin
### Documentation (.md)
7. **README.md** - Documentation complète (8 KB)
8. **QUICKSTART.md** - Guide rapide 2 minutes
9. **INDEX.md** - Index et navigation
**Total : 9 fichiers créés**
---
## 🚀 Comment utiliser
### Option 1 : Tests rapides (2 minutes)
```cmd
cd ConfluentTranslator\testsAPI
REM 1. Vérifier que tout est prêt
quick-check.bat
REM 2. Récupérer le token
get-token.bat
REM 3. Configurer le token dans test-authorized.bat
notepad test-authorized.bat
REM 4. Lancer tous les tests
test-all.bat
```
### Option 2 : Tests individuels
```cmd
cd ConfluentTranslator\testsAPI
REM Test endpoint public
test-health.bat
REM Test sécurité (sans auth)
test-unauthorized.bat
REM Test accès (avec auth)
test-authorized.bat
```
---
## 📊 Couverture des tests
### Tests automatisés
| Script | Endpoints testés | Tests | Durée |
|--------|------------------|-------|-------|
| test-health.bat | 1 | 1 | ~2s |
| test-unauthorized.bat | 13 | 13 | ~10s |
| test-authorized.bat | 8 | 8 | ~8s |
| **TOTAL** | **22** | **22** | **~20s** |
### Endpoints couverts
**✅ 100% des endpoints sont testés**
**GET endpoints (9) :**
- `/api/health` - Public ✅
- `/api/stats` - Protégé ✅
- `/api/lexique/ancien` - Protégé ✅
- `/api/lexique/proto` - Protégé ✅
- `/api/search` - Protégé ✅
- `/api/validate` - Protégé ✅
- `/lexique` - Protégé ✅
**POST endpoints (13) :**
- `/translate` - Protégé ✅
- `/api/reload` - Admin only ✅
- `/api/debug/prompt` - Protégé ✅
- `/api/analyze/coverage` - Protégé ✅
- `/api/translate/raw` - Protégé ✅
- `/api/translate/batch` - Protégé ✅
- `/api/translate/conf2fr` - Protégé ✅
- `/api/translate/conf2fr/llm` - Protégé ✅
---
## 🎯 Résultats attendus
### Test réussi si :
**test-health.bat**
```
[OK] 200 - Endpoint accessible
```
**test-unauthorized.bat**
```
Total: 13 tests
Passes: 13 (401 retourne)
Echoues: 0
[OK] Tous les endpoints sont correctement proteges
```
**test-authorized.bat**
```
Total: 8 tests
Passes: 8 (200 OK)
Echoues: 0
[OK] Tous les endpoints sont accessibles avec auth
```
**test-all.bat**
```
RESULTATS FINAUX
================
Total: 22 tests
Passes: 22
Echoues: 0
[OK] Tous les tests sont passes
🔒 Le systeme est correctement securise
```
---
## 📚 Documentation disponible
### Dans testsAPI/
- **QUICKSTART.md** - Guide ultra-rapide (4 étapes)
- **README.md** - Documentation complète et détaillée
- **INDEX.md** - Navigation et organisation
### Dans le dossier principal
- **README_SECURITY.md** - Guide principal de sécurité
- **SECURITY_TEST.md** - Tests manuels détaillés
- **CHANGELOG_SECURITY.md** - Historique des modifications
- **COMMIT_SUMMARY.md** - Résumé technique pour commit
---
## 🔧 Prérequis
### Vérifiés par quick-check.bat
- ✅ Serveur actif sur port 3000
- ✅ Sécurité active (401 sans auth)
- ✅ Token admin créé
- ✅ curl disponible
### Configuration manuelle
- ⚙️ Token configuré dans `test-authorized.bat`
---
## 🐛 Dépannage rapide
### "Serveur inactif"
```cmd
cd ConfluentTranslator
npm start
```
### "Token introuvable"
```cmd
cd ConfluentTranslator
get-token.bat
```
### "curl non reconnu"
- Windows 10+ : curl est préinstallé
- Vérifier : `curl --version`
- Path : `C:\Windows\System32\curl.exe`
### "401 avec token valide"
- Vérifier que le token est correct dans `test-authorized.bat`
- Vérifier `data/tokens.json` que `enabled: true`
- Copier le token EXACT (pas d'espace avant/après)
---
## 🎨 Formats de sortie
Les scripts utilisent un format cohérent :
```
========================================
TEST: Nom du test
========================================
Expected: Résultat attendu
[1] Testing: Description
[OK] Status attendu
ou
[FAIL] Status: XXX (expected YYY)
========================================
RESULTATS FINAUX
========================================
Total: X tests
Passes: Y
Echoues: Z
========================================
```
---
## 📈 Métriques
### Scripts créés
- **6 scripts** .bat (4 tests + 2 utilitaires)
- **3 documents** .md (README, QUICKSTART, INDEX)
- **~20 KB** de code et documentation
### Tests implémentés
- **22 tests** automatisés
- **100%** de couverture endpoints
- **~20 secondes** d'exécution totale
### Documentation
- **~15 KB** de documentation
- **3 niveaux** : Quick, Standard, Complet
- **Multilingue** : Français + Anglais (noms fichiers)
---
## ✨ Fonctionnalités
### Automatisation
- ✅ Tests parallélisés (curl simultanés)
- ✅ Compteurs automatiques (passed/failed)
- ✅ Codes couleurs (si terminal supporté)
- ✅ Messages d'erreur explicites
### Robustesse
- ✅ Vérification prérequis
- ✅ Gestion des erreurs
- ✅ Messages clairs
- ✅ Guides de dépannage
### Flexibilité
- ✅ Tests individuels ou groupés
- ✅ Configuration simple (1 variable)
- ✅ Extension facile (ajouter tests)
- ✅ Documentation exhaustive
---
## 🔗 Workflow complet
```mermaid
graph TD
A[Démarrer serveur] --> B[quick-check.bat]
B --> C{Tout OK?}
C -->|Non| D[Fix problèmes]
D --> B
C -->|Oui| E[get-token.bat]
E --> F[Configurer test-authorized.bat]
F --> G[test-all.bat]
G --> H{Tests OK?}
H -->|Non| I[Debug avec tests individuels]
I --> J[Fix code serveur]
J --> G
H -->|Oui| K[✅ Sécurité validée]
```
---
## 🎓 Pour aller plus loin
### Ajouter un nouveau test
1. **Créer le fichier**
```cmd
copy test-health.bat test-custom.bat
notepad test-custom.bat
```
2. **Modifier le contenu**
```batch
REM Test: Mon endpoint custom
curl http://localhost:3000/api/custom
```
3. **Ajouter dans test-all.bat**
```batch
call test-custom.bat
```
4. **Documenter dans README.md**
### Modifier le serveur de test
Dans chaque fichier .bat :
```batch
REM Remplacer localhost:3000 par votre serveur
curl http://votre-serveur:port/api/endpoint
```
### Intégration CI/CD
Les scripts peuvent être appelés depuis CI/CD :
```yaml
# Example: GitHub Actions
- name: Test API Security
run: |
cd ConfluentTranslator/testsAPI
test-all.bat
```
---
## 📞 Support
### Problème avec les tests ?
1. Lire `testsAPI/README.md` (section Dépannage)
2. Vérifier `quick-check.bat`
3. Consulter `SECURITY_TEST.md` pour tests manuels
### Problème avec le serveur ?
1. Vérifier les logs (`npm start`)
2. Consulter `README_SECURITY.md`
3. Vérifier `CHANGELOG_SECURITY.md`
---
## 🎉 C'est prêt !
Tous les tests sont créés et documentés.
**Prochaine étape :**
```cmd
cd ConfluentTranslator\testsAPI
test-all.bat
```
**Bonne chance ! 🚀**
---
**Made with ❤️ for ConfluentTranslator**
*Full Lockdown Security Testing Suite v1.0*

View File

@ -1,243 +0,0 @@
# Test du système de recherche par radicaux - Résultats
Date: 2025-11-28
**Dernière mise à jour:** 2025-11-30
## Texte de test (122 tokens)
```
Va siluuumi vo mako sekavoki na akoazana vokan at. Va aliaska vo voki aita na aita zo kisun at. No kekutoka tiru okitori vo loku taku su mitak at. Tova vo uraakota na kisiran vokis at. Va umitori velu mirak at. Va alu su vo onuvoki melu su pasun at. Va naki su vo savu su pasun at. Va maku sukamori vo varu mako su zo sukam ul at. Va vokiueka vo kala okimako uravis at. Na tova na uraal kisaran ui vo mako vulu pasak ok se vo talu su vaku nekan ok. Se na kisiran zo urak u suki na velu ve at. Zom na okitori na mako ve at. Se va sekauaita na tori su ui kisun at eol.
```
## Résultats
### Coverage global
- **Avant implémentation (plan):** 83% (101/122 tokens)
- **Après implémentation et ajout particules:** 94% (115/122 tokens)
- **Amélioration totale:** +11 points de pourcentage (+14 mots trouvés)
### Mots trouvés (115/122)
Exemples de mots correctement trouvés grâce au système:
- **Verbes conjugués (via radicaux):**
- `vokan`, `vokis` → trouvés via radical `vok` → "voix"
- `kisun`, `kisiran` → trouvés via radical `kis` → "transmettre"
- `pasun` → trouvé via radical `pas` → "prendre"
- `mirak` → trouvé via radical `mir` → "voir"
- **Mots composés (décomposition):**
- `sekavoki` → composition reconnue → "conseil"
- `siluuumi` → "oracle"
- `sekauaita` → "sagesse"
- **Particules grammaticales:**
- Toutes reconnues: `va`, `vo`, `na`, `at`, `su`, `se`, `ok`, `ul`, `ui`, `no`, `zo`, `zom`
- ✅ `ve` et `eol` maintenant documentés dans le lexique
- **Noms propres (castes, lieux):**
- `akoazana` → "faucons chasseurs"
- `aliaska` → "ailes-grises"
- `kekutoka` → "antres des échos"
- `uraakota` → "caste de l'eau / la confluence"
- **Vocabulaire spécialisé:**
- `umitori` → "chaman"
- `vokiueka` → "proclamateur"
- `okitori` → "guerrier"
### Mots non trouvés (7/122)
#### Test en direct (2025-11-30):
```json
{
"unknownWords": ["tiru", "sukamori", "kala", "uravis", "uraal", "kisaran", "vulu"],
"tokenCount": 122,
"unknownCount": 7,
"coverage": 94
}
```
#### Analyse des 7 mots inconnus:
**1. Mots potentiellement invalides (suffixes non existants):**
- `kisaran` - **⚠️ PROBLÉMATIQUE** - utilise le suffixe `-aran` qui n'existe pas
- Note: `kisiran` (avec `-iran`) existe et signifie "transmettre/enseignement"
- Hypothèse: Typo pour `kisiran` ?
- `uravis` - **⚠️ PROBLÉMATIQUE** - utilise le suffixe `-vis` qui n'existe pas
- Aucun suffixe `-vis` documenté dans la grammaire officielle
**2. Compositions non décomposées:**
- `sukamori` - composition potentielle `suk-a-mori` (forger + relation + ?)
- Le radical `suk` existe (forger), mais `mori` n'est pas documenté
- `uraal` - composition potentielle `ur-aa-l`
- Le radical `ur` existe (eau), mais décomposition incertaine
**3. Mots complètement absents du lexique:**
- `tiru` - modificateur/adjectif ? Aucune occurrence dans les 765 entrées
- `kala` - mot inconnu, aucune racine similaire
- `vulu` - mot inconnu, aucune racine similaire
**⚠️ ALERTE - Incohérence linguistique confirmée (2025-11-30):**
Test en direct sur le serveur confirme que ces 7 mots sont **absents du système de 765 entrées chargées**.
**Vérification exhaustive de la grammaire:**
- Les suffixes `aran` et `vis` **n'existent nulle part** dans la documentation officielle
- Vérification dans:
- `ancien-confluent/docs/03-GRAMMAIRE.md` - Aucune mention
- `ancien-confluent/docs/02-MORPHOLOGIE.md` - Aucune mention
- Tous les 23 fichiers JSON du lexique - Aucune occurrence
- Conjugateurs documentés: `u`, `at`, `aan`, `ait`, `amat`, `en`, `il`, `eol`, `eon`, `eom`, `ok`, `es`, `ul`, `uv`
- Le suffixe `-iran` existe (ex: `kisiran`), mais `-aran` est **absent**
**Hypothèses sur l'origine:**
1. **Typos dans le texte de test** (probable pour `kisaran``kisiran`)
2. **Mots inventés pour le test** sans base linguistique
3. **Extensions de la langue** non encore documentées
4. **Racines complètes** à documenter (pour `tiru`, `kala`, `vulu`)
**Actions recommandées:**
- ❌ **NE PAS** ajouter `aran` et `vis` comme suffixes sans validation du créateur de la langue
- ✅ Vérifier si `kisaran` est une typo de `kisiran`
- ✅ Investiguer l'origine de `uravis` (composition ? néologisme ?)
- ✅ Décider si `tiru`, `kala`, `vulu`, `sukamori`, `uraal` sont:
- Des erreurs à corriger dans le texte de test
- Ou des mots légitimes à ajouter au lexique officiel
## Traduction brute obtenue
```
va oracle vo grand (ou: vaste) conseil na faucons chasseurs (ou: faucons chasseurs, akoazana, faucon chasseur, faucons) voix (ou: parole, appeler) at va ailes-grises (ou: ailes-grises, aliaska, aile-grise, aile grise, ailes grises, ailes) vo voix (ou: parole, appeler) ancêtre (ou: ancien, aïeul, vieux, âgé) na ancêtre (ou: ancien, aïeul, vieux, âgé) zo transmettre (ou: enseigner, transmettent, transmis) at no antres des échos (ou: antres des échos, kekutoka) [INCONNU:tiru] guerrier vo loi (ou: règle, lieu, endroit, loup, zone, région) porter (ou: transporter) su famille (ou: clan) at tova vo caste de l'eau (ou: caste de l'eau, la confluence, uraakota, confluence (la)) na transmettre (ou: enseigner, transmettent, transmis) voix (ou: parole, appeler) at va chaman surveiller voir (ou: observer, regarder, vu, vus, vue, vues, verbe) at va grue (ou: Regard-Libre, grues, regard-libre) su vo poème (ou: vers, chant) doux (ou: doux, tendre) su prendre (ou: prennent, pris, prisse) at va descendant (ou: descendant, futur, débutant, enfant) su vo serment (ou: serment, promesse, jurer) su prendre (ou: prennent, pris, prisse) at va grand (ou: vaste) [INCONNU:sukamori] vo arme grand (ou: vaste) su zo forger ul at va proclamateur (ou: proclamateur, proclamation) vo [INCONNU:kala] terrible [INCONNU:uravis] at na tova na [INCONNU:uraal] [INCONNU:kisaran] ui vo grand (ou: vaste) [INCONNU:vulu] prendre (ou: prennent, pris, prisse) ok se vo hall su allié (ou: allié, ami) tovak (ou: agir, faire, accomplir, créer, font, ferai, feras, fera, ferons, ferez, feront) ok se na transmettre (ou: enseigner, transmettent, transmis) zo être (ou: exister, vivre, il y a, y a-t-il, existe, existent, existant) u feu (ou: flamme, étincelle) na surveiller [INCONNU:ve] at zom na guerrier na grand (ou: vaste) [INCONNU:ve] at se va sagesse na homme (ou: homme, personne) su ui transmettre (ou: enseigner, transmettent, transmis) at [INCONNU:eol]
```
## Analyse du système implémenté
### Ce qui fonctionne ✅
1. **Recherche exacte** - Correspondance directe dans le lexique
2. **Recherche par radicaux verbaux** - Extraction de racines avec suffixes connus
3. **Index byFormeLiee** - Recherche rapide par forme liée
4. **Compositions simples** - Reconnaissance des mots composés documentés
### Ce qui nécessite des améliorations 🔧
1. **⚠️ Liste des suffixes verbaux** - ~~Incomplète (manque `aran`, `vis`, etc.)~~ **ATTENTION:** Ces suffixes n'existent pas dans la grammaire officielle (voir alerte ci-dessus)
2. **Décomposition morphologique récursive** - Ne trouve pas toutes les compositions
3. **Lexique** - Certains mots/particules manquants (`ve`, `eol` maintenant ajoutés - 2025-11-29)
4. **Validation du texte de test** - Contient des mots non conformes à la grammaire établie
5. **Confiance des matches** - Système de scoring pourrait être affiné
## Commande de test
```bash
curl -s -X POST http://localhost:3000/api/translate/conf2fr \
-H "Content-Type: application/json" \
-d '{"text": "Va siluuumi vo mako sekavoki na akoazana vokan at. Va aliaska vo voki aita na aita zo kisun at. No kekutoka tiru okitori vo loku taku su mitak at. Tova vo uraakota na kisiran vokis at. Va umitori velu mirak at. Va alu su vo onuvoki melu su pasun at. Va naki su vo savu su pasun at. Va maku sukamori vo varu mako su zo sukam ul at. Va vokiueka vo kala okimako uravis at. Na tova na uraal kisaran ui vo mako vulu pasak ok se vo talu su vaku nekan ok. Se na kisiran zo urak u suki na velu ve at. Zom na okitori na mako ve at. Se va sekauaita na tori su ui kisun at eol."}' \
| python3 -m json.tool
```
## Prochaines étapes pour atteindre 95%+
1. ✅ **Ajouter particules `ve` et `eol`** → +2% coverage (FAIT - 2025-11-29)
2. ❌ ~~**Enrichir VERBAL_SUFFIXES avec `aran`, `vis`**~~**ABANDONNÉ** - Ces suffixes n'existent pas linguistiquement
3. **⚠️ PRIORITÉ: Valider/corriger le texte de test** - Vérifier l'origine de `kisaran`, `uravis`, `sukamori`, `uraal`
4. **Documenter `tiru`, `kala`, `vulu`** → +3% coverage (si mots légitimes)
5. **Vérifier/ajouter racines pour compositions** → +1% coverage
**Objectif atteint et révisé (2025-11-30):**
- ✅ Coverage actuel confirmé: **94%** (115/122)
- ✅ Particules `ve` et `eol` ajoutées avec succès
- Coverage maximum théorique: **100%** si les 7 mots inconnus sont documentés
- **⚠️ Attention:** Le texte de test contient probablement:
- 1-2 typos (`kisaran` → `kisiran` probable)
- 5-6 mots non documentés à valider linguistiquement
## Fichiers créés/modifiés
### Nouveaux fichiers
- `ConfluentTranslator/radicalMatcher.js` - Extraction de radicaux
- `ConfluentTranslator/morphologicalDecomposer.js` - Décomposition morphologique
### Fichiers modifiés
- `ConfluentTranslator/reverseIndexBuilder.js` - Ajout index `byFormeLiee`
- `ConfluentTranslator/confluentToFrench.js` - Recherche en cascade
### Structure de l'index
```javascript
{
byWord: {
"voki": { francais: "voix", forme_liee: "vok", ... }
},
byFormeLiee: {
"vok": [
{ francais: "voix", matchType: "forme_liee", ... }
]
}
}
```
## Conclusion
### ✅ Système de recherche par radicaux : OPÉRATIONNEL
Le système est **fonctionnel, testé et validé** :
- **Amélioration:** 83% → 94% de coverage (+11 points)
- **Mots trouvés:** 115/122 tokens
- **Architecture:** Recherche en cascade à 4 niveaux (exact → radicaux → décomposition → inconnu)
- **Performance:** Système robuste avec 765 entrées de lexique chargées
### 📊 Résultats du test en direct (2025-11-30)
**Test effectué avec serveur Node.js:**
```bash
curl -X POST http://localhost:3000/api/translate/conf2fr
```
**Résultats confirmés:**
- Coverage: **94%** (115/122)
- Mots inconnus: **7** (`tiru`, `sukamori`, `kala`, `uravis`, `uraal`, `kisaran`, `vulu`)
- Toutes les particules grammaticales reconnues (✅ `ve` et `eol` ajoutés)
- Décomposition morphologique fonctionnelle
- Recherche par radicaux opérationnelle
### ⚠️ Découverte importante : Problèmes dans le texte de test
**Analyse exhaustive révèle que le texte de test contient des anomalies linguistiques :**
1. **Suffixes inexistants** (2 mots):
- `kisaran` utilise `-aran` (n'existe pas, probable typo de `kisiran`)
- `uravis` utilise `-vis` (n'existe pas dans la grammaire)
2. **Mots non documentés** (5 mots):
- `tiru`, `kala`, `vulu` - absents des 765 entrées
- `sukamori`, `uraal` - compositions incomplètes
**Vérification complète effectuée:**
- ✅ 765 entrées de lexique chargées et indexées
- ✅ Documentation grammaire officielle consultée
- ✅ Aucune trace de `-aran` ou `-vis` dans les conjugateurs documentés
### 🎯 Actions recommandées avant production
1. **IMMÉDIAT:**
- ✅ Particules `ve` et `eol` ajoutées au lexique → Coverage 94%
- ⚠️ **Valider l'origine du texte de test** avec le créateur de la langue
2. **PROCHAINES ÉTAPES:**
- Option A: **Corriger les typos** dans le texte (`kisaran` → `kisiran`)
- Option B: **Documenter les nouveaux mots** s'ils sont intentionnels
- Option C: **Créer un nouveau texte de test** 100% conforme à la grammaire
3. **LONG TERME:**
- Enrichir le lexique avec les mots manquants légitimes
- Améliorer la décomposition morphologique récursive
- Affiner le système de scoring de confiance
### 📈 État actuel du système
| Composant | État | Performance |
|-----------|------|-------------|
| Recherche exacte | ✅ Opérationnel | 100% |
| Recherche par radicaux | ✅ Opérationnel | ~95% |
| Décomposition morphologique | ✅ Opérationnel | ~85% |
| Index byFormeLiee | ✅ Opérationnel | 100% |
| Coverage global | ✅ **94%** | Objectif atteint |
**Système technique: ✅ PRÊT POUR PRODUCTION**
**Texte de test: ⚠️ NÉCESSITE VALIDATION LINGUISTIQUE**

View File

@ -1,241 +0,0 @@
# Analyse des mots problématiques du texte de test
Date: 2025-11-29
## Contexte
Le texte de test (122 tokens) contient 10 mots non trouvés. Analyse approfondie de chaque mot pour déterminer s'ils sont légitimes ou erronés.
---
## Mots analysés
### 1. `tiru` ✅ RÉSOLU
**Statut**: Légitime - Nombre existant
**Source**: `ancien-confluent/lexique/22-nombres.json` ligne 32
**Valeur**: 3 (trois)
**Contexte dans le texte**: `No kekutoka tiru okitori...` = "Dans antres-des-échos trois guerrier..."
**Action**: ✅ Ajouter au dictionnaire principal si absent
---
### 2. `kisiran` vs `kisaran` ⚠️ INCOHÉRENCE DÉTECTÉE
**Analyse comparative**:
| Forme | Statut | Source | Décomposition |
|-------|--------|--------|---------------|
| `kisiran` | ✅ Trouvé dans le texte (ligne 8) | Texte de test | `kis-iran` (transmettre + ?) |
| `kisaran` | ❌ Non trouvé (ligne 10) | Texte de test | `kis-aran` (transmettre + ?) |
**Verbe de base**:
- `kisun` = transmettre, enseigner (verbe CVCVC)
- Racine: `kisu`
- Forme liée: `kis`
- Source: `ancien-confluent/lexique/06-actions.json` ligne 123
**Problème**:
- Le texte contient **deux formes différentes**: `kisiran` ET `kisaran`
- Aucun des deux suffixes (`iran`, `aran`) n'est documenté dans la grammaire
- Seul `iran` apparaît dans `radicalMatcher.js` comme "dérivé nominal"
**Hypothèses**:
1. **Typo**: `kisaran` est une erreur de frappe pour `kisiran`
2. **Variantes**: Deux formes différentes intentionnelles (non documentées)
3. **Erreur de conception**: Suffixes inventés sans base linguistique
**Recommandation**: ⚠️ Vérifier avec le créateur du texte - probablement une typo
---
### 3. `uravis` ❌ NON DOCUMENTÉ
**Décomposition supposée**: `ura-vis`
**Racine `ura`**:
- ✅ Existe: Racine sacrée "eau, flux, vie"
- Source: `ancien-confluent/lexique/01-racines-sacrees.json`
- Forme liée: `ur`
**Suffixe `vis`**:
- ❌ N'existe PAS dans la grammaire officielle
- Absent de tous les conjugateurs documentés
- Aucune occurrence dans le lexique
**Contexte**: `Va vokiueka vo kala okimako uravis at`
**Hypothèses**:
1. Mot complet non documenté (pas un dérivé)
2. Composition mal formée
3. Erreur dans le texte de test
**Recommandation**: ❌ À corriger ou documenter
---
### 4. `sukamori` ❌ NON DOCUMENTÉ
**Décomposition supposée**: `suk-a-mori`
**Racine `suk`**:
- ✅ Existe: "feu, forge"
- Verbe: `sukam` = forger
- Source: `ancien-confluent/lexique/06-actions.json` ligne 334
- Forme liée: `suk`
**Liaison `a`**:
- ✅ Liaison sacrée existante (relation)
**Racine `mori`**:
- ❌ N'existe PAS dans le lexique
- Recherche exhaustive: aucune occurrence
**Contexte**: `Va maku sukamori vo varu mako su zo sukam ul at`
= "Le grand sukamori l'arme grande... a forgé (passé)"
**Hypothèses**:
1. `mori` = racine non documentée (forgeron? artisan?)
2. Composition erronée
3. Devrait être autre chose
**Recommandation**: ❌ Racine `mori` manquante - à documenter ou corriger
---
### 5. `uraal` ❌ NON DOCUMENTÉ
**Décomposition supposée**: `ur-aa-l` ou `ura-al`
**Racine `ur`/`ura`**:
- ✅ Existe: Racine sacrée "eau, flux, vie"
- Forme liée: `ur`
**Liaison `aa`**:
- ✅ Liaison sacrée existante (relation forte)
**Partie finale `l` ou racine `al`**:
- ❌ Aucune racine `al` trouvée dans le lexique
- Un simple `l` ne peut pas être une racine (trop court)
**Contexte**: `Na tova na uraal kisaran ui...`
**Hypothèses**:
1. Composition mal formée
2. Racine `al` non documentée
3. Erreur de construction
**Recommandation**: ❌ Structure invalide - à corriger
---
### 6. `kala` ❌ NON DOCUMENTÉ
**Recherche**:
- ❌ Aucune occurrence dans tout le lexique
- Pas de racine `kal` trouvée
- Structure valide (CV-CV) mais absente
**Contexte**: `Va vokiueka vo kala okimako uravis at`
**Hypothèses**:
1. Mot non documenté (adjectif? nom?)
2. Erreur ou invention
**Recommandation**: ❌ À documenter ou corriger
---
### 7. `vulu` ❌ NON DOCUMENTÉ
**Recherche**:
- ❌ Aucune occurrence dans tout le lexique
- Pas de racine `vul` trouvée
- Structure valide (CV-CV) mais absente
**Contexte**: `vo mako vulu pasak ok`
**Hypothèses**:
1. Mot non documenté (adjectif? nom?)
2. Erreur ou invention
**Recommandation**: ❌ À documenter ou corriger
---
## Résumé des découvertes
### Mots légitimes (1/7)
| Mot | Statut | Source | Action |
|-----|--------|--------|--------|
| `tiru` | ✅ Nombre = 3 | `22-nombres.json` | Ajouter au lexique principal |
### Problèmes détectés (6/7)
| Mot | Type de problème | Sévérité | Action recommandée |
|-----|------------------|----------|-------------------|
| `kisaran` | Suffixe inexistant `aran` | ⚠️ Haute | Probablement typo de `kisiran` |
| `uravis` | Suffixe inexistant `vis` | ⚠️ Haute | Corriger ou documenter |
| `sukamori` | Racine `mori` manquante | 🔴 Critique | Documenter `mori` ou corriger |
| `uraal` | Composition invalide | 🔴 Critique | Corriger la structure |
| `kala` | Mot totalement absent | 🔴 Critique | Documenter ou supprimer |
| `vulu` | Mot totalement absent | 🔴 Critique | Documenter ou supprimer |
---
## Recommandations
### Option A: Corriger le texte de test
Remplacer les mots non documentés par des équivalents conformes à la grammaire établie.
**Avantages**:
- Maintient la cohérence linguistique
- Texte de test devient une référence fiable
- Coverage peut atteindre 98-100%
**Inconvénients**:
- Perd le texte original si celui-ci était intentionnel
### Option B: Documenter les nouveaux mots
Si ces mots sont des extensions légitimes non documentées, les ajouter au lexique.
**Avantages**:
- Enrichit la langue
- Préserve le texte original
**Inconvénients**:
- Nécessite validation linguistique
- Doit définir les suffixes `aran` et `vis` grammaticalement
- Risque d'incohérences si ajoutés sans réflexion
### Option C: Validation hybride
1. ✅ Ajouter `tiru` au dictionnaire principal (nombre légitime)
2. ⚠️ Corriger `kisaran``kisiran` (probable typo)
3. 🔴 Demander validation pour `sukamori`, `uraal`, `kala`, `vulu`, `uravis`
---
## Impact sur le coverage
### Scénario actuel (avec ve/eol ajoutés)
- Coverage: **94%** (114/122)
- Mots non trouvés: 8
### Scénario A: Correction du texte
- Coverage potentiel: **98-100%**
- Dépend des corrections apportées
### Scénario B: Documentation des nouveaux mots
- Coverage potentiel: **98-100%**
- Mais risque d'incohérences grammaticales
---
## Conclusion
Le texte de test contient **6 mots problématiques non conformes** à la grammaire documentée. Avant de pousser le coverage à 95%+, il est **critique** de:
1. ✅ Valider l'origine et l'intentionnalité du texte
2. ⚠️ Décider: correction vs documentation
3. 🔴 Ne PAS ajouter de suffixes (`aran`, `vis`) sans validation linguistique formelle
**Statut actuel du traducteur**: ✅ Robuste et fonctionnel (94% coverage avec grammaire validée)

View File

@ -1,415 +0,0 @@
# Plan : Système de recherche par radicaux et décomposition morphologique
## Problème actuel
Le traducteur Confluent→Français ne trouve pas les mots conjugués ou composés non documentés explicitement dans le lexique.
### Exemple concret
- **Texte :** `vokan` (forme conjuguée de "voki" = voix)
- **Lexique contient :** `"confluent": "voki"`, `"forme_liee": "vok"`
- **Résultat actuel :** ❌ NOT FOUND
- **Résultat attendu :** ✓ Trouve "voki" via le radical "vok"
### Statistiques du dernier test
- **Coverage actuel :** 83% (101/122 mots)
- **Mots non trouvés :** 21
- **11** ont des racines existantes mais formes conjuguées manquantes
- **5** sont totalement absents du lexique
- **5** pourraient être des particules grammaticales
## Objectif
Augmenter le coverage de 83% à ~95% en implémentant :
1. **Recherche par radicaux** pour les verbes conjugués
2. **Décomposition morphologique** pour les compositions non documentées
3. **Index par forme_liee** en plus de l'index par mot complet
---
## Phase 1 : Analyse et mapping des patterns
### 1.1 Patterns de conjugaison verbale
**Suffixes verbaux identifiés :**
```javascript
const VERBAL_SUFFIXES = [
'ak', // forme standard : mirak (voir), pasak (prendre), urak (être)
'an', // conjugaison : takan (porter), vokan (parler?)
'un', // conjugaison : kisun (transmettre), pasun (prendre?)
'is', // conjugaison : vokis (parler?)
'am', // conjugaison : sukam (forger)
'im', // conjugaison : verim (vérifier?)
'ok', // impératif : marqueur temporel
'ul', // passé? : marqueur temporel
'iran', // dérivé nominal : kisiran (enseignement/transmission?)
];
```
**Racines de test connues :**
- `vok``voki` (voix) : formes attendues `vokan`, `vokis`
- `kis``kisu` (transmettre) : formes attendues `kisun`, `kisiran`
- `pas``pasa` (prendre) : formes attendues `pasak`, `pasun`
- `tak``taka` (porter) : formes attendues `takan`, `taku`
### 1.2 Patterns de liaisons sacrées
**16 liaisons à gérer :**
```javascript
const SACRED_LIAISONS = {
// Agentivité
'i': 'agent',
'ie': 'agent_processus',
'ii': 'agent_répété',
'iu': 'agent_possédant',
// Appartenance
'u': 'appartenance',
'ui': 'possession_agentive',
// Relation
'a': 'relation',
'aa': 'relation_forte',
'ae': 'relation_dimensionnelle',
'ao': 'relation_tendue',
// Tension
'o': 'tension',
'oa': 'tension_relationnelle',
// Dimension
'e': 'dimension',
'ei': 'dimension_agentive',
'ea': 'dimension_relationnelle',
'eo': 'dimension_tendue'
};
```
### 1.3 Structure morphologique du Confluent
**Règle générale :** Racine + Liaison + Racine
```
sekavoki = sek + a + voki
= conseil + relation + voix
= "conseil de la voix"
```
**Pattern de composition :**
```regex
^([a-z]{2,4})(i|ie|ii|iu|u|ui|a|aa|ae|ao|o|oa|e|ei|ea|eo)([a-z]{2,4})$
```
---
## Phase 2 : Implémentation
### 2.1 Nouveau fichier : `radicalMatcher.js`
**Fonction principale :**
```javascript
/**
* Extrait tous les radicaux possibles d'un mot
* @param {string} word - Mot en confluent
* @returns {Array<{radical: string, suffix: string, confidence: number}>}
*/
function extractRadicals(word) {
const candidates = [];
// Essayer chaque suffixe verbal connu
for (const suffix of VERBAL_SUFFIXES) {
if (word.endsWith(suffix) && word.length > suffix.length + 1) {
const radical = word.slice(0, -suffix.length);
candidates.push({
radical,
suffix,
type: 'verbal',
confidence: 0.9
});
}
}
// Essayer sans suffixe (forme racine directe)
if (word.length >= 3) {
candidates.push({
radical: word,
suffix: '',
type: 'root',
confidence: 0.7
});
}
// Essayer d'enlever dernière voyelle (forme liée -> forme pleine)
// mako → mak, voki → vok
if (word.length >= 4 && 'aeiou'.includes(word[word.length - 1])) {
candidates.push({
radical: word.slice(0, -1),
suffix: word[word.length - 1],
type: 'liaison',
confidence: 0.8
});
}
return candidates.sort((a, b) => b.confidence - a.confidence);
}
```
### 2.2 Nouveau fichier : `morphologicalDecomposer.js`
**Fonction de décomposition :**
```javascript
/**
* Décompose un mot composé non trouvé
* @param {string} word - Mot composé
* @returns {Array<{part1: string, liaison: string, part2: string}>}
*/
function decomposeWord(word) {
const decompositions = [];
for (const [liaison, meaning] of Object.entries(SACRED_LIAISONS)) {
const index = word.indexOf(liaison);
if (index > 0 && index < word.length - liaison.length) {
const part1 = word.substring(0, index);
const part2 = word.substring(index + liaison.length);
// Valider que les deux parties ressemblent à des racines
if (part1.length >= 2 && part2.length >= 2) {
decompositions.push({
part1,
liaison,
liaisonMeaning: meaning,
part2,
pattern: `${part1}-${liaison}-${part2}`,
confidence: calculateConfidence(part1, liaison, part2)
});
}
}
}
return decompositions.sort((a, b) => b.confidence - a.confidence);
}
function calculateConfidence(part1, liaison, part2) {
let score = 0.5; // base
// Bonus si les parties finissent/commencent par des consonnes
if (!'aeiou'.includes(part1[part1.length - 1])) score += 0.1;
if (!'aeiou'.includes(part2[0])) score += 0.1;
// Bonus si liaison courante (i, u, a sont plus fréquentes)
if (['i', 'u', 'a'].includes(liaison)) score += 0.2;
// Bonus si longueurs de parties équilibrées
const ratio = Math.min(part1.length, part2.length) / Math.max(part1.length, part2.length);
score += ratio * 0.2;
return Math.min(score, 1.0);
}
```
### 2.3 Modification : `reverseIndexBuilder.js`
**Ajouter index par forme_liee :**
```javascript
function buildConfluentIndex(lexique) {
const index = {
byWord: {}, // Index existant
byRoot: {}, // NOUVEAU : index par radical
byFormeLiee: {} // NOUVEAU : index par forme_liee
};
// ... code existant pour byWord ...
// NOUVEAU : Indexer par forme_liee
for (const entry of allEntries) {
const formeLiee = entry.forme_liee || entry.racine;
if (formeLiee) {
if (!index.byFormeLiee[formeLiee]) {
index.byFormeLiee[formeLiee] = [];
}
index.byFormeLiee[formeLiee].push({
...entry,
matchType: 'forme_liee'
});
}
}
return index;
}
```
### 2.4 Modification : `confluentToFrench.js`
**Nouvelle logique de recherche en cascade :**
```javascript
function findWordWithRadicals(word, confluentIndex) {
// 1. Recherche exacte (existant)
if (confluentIndex.byWord[word]) {
return {
...confluentIndex.byWord[word][0],
matchType: 'exact',
confidence: 1.0
};
}
// 2. NOUVEAU : Recherche par radicaux verbaux
const radicals = extractRadicals(word);
for (const {radical, suffix, type, confidence} of radicals) {
// Chercher dans l'index par forme_liee
if (confluentIndex.byFormeLiee[radical]) {
return {
...confluentIndex.byFormeLiee[radical][0],
matchType: 'radical',
originalWord: word,
radical,
suffix,
suffixType: type,
confidence
};
}
}
// 3. NOUVEAU : Décomposition morphologique
const decompositions = decomposeWord(word);
for (const decomp of decompositions) {
const part1Match = findWordWithRadicals(decomp.part1, confluentIndex);
const part2Match = findWordWithRadicals(decomp.part2, confluentIndex);
if (part1Match && part2Match) {
return {
matchType: 'composition_inferred',
originalWord: word,
composition: `${decomp.part1}-${decomp.liaison}-${decomp.part2}`,
parts: {
part1: part1Match,
liaison: decomp.liaison,
liaisonMeaning: decomp.liaisonMeaning,
part2: part2Match
},
confidence: decomp.confidence * 0.7 // Pénalité pour inférence
};
}
}
// 4. Vraiment inconnu
return null;
}
```
---
## Phase 3 : Tests et validation
### 3.1 Cas de test prioritaires
**Verbes conjugués :**
```javascript
const testCases = [
{ word: 'vokan', expectedRoot: 'vok', expectedMeaning: 'voix' },
{ word: 'vokis', expectedRoot: 'vok', expectedMeaning: 'voix' },
{ word: 'kisiran', expectedRoot: 'kis', expectedMeaning: 'transmettre' },
{ word: 'pasun', expectedRoot: 'pas', expectedMeaning: 'prendre' },
{ word: 'taku', expectedRoot: 'tak', expectedMeaning: 'porter' },
];
```
**Compositions inférées :**
```javascript
const compositionTests = [
{
word: 'sukamori',
expected: { part1: 'suk', liaison: 'a', part2: 'mori' },
// Si 'mori' existe dans le lexique
},
{
word: 'uraal',
expected: { part1: 'ur', liaison: 'aa', part2: 'al' }
}
];
```
### 3.2 Métriques de succès
**Objectif :** Passer de 83% à 95% de coverage
**Métriques à suivre :**
- Coverage total (% de mots trouvés)
- Précision (% de correspondances correctes)
- Type de match (exact / radical / composition)
- Niveau de confiance moyen
---
## Phase 4 : Fichiers à créer/modifier
### Fichiers à CRÉER :
1. `ConfluentTranslator/radicalMatcher.js`
2. `ConfluentTranslator/morphologicalDecomposer.js`
3. `ConfluentTranslator/tests/radicalMatching.test.js`
### Fichiers à MODIFIER :
1. `ConfluentTranslator/reverseIndexBuilder.js`
- Ajouter index `byFormeLiee`
- Ajouter index `byRoot`
2. `ConfluentTranslator/confluentToFrench.js`
- Importer `radicalMatcher` et `morphologicalDecomposer`
- Modifier `translateToken()` pour utiliser recherche en cascade
- Ajouter champs de métadonnées (matchType, confidence, etc.)
3. `ConfluentTranslator/server.js`
- Aucune modification nécessaire (compatibilité backwards)
---
## Phase 5 : Améliorations futures
### 5.1 Machine Learning léger
- Apprendre les patterns de suffixes depuis le corpus
- Scorer automatiquement la confiance des décompositions
### 5.2 Support des nombres
- Charger `22-nombres.json` dans le lexique
- Gérer les nombres composés (ex: "diku tolu iko" = 25)
### 5.3 Particules grammaticales
- Documenter `ve`, `eol`, et autres particules manquantes
- Créer un fichier `particules.json`
### 5.4 Interface de validation
- UI pour valider/corriger les correspondances inférées
- Export des nouvelles correspondances pour enrichir le lexique
---
## Ordre d'implémentation recommandé
1. ✅ Créer `radicalMatcher.js` avec fonction `extractRadicals()`
2. ✅ Modifier `reverseIndexBuilder.js` pour ajouter `byFormeLiee`
3. ✅ Modifier `confluentToFrench.js` pour recherche par radical
4. ✅ Tester avec les 11 cas de verbes conjugués
5. ✅ Créer `morphologicalDecomposer.js` avec fonction `decomposeWord()`
6. ✅ Intégrer décomposition dans `confluentToFrench.js`
7. ✅ Tester avec les compositions inférées
8. ✅ Ajouter support des nombres (`22-nombres.json`)
9. 🔄 Valider sur le texte complet (objectif: 95% coverage)
---
## Impact attendu
### Sur le texte de test (122 tokens)
**Avant :**
- Coverage: 83% (101/122)
- Inconnus: 21
**Après (estimation) :**
- Coverage: ~95% (116/122)
- Inconnus: ~6
- Avec confiance: ~110/122
- Inférés: ~6/122
### Bénéfices
- ✅ Meilleure compréhension des textes réels
- ✅ Découverte automatique de nouvelles formes
- ✅ Base pour enrichissement du lexique
- ✅ System plus robuste et adaptatif

View File

@ -1 +0,0 @@
../proto-confluent

View File

@ -0,0 +1 @@
../proto-confluent

228
docs/GUIDE_UTILISATION.md Normal file
View File

@ -0,0 +1,228 @@
# Guide d'utilisation - Projet Confluent
Ce guide vous explique comment utiliser le projet Confluent, un système de langue construite pour la Civilisation de la Confluence.
## Qu'est-ce que le Confluent ?
Le Confluent est une **langue construite** (conlang) créée pour la Civilisation de la Confluence, une civilisation fictive du projet de jeu de rôle **civjdr**.
La langue reflète les valeurs profondes de cette civilisation :
- **L'observation** : "regarder avant d'agir"
- **La transmission** : le savoir partagé de génération en génération
- **La mémoire** : ne rien oublier des ancêtres et de leur sagesse
- **La confluence** : la force naît de la rencontre et du mélange
Le projet comprend deux composantes :
1. **Une langue complète** avec phonologie, morphologie, grammaire et lexique
2. **Un traducteur web** (ConfluentTranslator) pour traduire entre français et confluent via LLM
## Installation rapide
### Prérequis
- **Node.js** version 14 ou supérieure
- Accès à une API LLM (Anthropic Claude ou OpenAI)
### Étapes d'installation
1. **Cloner le dépôt**
```bash
git clone <url-du-repo>
cd confluent
```
2. **Installer les dépendances**
```bash
cd ConfluentTranslator
npm install
```
3. **Configurer les clés API**
Créer un fichier `.env` à la racine du projet (parent de ConfluentTranslator) :
```env
ANTHROPIC_API_KEY=votre_cle_anthropic
OPENAI_API_KEY=votre_cle_openai
```
4. **Lancer le serveur**
```bash
npm start
```
Le serveur démarre sur http://localhost:3000
## Utiliser l'interface web
### Accès
Ouvrir http://localhost:3000 dans votre navigateur.
### Configuration
1. **Choisir le provider LLM** : Anthropic ou OpenAI
2. **Sélectionner le modèle** : selon le provider choisi
3. **Choisir la variante de langue** :
- **Proto-Confluent** : langue primitive des premiers clans (phonologie réduite, syntaxe simple)
- **Ancien Confluent** : langue unifiée avec liaisons sacrées et système verbal complet
### Traduire
1. Entrer votre texte français dans le champ de texte
2. Cliquer sur "Traduire"
3. Le résultat apparaît avec plusieurs niveaux d'analyse :
- **Layer 1** : Traduction directe
- **Layer 2** : Analyse contextuelle
- **Layer 3** : Traduction finale avec contexte
Votre configuration est sauvegardée automatiquement dans le navigateur.
## Utiliser l'API
### Exemple simple de traduction
```bash
curl -X POST http://localhost:3000/translate \
-H "Content-Type: application/json" \
-d '{
"text": "Bonjour, je suis un voyageur",
"variant": "ancien",
"provider": "anthropic",
"model": "claude-3-5-sonnet-20241022"
}'
```
### Endpoints principaux
- **POST /translate** - Traduction FR → Confluent
- **POST /api/translate/conf2fr** - Traduction Confluent → FR
- **GET /api/search** - Recherche dans le lexique
- **POST /api/analyze/coverage** - Analyse de couverture lexicale
Pour plus de détails sur l'API, consultez [docs/API.md](../ConfluentTranslator/docs/API.md) ou CLAUDE.md.
## Explorer la langue
### Documentation linguistique complète
La documentation de l'Ancien Confluent se trouve dans `ancien-confluent/docs/` :
1. **01-PHONOLOGIE.md** - Sons, consonnes, voyelles
2. **02-MORPHOLOGIE.md** - Racines et liaisons sacrées
3. **03-GRAMMAIRE.md** - Verbes, conjugaisons, particules
4. **04-SYNTAXE.md** - Construction de phrases, négation, questions
5. **05-VOCABULAIRE.md** - Lexique complet validé
6. **06-ADJECTIFS.md** - Système adjectival
### Consulter le lexique
Le lexique JSON complet est disponible dans :
- `ancien-confluent/lexique/lexique-ancien-complet.json`
- `proto-confluent/lexique/lexique-proto-complet.json`
Vous pouvez également consulter :
- `docs/LEXIQUE_REFERENCE_CONFLUENCE.md` - Vocabulaire de référence
- `ancien-confluent/docs/06-LEXIQUE-COMPLET.md` - Version markdown
### Formules rituelles
Consultez `docs/FORMULES_RITUELLES.md` pour les expressions sacrées et formules de la civilisation.
### Contexte culturel
Pour comprendre la civilisation et ses valeurs, lisez `docs/culture/CONTEXTE_CIVILISATION.md`.
## Contribuer
### Structure du projet
```
confluent/
├── ancien-confluent/ # Langue unifiée
│ ├── docs/ # Documentation complète
│ └── lexique/ # Fichiers JSON
├── proto-confluent/ # Langue primitive
│ ├── docs/
│ └── lexique/
├── ConfluentTranslator/ # Serveur de traduction
│ ├── src/ # Code source organisé
│ ├── public/ # Interface web
│ └── prompts/ # Prompts système LLM
├── docs/ # Documentation générale
│ ├── culture/ # Contexte civilisationnel
│ └── archive/
└── data/ # Données partagées
```
### Ajouter du vocabulaire
Pour enrichir le lexique :
1. **Éditer le fichier JSON** approprié :
- `ancien-confluent/lexique/lexique-ancien-complet.json`
- `proto-confluent/lexique/lexique-proto-complet.json`
2. **Respecter la structure** :
```json
{
"mot_francais": "traduction_confluent"
}
```
3. **Suivre les règles linguistiques** :
- Toute racine finit par CV (consonne + voyelle)
- ~80% racines standard (commence par consonne)
- ~20% racines sacrées (commence par voyelle)
- Pas de majuscules en confluent
- Consonnes autorisées : b, k, l, m, n, p, s, t, v, z
- Voyelles : a, e, i, o, u
4. **Régénérer le lexique complet** (si applicable) :
```bash
cd ancien-confluent
node generer-lexique-complet.js
```
5. **Tester** :
```bash
cd ConfluentTranslator
npm start
# Puis tester la traduction via l'interface
```
### Tests
Pour lancer les tests :
```bash
cd ConfluentTranslator/tests
# Voir scripts disponibles
```
## Ressources utiles
### Documentation technique
- **CLAUDE.md** - Guide pour Claude Code
- **ConfluentTranslator/STRUCTURE.md** - Architecture du traducteur
- **ConfluentTranslator/README.md** - Documentation du serveur
### Documentation linguistique
- **docs/SYSTEM_PROMPT_LLM.md** - Prompt système complet pour LLM
- **docs/SYSTEME_NUMERIQUE_BASE12.md** - Système de nombres
- **docs/EMOTIONS_METAPHORES.md** - Vocabulaire émotionnel
### Hébergement
- **HEBERGEMENT.md** - Guide d'hébergement complet
## Support et questions
Pour toute question ou problème :
1. Consulter la documentation dans `docs/` et `ancien-confluent/docs/`
2. Vérifier les issues existantes
3. Créer une nouvelle issue avec tag approprié
## Philosophie du projet
Le Confluent n'est pas qu'une langue : c'est un **artefact multi-générationnel**, comme la Grande Fresque de la civilisation. Chaque contribution ajoute une couche de sens, enrichit le système, et transmet le savoir.
Comme le disent les Siliaska : **"Observer, apprendre, transmettre"**.

View File

@ -1,500 +0,0 @@
# Plan d'Implémentation : Prompt Contextuel Intelligent
## Situation Actuelle
**Problème** : Le système injecte tout le lexique (516 entrées ancien + 164 proto) dans le prompt système, ce qui :
- Consomme énormément de tokens
- Coûte cher
- Est inefficace (99% du lexique est inutile pour une phrase donnée)
**État actuel** :
- `buildEnhancedPrompt()` génère un résumé limité à 300 entrées
- Mais c'est toujours massif et non-pertinent
## Solution : Prompt Contextuel Dynamique
### Stratégie
Au lieu d'envoyer tout le lexique, on va :
1. **Analyser le texte français** → extraire les mots-clés
2. **Chercher dans le lexique** → trouver uniquement les entrées pertinentes
3. **Générer un prompt minimal** → inclure seulement le vocabulaire nécessaire
4. **Ajouter du contexte sémantique** → inclure des termes liés (synonymes, domaines connexes)
---
## Plan d'Implémentation Détaillé
### **Phase 1 : Extraction de Contexte**
**Fichier** : `ConfluentTranslator/contextAnalyzer.js` (nouveau)
**Fonctionnalités** :
```javascript
// 1. Tokenizer simple français
function tokenizeFrench(text)
→ Extraire les mots (lowercase, sans ponctuation)
// 2. Recherche dans le lexique
function findRelevantEntries(words, lexique)
→ Chercher correspondances exactes
→ Chercher correspondances partielles (racines, lemmes)
→ Score de pertinence
// 3. Expansion sémantique
function expandContext(foundEntries, lexique)
→ Ajouter synonymes
→ Ajouter mots du même domaine
→ Limiter à N entrées max (ex: 50)
```
**Exemple** :
```
Input: "L'enfant voit l'eau"
→ Mots: ["enfant", "voit", "eau"]
→ Trouve: naki, mira, ura
→ Expand: + voir/regarder/observer, + rivière/source
→ Résultat: 8-10 entrées au lieu de 516
```
---
### **Phase 2 : Générateur de Prompt Contextuel**
**Fichier** : `ConfluentTranslator/promptBuilder.js` (nouveau)
**Fonctionnalités** :
```javascript
// 1. Template de base (rules + syntaxe)
function getBasePrompt(variant)
→ Phonologie, syntaxe, liaisons sacrées
→ SANS le lexique massif
// 2. Injection de vocabulaire ciblé
function injectRelevantVocabulary(basePrompt, entries)
→ Format compact et organisé
→ Regroupé par domaine
// 3. Génération finale
function buildContextualPrompt(text, variant, lexique)
→ Analyse contexte
→ Génère prompt minimal
```
**Structure du prompt** :
```
[RÈGLES DE BASE - fixe, ~200 tokens]
# VOCABULAIRE PERTINENT POUR CETTE TRADUCTION
## Racines nécessaires
- naki (enfant) [racine standard]
- mira (voir) [verbe]
- ura (eau) [racine sacrée]
## Termes liés
- aska (libre) [souvent utilisé avec]
- sili (regard) [domaine: vision]
[EXEMPLES - fixe, ~100 tokens]
```
---
### **Phase 3 : Intégration dans l'API**
**Fichier** : `ConfluentTranslator/server.js` (modifier)
**Modifications** :
```javascript
// Importer nouveaux modules
const { analyzeContext } = require('./contextAnalyzer');
const { buildContextualPrompt } = require('./promptBuilder');
// Modifier /translate endpoint
app.post('/translate', async (req, res) => {
const { text, target, provider, model, useLexique = true } = req.body;
const variant = target === 'proto' ? 'proto' : 'ancien';
// NOUVEAU : Génération contextuelle
const systemPrompt = useLexique
? buildContextualPrompt(text, variant, lexiques[variant])
: getBasePrompt(variant);
// Le reste identique...
});
```
---
### **Phase 4 : Optimisations Avancées**
**Cache intelligent** :
```javascript
// ConfluentTranslator/promptCache.js
class PromptCache {
// Cache les prompts générés par hash du texte
// Évite de régénérer pour phrases similaires
}
```
**Scoring sémantique** :
```javascript
// Utiliser word embeddings ou TF-IDF
// Pour trouver termes vraiment pertinents
function semanticScore(word, lexiqueEntry) {
// Retourne 0-1
}
```
---
## Bénéfices Attendus
| Métrique | Avant | Après | Gain |
|----------|-------|-------|------|
| Tokens prompt | ~5000 | ~800 | **84%** |
| Coût par requête | $0.005 | $0.001 | **80%** |
| Pertinence | Faible | Élevée | ++ |
| Latence | Moyenne | Basse | + |
---
## Ordre d'Implémentation VALIDÉ
### Phase 1 : Backend (Contexte & Prompt)
1. ✅ **Créer `contextAnalyzer.js`**
- Tokenizer français
- Recherche avec scoring
- Calcul dynamique max entrées (selon longueur)
- Expansion niveau 1 (modulaire pour futur)
- Fallback racines
2. ✅ **Créer `promptBuilder.js`**
- Templates de base (sans lexique massif)
- Injection vocabulaire ciblé
- Génération fallback racines
- Formatage optimisé
3. ✅ **Modifier `server.js`**
- Intégrer contextAnalyzer
- Intégrer promptBuilder
- Générer métadonnées Layer 2
- Parser réponse LLM pour Layer 3
- Retourner structure 3 layers
### Phase 2 : Frontend (UI 3 Layers)
4. ✅ **Refonte UI - Structure HTML**
- Container Layer 1 (toujours visible)
- Container Layer 2 (collapsible)
- Container Layer 3 (collapsible)
5. ✅ **JavaScript - Logique d'affichage**
- Toggle expand/collapse
- Affichage formaté des métadonnées
- Calcul tokens économisés
6. ✅ **CSS - Design responsive**
- Style des 3 layers
- Animations collapse/expand
- Indicateurs visuels
### Phase 3 : Tests & Validation
7. ✅ **Tests unitaires**
- Tokenizer
- Scoring
- Calcul dynamique limites
8. ✅ **Tests d'intégration**
- Cas simples, complexes, longs
- Fallback
- Qualité traduction
### Phase 4 : Optimisations (Optionnel - V2)
9. ⚪ **Cache intelligent** (si besoin de perf)
10. ⚪ **Metrics & Analytics** (tracking usage)
11. ⚪ **Expansion niveau 2+** (pour Confluent classique)
---
## Configuration VALIDÉE
### Paramètres de base
- **Max entrées par requête** : **VARIABLE selon longueur du texte**
- Phrases courtes (< 20 mots) : ~30 entrées
- Phrases moyennes (20-50 mots) : ~50 entrées
- Textes longs (> 50 mots) : jusqu'à 100 entrées
- **Expansion sémantique** : **Niveau 1 (strict) - MODULAIRE**
- Pour Proto-Confluent et Ancien Confluent : synonymes directs uniquement
- Architecture préparée pour expansion future (Confluent classique avec niveau 2-3)
- **Fallback** : **Envoyer TOUTES LES RACINES + instruction de composition**
- Si aucun terme trouvé dans le lexique
- Inclure toutes les racines sacrées + racines standards
- Instruction au LLM : "Composer à partir des racines disponibles"
### Priorités de recherche
1. Correspondance exacte (score: 1.0)
2. Synonymes français directs (score: 0.9)
3. **[FUTUR - Niveau 2+]** Même domaine sémantique (score: 0.7)
4. **[FUTUR - Niveau 2+]** Racine partagée (score: 0.5)
5. **[FUTUR]** Termes fréquents génériques (score: 0.3)
---
## Architecture UI : 3 Layers VALIDÉE
L'interface affichera la traduction en **3 couches progressives** :
### **LAYER 1 : TRADUCTION (Toujours visible)**
Résultat principal, directement affiché.
```
┌─────────────────────────────────────────┐
│ TRADUCTION │
│ ─────────────────────────────────────── │
│ va naki vo ura miraku │
└─────────────────────────────────────────┘
```
### **LAYER 2 : CONTEXTE (Expandable - COT hors LLM)**
Contexte extrait AVANT l'appel au LLM.
```
┌─────────────────────────────────────────┐
│ 📚 CONTEXTE LEXICAL (Cliquer pour voir) │
│ ─────────────────────────────────────── │
│ Mots trouvés dans le lexique: │
│ • enfant → naki (racine standard) │
│ • voir → mira (verbe) │
│ • eau → ura (racine sacrée) │
│ │
│ 📊 Optimisation: │
│ • Tokens économisés: 4200 (-84%) │
│ • Entrées utilisées: 8/516 │
│ • Entrées envoyées au LLM: 8 │
└─────────────────────────────────────────┘
```
### **LAYER 3 : COMMENTAIRES LLM (Expandable)**
Explications générées par le LLM.
```
┌─────────────────────────────────────────┐
│ 💡 EXPLICATIONS (Cliquer pour voir) │
│ ─────────────────────────────────────── │
│ 🔧 Décomposition: │
│ va naki = SUJET enfant │
│ vo ura = OBJET eau │
│ miraku = voir (présent -u) │
│ │
│ 🛠️ Mots créés/composés: │
│ (aucun pour cette phrase) │
│ │
│ 📝 Notes linguistiques: │
│ Ordre SOV respecté, particules │
│ correctes, conjugaison présent. │
└─────────────────────────────────────────┘
```
### Logique d'affichage
- **Layer 1** : Toujours affiché, focus principal
- **Layer 2** : Collapsed par défaut, clic pour expand
- **Layer 3** : Collapsed par défaut, clic pour expand
- Les layers sont **indépendants** (on peut ouvrir 2, 3, les deux, ou aucun)
---
## Cas d'Usage Typiques
### Cas 1 : Phrase simple (< 20 mots)
**Input** : "L'enfant voit l'eau"
**Longueur** : 4 mots → Limite: 30 entrées
**Contexte extrait** : enfant (naki), voir (mira), eau (ura)
**Expansion** : voir/regarder (synonymes directs uniquement - niveau 1)
**Total** : ~8 entrées envoyées
### Cas 2 : Phrase complexe avec castes (20-50 mots)
**Input** : "Les Enfants des Échos transmettent la mémoire sacrée aux jeunes générations dans les halls des serments"
**Longueur** : 16 mots → Limite: 50 entrées
**Contexte extrait** : Nakukeko, transmettre (kisu), mémoire (mori), sacré (asa), jeune, génération, halls (Talusavu)
**Expansion** : écho (keko), enfant (naki), synonymes directs
**Total** : ~20 entrées envoyées
### Cas 3 : Texte narratif long (> 50 mots)
**Input** : Paragraphe de 100+ mots
**Longueur** : 100 mots → Limite: 100 entrées
**Stratégie** :
- Extraire tous les mots-clés uniques
- Chercher correspondances exactes + synonymes directs
- Limiter à top 100 termes par pertinence (score)
**Total** : 100 entrées max
### Cas 4 : Mot inconnu (Fallback)
**Input** : "Le scientifique utilise un microscope"
**Longueur** : 5 mots → Limite: 30 entrées
**Contexte trouvé** : (aucun - mots modernes non dans le lexique)
**Fallback activé** :
- Envoyer TOUTES les racines sacrées (15)
- Envoyer TOUTES les racines standards (52)
- Total: 67 racines de base
- Instruction LLM : "Compose à partir des racines disponibles"
**Total** : 67 entrées (racines uniquement)
---
## Architecture Technique (Mise à jour avec 3 Layers)
```
┌─────────────────┐
│ User Input │
│ (français) │
└────────┬────────┘
┌──────────────────────────────────────────┐
│ contextAnalyzer.js │
│ - tokenizeFrench() │
│ - calculateMaxEntries(wordCount) │ ← NOUVEAU: calcul dynamique
│ - findRelevantEntries(expansionLevel=1) │ ← Niveau modulaire
│ - expandContext() [LEVEL 1 only] │
└────────┬─────────────────────────────────┘
│ [context metadata for Layer 2]
│ - words found
│ - entries used
│ - tokens saved
┌──────────────────────────────────────────┐
│ promptBuilder.js │
│ - getBasePrompt(variant) │
│ - getRootsFallback() [if needed] │ ← NOUVEAU: fallback racines
│ - injectVocabulary(entries) │
│ - buildContextualPrompt() │
└────────┬─────────────────────────────────┘
│ [optimized prompt + metadata]
┌──────────────────────────────────────────┐
│ server.js - /translate endpoint │
│ - Call contextAnalyzer │
│ - Build prompt │
│ - Store Layer 2 data (COT) │ ← NOUVEAU: métadonnées
│ - Call LLM API │
└────────┬─────────────────────────────────┘
│ [prompt with minimal context]
┌──────────────────────────────────────────┐
│ LLM API (Claude/GPT) │
│ - Receive optimized prompt │
│ - Generate translation │
│ - Generate explanations │
└────────┬─────────────────────────────────┘
│ [LLM response]
┌──────────────────────────────────────────┐
│ Response Parser │
│ - Extract translation (Layer 1) │
│ - Extract explanations (Layer 3) │
│ - Combine with context metadata (L2) │
└────────┬─────────────────────────────────┘
┌──────────────────────────────────────────┐
│ JSON Response to Frontend │
│ { │
│ layer1: { translation: "..." }, │
│ layer2: { │
│ wordsFound: [...], │
│ entriesUsed: 8, │
│ tokensSaved: 4200 │
│ }, │
│ layer3: { │
│ decomposition: "...", │
│ wordsCreated: [...], │
│ notes: "..." │
│ } │
│ } │
└────────┬─────────────────────────────────┘
┌──────────────────────────────────────────┐
│ Frontend UI (3 Layers) │
│ ┌────────────────────────────────────┐ │
│ │ Layer 1: Translation (visible) │ │
│ └────────────────────────────────────┘ │
│ ┌────────────────────────────────────┐ │
│ │ Layer 2: Context (collapsible) │ │
│ └────────────────────────────────────┘ │
│ ┌────────────────────────────────────┐ │
│ │ Layer 3: Explanations (collapsible)│ │
│ └────────────────────────────────────┘ │
└──────────────────────────────────────────┘
```
---
## Tests de Validation
### Test 1 : Réduction de tokens
```javascript
// Mesurer avant/après
const before = countTokens(oldPrompt);
const after = countTokens(newPrompt);
assert(after < before * 0.2); // Réduction de 80%
```
### Test 2 : Qualité de traduction
```javascript
// Comparer qualité avec plusieurs phrases
const testCases = [
"L'enfant voit l'eau",
"Les Passes-bien portent les biens",
"Le faucon chasse dans le ciel"
];
// Valider que traductions restent correctes
```
### Test 3 : Performance
```javascript
// Mesurer temps de génération de prompt
const start = Date.now();
const prompt = buildContextualPrompt(text, 'ancien', lexique);
const duration = Date.now() - start;
assert(duration < 100); // < 100ms
```
---
## Métriques de Succès
- ✅ **Réduction tokens** : > 70%
- ✅ **Qualité traduction** : identique ou meilleure
- ✅ **Temps génération prompt** : < 100ms
- ✅ **Taux de cache hit** : > 30% (si cache activé)
- ✅ **Satisfaction utilisateur** : retours positifs
---
## Prochaines Itérations (V2, V3...)
### V2 : Intelligence contextuelle
- Apprentissage des patterns fréquents
- Suggestions de vocabulaire manquant
- Détection automatique de nouveaux termes à ajouter au lexique
### V3 : Optimisations ML
- Embeddings sémantiques pour meilleure expansion
- Prédiction de termes nécessaires avant recherche
- Compression intelligente du prompt
### V4 : Multi-langue
- Support Proto-Confluent ↔ Ancien Confluent
- Traduction bidirectionnelle Confluent → Français
- Détection automatique de variante

View File

@ -1,281 +0,0 @@
# Prompt pour générer des formules rituelles en Confluent
Tu es un expert linguiste spécialisé dans la langue **Confluent**, une langue construite pour la Civilisation de la Confluence (projet JDR).
## Ta mission
Créer des **formules rituelles** authentiques en Confluent, courtes et mémorables, qui respectent parfaitement la grammaire et reflètent la culture.
---
## SYSTÈME LINGUISTIQUE
### Phonologie
- **Consonnes:** b, k, l, m, n, p, s, t, v, z
- **Voyelles:** a, e, i, o, u
- **Structure:** Toutes les racines finissent par CV (consonne + voyelle)
### Structure de phrase (SOV)
```
[Circonstants] [Sujet] [Objet] [Négation] Verbe Conjugateur [Mode] [Question]
```
### Particules de cas
- **va** = sujet
- **vo** = objet direct
- **vi** = vers
- **ve** = depuis
- **no** = dans, à (lieu)
### Connecteurs logiques
- **ti** = et
- **bo** = mais
- **me** = si
- **ne** = alors
### Négation
- **zo** = ne...pas
- **zom** = jamais
### Conjugateurs (après le verbe)
- **u** = présent
- **at** = passé vécu
- **ait** = passé ancestral
- **eom** = éternel, toujours vrai
### Pronoms
- **miki** = je/moi
- **sinu** = tu/toi
- **tani** = il/elle/iel
- Pluriel: pronom + **su** (miki su = nous)
### Verbes clés (CVCVC)
- **mirak** = voir, observer
- **vosak** = dire, parler
- **sekam** = savoir, connaître
- **kisun** = transmettre
- **morik** = mémoriser
- **tekis** = aller
- **umiak** = méditer
### Racines importantes
- **sili** = regard, vision
- **aska** = libre, liberté
- **ura** = eau, fluide
- **kota** = union, confluence
- **aita** = ancêtre
- **ora** = aurore
- **umi** = esprit, souffle vital
- **asa** = sacré
- **mori** = mémoire
- **veri** = vrai, vérité
- **kori** = cœur
### Liaisons sacrées (entre racines)
- **-i-** = agent actif (celui qui fait)
- **-u-** = appartenance (de, appartenant à)
- **-a-** = avec (ensemble)
- **-aa-** = mélange, confluence
- **-ii-** = essence (celui qui EST)
---
## CULTURE DE LA CONFLUENCE
### Valeurs centrales
1. **L'observation** - Regarder avant d'agir
2. **La transmission** - Le savoir doit être partagé
3. **La mémoire** - Les ancêtres vivent par le souvenir
4. **La confluence** - Union enrichit (comme les eaux qui se mêlent)
5. **Le regard partagé** - Contact visuel scelle les accords
### Rituels importants
- **Rituel du Regard Partagé** - Contact visuel pour serments
- **Vigile Lunaire** - Cycle bimensuel
- **Pèlerinage au Gouffre Humide** - Rite de passage
### Symboles
- **Le regard/les yeux** = vérité, observation
- **La confluence** = union, force
- **L'aurore** = naissance, promesse divine
- **Les Regards-Libres** (grues) = voir au-delà, liberté
### Castes
- **Oraumi** (Voix de l'Aurore) - chamans suprêmes
- **Aliaska** (Ailes-Grises) - dresseurs de grues
- **Akoazana** (Faucons Chasseurs) - élite militaire
- **Nakuura** (Enfants du Courant) - pêcheurs
- **Nakukeko** (Enfants des Échos) - mineurs, artisans
- **Takitosa** (Passes-bien) - marchands
---
## FORMULES À CRÉER
### 1. Salutations
**Formelle (entre castes différentes):**
- Courte (2-4 mots)
- Mention du regard ou de l'observation
- Respectueuse
**Informelle (entre pairs):**
- Plus courte (1-2 mots)
- Chaleureuse
**Révérencielle (vers Voix de l'Aurore):**
- Plus longue (3-5 mots)
- Mention de l'aurore ou du sacré
### 2. Rituel du Regard Partagé
**Ouverture:**
- Invitation au contact visuel
- Solennel
**Validation/Clôture:**
- Scelle l'accord
- "Qu'il soit vu" ou "C'est observé"
**Serment:**
- Formule d'engagement
- Mentionne la vérité et le regard
### 3. Bénédictions
**Naissance:**
- Souhaite observation et sagesse
- Courte et douce
**Voyage:**
- Protection en chemin
- Retour sûr
**Avant épreuve/danger:**
- Courage
- Que le regard reste clair
### 4. Formules de mémoire
**Honorer les ancêtres:**
- "Qu'ils ne soient pas oubliés"
- Mention de la mémoire
**Invocation des Premiers Ancêtres:**
- Plus solennelle
- Passé ancestral (ait/amat)
**"Que cela ne soit pas oublié":**
- Formule courte et marquante
- Pour moments importants
### 5. Transmission de savoir
**Ouverture d'enseignement:**
- "J'offre ce que j'ai vu"
- Humble
**Acceptation:**
- "Je reçois avec attention"
**Remerciement:**
- Gratitude pour transmission
### 6. Mort et deuil
**Au moment du décès:**
- L'esprit part
- Retour aux ancêtres
**Pour guider l'esprit:**
- Vers les ancêtres
- Pas de peur
**Consolation:**
- Il/elle vit dans la mémoire
- Le regard reste
### 7. Union/Confluence (mariage)
**Serment d'union:**
- "Comme les eaux se mêlent"
- Utiliser liaison -aa- (mélange)
- Référence à la confluence
---
## INSTRUCTIONS
Pour chaque formule:
1. **Écris en Confluent** d'abord
2. **Décompose** mot par mot avec glose
3. **Traduis** en français littéral
4. **Explique** le sens culturel
5. **Indique** le contexte d'usage
### Format attendu
```
### [Nom de la formule]
**Confluent:** [formule en confluent]
**Glose:**
[mot 1] [fonction] [mot 2] [fonction] verbe conjugateur
= traduction littérale mot-à-mot
**Traduction:** [traduction naturelle en français]
**Usage:** [quand et comment l'utiliser]
**Notes culturelles:** [signification profonde]
```
### Exemple
```
### Salutation formelle
**Confluent:** Sil-u-veri va miki mirak u
**Glose:**
sil-u-veri (regard-de-vérité) va (SUJET) miki (je) mirak (voir) u (PRÉSENT)
= "regard de vérité je vois"
**Traduction:** "Je vois avec un regard vrai" / "Mon regard est sincère"
**Usage:** Salutation respectueuse entre castes différentes, implique honnêteté
**Notes culturelles:** Affirme l'intention d'observer avec vérité, valeur centrale
```
---
## CONTRAINTES IMPORTANTES
- ✅ Respecte PARFAITEMENT la grammaire (ordre SOV, particules, conjugaison)
- ✅ Utilise uniquement les racines et verbes définis
- ✅ Phrases courtes (3-8 mots max pour être mémorables)
- ✅ Sonorité finno-basque (fluide, pas trop de consonnes)
- ✅ Cohérence culturelle (valeurs, symboles, rituels)
- ❌ Pas de néologismes - utilise le vocabulaire existant
- ❌ Pas de structures grammaticales inventées
- ❌ Pas de formules trop longues ou complexes
---
## COMMENCE PAR
Génère les **7 catégories** de formules rituelles dans l'ordre:
1. Salutations (3 variantes)
2. Regard Partagé (3 formules)
3. Bénédictions (3 types)
4. Mémoire (3 formules)
5. Transmission (3 formules)
6. Mort et deuil (3 formules)
7. Union/Confluence (1 formule principale)
**Total:** ~19-20 formules rituelles prêtes pour le JDR.
Vas-y, crée des formules authentiques et belles!

View File

@ -1,395 +0,0 @@
# Racines françaises des verbes - Lexique Confluent
Ce document liste les racines françaises optimales pour chaque verbe du lexique ancien-confluent.
## Format
Pour chaque verbe :
- **Racine** : dénominateur commun optimal couvrant la majorité des conjugaisons
- **Couvre** : exemples de formes couvertes par la racine
- **Exceptions** : formes avec radical différent à mettre dans synonymes_fr
---
## Verbes d'observation et perception
### voir
- **Racine** : `"voi"`
- **Couvre** : vois, voit, voient, voyons, voyez, voyais, voyait, voyions, voyiez, voyaient, voyant, verrai, verras, verra, verrons, verrez, verront
- **Exceptions** : "vu" (participe passé), "vois" (impératif singulier), "voyez" (impératif pluriel)
- **Note** : Verbe très irrégulier, mais "voi" + "voy" couvrent 90% des formes. Les formes en "v-" seules (vu, vis) et "verr-" (futur) sont exceptionnelles.
### observer
- **Racine** : `"observ"`
- **Couvre** : observe, observes, observent, observons, observez, observais, observait, observions, observiez, observaient, observerai, observeras, observera, observerons, observerez, observeront, observant, observé, observée, observés, observées
- **Exceptions** : aucune (verbe parfaitement régulier)
### regarder
- **Racine** : `"regard"`
- **Couvre** : regarde, regardes, regardent, regardons, regardez, regardais, regardait, regardions, regardiez, regardaient, regarderai, regarderas, regardera, regarderons, regarderez, regarderont, regardant, regardé, regardée, regardés, regardées
- **Exceptions** : aucune (verbe parfaitement régulier)
### écouter
- **Racine** : `"écout"`
- **Couvre** : écoute, écoutes, écoutent, écoutons, écoutez, écoutais, écoutait, écoutions, écoutiez, écoutaient, écouterai, écouteras, écoutera, écouterons, écouterez, écouteront, écoutant, écouté, écoutée, écoutés, écoutées
- **Exceptions** : aucune (verbe parfaitement régulier)
---
## Verbes de mouvement
### aller
- **Racine** : `null`
- **Couvre** : N/A
- **Exceptions** : Verbe totalement irrégulier avec 4 radicaux distincts : "v-" (vais, vas, va, vont), "all-" (allons, allez, allais, allait, allions, alliez, allaient, allant, allé), "i-" (irai, iras, ira, irons, irez, iront), "aill-" (aille, ailles, aillent, aillions, ailliez)
- **Note** : Stocker toutes les formes dans synonymes_fr
### fuir
- **Racine** : `"fui"`
- **Couvre** : fuis, fuit, fuyons, fuyez, fuyais, fuyait, fuyions, fuyiez, fuyaient, fuirai, fuiras, fuira, fuirons, fuirez, fuiront, fuyant, fui, fuie, fuis, fuies
- **Exceptions** : "fuient" et "fuyent" (présent 3e pl.) - doublon "fui" vs "fuy"
- **Note** : "fui" couvre présent singulier, futur, participe passé. "fuy" pour pluriel/imparfait. Racine "fui" est majoritaire.
---
## Verbes de don et échange
### donner
- **Racine** : `"donn"`
- **Couvre** : donne, donnes, donnent, donnons, donnez, donnais, donnait, donnions, donniez, donnaient, donnerai, donneras, donnera, donnerons, donnerez, donneront, donnant, donné, donnée, donnés, données
- **Exceptions** : aucune (verbe parfaitement régulier)
### prendre
- **Racine** : `"pren"`
- **Couvre** : prends, prend, prenons, prenez, prenais, prenait, prenions, preniez, prenaient, prendrai, prendras, prendra, prendrons, prendrez, prendront, prenant
- **Exceptions** : "prennent" (présent 3e pl.), "pris" (participe passé), "prisse" (subjonctif imparfait)
- **Note** : "pren" couvre 80% des formes. "prenn" et "pri" sont minoritaires.
---
## Verbes de création et fabrication
### faire
- **Racine** : `"fai"`
- **Couvre** : fais, fait, faisons, faites, faisais, faisait, faisions, faisiez, faisaient, faisant
- **Exceptions** : "font" (présent 3e pl.), "ferai, feras, fera, ferons, ferez, feront" (futur)
- **Note** : Verbe irrégulier avec 3 radicaux : "fai-", "f-" (font), "fer-" (futur). "fai" est majoritaire.
### créer
- **Racine** : `"cré"`
- **Couvre** : crée, crées, créent, créons, créez, créais, créait, créions, créiez, créaient, créerai, créeras, créera, créerons, créerez, créeront, créant, créé, créée, créés, créées
- **Exceptions** : aucune (verbe régulier en -er)
### construire
- **Racine** : `"construi"`
- **Couvre** : construis, construit, construisons, construisez, construisais, construisait, construisions, construisiez, construisaient, construirai, construiras, construira, construirons, construirez, construiront, construisant
- **Exceptions** : "construisent" (présent 3e pl.), "construit" (participe passé)
- **Note** : Verbe en -uire, racine stable "construi"
### assembler
- **Racine** : `"assembl"`
- **Couvre** : assemble, assembles, assemblent, assemblons, assemblez, assemblais, assemblait, assemblions, assembliez, assemblaient, assemblerai, assembleras, assemblera, assemblerons, assemblerez, assembleront, assemblant, assemblé, assemblée, assemblés, assemblées
- **Exceptions** : aucune (verbe parfaitement régulier)
---
## Verbes de communication
### dire
- **Racine** : `"di"`
- **Couvre** : dis, dit, disons, disais, disait, disions, disiez, disaient, dirai, diras, dira, dirons, direz, diront, disant
- **Exceptions** : "dites" (présent 2e pl., pas "disez"), "dit" (participe passé)
- **Note** : Verbe irrégulier mais racine "di" stable sauf "dites"
### parler
- **Racine** : `"parl"`
- **Couvre** : parle, parles, parlent, parlons, parlez, parlais, parlait, parlions, parliez, parlaient, parlerai, parleras, parlera, parlerons, parlerez, parleront, parlant, parlé, parlée, parlés, parlées
- **Exceptions** : aucune (verbe parfaitement régulier)
---
## Verbes de connaissance et apprentissage
### savoir
- **Racine** : `"sav"`
- **Couvre** : sais, sait, savons, savez, savais, savait, savions, saviez, savaient, saurai, sauras, saura, saurons, saurez, sauront, sachant
- **Exceptions** : "savent" (présent 3e pl.), "su" (participe passé), "sache, saches, sachent, sachions, sachiez" (subjonctif)
- **Note** : Verbe irrégulier avec 3 radicaux : "sav-", "sach-", "saur-" (futur), "su" (pp). "sav" est majoritaire.
### connaître
- **Racine** : `"connaî"`
- **Couvre** : connais, connaît, connaissons, connaissez, connaissais, connaissait, connaissions, connaissiez, connaissaient, connaîtrai, connaîtras, connaîtra, connaîtrons, connaîtrez, connaîtront, connaissant
- **Exceptions** : "connaissent" (présent 3e pl.), "connu" (participe passé)
- **Note** : Racine "connaî" couvre la majorité, variante "connaiss" au présent pluriel et imparfait
### apprendre
- **Racine** : `"appren"`
- **Couvre** : apprends, apprend, apprenons, apprenez, apprenais, apprenait, apprenions, appreniez, apprenaient, apprendrai, apprendras, apprendra, apprendrons, apprendrez, apprendront, apprenant
- **Exceptions** : "apprennent" (présent 3e pl.), "appris" (participe passé)
- **Note** : Même structure que "prendre"
### transmettre
- **Racine** : `"transmet"`
- **Couvre** : transmets, transmet, transmettons, transmettez, transmettais, transmettait, transmettions, transmettiez, transmettaient, transmettrai, transmettras, transmettra, transmettrons, transmettrez, transmettront, transmettant
- **Exceptions** : "transmettent" (présent 3e pl.), "transmis" (participe passé)
- **Note** : Verbe en -mettre, racine stable "transmet"
### enseigner
- **Racine** : `"enseign"`
- **Couvre** : enseigne, enseignes, enseignent, enseignons, enseignez, enseignais, enseignait, enseignions, enseigniez, enseignaient, enseignerai, enseigneras, enseignera, enseignerons, enseignerez, enseigneront, enseignant, enseigné, enseignée, enseignés, enseignées
- **Exceptions** : aucune (verbe parfaitement régulier)
### étudier
- **Racine** : `"étudi"`
- **Couvre** : étudie, étudies, étudient, étudions, étudiez, étudiais, étudiait, étudiions, étudiiez, étudiaient, étudierai, étudieras, étudiera, étudierons, étudierez, étudieront, étudiant, étudié, étudiée, étudiés, étudiées
- **Exceptions** : aucune (verbe régulier en -ier)
### mémoriser
- **Racine** : `"mémoris"`
- **Couvre** : mémorise, mémorises, mémorisent, mémorisons, mémorisez, mémorisais, mémorisait, mémorisions, mémorisiez, mémorisaient, mémoriserai, mémoriseras, mémorisera, mémoriserons, mémoriserez, mémoriseront, mémorisant, mémorisé, mémorisée, mémorisés, mémorisées
- **Exceptions** : aucune (verbe parfaitement régulier)
### découvrir
- **Racine** : `"découvr"`
- **Couvre** : découvre, découvres, découvrent, découvrons, découvrez, découvrais, découvrait, découvrions, découvriez, découvraient, découvrirai, découvriras, découvrira, découvrirons, découvrirez, découvriront, découvrant
- **Exceptions** : "découvert" (participe passé)
- **Note** : Verbe en -vrir, racine stable "découvr"
### explorer
- **Racine** : `"explor"`
- **Couvre** : explore, explores, explorent, explorons, explorez, explorais, explorait, explorions, exploriez, exploraient, explorerai, exploreras, explorera, explorerons, explorerez, exploreront, explorant, exploré, explorée, explorés, explorées
- **Exceptions** : aucune (verbe parfaitement régulier)
### interpréter
- **Racine** : `"interprèt"`
- **Couvre** : interprète, interprètes, interprètent, interprétons, interprétez, interprétais, interprétait, interprétions, interprétiez, interprétaient, interpréterai, interpréteras, interprétera, interpréterons, interpréterez, interpréteront, interprétant, interprété, interprétée, interprétés, interprétées
- **Exceptions** : variation "è" vs "é" selon les formes
- **Note** : Racine "interprèt" couvre la majorité des formes
---
## Verbes d'action physique
### garder
- **Racine** : `"gard"`
- **Couvre** : garde, gardes, gardent, gardons, gardez, gardais, gardait, gardions, gardiez, gardaient, garderai, garderas, gardera, garderons, garderez, garderont, gardant, gardé, gardée, gardés, gardées
- **Exceptions** : aucune (verbe parfaitement régulier)
### protéger
- **Racine** : `"protèg"`
- **Couvre** : protège, protèges, protègent, protégeons, protégez, protégeais, protégeait, protégions, protégiez, protégeaient, protégerai, protégeras, protégera, protégerons, protégerez, protégeront, protégeant, protégé, protégée, protégés, protégées
- **Exceptions** : variation "è" vs "é" selon les formes
- **Note** : Racine "protèg" majoritaire
### porter
- **Racine** : `"port"`
- **Couvre** : porte, portes, portent, portons, portez, portais, portait, portions, portiez, portaient, porterai, porteras, portera, porterons, porterez, porteront, portant, porté, portée, portés, portées
- **Exceptions** : aucune (verbe parfaitement régulier)
### transporter
- **Racine** : `"transport"`
- **Couvre** : transporte, transportes, transportent, transportons, transportez, transportais, transportait, transportions, transportiez, transportaient, transporterai, transporteras, transportera, transporterons, transporterez, transporteront, transportant, transporté, transportée, transportés, transportées
- **Exceptions** : aucune (verbe parfaitement régulier)
### chasser
- **Racine** : `"chass"`
- **Couvre** : chasse, chasses, chassent, chassons, chassez, chassais, chassait, chassions, chassiez, chassaient, chasserai, chasseras, chassera, chasserons, chasserez, chasseront, chassant, chassé, chassée, chassés, chassées
- **Exceptions** : aucune (verbe parfaitement régulier)
### traquer
- **Racine** : `"traqu"`
- **Couvre** : traque, traques, traquent, traquons, traquez, traquais, traquait, traquions, traquiez, traquaient, traquerai, traqueras, traquera, traquerons, traquerez, traqueront, traquant, traqué, traquée, traqués, traquées
- **Exceptions** : aucune (verbe parfaitement régulier)
---
## Verbes spirituels et sacrés
### méditer
- **Racine** : `"médit"`
- **Couvre** : médite, médites, méditent, méditons, méditez, méditais, méditait, méditions, méditiez, méditaient, méditerai, méditeras, méditera, méditerons, méditerez, méditeront, méditant, médité, méditée, médités, méditées
- **Exceptions** : aucune (verbe parfaitement régulier)
### prier
- **Racine** : `"pri"`
- **Couvre** : prie, pries, prient, prions, priez, priais, priait, priions, priiez, priaient, prierai, prieras, priera, prierons, prierez, prieront, priant, prié, priée, priés, priées
- **Exceptions** : aucune (verbe régulier en -ier)
### invoquer
- **Racine** : `"invoqu"`
- **Couvre** : invoque, invoques, invoquent, invoquons, invoquez, invoquais, invoquait, invoquions, invoquiez, invoquaient, invoquerai, invoqueras, invoquera, invoquerons, invoquerez, invoqueront, invoquant, invoqué, invoquée, invoqués, invoquées
- **Exceptions** : aucune (verbe parfaitement régulier)
### bénir
- **Racine** : `"béni"`
- **Couvre** : bénis, bénit, bénissons, bénissez, bénissais, bénissait, bénissions, bénissiez, bénissaient, bénirai, béniras, bénira, bénirons, bénirez, béniront, bénissant
- **Exceptions** : "bénit" vs "béni" (participes passés selon usage)
- **Note** : Verbe en -ir, racine "béni" stable
### communier
- **Racine** : `"communi"`
- **Couvre** : communie, communies, communient, communions, communiez, communiais, communiait, communiions, communiiez, communiaient, communierai, communieras, communiera, communierons, communierez, communieront, communiant, communié, communiée, communiés, communiées
- **Exceptions** : aucune (verbe régulier en -ier)
### mourir
- **Racine** : `"meur"`
- **Couvre** : meurs, meurt, mourons, mourez, mourais, mourait, mourions, mouriez, mouraient, mourrai, mourras, mourra, mourrons, mourrez, mourront, mourant
- **Exceptions** : "meurent" (présent 3e pl.), "mort" (participe passé)
- **Note** : Verbe irrégulier avec 3 radicaux : "meur-", "mour-", "mort". "meur" couvre singulier présent.
---
## Verbes artisanaux et création
### graver
- **Racine** : `"grav"`
- **Couvre** : grave, graves, gravent, gravons, gravez, gravais, gravait, gravions, graviez, gravaient, graverai, graveras, gravera, graverons, graverez, graveront, gravant, gravé, gravée, gravés, gravées
- **Exceptions** : aucune (verbe parfaitement régulier)
### sculpter
- **Racine** : `"sculpt"`
- **Couvre** : sculpte, sculptes, sculptent, sculptons, sculptez, sculptais, sculptait, sculptions, sculptiez, sculptaient, sculpterai, sculpteras, sculptera, sculpterons, sculpterez, sculpteront, sculptant, sculpté, sculptée, sculptés, sculptées
- **Exceptions** : aucune (verbe parfaitement régulier)
### peindre
- **Racine** : `"pein"`
- **Couvre** : peins, peint, peignons, peignez, peignais, peignait, peignions, peigniez, peignaient, peindrai, peindras, peindra, peindrons, peindrez, peindront, peignant
- **Exceptions** : "peignent" (présent 3e pl.), "peint" (participe passé)
- **Note** : Verbe en -eindre, racine "pein" majoritaire, variante "peign" au pluriel/imparfait
### creuser
- **Racine** : `"creus"`
- **Couvre** : creuse, creuses, creusent, creusons, creusez, creusais, creusait, creusions, creusiez, creusaient, creuserai, creuseras, creusera, creuserons, creuserez, creuseront, creusant, creusé, creusée, creusés, creusées
- **Exceptions** : aucune (verbe parfaitement régulier)
### tisser
- **Racine** : `"tiss"`
- **Couvre** : tisse, tisses, tissent, tissons, tissez, tissais, tissait, tissions, tissiez, tissaient, tisserai, tisseras, tissera, tisserons, tisserez, tisseront, tissant, tissé, tissée, tissés, tissées
- **Exceptions** : aucune (verbe parfaitement régulier)
### forger
- **Racine** : `"forg"`
- **Couvre** : forge, forges, forgent, forgeons, forgez, forgeais, forgeait, forgions, forgiez, forgeaient, forgerai, forgeras, forgera, forgerons, forgerez, forgeront, forgeant, forgé, forgée, forgés, forgées
- **Exceptions** : aucune (verbe parfaitement régulier)
---
## Verbes de combat et défense
### défendre
- **Racine** : `"défen"`
- **Couvre** : défends, défend, défendons, défendez, défendais, défendait, défendions, défendiez, défendaient, défendrai, défendras, défendra, défendrons, défendrez, défendront, défendant
- **Exceptions** : "défendent" (présent 3e pl.), "défendu" (participe passé)
- **Note** : Verbe en -endre, racine "défen" stable
### surveiller
- **Racine** : `"surveill"`
- **Couvre** : surveille, surveilles, surveillent, surveillons, surveillez, surveillais, surveillait, surveillions, surveilliez, surveillaient, surveillerai, surveilleras, surveillera, surveillerons, surveillerez, surveilleront, surveillant, surveillé, surveillée, surveillés, surveillées
- **Exceptions** : aucune (verbe parfaitement régulier)
### attaquer
- **Racine** : `"attaqu"`
- **Couvre** : attaque, attaques, attaquent, attaquons, attaquez, attaquais, attaquait, attaquions, attaquiez, attaquaient, attaquerai, attaqueras, attaquera, attaquerons, attaquerez, attaqueront, attaquant, attaqué, attaquée, attaqués, attaquées
- **Exceptions** : aucune (verbe parfaitement régulier)
### capturer
- **Racine** : `"captur"`
- **Couvre** : capture, captures, capturent, capturons, capturez, capturais, capturait, capturions, capturiez, capturaient, capturerai, captureras, capturera, capturerons, capturerez, captureront, capturant, capturé, capturée, capturés, capturées
- **Exceptions** : aucune (verbe parfaitement régulier)
### vaincre
- **Racine** : `"vainc"`
- **Couvre** : vaincs, vainc, vainquons, vainquez, vainquais, vainquait, vainquions, vainquiez, vainquaient, vaincrai, vaincras, vaincra, vaincrons, vaincrez, vaincront, vainquant
- **Exceptions** : "vainquent" (présent 3e pl.), "vaincu" (participe passé)
- **Note** : Verbe en -incre, racine "vainc" stable avec variante "vainqu" au pluriel
---
## Verbes de commerce et échange
### troquer
- **Racine** : `"troqu"`
- **Couvre** : troque, troques, troquent, troquons, troquez, troquais, troquait, troquions, troquiez, troquaient, troquerai, troqueras, troquera, troquerons, troquerez, troqueront, troquant, troqué, troquée, troqués, troquées
- **Exceptions** : aucune (verbe parfaitement régulier)
### entreposer
- **Racine** : `"entrepos"`
- **Couvre** : entrepose, entreposes, entreposent, entreposons, entreposez, entreposais, entreposait, entreposions, entreposiez, entreposaient, entreposerai, entreposeras, entreposera, entreposerons, entreposerez, entreposeront, entreposant, entreposé, entreposée, entreposés, entreposées
- **Exceptions** : aucune (verbe parfaitement régulier)
---
## Verbes de justice et vérité
### arbitrer
- **Racine** : `"arbitr"`
- **Couvre** : arbitre, arbitres, arbitrent, arbitrons, arbitrez, arbitrais, arbitrait, arbitrions, arbitriez, arbitraient, arbitrerai, arbitreras, arbitrera, arbitrerons, arbitrerez, arbitreront, arbitrant, arbitré, arbitrée, arbitrés, arbitrées
- **Exceptions** : aucune (verbe parfaitement régulier)
---
## Verbes de subsistance
### pêcher
- **Racine** : `"pêch"`
- **Couvre** : pêche, pêches, pêchent, pêchons, pêchez, pêchais, pêchait, pêchions, pêchiez, pêchaient, pêcherai, pêcheras, pêchera, pêcherons, pêcherez, pêcheront, pêchant, pêché, pêchée, pêchés, pêchées
- **Exceptions** : aucune (verbe parfaitement régulier)
### manger
- **Racine** : `"mang"`
- **Couvre** : mange, manges, mangent, mangeons, mangez, mangeais, mangeait, mangions, mangiez, mangeaient, mangerai, mangeras, mangera, mangerons, mangerez, mangeront, mangeant, mangé, mangée, mangés, mangées
- **Exceptions** : aucune (verbe parfaitement régulier)
### dévorer
- **Racine** : `"dévor"`
- **Couvre** : dévore, dévores, dévorent, dévorons, dévorez, dévorais, dévorait, dévorions, dévoriez, dévoraient, dévorerai, dévoreras, dévorera, dévorerons, dévorerez, dévoreront, dévorant, dévoré, dévorée, dévorés, dévorées
- **Exceptions** : aucune (verbe parfaitement régulier)
---
## Résumé statistique
**Total de verbes traités** : 43 verbes (+ leurs synonymes listés)
### Distribution des longueurs de racines
| Longueur | Nombre | Exemples |
|----------|--------|----------|
| 2 lettres | 2 | `di` (dire), `voi` (voir) |
| 3 lettres | 10 | `cré` (créer), `pri` (prier), `gard` (garder), `port` (porter), `mang` (manger), `pein` (peindre), `tiss` (tisser), `forg` (forger), `grav` (graver), `pêch` (pêcher) |
| 4 lettres | 17 | `donn` (donner), `pren` (prendre), `chass` (chasser), `parl` (parler), `béni` (bénir), `tiss` (tisser), `creus` (creuser), `vainc` (vaincre), `défen` (défendre), `attaqu` (attaquer), `troqu` (troquer), `captur` (capturer), `arbitr` (arbitrer), `dévor` (dévorer), `étudi` (étudier), `meur` (mourir) |
| 5 lettres | 9 | `observ` (observer), `regard` (regarder), `écout` (écouter), `enseign` (enseigner), `explor` (explorer), `protèg` (protéger), `traqu` (traquer), `invoqu` (invoquer), `sculpt` (sculpter) |
| 6 lettres | 3 | `assembl` (assembler), `communi` (communier), `surveill` (surveiller) |
| 7+ lettres | 5 | `construi` (construire), `transmet` (transmettre), `mémoris` (mémoriser), `découvr` (découvrir), `interprèt` (interpréter), `transport` (transporter), `entrepos` (entreposer) |
| NULL (irréguliers) | 1 | `aller` (trop irrégulier) |
### Verbes parfaitement réguliers (34/43)
Les verbes suivants ont une racine qui couvre 100% des formes sans exception :
- donner, observer, regarder, écouter, parler, créer, assembler, enseigner, mémoriser, étudier, explorer, garder, porter, transporter, chasser, traquer, méditer, prier, invoquer, communier, graver, sculpter, creuser, tisser, forger, surveiller, attaquer, capturer, troquer, entreposer, arbitrer, pêcher, manger, dévorer
### Verbes irréguliers avec exceptions notables (9/43)
- **voir** : très irrégulier (voi/voy/verr/v-)
- **aller** : totalement irrégulier (null recommandé)
- **faire** : 3 radicaux (fai/f/fer)
- **dire** : exception "dites"
- **savoir** : 4 radicaux (sav/sach/saur/su)
- **prendre** : exceptions "prennent", "pris"
- **mourir** : 3 radicaux (meur/mour/mort)
- **peindre** : pein/peign
- **vaincre** : vainc/vainqu
---
## Notes d'implémentation
1. **Pour les verbes réguliers** : La racine couvre toutes les formes, pas besoin de synonymes_fr supplémentaires
2. **Pour les verbes irréguliers** : Ajouter dans synonymes_fr les formes qui ne suivent pas la racine principale
3. **Cas spécial "aller"** : Recommandation de stocker toutes les conjugaisons courantes dans synonymes_fr
4. **Variations orthographiques** : Les verbes avec è/é (protéger, interpréter) gardent la racine avec è majoritaire
---
*Document généré pour le projet Confluent - civjdr*
*Dernière mise à jour : 2025-11-28*

View File

@ -1,475 +0,0 @@
# Travail : Système de Racines Françaises
## Objectif
Améliorer le matching des mots français conjugués/accordés en utilisant un système de **racines françaises** au lieu de se fier uniquement à la lemmatisation automatique.
## Problème actuel
- "manger" trouve "mukis" ✅
- "mangé" ne trouve RIEN ❌
- "vu" ne trouve pas "voir" ❌
- "pris" ne trouve pas "prendre" ❌
Le lemmatizer actuel est trop basique et rate beaucoup de formes conjuguées.
## Solution : Système hybride avec racines manuelles
### 1. Déclaration manuelle des racines françaises dans le lexique
**Principe** : Ajouter un champ `racine_fr` dans chaque entrée du lexique avec le **dénominateur commun le plus long** qui couvre toutes les conjugaisons/formes du mot.
**IMPORTANT** : Ce n'est PAS une extraction automatique des 4 premières lettres. C'est un **travail manuel intelligent** pour déterminer la meilleure racine pour chaque mot.
**Exemples** :
- "manger" → `racine_fr: "mang"` (4 lettres) → couvre mangé, mange, mangeait, mangerons...
- "donner" → `racine_fr: "donn"` (4 lettres) → couvre donné, donne, donnait, donnerons...
- "comparer" → `racine_fr: "compar"` (6 lettres) → couvre comparé, compare, comparaison...
- "comprendre" → `racine_fr: "compr"` (5 lettres) → couvre compris, comprend, comprenait...
**Structure dans le lexique** :
```json
"manger": {
"racine_fr": "mang",
"traductions": [...],
"synonymes_fr": ["mange", "mangé", "mangeait"]
}
"comparer": {
"racine_fr": "compar",
"traductions": [...],
"synonymes_fr": ["comparé", "compare", "comparaison"]
}
"comprendre": {
"racine_fr": "compr",
"traductions": [...],
"synonymes_fr": ["compris", "comprend", "comprenait"]
}
```
**Comportement du matching** :
Quand l'utilisateur tape "comparé" :
1. Le système cherche les entrées dont `racine_fr` matche le début de "comparé"
2. Il trouve `"compar"` → match "comparer" ✅
3. Il ne trouve PAS `"compr"` (trop court) → ne propose pas "comprendre" ✅
Quand l'utilisateur tape "comprend" :
1. Le système trouve :
- `"compr"` (5 lettres) → match "comprendre" ✅
- `"comp"` pourrait aussi matcher si on avait un mot avec cette racine
2. En cas de **multiples matches**, le système retourne **TOUS les candidats** au LLM
3. Le **LLM choisit** selon le contexte de la phrase
**Avantages** :
- Contrôle total sur la longueur de chaque racine (4, 5, 6 lettres selon le besoin)
- Gère les ambiguïtés en laissant le LLM arbitrer
- Plus précis qu'une extraction automatique aveugle
### 2. Formes irrégulières dans `synonymes_fr`
**Principe** : Ajouter toutes les formes conjuguées dans le champ `synonymes_fr` du lexique
**Exemples de cas nécessitant `synonymes_fr`** :
#### Formes trop différentes de la racine
- **"voir"** → `racine_fr: "voi"` couvre "voit", "voyait", "voyons"
- MAIS "vu", "vus", "vue", "vues" sont trop différents → à mettre dans `synonymes_fr`
- **"être"** → formes trop différentes (est, suis, sont, été, était, sera, fut...)
- Impossible d'avoir une racine unique → tout dans `synonymes_fr`
- **"avoir"** → formes trop différentes (a, ai, ont, eu, avait, aura...)
- Impossible d'avoir une racine unique → tout dans `synonymes_fr`
#### Verbes irréguliers avec changement de radical
- **"prendre"** → `racine_fr: "pren"` couvre "prend", "prenait", "prendra"
- MAIS "pris", "prit", "prise" ont un radical différent → dans `synonymes_fr`
- **"faire"** → `racine_fr: "fai"` couvre "fais", "faisait", "faisons"
- MAIS "fait", "faite", "faites" ont un radical différent → dans `synonymes_fr`
**Combinaison racine + synonymes** :
```json
"voir": {
"racine_fr": "voi",
"synonymes_fr": ["vu", "vus", "vue", "vues", "observer", "regarder"]
}
"prendre": {
"racine_fr": "pren",
"synonymes_fr": ["pris", "prit", "prise", "prises"]
}
```
Le système essaie d'abord la racine, puis les synonymes.
---
## TRAVAIL 1 : Modification du code (contextAnalyzer.js)
**Fichier** : `ConfluentTranslator/contextAnalyzer.js`
### Modifications à faire :
#### A. Modifier searchWord() pour utiliser le champ `racine_fr`
**Principe** : Chercher les entrées dont le champ `racine_fr` est **contenu au début** du mot recherché.
**Emplacement** : ligne ~124 dans la fonction `searchWord()`
**Modifier la logique de matching pour ajouter** :
```javascript
// NOUVEAU: Correspondance sur racine française déclarée
// Si l'entrée a un champ racine_fr et que le mot commence par cette racine
else if (entry.racine_fr && word.startsWith(entry.racine_fr.toLowerCase())) {
score = 0.75;
}
```
**Insertion dans la cascade de matching** (après synonymes lemmatisés, avant le return) :
```javascript
// Correspondance exacte sur le mot français
if (key === word || entry.mot_francais?.toLowerCase() === word) {
score = 1.0;
}
// Correspondance sur formes lemmatisées
else if (lemmas.some(lemma => key === lemma || entry.mot_francais?.toLowerCase() === lemma)) {
score = 0.95;
}
// Correspondance sur synonymes
else if (entry.synonymes_fr?.some(syn => syn.toLowerCase() === word)) {
score = 0.9;
}
// Correspondance sur synonymes lemmatisés
else if (entry.synonymes_fr?.some(syn => lemmas.includes(syn.toLowerCase()))) {
score = 0.85;
}
// NOUVEAU: Correspondance sur racine française déclarée
else if (entry.racine_fr && word.startsWith(entry.racine_fr.toLowerCase())) {
score = 0.75;
}
```
**Code final de searchWord()** :
```javascript
function searchWord(word, dictionnaire) {
const results = [];
const lemmas = simpleLemmatize(word);
for (const [key, entry] of Object.entries(dictionnaire)) {
let score = 0;
// Correspondance exacte sur le mot français
if (key === word || entry.mot_francais?.toLowerCase() === word) {
score = 1.0;
}
// Correspondance sur formes lemmatisées
else if (lemmas.some(lemma => key === lemma || entry.mot_francais?.toLowerCase() === lemma)) {
score = 0.95;
}
// Correspondance sur synonymes
else if (entry.synonymes_fr?.some(syn => syn.toLowerCase() === word)) {
score = 0.9;
}
// Correspondance sur synonymes lemmatisés
else if (entry.synonymes_fr?.some(syn => lemmas.includes(syn.toLowerCase()))) {
score = 0.85;
}
// NOUVEAU: Correspondance sur racine française déclarée dans le lexique
else if (entry.racine_fr && word.startsWith(entry.racine_fr.toLowerCase())) {
score = 0.75;
}
if (score > 0) {
results.push({
mot_francais: entry.mot_francais || key,
traductions: entry.traductions || [],
score,
source: entry.source_files || []
});
}
}
return results;
}
```
**Note** : Pas besoin d'exporter de nouvelle fonction, on utilise simplement le champ `racine_fr` du lexique.
---
## TRAVAIL 2 : Compléter le lexique avec racines et synonymes
**Objectif** : Pour chaque verbe du lexique, ajouter :
1. Le champ `racine_fr` avec le dénominateur commun optimal
2. Les formes conjuguées irrégulières dans `synonymes_fr`
### Fichiers à modifier :
`ancien-confluent/lexique/06-actions.json`
### Structure à suivre pour chaque verbe
```json
"[verbe_infinitif]": {
"racine_fr": "[racine_optimale]",
"traductions": [...],
"synonymes_fr": ["[formes_irrégulières]", "[autres_synonymes]"]
}
```
### Verbes à compléter (par priorité)
#### Priorité 1 : Verbes très courants
**1. voir**
```json
"voir": {
"racine_fr": "voi",
"traductions": [...],
"synonymes_fr": ["observer", "regarder", "vu", "vus", "vue", "vues"]
}
```
*Note : "voit", "voyait", "voyons", "verra" sont couverts par la racine "voi". Seules les formes avec radical différent (vu/vue) vont dans synonymes_fr.*
**2. prendre**
```json
"prendre": {
"racine_fr": "pren",
"traductions": [...],
"synonymes_fr": ["pris", "prit", "prise", "prises"]
}
```
*Note : "prend", "prenait", "prendra" sont couverts par la racine "pren".*
**3. faire**
```json
"faire": {
"racine_fr": "fai",
"traductions": [...],
"synonymes_fr": ["créer", "fait", "faits", "faite", "faites"]
}
```
*Note : "fais", "faisait", "faisons" sont couverts par la racine "fai".*
**4. manger** (nouveau verbe si pas déjà présent)
```json
"manger": {
"racine_fr": "mang",
"traductions": [...],
"synonymes_fr": []
}
```
*Note : Toutes les formes (mange, mangé, mangeait, mangera) sont couvertes par la racine "mang". Pas besoin de synonymes.*
**5. aller**
```json
"aller": {
"racine_fr": "all",
"traductions": [...],
"synonymes_fr": ["va", "vas", "vais", "ira", "iras", "iront"]
}
```
*Note : "allé", "allait" sont couverts par "all". Les formes irrégulières (va/vais, ira) vont dans synonymes_fr.*
**6. donner**
```json
"donner": {
"racine_fr": "donn",
"traductions": [...],
"synonymes_fr": []
}
```
*Note : Toutes les formes sont couvertes par "donn".*
**7. dire**
```json
"dire": {
"racine_fr": "di",
"traductions": [...],
"synonymes_fr": ["parler", "dit", "dits", "dite", "dites"]
}
```
*Note : "dis", "disait", "dira" sont couverts par "di". "dit/dite" ont un radical différent donc dans synonymes_fr.*
#### Priorité 2 : Verbes auxiliaires (très irréguliers)
**8. être**
```json
"être": {
"racine_fr": null,
"traductions": [...],
"synonymes_fr": ["est", "es", "suis", "sont", "sommes", "êtes", "été", "était", "étais", "étant", "sera", "seras", "seront", "fut", "fus"]
}
```
*Note : Aucune racine commune possible. Toutes les formes dans synonymes_fr.*
**9. avoir**
```json
"avoir": {
"racine_fr": "av",
"traductions": [...],
"synonymes_fr": ["a", "as", "ai", "ont", "eu", "eue", "eus", "eues", "aura", "auras", "auront"]
}
```
*Note : "avait", "avais", "avons", "avez" couverts par "av". Formes irrégulières (a/ai/ont, eu, aura) dans synonymes_fr.*
#### Priorité 3 : Autres verbes courants
**10. savoir**
```json
"savoir": {
"racine_fr": "sav",
"traductions": [...],
"synonymes_fr": ["connaître", "sait", "sais", "su", "sue", "sus", "sues", "saura", "sauront"]
}
```
*Note : "savait", "savons", "sachant" couverts par "sav". Formes irrégulières (sait/sais, su, saura) dans synonymes_fr.*
**11. chasser**
```json
"chasser": {
"racine_fr": "chass",
"traductions": [...],
"synonymes_fr": ["traquer"]
}
```
*Note : Toutes les conjugaisons couvertes par "chass".*
**12. transmettre**
```json
"transmettre": {
"racine_fr": "transm",
"traductions": [...],
"synonymes_fr": ["enseigner", "transmis", "transmise", "transmises"]
}
```
*Note : "transmet", "transmettait", "transmettra" couverts par "transm". Participe passé (transmis) dans synonymes_fr.*
**13. garder**
```json
"garder": {
"racine_fr": "gard",
"traductions": [...],
"synonymes_fr": ["protéger"]
}
```
*Note : Toutes les conjugaisons couvertes par "gard".*
**14. porter**
```json
"porter": {
"racine_fr": "port",
"traductions": [...],
"synonymes_fr": ["transporter"]
}
```
*Note : Toutes les conjugaisons couvertes par "port".*
**15. apprendre**
```json
"apprendre": {
"racine_fr": "appren",
"traductions": [...],
"synonymes_fr": ["appris", "apprise", "apprises"]
}
```
*Note : "apprend", "apprenait", "apprendra" couverts par "appren". Participe passé (appris) dans synonymes_fr.*
---
## Tests à faire après modifications
### Test 1 : Vérifier les racines automatiques
```bash
curl -X POST http://localhost:3000/api/debug/prompt \
-H "Content-Type: application/json" \
-d '{"text": "Il mangeait le pain", "target": "ancien"}' | grep -A 5 "wordsFound"
```
**Résultat attendu** : "mangeait" → trouve "mukis" via racine "mang"
### Test 2 : Vérifier les exceptions manuelles
```bash
curl -X POST http://localhost:3000/api/debug/prompt \
-H "Content-Type: application/json" \
-d '{"text": "Il a vu et pris", "target": "ancien"}' | grep -A 10 "wordsFound"
```
**Résultat attendu** :
- "vu" → trouve "mirak" via synonymes_fr
- "pris" → trouve "pasak" via synonymes_fr
### Test 3 : Phrase complète
```bash
# Même test que le problématique
curl -X POST http://localhost:3000/api/debug/prompt \
-H "Content-Type: application/json" \
-d '{"text": "C est le collier du loup qui a mange mon frere", "target": "ancien"}' | python -c "import sys, json; data=json.load(sys.stdin); print('Found:', [w['input'] for w in data['metadata']['wordsFound']])"
```
**Résultat attendu** : ["collier", "loup", "mange", "frere"] tous trouvés
---
## Estimation de travail
- **Code (contextAnalyzer.js)** : ~5 lignes à ajouter (une seule condition else if), 5 minutes
- **Lexique (06-actions.json)** :
- Ajouter champ `racine_fr` pour 15 verbes : ~15 minutes
- Ajouter formes irrégulières dans `synonymes_fr` : ~30 formes uniques, ~20 minutes
**Total** : ~40 minutes de travail
**Révision par rapport à l'estimation initiale** : Beaucoup plus simple car on ne fait pas d'extraction automatique, juste du matching sur un champ déclaré.
---
## Notes importantes
1. **Lowercase** : Tout est déjà en lowercase dans tokenizeFrench(), pas besoin de le refaire dans le matching
2. **Normalisation des accents** : Déjà fait en amont (mangé → mange dans la tokenization)
3. **Ordre de priorité matching** :
- 1.0 = Exacte
- 0.95 = Lemma
- 0.9 = Synonyme exact
- 0.85 = Synonyme lemmatisé
- **0.75 = Racine française déclarée** (NOUVEAU)
4. **Choix de la racine** :
- Doit être le **dénominateur commun le plus long** qui couvre la majorité des conjugaisons
- Exemples : "mang" (4 lettres), "compar" (6 lettres), "transm" (6 lettres)
- Pas de règle fixe sur la longueur : décision au cas par cas
5. **Multiples matches** :
- Si plusieurs entrées matchent (ex: "comp" et "compr"), TOUTES sont retournées au LLM
- Le LLM choisit selon le contexte de la phrase
- Pas de filtrage automatique
---
## Résumé du système final
### Workflow de matching pour un mot tapé par l'utilisateur
1. L'utilisateur tape "comparé"
2. Le système tokenize et met en lowercase → "compare" (accent normalisé)
3. Le système cherche dans le lexique avec cette cascade :
- **Score 1.0** : Match exact sur clé ou `mot_francais` → ❌
- **Score 0.95** : Match sur lemme → ❌
- **Score 0.9** : Match exact dans `synonymes_fr` → ❌
- **Score 0.85** : Match lemme dans `synonymes_fr` → ❌
- **Score 0.75** : `"compare".startsWith(entry.racine_fr)` → ✅ trouve "compar" dans l'entrée "comparer"
4. Le système retourne l'entrée "comparer" avec score 0.75
5. Le LLM utilise la traduction confluente
### Avantages de cette approche
- ✅ **Contrôle total** : chaque racine est choisie manuellement pour être optimale
- ✅ **Ambiguïté gérée** : multiples matches possibles, le LLM arbitre
- ✅ **Performance** : pas de calcul complexe, juste du `startsWith()`
- ✅ **Maintenance** : facile d'ajuster une racine si elle ne convient pas
- ✅ **Hybride intelligent** : racines pour les formes régulières, synonymes pour les irrégulières

View File

@ -0,0 +1,291 @@
# 01 - PHONOLOGIE DU CONFLUENT
La phonologie du Confluent reflète la philosophie de la Civilisation de la Confluence : clarté de l'observation, fluidité de l'eau, et résonance des échos dans les grottes sacrées.
---
## Philosophie sonore
Le Confluent est une langue conçue pour **résonner** dans les Antres des Échos et **porter** sur les vents de montagne. Chaque son a été choisi pour sa capacité à :
1. **Résonner** dans les espaces souterrains sans confusion
2. **Porter** sur de longues distances en montagne
3. **S'harmoniser** avec les sons naturels (eau, vent, oiseaux)
4. **Se distinguer** clairement à l'oral comme à l'écrit
---
## Inventaire phonétique
### Consonnes (10)
Le Confluent utilise 10 consonnes, choisies pour leur clarté acoustique :
| Consonne | Type | Description | Exemples |
|----------|------|-------------|----------|
| **b** | Occlusive bilabiale sonore | Comme "bateau" | **b**esi (bête), **b**uki (bois) |
| **k** | Occlusive vélaire sourde | Comme "kayak" | **k**ota (union), **k**ori (cœur) |
| **l** | Latérale alvéolaire | Comme "lumière" | **l**una (lune), a**l**u (grue) |
| **m** | Nasale bilabiale | Comme "montagne" | **m**ira (voir), u**m**i (esprit) |
| **n** | Nasale alvéolaire | Comme "nuit" | **n**aki (enfant), e**n**a (origine) |
| **p** | Occlusive bilabiale sourde | Comme "pierre" | **p**asa (prendre), a**p**o (oiseau) |
| **s** | Fricative alvéolaire sourde | Comme "silence" | **s**ili (regard), a**s**ka (libre) |
| **t** | Occlusive alvéolaire sourde | Comme "terre" | **t**oka (terre), i**t**a (être) |
| **v** | Fricative labiodentale sonore | Comme "vent" | **v**ela (vigile), **v**oki (voix) |
| **z** | Fricative alvéolaire sonore | Comme "zéro" | **z**ana (chasser), **z**ero (ciel) |
#### Choix phonétiques volontaires
**Évités** :
- Sons elfiques (th, ch, j)
- Sons gutturaux (r roulé, h aspiré)
- Sons trop latins (ph, gh)
**Ratio inspirationnel** :
- 70% créations originales
- 20% inspiration finno-ougrienne (harmonie vocalique)
- 10% inspiration basque (structure CV)
### Voyelles actives (5)
Le Confluent possède 5 voyelles principales, claires et distinctes :
| Voyelle | Type | Prononciation | Exemples |
|---------|------|---------------|----------|
| **a** | Ouverte centrale | Comme "patte" | **a**ska (libre), ur**a** (eau) |
| **e** | Mi-fermée antérieure | Comme "été" | **e**ka (tout), k**e**ko (écho) |
| **i** | Fermée antérieure | Comme "île" | s**i**li (regard), um**i** (esprit) |
| **o** | Mi-fermée postérieure | Comme "eau" | t**o**ka (terre), ik**o** (un) |
| **u** | Fermée postérieure | Comme "loup" | **u**ra (eau), val**u** (valeur) |
### Voyelles réservées (3)
Réservées pour expansion linguistique future :
| Voyelle | Statut | Usage futur possible |
|---------|--------|---------------------|
| **y** | Réservée | Diphtongues complexes, registre poétique |
| **é** | Réservée | Distinctions tonales, emphase |
| **è** | Réservée | Registre archaïque, formules rituelles |
---
## Orthographe et conventions
### Principe fondamental : tout en minuscules
**⚠️ RÈGLE ABSOLUE** : Le Confluent n'a **aucune distinction majuscule/minuscule**.
```
❌ INCORRECT
Siliaska, Uraakota, Aliaska
✅ CORRECT
siliaska, uraakota, aliaska
```
**Justification culturelle** :
Dans la philosophie de la Confluence, tous les êtres sont égaux devant l'eau qui coule. Les castes, les lieux, les personnes sont tous écrits en minuscules pour refléter cette égalité spirituelle fondamentale.
**Exception pratique** : En début de phrase, une majuscule peut être utilisée pour la lisibilité en français, mais ce n'est pas une règle du Confluent lui-même.
### Transparence phonétique
**Une lettre = un son, un son = une lettre**
Le Confluent suit un principe de transparence orthographique absolue :
- Pas de lettres muettes
- Pas de digraphes (ch, th, ph)
- Pas de sons complexes
```
Écrit : s-i-l-i-a-s-k-a
Prononcé : si-li-as-ka
```
---
## Règles phonotactiques
### Structure syllabique
Le Confluent privilégie la structure **CV** (Consonne + Voyelle) :
| Type | Structure | Exemples | Fréquence |
|------|-----------|----------|-----------|
| **CV** | Consonne + Voyelle | si-li, u-ra, to-ka | 90% |
| **V** | Voyelle seule | a-ska, u-mi, i-ko | 10% (racines sacrées) |
**❌ Structures interdites** :
- CVC en milieu de mot (sauf fin de verbe)
- Groupes consonantiques (tr, pl, kr)
- Voyelles consécutives (sauf liaisons sacrées)
### Finales de mots
**Règle fondamentale** : Les racines finissent **toujours par une voyelle**.
```
✅ Racines (CV finale)
sili, aska, kota, ura
✅ Verbes (C finale)
mirak, nekan, vosak, kisun
❌ Impossible
sil, ask, kot (pas de consonnes finales pour les racines)
```
---
## Euphonie et harmonie sonore
### Principe de fluidité
Le Confluent évite les combinaisons difficiles à prononcer :
**Éviter** :
- 3 consonnes consécutives : *silktosa ❌ → sil-i-tosa ✅
- Voyelles identiques : *uraa ❌ → ura-a (séparation) ✅
- Sons gutturaux successifs : *kgb* (impossible)
### Harmonie vocalique (tendance)
Bien que non obligatoire, il existe une **tendance** à l'harmonie vocalique dans les compositions, inspirée du finnois :
**Voyelles antérieures** (e, i) tendent à s'associer :
- sil-**i**-ask**a** (regard-libre)
- k**e**k-**u**-tok**a** (écho-terre)
**Voyelles postérieures** (o, u) tendent à s'associer :
- ur-**aa**-k**o**t**a** (eau-union)
- v**u**k-**u**-**u**r**a** (gouffre-eau)
Cette harmonie n'est **pas obligatoire**, mais elle est valorisée pour son esthétique sonore.
### Résonance dans les Antres
Les Enfants des Échos (Nakukeko) ont développé une sensibilité particulière aux propriétés acoustiques du Confluent :
**Sons qui résonnent bien** :
- Nasales (m, n) : portent loin dans les grottes
- Sifflantes (s, z) : écho distinctif
- Voyelles ouvertes (a, o) : amplification naturelle
**Exemple** : Le nom "**nakukeko**" (Enfants des Échos) utilise :
- 3 occlusives (k) pour l'écho percussif
- Voyelles alternées (a-u-e-o) pour la variété sonore
- Structure répétitive (na-ku-ke-ko) mimant l'écho lui-même
---
## Phonétique sacrée vs standard
### Distinction initiale
| Type | Début | Sonorité | Statut | Exemples |
|------|-------|----------|--------|----------|
| **Sacrée** | Voyelle (V-) | Ouverte, résonnante | Ancienne, fondamentale | **a**ska, **u**ra, **i**ta |
| **Standard** | Consonne (C-) | Articulée, précise | Récente, quotidienne | **s**ili, **k**ota, **t**oka |
**Ratio** : ~20% sacrées, ~80% standards
**Justification** : Les racines sacrées commencent par une voyelle car elles représentent des concepts **primordiaux**, existant avant toute articulation humaine. Les racines standards commencent par une consonne car elles représentent des **créations humaines**, nécessitant une articulation volontaire.
### Exemples comparés
| Sacré (V-) | Standard (C-) | Différence |
|------------|---------------|------------|
| **aska** (libre) | **sili** (regard) | Concept abstrait vs observation concrète |
| **ura** (eau) | **nura** (rivière) | Élément primordial vs manifestation locale |
| **umi** (esprit) | **kori** (cœur) | Essence spirituelle vs organe physique |
---
## Évolution phonétique
### Du Proto-Confluent à l'Ancien Confluent
Le Confluent a évolué depuis une forme proto-linguistique plus simple :
| Évolution | Proto-Confluent | Ancien Confluent | Changement |
|-----------|-----------------|------------------|------------|
| **Voyelles** | 4 (a, e, i, o) | 5 (a, e, i, o, u) | Ajout du /u/ |
| **Consonnes** | 8 (b, k, l, m, n, p, s, t) | 10 (+v, z) | Ajout fricatives |
| **Structure** | CV strict | CV + verbes CVC | Complexification |
**Tendance historique** :
- **Simplification** des groupes consonantiques
- **Stabilisation** des finales en voyelle
- **Différenciation** verbes (C finale) vs racines (V finale)
### Changements à venir (Confluent Classique)
Le système phonétique actuel (Ancien Confluent) est **stable et validé**. Évolutions futures possibles :
1. **Activation des voyelles réservées** (y, é, è)
2. **Diphtongues formelles** (ai, au, ei)
3. **Tons ou accents** pour nuances sémantiques
4. **Registres prosodiques** (rituel vs quotidien)
---
## Exemples phonétiques annotés
### Analyse phonétique de "Siliaska"
```
Siliaska [si-li-as-ka]
│││││││
│││││└─ ka : CV (occlusive + ouverte)
││││└── as : VC (ouverte + fricative)
│││└─── li : CV (latérale + fermée)
││└──── i : liaison sacrée (agent actif)
│└───── sil: forme liée de "sili" (regard)
└────── Composition : sil-i-aska
Sonorité : Liquide (l) + Fricative (s) + Vélaire (k)
Harmonie : Voyelles mixtes (i-i-a-a)
Résonance : Excellente (4 syllabes CV équilibrées)
```
### Analyse phonétique de "Uraakota"
```
Uraakota [u-ra-a-ko-ta]
│││││││││
││││││└─ ta : CV (occlusive + ouverte)
│││││└── ko : CV (vélaire + postérieure)
││││└─── aa : liaison sacrée (fusion)
│││└──── ur : forme liée de "ura" (eau)
││└───── kota : racine standard (union)
│└────── Composition : ur-aa-kota
Sonorité : Fricative (r→liquide) + Vélaires (k) + Occlusive (t)
Harmonie : Postérieures dominantes (u-a-a-o-a)
Résonance : Puissante (voyelles ouvertes, 5 syllabes)
Symbolisme : Le son mime le flux confluent des eaux
```
---
## Annexe : Comparaison typologique
### Inspirations linguistiques
| Langue | Caractéristique empruntée | Application au Confluent |
|--------|---------------------------|--------------------------|
| **Finnois** | Harmonie vocalique | Tendance antérieur/postérieur |
| **Basque** | Structure CV stricte | Racines en ...CV |
| **Japonais** | Syllabaire simple | Transparence phonétique |
| **Quechua** | Suffixes agglutinants | Particules et conjugateurs |
| **Esperanto** | Régularité absolue | Règles sans exception |
### Originalité du système
Le Confluent n'est **pas** une relexification d'une langue naturelle. C'est une création originale qui emprunte des **principes** à diverses langues tout en maintenant sa propre logique interne, guidée par la culture de la Civilisation de la Confluence.
---
*Document linguistique - Civilisation de la Confluence*
*Voir aussi : 02-MORPHOLOGIE.md pour la structure des mots*

View File

@ -0,0 +1,614 @@
# 02 - MORPHOLOGIE DU CONFLUENT
La morphologie du Confluent incarne le principe central de la civilisation : **la confluence**. Les mots se rejoignent et se mêlent comme les eaux de deux rivières, créant quelque chose de plus riche que leurs sources séparées.
---
## Philosophie morphologique
Le Confluent est une langue **agglutinante** où les mots complexes se construisent par **composition de racines** liées par des **liaisons sacrées**. Cette structure reflète trois valeurs fondamentales :
1. **Transparence** : L'étymologie reste visible dans chaque mot composé
2. **Accumulation** : Les mots portent l'histoire de leurs composants
3. **Confluence** : La rencontre de deux concepts crée un sens nouveau
---
## Structure des racines
### Règle fondamentale : finale en CV
**Toute racine se termine par CV** (Consonne + Voyelle)
```
✅ RACINES VALIDES
sili (si-li) : regard
toka (to-ka) : terre
vena (ve-na) : air
keko (ke-ko) : écho
❌ RACINES INVALIDES
sil (finale C)
tok (finale C)
ven (finale C)
```
### Exception : les verbes
Les verbes sont des racines transformées qui **finissent par une consonne** (forme CVCVC) :
```
RACINE → VERBE
mira → mirak (voir)
neka → nekan (faire)
vosa → vosak (dire)
kisu → kisun (transmettre)
```
Cette distinction permet d'identifier immédiatement la classe grammaticale d'un mot :
| Finale | Classe | Exemples |
|--------|--------|----------|
| **Voyelle** | Nom/Racine | sili, aska, kota |
| **Consonne** | Verbe | mirak, nekan, kisun |
---
## Types de racines
### Racines sacrées (~20%)
Les racines sacrées commencent par une **voyelle** et représentent des concepts **anciens, fondamentaux et spirituels**.
**Structure** : V-C-V (Voyelle-Consonne-Voyelle)
| ID | Forme base | Forme liée | Sens | Domaine |
|----|------------|------------|------|---------|
| 1 | **aska** | ask- | libre, liberté | Concept fondateur |
| 2 | **aita** | ait- | ancêtre, ancien | Lignée sacrée |
| 3 | **asa** | as- | sacré, divin | Spirituel |
| 4 | **apo** | ap- | oiseau, vol | Nature sacrée |
| 5 | **alu** | al- | grue (Regard-Libre) | Animal sacré |
| 6 | **aki** | ak- | faucon | Animal sacré |
| 7 | **ura** | ur- | eau, fluide | Élément primordial |
| 8 | **umi** | um- | esprit, souffle vital | Spirituel |
| 9 | **iko** | ik- | un, unique, seul | Concept fondateur |
| 10 | **ita** | it- | être, exister | Existence |
| 11 | **ena** | en- | origine, source, naissance | Dimension |
| 12 | **eka** | ek- | tout, entier, totalité | Dimension |
| 13 | **oki** | ok- | épreuve, défi, danger | Conflit sacré |
| 14 | **ora** | or- | aurore, aube | Moment sacré |
| 15 | **onu** | on- | son, vibration | Rituel |
| 68 | **anu** | an- | âme, conscience profonde | Spirituel |
| 69 | **eku** | ek- | étoile | Céleste sacré |
| 70 | **osi** | os- | mort, mourir | Cycle sacré |
| 71 | **apa** | ap- | aile | Nature sacrée |
**Caractéristiques** :
- Début vocalique (ouverture, primordialité)
- Concepts abstraits ou éléments primordiaux
- Noyau du vocabulaire rituel et spirituel
- Ratio : 19/176 = ~11% (objectif 20-25%)
### Racines standards (~80%)
Les racines standards commencent par une **consonne** et représentent des concepts **quotidiens, techniques et récents**.
**Structure** : C-V-C-V (Consonne-Voyelle-Consonne-Voyelle)
**Exemples par domaine** :
#### Éléments naturels
| Forme base | Forme liée | Sens |
|------------|------------|------|
| zeru | zer- | ciel |
| toka | tok- | terre, sol |
| suki | suk- | feu, flamme |
| vena | ven- | air, vent |
| kari | kar- | pierre, roche |
| nura | nur- | rivière, courant |
#### Corps et sens
| Forme base | Forme liée | Sens |
|------------|------------|------|
| sili | sil- | œil, regard, vision |
| kanu | kan- | main |
| voki | vok- | voix, parole |
| tiku | tik- | oreille, écoute |
| kori | kor- | cœur |
#### Actions
| Forme base | Forme liée | Sens |
|------------|------------|------|
| mira | mir- | voir, observer |
| teki | tek- | aller, chemin |
| kita | kit- | donner |
| pasa | pas- | prendre |
| neka | nek- | faire, créer |
#### Êtres et relations
| Forme base | Forme liée | Sens |
|------------|------------|------|
| kota | kot- | union, confluence |
| naki | nak- | enfant, descendant |
| tori | tor- | personne, individu |
| vaku | vak- | ami, allié |
**Caractéristiques** :
- Début consonantique (articulation, création humaine)
- Concepts concrets ou techniques
- Évolution constante du lexique
- Ratio : 157/176 = ~89% (dans la marge)
---
## Les 16 liaisons sacrées
Les liaisons sacrées sont le **cœur du système morphologique** du Confluent. Elles relient deux racines pour créer un mot composé avec un sens nouveau.
### Principe de composition
```
RACINE₁ (forme liée) + LIAISON + RACINE₂ → MOT COMPOSÉ
Exemple :
sili (regard) → sil-
sil- + -i- (agent actif) + aska (libre)
→ siliaska (porteur du regard libre)
```
### Algorithme de liaison
1. **Prendre la racine 1** et retirer sa voyelle finale → **forme liée**
- sili → sil-
- ura → ur-
- naki → nak-
2. **Ajouter la liaison sacrée** appropriée selon le sens voulu
- sil- + **-i-** (agent)
- ur- + **-aa-** (fusion)
- nak- + **-u-** (appartenance)
3. **Ajouter la racine 2** intacte
- sil-i-**aska**
- ur-aa-**kota**
- nak-u-**ura**
4. **Résultat** : mot composé transparent
- **siliaska** = porteur du regard libre
- **uraakota** = eau confluente, La Confluence
- **nakuura** = enfant de l'eau
### Tableau complet des liaisons
#### Domaine I : Agentivité (celui qui...)
| Liaison | Concept | Sens | Exemple |
|---------|---------|------|---------|
| **-i-** | actif | celui qui fait, porte, agit | sil-**i**-aska = porteur du regard |
| **-ie-** | récepteur | celui qui reçoit, subit | kor-**ie**-vosi = celui qui reçoit la parole |
| **-ii-** | essentiel | celui qui EST (essence) | um-**ii**-tori = personne-esprit (essence) |
| **-iu-** | potentiel | celui qui devient | nak-**iu**-kasi = enfant devenant chef |
**Usage** : Création d'agents, de rôles, de castes
#### Domaine U : Appartenance (de, pour)
| Liaison | Concept | Sens | Exemple |
|---------|---------|------|---------|
| **-u-** | de | appartenant à (= "no" japonais) | nak-**u**-ura = enfant de l'eau |
| **-ui-** | pour | destiné à, au service de | tal-**ui**-savu = hall pour les serments |
**Usage** : Possession, affiliation, destination
#### Domaine A : Relation (avec, ensemble)
| Liaison | Concept | Sens | Exemple |
|---------|---------|------|---------|
| **-a-** | avec | ensemble, accompagné | or-**a**-umi = aurore avec esprit |
| **-aa-** | mélange | mêlé à, confluent, fusionné | ur-**aa**-kota = eau mêlée à l'union |
| **-ae-** | égal | équivalent à, au même niveau | tor-**ae**-kasi = personne égale au chef |
| **-ao-** | domine | supérieur à, vainqueur | ak-**ao**-zana = faucon vainqueur |
**Usage** : Relations sociales, hiérarchies, fusion de concepts
#### Domaine O : Tension (contre, obstacle)
| Liaison | Concept | Sens | Exemple |
|---------|---------|------|---------|
| **-o-** | obstacle | face à, contre, confrontation | kor-**o**-oki = cœur face au danger |
| **-oa-** | résolu | surmonté, accompli, vaincu | ak-**oa**-zana = faucon ayant vaincu |
**Usage** : Conflit, défi, résolution
#### Domaine E : Dimension temporelle/spatiale
| Liaison | Concept | Sens | Exemple |
|---------|---------|------|---------|
| **-e-** | source | origine, passé, cause | nek-**e**-seka = faire-origine du savoir |
| **-ei-** | centre | présent, ici, actuel | lok-**ei**-tisa = lieu-ici, cet endroit |
| **-ea-** | direction | futur, but, destination | tek-**ea**-kota = chemin vers l'union |
| **-eo-** | totalité | éternel, universel, absolu | sil-**eo**-veri = regard éternel/vérité |
**Usage** : Temporalité, causalité, spatialité abstraite
---
## Exemples de composition détaillés
### Exemple 1 : Siliaska (Le peuple)
```
COMPOSITION : sil-i-aska
ÉTYMOLOGIE :
├─ sili (regard, œil, vision)
│ └─ racine standard (observation)
├─ -i- (agent actif)
│ └─ "celui qui porte, qui fait"
└─ aska (libre, liberté)
└─ racine sacrée (concept fondateur)
SENS LITTÉRAL : "Porteurs du regard libre"
SENS CULTUREL : Le peuple de la Confluence, caractérisé par
son regard libre acquis par le pèlerinage
au Gouffre Humide
ANALYSE MORPHOLOGIQUE :
- Type : Nom ethnique (peuple)
- Structure : standard-liaison-sacrée (courant)
- Longueur : 8 lettres, 4 syllabes
- Euphonie : si-li-as-ka (liquide + fricative + vélaire)
```
### Exemple 2 : Uraakota (La Confluence)
```
COMPOSITION : ur-aa-kota
ÉTYMOLOGIE :
├─ ura (eau, fluide)
│ └─ racine sacrée (élément primordial)
├─ -aa- (mélange, fusion)
│ └─ "mêlé à, confluent"
└─ kota (union, ensemble, confluence)
└─ racine standard (relation)
SENS LITTÉRAL : "Eau-fusion-union"
SENS CULTUREL : Le lieu de confluence des deux rivières,
centre spirituel et politique,
capitale de la civilisation
ANALYSE MORPHOLOGIQUE :
- Type : Nom propre (lieu)
- Structure : sacrée-liaison-standard (rare, valorisée)
- Longueur : 8 lettres, 5 syllabes
- Euphonie : u-ra-a-ko-ta (dominante vocalique postérieure)
- Symbolisme : La double voyelle "aa" mime le flux d'eau
```
### Exemple 3 : Nakukeko (Enfants des Échos)
```
COMPOSITION : nak-u-keko
ÉTYMOLOGIE :
├─ naki (enfant, descendant)
│ └─ racine standard (relation familiale)
├─ -u- (appartenance)
│ └─ "de, appartenant à"
└─ keko (écho, résonance)
└─ racine standard (phénomène acoustique)
SENS LITTÉRAL : "Enfants de l'écho"
SENS CULTUREL : Caste des habitants souterrains,
pâles, adaptés aux grottes,
maîtres carriers et sculpteurs
ANALYSE MORPHOLOGIQUE :
- Type : Nom de caste
- Structure : standard-liaison-standard (courant)
- Longueur : 8 lettres, 4 syllabes
- Euphonie : na-ku-ke-ko (répétition k, mime l'écho)
- Symbolisme : La structure répétitive évoque la réverbération
```
### Exemple 4 : Akoazana (Faucons Chasseurs)
```
COMPOSITION : ak-oa-zana
ÉTYMOLOGIE :
├─ aki (faucon)
│ └─ racine sacrée (animal sacré)
├─ -oa- (résolution, vaincu)
│ └─ "surmonté, accompli, vainqueur"
└─ zana (chasser, traquer)
└─ racine standard (action de chasse)
SENS LITTÉRAL : "Faucon-vainqueur-chasseur"
SENS CULTUREL : Élite militaire, judiciaire et religieuse,
basés dans les Halls des Serments,
guerriers d'élite
ANALYSE MORPHOLOGIQUE :
- Type : Nom de caste
- Structure : sacrée-liaison-standard (valorisée)
- Longueur : 8 lettres, 4 syllabes
- Euphonie : a-ko-a-za-na (dominante vocalique antérieure)
- Symbolisme : -oa- exprime la maîtrise de la chasse
```
### Exemple 5 : Oraumi (Voix de l'Aurore)
```
COMPOSITION : or-a-umi
ÉTYMOLOGIE :
├─ ora (aurore, aube)
│ └─ racine sacrée (moment sacré)
├─ -a- (avec, ensemble)
│ └─ "accompagné de"
└─ umi (esprit, souffle vital)
└─ racine sacrée (concept spirituel)
SENS LITTÉRAL : "Aurore-avec-esprit"
SENS CULTUREL : Chamans gardiens des lois anciennes,
menés par les Ailes-Grises,
guides spirituels de la civilisation
ANALYSE MORPHOLOGIQUE :
- Type : Nom de caste
- Structure : sacrée-liaison-sacrée (RARE, très valorisée)
- Longueur : 6 lettres, 4 syllabes
- Euphonie : o-ra-u-mi (liquide + voyelles ouvertes)
- Symbolisme : Double racine sacrée = statut spirituel élevé
```
---
## Règles de composition avancées
### Composition multiple (3+ éléments)
Il est possible de composer plus de deux racines, mais c'est **rare** :
```
STRUCTURE : racine₁-liaison₁-racine₂-liaison₂-racine₃
Exemple théorique :
sil-i-ask-u-tori
= porteur-du-regard-libre-personne
= "Personne ayant le regard libre"
⚠️ En pratique : Éviter les compositions de 3+ éléments
car elles deviennent trop longues et difficiles à prononcer.
Préférer : siliaska tori (juxtaposition)
```
### Composition avec racines identiques
Possible mais rare, crée un effet d'emphase :
```
ur-aa-ura = eau-fusion-eau = "Grande eau", océan
sil-i-sili = regard-actif-regard = "Regard intense"
```
### Collision vocalique (hiatus)
Quand une liaison se termine par une voyelle et la racine 2 commence par une voyelle :
```
PROBLÈME : ur-aa-ura → ur-aa-ura (a-u hiatus)
SOLUTION : Accepter l'hiatus (prononciation distincte)
Prononciation : [u-ra-a-u-ra]
Pas de fusion : ur-aura ❌
Pas d'élision : ur-aa-ra ❌
```
### Ordre des éléments
**Principe général** : Le modifié précède le modifiant
```
✅ CORRECT
sil-i-aska = regard-AGENT-libre
= "Celui qui porte le regard libre"
(le regard est l'élément central, la liberté le qualifie)
nak-u-ura = enfant-DE-eau
= "Enfant de l'eau"
(l'enfant est l'élément central, l'eau l'origine)
❌ INCORRECT (sens inversé)
ask-i-sili = libre-AGENT-regard
= "Celui qui porte la liberté du regard" (sens différent)
```
### Forme liée systématique
**Règle absolue** : La racine 1 passe TOUJOURS en forme liée (perte voyelle finale)
```
sili → sil-
aska → ask-
ura → ur-
naki → nak-
kota → kot-
JAMAIS :
sili-i-aska ❌
ura-aa-kota ❌
```
---
## Morphologie verbale
Les verbes méritent une section à part car leur morphologie est distincte.
### Forme infinitive (CVCVC)
Les verbes sont des **racines modifiées** qui prennent une consonne finale :
| Racine (CV) | Verbe (CVC) | Suffixe | Exemple |
|-------------|-------------|---------|---------|
| mira | mir-ak | -k | voir |
| neka | nek-an | -n | faire |
| vosa | vos-ak | -k | dire |
| teki | tek-is | -s | aller |
| kisu | kis-un | -n | transmettre |
**Suffixes verbaux** :
- **-k** : verbes d'observation/perception (mirak, pasak, vosak)
- **-n** : verbes d'action/création (nekan, kitan, kisun)
- **-s** : verbes de mouvement (tekis, mokis, zakis)
- **-m** : verbes de connaissance (sekam)
### Verbe + Conjugateur
Les verbes ne se conjuguent **jamais** par flexion interne. Ils restent invariables et prennent des **conjugateurs suffixés** :
```
STRUCTURE : VERBE + CONJUGATEUR
mirak + u → miraku (je vois, présent)
mirak + at → mirakat (j'ai vu, passé)
mirak + en → mirakem (je verrai, futur)
```
Voir **03-GRAMMAIRE.md** pour la liste complète des conjugateurs.
---
## Morphologie dérivationnelle
### Nominalisation (racine → nom d'action)
On peut créer un nom d'action à partir d'une racine verbale :
```
RACINE VERBALE → NOM D'ACTION
mira (voir) → mira + seka (savoir) → miraseka (observation)
neka (faire) → neka + tava (travail) → nekatava (création)
```
⚠️ **Attention** : Pas de suffixe dérivatif "-tion", "-ment", etc.
On utilise la **composition** avec des racines appropriées.
### Adjectivisation (racine → qualité)
Le Confluent n'a pas d'adjectifs au sens traditionnel. On utilise :
1. **Composition avec liaison -a-** (avec) :
```
kori-a-suki = cœur-avec-feu = "colérique"
sili-a-veri = regard-avec-vérité = "clairvoyant"
```
2. **Juxtaposition** :
```
tori mako = personne grande = "grande personne"
ura nisa = eau humide = "eau humide" (pléonasme rare)
```
### Adverbialisation (racine → manière)
Pas d'adverbes morphologiques (-ment). Utiliser :
1. **Composition avec liaison -e-** (origine/cause) :
```
nek-e-tosa = faire-avec-bonté = "bien fait"
vos-e-veri = dire-avec-vérité = "dire vraiment"
```
2. **Particule instrumentale "vu"** :
```
vu kori tosa = avec cœur bon = "avec bonté"
```
---
## Morphologie diachronique
### Évolution Proto → Ancien → Classique
| Stade | Structure racine | Liaisons | Verbes |
|-------|------------------|----------|--------|
| **Proto-Confluent** | CV strict | Pas de liaisons | Racines verbales CV |
| **Ancien Confluent** | CV (racines), CVC (verbes) | 16 liaisons sacrées | Verbes CVCVC + conjugateurs |
| **Classique** (futur) | CV + diphtongues | 16+ liaisons étendues | Verbes + aspects complexes |
### Innovations morphologiques récentes
Le système actuel (Ancien Confluent) a introduit :
1. **Distinction verbe/nom** par la finale (C vs V)
2. **16 liaisons sacrées** codifiées (auparavant juxtaposition)
3. **Conjugateurs** séparés du radical verbal
---
## Productivité morphologique
### Règles de création de nouveaux mots
Pour créer un nouveau mot en respectant le système :
1. **Identifier le concept** à exprimer
2. **Choisir 2 racines** existantes pertinentes
3. **Sélectionner la liaison** appropriée
4. **Vérifier l'euphonie** (éviter 3 consonnes, hiatus difficiles)
5. **Valider la transparence** (étymologie claire ?)
**Exemple de création** :
```
BESOIN : "forgeron" (travailleur du métal)
ANALYSE :
- metu (métal) + tava (travail) + agent
- met- + -i- + tava
RÉSULTAT : metitava (forgeron)
DÉCOMPOSITION : met-i-tava = métal-agent-travail
VALIDATION :
✅ Euphonie : me-ti-ta-va (4 syllabes CV)
✅ Transparence : "celui qui travaille le métal"
✅ Ratio : standard-liaison-standard (acceptable)
```
---
## Annexe : Index morphologique
### Racines par fréquence dans compositions
Top 10 des racines les plus composées :
1. **sili** (regard) : siliaska, silietiku, siliaveri...
2. **naki** (enfant) : nakuura, nakukeko, nakiumita...
3. **ura** (eau) : uraakota, vukuura, nakuura...
4. **kota** (union) : uraakota, kekutoka...
5. **aska** (libre) : siliaska, aliaska...
6. **aki** (faucon) : akoazana...
7. **ora** (aurore) : oraumi...
8. **umi** (esprit) : oraumi...
9. **keko** (écho) : nakukeko, kekutoka...
10. **vela** (vigile) : sikuvela...
### Liaisons par fréquence d'usage
1. **-u-** (appartenance) : 40% des compositions (nakuura, vukuura...)
2. **-i-** (agent) : 25% (siliaska, takitosa...)
3. **-a-** (avec) : 15% (oraumi, ekakova...)
4. **-aa-** (fusion) : 10% (uraakota...)
5. Autres : 10%
---
*Document linguistique - Civilisation de la Confluence*
*Voir aussi : 03-GRAMMAIRE.md pour le système verbal complet*

558
docs/langue/03-GRAMMAIRE.md Normal file
View File

@ -0,0 +1,558 @@
# 03 - GRAMMAIRE DU CONFLUENT
La grammaire du Confluent est un système **transparent et régulier** qui reflète la vision multi-générationnelle de la civilisation. Chaque élément grammatical a été pensé pour exprimer non seulement le temps, mais aussi **la mémoire, la transmission et la continuité**.
---
## Philosophie grammaticale
La grammaire du Confluent repose sur trois principes :
1. **Transparence** : Chaque élément grammatical est un morphème séparé et visible
2. **Régularité** : Aucune exception, aucune conjugaison irrégulière
3. **Profondeur temporelle** : 4 niveaux de passé reflètent la mémoire culturelle
---
## Classes de mots
### Distinction nom/verbe
Le Confluent distingue noms et verbes par leur **finale** :
| Classe | Finale | Structure | Exemples |
|--------|--------|-----------|----------|
| **Noms/Racines** | Voyelle | ...CV | sili, aska, kota, naki |
| **Verbes** | Consonne | CVCVC | mirak, nekan, vosak, kisun |
Cette distinction est **absolue** et permet d'identifier immédiatement la classe d'un mot.
### Autres classes
Le Confluent n'a pas de classes fermées rigides, mais plutôt des **fonctions** :
- **Particules** : invariables, marquent les fonctions syntaxiques
- **Pronoms** : 3 formes fixes (miki, sinu, tani)
- **Démonstratifs** : 2 racines (tisa/tova) + compositions
- **Nombres** : base 12, système additionnel
**Pas d'adjectifs, pas d'adverbes** : Ces fonctions sont assurées par composition de racines ou particules.
---
## Système verbal
### Les 12 verbes de base (héritage Proto-Confluent)
| Verbe | Sens | Racine | Usage |
|-------|------|--------|-------|
| **mirak** | voir, observer | mira | Perception visuelle |
| **tekis** | aller, voyager | teki | Mouvement |
| **kitan** | donner, offrir | kita | Transfert |
| **pasak** | prendre, saisir | pasa | Acquisition |
| **nekan** | faire, créer | neka | Action créative |
| **vosak** | dire, parler | vosa | Communication |
| **sekam** | savoir, connaître | seka | Connaissance |
| **mokis** | apprendre | moki | Acquisition savoir |
| **kisun** | transmettre, enseigner | kisu | Transmission |
| **zakis** | garder, protéger | zaki | Protection |
| **takan** | porter, transporter | taka | Portage |
| **zanak** | chasser, traquer | zana | Chasse |
**Extension moderne** : Le lexique actuel compte **36 verbes** supplémentaires (voir lexique.json).
### Verbes spirituels importants
| Verbe | Sens | Racine | Contexte |
|-------|------|--------|----------|
| **umiak** | méditer | umi | Pratique spirituelle |
| **asavik** | prier | asa | Rituel sacré |
| **vokis** | invoquer | voki | Appel aux esprits |
| **tosan** | bénir | tosa | Bénédiction |
| **kotam** | communier | kota | Union spirituelle |
| **osian** | mourir | osi | Passage vers ancêtres |
---
## Conjugaison : système de conjugateurs
Le Confluent **n'a pas de conjugaison par flexion**. Le verbe reste invariable et prend des **conjugateurs suffixés**.
**Structure** : `VERBE + CONJUGATEUR`
```
mirak + u → miraku (je vois - présent)
mirak + at → mirakat (j'ai vu - passé vécu)
mirak + en → mirakem (je verrai - futur)
```
### Conjugateurs de temps (6)
Les conjugateurs de temps sont au cœur de la vision multi-générationnelle.
| Conjugateur | Sens | Durée | Exemple | Contexte |
|-------------|------|-------|---------|----------|
| **u** | Présent neutre | Maintenant | miraku | Action en cours |
| **at** | Passé vécu | Ma vie | mirakat | J'ai vu de mes yeux |
| **aan** | Passé regretté | Ma vie | mirakaan | J'ai vu (et je regrette) |
| **ait** | Passé ancestral | Lignée | mirakait | Nos ancêtres ont vu |
| **amat** | Passé mythique | Temps premiers | mirakamat | Les Premiers ont vu |
| **en** | Futur | À venir | mirakem | Je verrai |
#### Les 4 passés : philosophie de la mémoire
Le Confluent possède **4 niveaux de passé**, reflétant l'importance culturelle de la transmission :
**1. Passé vécu (at)** : "Dans ma vie"
```
Va miki vo aita mirakat
= J'ai vu l'ancêtre (de mes yeux)
```
**2. Passé regretté (aan)** : "Hélas, dans ma vie"
```
Va miki vo tori nekaan
= J'ai créé la personne (erreur, regret)
```
- Usage : Actions malheureuses, erreurs, regrets
- Marque la **réflexivité** et **l'apprentissage par l'erreur**
**3. Passé ancestral (ait)** : "Temps de nos ancêtres"
```
Va aita su vo seka kisunit
= Les ancêtres ont transmis le savoir
```
- Usage : Savoirs transmis, traditions, lois
- Marque la **légitimité par la lignée**
**4. Passé mythique (amat)** : "Temps des Premiers Ancêtres"
```
Va ena su vo Uraakota nekamat
= Les Premiers ont créé La Confluence
```
- Usage : Mythes, cosmogonie, temps sacrés
- Marque **l'origine absolue**, le temps cérémoniel
Cette stratification temporelle reflète la vision de la civilisation : le savoir s'accumule génération après génération, comme les couches de la Grande Fresque.
### Conjugateurs d'aspect (4)
Les aspects modifient la **manière** dont l'action se déroule.
| Conjugateur | Sens | Description | Exemple |
|-------------|------|-------------|---------|
| **il** | Accompli | Action terminée, résultat permanent | mirakil (avoir vu complètement) |
| **eol** | Habituel | Action régulière, répétée | mirakeol (voir habituellement) |
| **eon** | Cyclique | Action qui revient (saisons) | mirakeon (voir cycliquement) |
| **eom** | Éternel | Action immuable, hors du temps | mirakeom (voir éternellement) |
**Exemples culturels** :
```
Va sora tekiseon
= Le soleil va cycliquement (lever quotidien)
Va aita su vo seka kisuneom
= Les ancêtres transmettent éternellement le savoir
(transmission perpétuelle)
Va naki vo aita mirakeol
= L'enfant voit habituellement l'ancêtre
(rituel régulier)
```
### Conjugateurs de mode (3)
Les modes expriment l'**attitude** du locuteur envers l'action.
| Conjugateur | Sens | Usage | Exemple |
|-------------|------|-------|---------|
| **ok** | Impératif | Ordre, commande | mirakok (vois !) |
| **es** | Souhait | Désir, espoir | mirakes (puissé-je voir) |
| **ul** | Capacité | Pouvoir, aptitude | mirakul (pouvoir voir) |
**Exemples** :
```
Miratok!
= Regarde ! (ordre direct)
Va miki vo uraakota mirakes
= Puissé-je voir la Confluence (souhait de pèlerinage)
Va siliaska vo veri mirakul
= Les Siliaska peuvent voir la vérité (capacité acquise)
```
### Conjugateur évidentiel (1)
L'évidentiel marque la **source de l'information**.
| Conjugateur | Sens | Usage | Exemple |
|-------------|------|-------|---------|
| **uv** | C'est écrit | Source textuelle, archives | mirakuv (il est écrit qu'on a vu) |
**Contexte culturel** : L'évidentiel -uv est crucial pour une civilisation qui valorise les **archives sur glyphes**. Il marque qu'une information provient d'une source écrite, donc vérifiable et transmissible.
```
Va aita su vo Vukuura nekanuv
= Les ancêtres ont créé le Gouffre Humide (c'est écrit)
(référence aux tablettes d'argile)
```
### Combinaisons de conjugateurs
**Règle** : On peut combiner **temps + aspect** ou **temps + mode**, mais pas **aspect + mode**.
```
✅ COMBINAISONS VALIDES
mirakat + il → mirakatil (j'ai vu complètement - passé accompli)
mirakem + es → mirakemes (je souhaiterai voir - futur souhait)
miraku + eol → mirakueol (je vois habituellement - présent habituel)
❌ COMBINAISONS INVALIDES
mirakil + es (accompli + souhait)
mirakeol + ok (habituel + impératif)
```
**Ordre** : VERBE + TEMPS + ASPECT/MODE
```
mirak + at + il → mirakatil
(voir + passé + accompli)
= "J'ai complètement vu"
```
---
## Pronoms personnels (3)
Le Confluent possède **3 pronoms** de base, sans distinction de genre.
| Pronom | Sens | Personne | Exemple |
|--------|------|----------|---------|
| **miki** | je, moi | 1sg | va miki miraku |
| **sinu** | tu, toi | 2sg | va sinu miraku |
| **tani** | il, elle, iel | 3sg | va tani miraku |
**Pas de pluriel pronominal** : Utiliser le pluriel **su** :
```
va miki su = nous (littéralement "je-pluriel")
va sinu su = vous
va tani su = ils/elles/iels
```
**Pas de distinction de genre** : Le pronom **tani** est neutre et s'applique à tous les genres. Cela reflète la vision égalitaire de la Confluence.
**Pas de vouvoiement** : Le Confluent n'a pas de forme de politesse pronominale. Le respect s'exprime par :
- Le choix des verbes (bénir, honorer)
- Les titres et castes (Akoazana, Aliaska)
- Les particules honorifiques (à développer)
---
## Démonstratifs (2)
Le Confluent possède **2 racines démonstratives** :
| Racine | Sens | Distance | Exemple |
|--------|------|----------|---------|
| **tisa** | ici, proche, présent | Proximité | tisa tori = cette personne-ci |
| **tova** | là-bas, loin, distant | Éloignement | tova tori = cette personne-là |
**Compositions** :
```
tis-i-loku = cet-endroit-ci (lieu proximal)
tov-i-loku = cet-endroit-là (lieu distal)
tis-i-naki = cet-enfant-ci
tov-i-naki = cet-enfant-là
```
**Usage temporel** (extension moderne) :
```
tisa = maintenant, ce moment (temps proximal)
tova = alors, ce moment-là (temps distal)
```
---
## Système de nombres (Base 12)
Le Confluent utilise la **base 12** (dodécimale), basée sur :
- **12 phalanges** sur 4 doigts (comptage corporel)
- **12 cycles lunaires** par année (cosmologie)
### Chiffres de base (0-12)
| Base 10 | Base 12 | Confluent | Forme liée |
|---------|---------|-----------|------------|
| 0 | 0 | **zaro** | zar- |
| 1 | 1 | **iko** | ik- |
| 2 | 2 | **diku** | dik- |
| 3 | 3 | **tiru** | tir- |
| 4 | 4 | **katu** | kat- |
| 5 | 5 | **penu** | pen- |
| 6 | 6 | **seku** | sek- |
| 7 | 7 | **sivu** | siv- |
| 8 | 8 | **oktu** | okt- |
| 9 | 9 | **novu** | nov- |
| 10 | A | **deku** | dek- |
| 11 | B | **levu** | lev- |
| 12 | 10 | **tolu** | tol- |
### Puissances de 12
| Valeur (base 10) | Base 12 | Confluent | Composition |
|------------------|---------|-----------|-------------|
| 12 | 10 | **tolu** | douzaine |
| 144 | 100 | **tolusa** | tol-u-sa (grosse) |
| 1728 | 1000 | **toluaa** | tol-aa-tol (confluence de douzaines) |
| 20736 | 10000 | **tolumako** | tol-u-mako (grande douzaine) |
### Construction des nombres
**Structure** : COEFFICIENT + tolu + UNITÉ
```
13 (base 10) = 1×12 + 1 = "11" (base 12)
→ tolu iko (douze-un)
25 (base 10) = 2×12 + 1 = "21" (base 12)
→ diku tolu iko (deux-douze-un)
37 (base 10) = 3×12 + 1 = "31" (base 12)
→ tiru tolu iko (trois-douze-un)
144 (base 10) = 12² = "100" (base 12)
→ tolusa (grosse)
156 (base 10) = 144 + 12 = "110" (base 12)
→ tolusa tolu (grosse-douze)
```
### Quantificateurs vagues
Le Confluent utilise aussi des **quantificateurs approximatifs** :
| Expression | Sens | Usage |
|------------|------|-------|
| **tiru tiru** | quelques | Répétition de "trois" |
| **tolu tolu** | beaucoup | Répétition de "douze" |
| **mako** | grand nombre | Racine "grand" |
| **pisu** | petit nombre | Racine "petit" |
```
Va tiru tiru naki tekisu
= Quelques enfants vont (3-3 enfants)
Va tolu tolu apo miraku
= Beaucoup d'oiseaux voient (12-12 oiseaux)
```
### Opérations arithmétiques (vocabulaire)
| Opération | Verbe | Exemple |
|-----------|-------|---------|
| Compter | **toluk** | Compter en base 12 |
| Additionner | **samuk** | Assembler (samu + -k) |
| Soustraire | **pasak** | Prendre (retirer) |
| Multiplier | **mikuaa** | Mélanger-fusion (miku + -aa-) |
| Diviser | **kisun** | Partager (transmettre) |
---
## Particules grammaticales
Les particules sont des **morphèmes invariables** qui marquent les fonctions syntaxiques. Voir **04-SYNTAXE.md** pour leur usage détaillé.
### Particules de cas (avant le nom)
| Particule | Fonction | Équivalent français |
|-----------|----------|---------------------|
| **va** | Sujet | (sujet de la phrase) |
| **vo** | Objet direct | (complément d'objet) |
| **vi** | Direction | vers, à |
| **ve** | Origine | de, depuis |
| **vu** | Instrument | avec, au moyen de |
| **na** | Possession | de (appartenance) |
| **ni** | Bénéficiaire | pour, à l'intention de |
| **no** | Lieu | dans, à (localisation) |
### Particules de négation (avant le verbe)
| Particule | Sens | Usage |
|-----------|------|-------|
| **zo** | ne...pas | Négation standard |
| **zom** | jamais | Négation temporelle absolue |
| **zob** | interdit | Négation modale (prohibition) |
| **zoe** | pas vraiment | Négation atténuée |
### Particules interrogatives
| Particule | Sens | Position |
|-----------|------|----------|
| **ka** | est-ce que ? | Fin de phrase |
| **ki** | qui ? | Remplace le sujet/objet |
| **ke** | quoi ? | Remplace l'objet |
| **ko** | où ? | Remplace le lieu |
| **ku** | quand ? | Remplace le temps |
### Particule de pluriel
| Particule | Sens | Position |
|-----------|------|----------|
| **su** | pluriel | **APRÈS** le nom |
**⚠️ IMPORTANT** : Contrairement aux autres particules, **su** se place **après** le nom.
```
✅ CORRECT
va naki su = les enfants (SUJET)
vo apo su = les oiseaux (OBJET)
❌ INCORRECT
va su naki
vo su apo
```
---
## Connecteurs logiques
Le Confluent possède des **connecteurs** pour relier les propositions.
| Connecteur | Sens | Type | Position |
|------------|------|------|----------|
| **ti** | et | Coordination | Entre éléments |
| **bo** | mais | Opposition | Début phrase 2 |
| **po** | ou | Alternative | Entre options |
| **lo** | donc | Conséquence | Début phrase 2 |
| **se** | car, parce que | Cause | Début phrase 2 |
| **me** | si | Condition | Début condition |
| **ne** | alors | Résultat conditionnel | Début résultat |
**Exemples** :
```
Va miki miraku ti va sinu tekisu
= Je vois et tu vas
Va miki miraku. Bo va sinu zo miraku.
= Je vois. Mais tu ne vois pas.
Me va miki miraku, ne va miki vosaku
= Si je vois, alors je parle
```
---
## Émotions : métaphores corporelles
Le Confluent **n'a pas de mots abstraits pour les émotions**. Il utilise des **métaphores corporelles**.
### Racines corporelles émotionnelles
| Racine | Sens | Usage émotionnel |
|--------|------|------------------|
| **kori** | cœur | Centre émotionnel |
| **sili** | regard | Perception/conscience |
| **kina** | sang | Intensité/vitalité |
| **puli** | souffle | Anxiété/calme |
### Métaphores simples (2 mots)
**Usage quotidien** : Juxtaposition de deux racines
| Expression | Traduction littérale | Sens |
|------------|---------------------|------|
| **kori sora** | cœur-soleil | Joie |
| **kori taku** | cœur-sombre | Tristesse |
| **sili taku** | regard-obscur | Peur |
| **kina suki** | sang-feu | Colère |
| **kori ura** | cœur-eau | Calme |
| **sili ura** | regard-fluide | Curiosité |
**Exemple** :
```
Va miki kori sora
= Mon cœur (est) soleil
→ Je suis joyeux
```
### Compositions formelles (avec liaisons)
**Usage formel/rituel** : Composition avec liaison -a- (avec) ou -o- (contre)
| Composition | Décomposition | Sens |
|-------------|---------------|------|
| **koriasora** | kor-a-sora | Joie (cœur avec soleil) |
| **koriataku** | kor-a-taku | Tristesse (cœur avec sombre) |
| **siliataku** | sil-a-taku | Peur (regard avec sombre) |
| **koriasuki** | kor-a-suki | Colère (cœur avec feu) |
| **koriakota** | kor-a-kota | Amour (cœur avec union) |
| **koriaura** | kor-a-ura | Sérénité (cœur avec eau) |
| **koriooki** | kor-o-oki | Angoisse (cœur contre danger) |
**Liaisons utilisées** :
- **-a-** (avec) : Émotions positives/neutres
- **-o-** (contre) : Confrontation, tension
- **zo** (négation) : Privation (ex: korizoora = désespoir, "cœur sans aurore")
**Exemple formel** :
```
Va aita su vo koriakota kisunit
= Les ancêtres ont transmis l'amour (cœur-avec-union)
```
---
## Récapitulatif : grammaire en action
### Phrase simple
```
Va naki vo ura miraku
ANALYSE :
va naki = SUJET (particule + nom)
vo ura = OBJET (particule + nom)
miraku = VERBE (mirak + u présent)
TRADUCTION : L'enfant voit l'eau
```
### Phrase complexe
```
Va aita su vo seka ni naki su kisunit
ANALYSE :
va aita su = SUJET (particule + nom + pluriel)
vo seka = OBJET (particule + nom)
ni naki su = BÉNÉFICIAIRE (particule + nom + pluriel)
kisunit = VERBE (kisun + ait passé ancestral)
TRADUCTION : Les ancêtres ont transmis le savoir aux enfants
```
### Phrase avec émotion
```
Va miki kori sora. Va miki vo Uraakota mirakait.
ANALYSE :
Phrase 1: va miki kori sora
= Sujet "je" + cœur-soleil (métaphore)
= "Mon cœur est soleil" → je suis joyeux
Phrase 2: va miki vo Uraakota mirakait
= Sujet "je" + objet "Confluence" + voir-passé
= "J'ai vu la Confluence"
TRADUCTION : Je suis joyeux. J'ai vu la Confluence.
```
---
*Document linguistique - Civilisation de la Confluence*
*Voir aussi : 04-SYNTAXE.md pour l'ordre des mots et la construction des phrases*

706
docs/langue/04-SYNTAXE.md Normal file
View File

@ -0,0 +1,706 @@
# 04 - SYNTAXE DU CONFLUENT
La syntaxe du Confluent reflète la philosophie de **l'observation avant l'action**. Dans une langue où le regard précède le geste, l'ordre des mots exprime cette vision : on nomme d'abord ce qu'on observe (sujet, objet), puis on exprime l'action (verbe).
---
## Philosophie syntaxique
La syntaxe SOV (Sujet-Objet-Verbe) du Confluent n'est pas arbitraire. Elle incarne trois principes culturels :
1. **Observer avant d'agir** : Nommer les participants avant l'action
2. **Préparer avant d'exécuter** : Identifier sujet et objet avant le verbe
3. **Réfléchir avant de parler** : Construction mentale complète avant énonciation
---
## Ordre des mots : SOV
### Structure de base
**Ordre canonique** : SUJET - OBJET - VERBE
```
Va naki vo ura miraku
│ │ │ │ └─── VERBE (voir-présent)
│ │ │ └──────── OBJET (eau)
│ │ └──────────── Particule objet
│ └───────────────── SUJET (enfant)
└───────────────────── Particule sujet
TRADUCTION : L'enfant voit l'eau
```
### Comparaison avec le français (SVO)
| Langue | Ordre | Exemple |
|--------|-------|---------|
| **Français** | SVO | L'enfant voit l'eau |
| **Confluent** | SOV | Va naki vo ura miraku |
Le français place le verbe **entre** sujet et objet. Le Confluent place le verbe **à la fin**, après avoir identifié tous les participants.
### Justification cognitive
L'ordre SOV oblige le locuteur à :
1. Identifier le sujet (l'agent)
2. Identifier l'objet (le patient)
3. Choisir le verbe approprié (l'action)
Cette séquence reflète le processus d'**observation méthodique** valorisé par les Siliaska.
---
## Particules de cas
Les particules marquent la **fonction syntaxique** des noms dans la phrase. Elles se placent **AVANT** le nom (sauf **su**, le pluriel, qui se place après).
### Particules principales
| Particule | Fonction | Équivalent | Exemple |
|-----------|----------|------------|---------|
| **va** | Sujet | (sujet) | **va** naki = l'enfant (sujet) |
| **vo** | Objet direct | (COD) | **vo** ura = l'eau (objet) |
| **vi** | Direction | vers, à | **vi** Uraakota = vers la Confluence |
| **ve** | Origine | de, depuis | **ve** toka = de la terre |
| **vu** | Instrument | avec, par | **vu** kanu = avec la main |
| **na** | Possession | de (appartenance) | **na** aita = de l'ancêtre |
| **ni** | Bénéficiaire | pour, à | **ni** naki = pour l'enfant |
| **no** | Lieu | dans, à | **no** Vukuura = dans le Gouffre |
### Usage des particules de cas
#### va : Sujet (agent)
Marque **celui qui fait l'action**.
```
Va tori miraku
= La personne voit
Va aita su kisunit
= Les ancêtres ont transmis
```
#### vo : Objet direct (patient)
Marque **ce qui subit l'action**.
```
Va naki vo ura miraku
= L'enfant voit l'eau
Va miki vo seka sekamu
= Je connais le savoir
```
#### vi : Direction (but, destination)
Marque **vers où** se dirige l'action.
```
Va tori vi Uraakota tekisu
= La personne va vers la Confluence
Va miki vi sinu vosaku
= Je parle vers toi (je te parle)
```
#### ve : Origine (source, provenance)
Marque **d'où vient** l'action ou l'objet.
```
Va naki ve Vukuura tekisu
= L'enfant vient du Gouffre Humide
Va seka ve aita su kisunit
= Le savoir vient des ancêtres (a été transmis)
```
#### vu : Instrument (moyen)
Marque **avec quoi** l'action est faite.
```
Va tori vu kanu vo kari pasaku
= La personne prend la pierre avec la main
Va aita su vu tabi vo seka kisunit
= Les ancêtres ont transmis le savoir avec les tablettes
```
#### na : Possession (appartenance)
Marque **à qui appartient** quelque chose.
```
Na naki kanu
= La main de l'enfant
Na aita seka
= Le savoir de l'ancêtre
```
**⚠️ Différence avec ve** :
- **na** = possession statique (appartenance)
- **ve** = origine dynamique (provenance)
```
Na naki kanu = la main de l'enfant (appartenance)
Ve naki ura = l'eau venant de l'enfant (provenance)
```
#### ni : Bénéficiaire (destinataire)
Marque **pour qui** l'action est faite.
```
Va aita vo seka ni naki kisunit
= L'ancêtre a transmis le savoir pour l'enfant
Va miki ni sinu vo ura kitanu
= Je donne l'eau pour toi
```
#### no : Lieu (localisation)
Marque **où** se passe l'action.
```
No Uraakota va tori tekisu
= À la Confluence, la personne va
No Vukuura va aita su vo seka kisunit
= Dans le Gouffre Humide, les ancêtres ont transmis le savoir
```
---
## Structure complète de la phrase
### Ordre canonique complet
```
[CIRCONSTANTS] [SUJET] [OBJET] [AUTRES COMPLÉMENTS] [NÉGATION] [VERBE] [CONJUGATEUR]
```
**Exemple maximal** :
```
No Uraakota va aita su vo seka ni naki su vu tabi zo kisunit
│ │ │ │ │ │ │ └────── Verbe+temps
│ │ │ │ │ │ └───────── Négation
│ │ │ │ │ └────────────── Instrument
│ │ │ │ └────────────────── Bénéficiaire
│ │ │ └──────────────────────────── Objet
│ │ └──────────────────────────────────── Sujet
│ └────────────────────────────────────────────── Circonstant lieu
└────────────────────────────────────────────────────────── Particule lieu
TRADUCTION :
Dans la Confluence, les ancêtres n'ont pas transmis le savoir
aux enfants avec les tablettes
```
### Circonstants (position initiale)
Les **circonstants** (temps, lieu, manière) se placent **en début de phrase**.
**Ordre préféré** : TEMPS > LIEU > MANIÈRE
```
TEMPS :
Tisa va naki miraku = Maintenant, l'enfant voit
Tova va aita kisunit = Alors, l'ancêtre a transmis
LIEU :
No Vukuura va naki tekisu = Dans le Gouffre, l'enfant va
MANIÈRE :
Vu kori tosa va miki vosaku = Avec bonté, je parle
```
**Exemple avec plusieurs circonstants** :
```
Tisa no Uraakota vu kori tosa va miki vo seka vosaku
└─┬─┘ └────┬─────┘ └────┬────┘ └─┬──┘ └──┬──┘ └───┬───┘
TEMPS LIEU MANIÈRE SUJET OBJET VERBE
= Maintenant, à la Confluence, avec bonté,
je parle du savoir
```
---
## Pluriel : particule su
**⚠️ EXCEPTION IMPORTANTE** : Le pluriel **su** se place **APRÈS** le nom, contrairement aux autres particules.
```
✅ CORRECT
va naki su = les enfants (SUJET pluriel)
vo apo su = les oiseaux (OBJET pluriel)
na aita su = des ancêtres (POSSESSION pluriel)
❌ INCORRECT
va su naki
vo su apo
na su aita
```
**Ordre avec particule** : PARTICULE + NOM + **su**
```
Va naki su vo ura miraku
= Les enfants voient l'eau
Va tori vo apo su miraku
= La personne voit les oiseaux
Na aita su seka
= Le savoir des ancêtres
```
---
## Négation
Les particules de négation se placent **AVANT le verbe**.
### Particules de négation
| Particule | Sens | Portée |
|-----------|------|--------|
| **zo** | ne...pas | Négation standard |
| **zom** | jamais | Négation temporelle absolue |
| **zob** | interdit | Négation modale (prohibition) |
| **zoe** | pas vraiment | Négation atténuée |
### Position de la négation
**Ordre** : [SUJET] [OBJET] [**NÉGATION**] [VERBE]
```
Va naki vo ura zo miraku
= L'enfant ne voit pas l'eau
Va aita su vo seka zom kisunu
= Les ancêtres ne transmettent jamais le savoir (absurde)
Va miki vi Uraakota zob tekis
= Je ne dois pas aller à la Confluence (interdit)
```
### Négation de l'existence
Pour nier l'existence, utiliser **zo** + verbe existentiel **urak** :
```
No Vukuura zo urak
= Dans le Gouffre, (cela) n'existe pas
Va tori zo uraku
= La personne n'existe pas
```
---
## Questions
Le Confluent possède deux types de questions : **fermées** (oui/non) et **ouvertes** (qui, quoi, où...).
### Questions fermées : particule ka
La particule **ka** se place **en fin de phrase** pour former une question oui/non.
```
Va naki vo ura miraku ka
= Est-ce que l'enfant voit l'eau ?
Va sinu vi Uraakota tekisu ka
= Est-ce que tu vas à la Confluence ?
```
**Réponse** :
```
Question : Va naki miraku ka ?
Réponse positive : Miraku (il voit)
Réponse négative : Zo miraku (il ne voit pas)
```
### Questions ouvertes : pronoms interrogatifs
Les pronoms interrogatifs **remplacent** l'élément questionné.
| Pronom | Sens | Remplace |
|--------|------|----------|
| **ki** | qui ? | Personne (sujet/objet) |
| **ke** | quoi ? | Chose (objet) |
| **ko** | où ? | Lieu |
| **ku** | quand ? | Temps |
#### ki : qui ?
```
Va ki miraku
= Qui voit ? (remplace le sujet)
Va naki vo ki miraku
= L'enfant voit qui ? (remplace l'objet)
```
#### ke : quoi ?
```
Va naki vo ke miraku
= L'enfant voit quoi ?
Va miki ke nekanu
= Je fais quoi ?
```
#### ko : où ?
```
Va naki ko tekisu
= L'enfant va où ?
No ko va tori uraku
= Dans quel lieu la personne existe ?
```
#### ku : quand ?
```
Ku va naki tekisu
= Quand l'enfant va-t-il ?
```
---
## Propositions relatives : limitation du système
**⚠️ LIMITATION IMPORTANTE** : L'Ancien Confluent **n'a pas de propositions relatives** ("qui", "que", "dont").
### Stratégies de contournement
#### Stratégie 1 : Composition nominale
**Français** : "Le loup qui chasse"
**❌ Impossible** : *va zoka i zanak (i n'est pas "qui")
**✅ Solution** : Créer une composition ou utiliser juxtaposition
```
Option A (composition figée) :
zokiazana = loup-chasseur (concept figé)
Option B (juxtaposition) :
Va zoka zanaku = Le loup chasse (phrase séparée)
```
#### Stratégie 2 : Deux phrases séparées
**Français** : "C'est le collier du loup qui a mangé mon frère"
**✅ Solution** : Séparer en 2 phrases
```
Phrase 1 : Tisikopuu na zoka
= C'est le collier du loup
Phrase 2 : Va zoka vo vaku pasakat
= Le loup a pris (mangé) l'ami
```
#### Stratégie 3 : Utiliser ve (origine/cause)
Pour certains cas, **ve** (origine) peut exprimer une relation causale :
```
Va tori ve seka (de/par le savoir)
≈ "La personne qui a le savoir"
Va naki ve Vukuura (de/depuis le Gouffre)
≈ "L'enfant qui vient du Gouffre"
```
---
## Subordination : connecteurs logiques
Le Confluent possède des **connecteurs** pour relier les propositions, mais **pas de subordination complexe**.
### Connecteurs disponibles
| Connecteur | Sens | Type | Exemple |
|------------|------|------|---------|
| **ti** | et | Coordination | va naki ti va tori = l'enfant et la personne |
| **bo** | mais | Opposition | Va miki miraku. Bo va sinu zo miraku. = Je vois. Mais tu ne vois pas. |
| **po** | ou | Alternative | va naki po va tori = l'enfant ou la personne |
| **lo** | donc | Conséquence | Va miki miraku. Lo va miki vosaku. = Je vois. Donc je parle. |
| **se** | car | Cause | Va miki vosaku. Se va miki miraku. = Je parle. Car je vois. |
| **me** | si | Condition | Me va miki miraku = Si je vois |
| **ne** | alors | Résultat | Ne va miki vosaku = Alors je parle |
### Coordination simple : ti (et)
```
Va naki ti va tori vo ura miraku
= L'enfant et la personne voient l'eau
Va miki vo ura ti vo seka miraku
= Je vois l'eau et le savoir
```
### Opposition : bo (mais)
**Position** : Début de la seconde phrase
```
Va miki miraku. Bo va sinu zo miraku.
= Je vois. Mais tu ne vois pas.
```
### Alternative : po (ou)
```
Va naki po va tori tekisu ka
= L'enfant ou la personne vont-ils ?
```
### Conséquence : lo (donc)
**Position** : Début de la seconde phrase
```
Va miki vo veri miraku. Lo va miki vosaku.
= Je vois la vérité. Donc je parle.
```
### Cause : se (car, parce que)
**Position** : Début de la phrase causale
```
Va miki vosaku. Se va miki miraku.
= Je parle. Car je vois.
```
### Condition : me...ne (si...alors)
**Structure** : me + CONDITION, ne + RÉSULTAT
```
Me va miki miraku, ne va miki vosaku
= Si je vois, alors je parle
Me va naki tekisu, ne va miki kiasoku
= Si l'enfant va, alors je suis joyeux
```
---
## Phrases existentielles
Pour exprimer l'existence ("il y a"), utiliser le verbe **urak** (être, exister).
### Construction existentielle
**Structure** : [LIEU] [SUJET] **urak**
```
No Vukuura va aita urak
= Dans le Gouffre, il y a un ancêtre
No Uraakota tiru naki uraku
= À la Confluence, il y a trois enfants
```
### Négation existentielle
```
No Vukuura zo urak
= Dans le Gouffre, il n'y a rien
Va tori zo uraku
= La personne n'existe pas
```
---
## Phrases avec émotions
Les émotions s'expriment par **métaphores corporelles** (voir 03-GRAMMAIRE.md).
### Métaphore simple (juxtaposition)
**Structure** : [SUJET] [MÉTAPHORE]
```
Va miki kori sora
= Moi, cœur-soleil
→ Je suis joyeux
Va sinu kori taku
= Toi, cœur-sombre
→ Tu es triste
```
### Métaphore formelle (verbe "être")
```
Va miki koriasora uraku
= Je suis joie (composition kor-a-sora)
Va aita koriakota uraku
= L'ancêtre est amour (composition kor-a-kota)
```
---
## Phrases rituelles
Le Confluent possède des **formules rituelles** figées, souvent utilisées dans les contextes sacrés.
### Formules de salutation (en développement)
```
Va sili aska
= Que le regard (soit) libre
(Salutation traditionnelle)
Va kota tosa
= Que l'union (soit) bonne
(Souhait de confluence)
```
### Formules de bénédiction
```
Va aita su ni sinu velas
= Que les ancêtres veillent sur toi
Va ora ni sinu tosas
= Que l'aurore te bénisse
```
### Formules funéraires
```
Va sili ve sinu vi aita su tekis
= Que ton regard aille vers les ancêtres
Va anu ve sinu vi ena tekis
= Que ton âme aille vers l'origine
```
---
## Exemples de phrases complexes annotées
### Exemple 1 : Phrase narrative
```
No Uraakota va aita su vo seka ni naki su kisunit
│ └──┬───┘ │ └─┬─┘ │ └┬─┘ │ └─┬─┘ └───┬───┘
│ LIEU │ SUJET │ OBJ │ BÉNÉF VERBE
│ │ PLU │ │ PLU (transmis-ancestral)
│ │ │ │
│ Les ancêtres savoir enfants
Dans la Confluence
TRADUCTION :
À la Confluence, les ancêtres ont transmis le savoir aux enfants
```
### Exemple 2 : Phrase conditionnelle
```
Me va sinu vi Vukuura tekisu, ne va miki ni sinu vo seka kisunu
│ │ └──┬┘ │ └──┬───┘ └──┬──┘ │ │ └──┬┘ │ └──┬┘ │ └┬─┘ └──┬──┘
│ │ SUJET│ LIEU VERBE │ │ SUJET│ BÉNÉF│ OBJ VERBE
│ │ │ (aller) │ │ │ │ (savoir)(transmet)
│ │ │ │ │ │ │
│ │ toi │ │ moi toi
│ │ │ │
│ Si Alors
Condition Résultat
TRADUCTION :
Si tu vas au Gouffre Humide, alors je te transmets le savoir
```
### Exemple 3 : Phrase négative avec pluriel
```
No Kekutoka va tori su vo apo su zom miraku
│ └───┬──┘ │ └─┬─┘ │ └┬─┘ │ └───┬───┘
│ LIEU │ SUJET │ OBJ │ VERBE
│ │ PLU │ PLU │ (jamais voir)
│ │ │ │
│ personnes oiseaux
Dans Antres des Échos
TRADUCTION :
Dans les Antres des Échos, les personnes ne voient jamais les oiseaux
(car souterrains)
```
### Exemple 4 : Question ouverte
```
Va ki vo seka ni naki su kisunit
│ │ │ └┬─┘ │ └─┬─┘ └───┬───┘
│ │ │ OBJ │ BÉNÉF VERBE
│ │ │ │ PLU (transmis-ancestral)
│ │ │ │
│ │ savoir enfants
│ │
│ Qui ?
SUJET interrogatif
TRADUCTION :
Qui a transmis le savoir aux enfants ?
```
---
## Annexe : Ordre des mots comparé
### Comparaison typologique
| Langue | Ordre | Fréquence mondiale | Exemple |
|--------|-------|--------------------| --------|
| **Français** | SVO | ~42% | L'enfant voit l'eau |
| **Confluent** | SOV | ~45% | Va naki vo ura miraku |
| **Anglais** | SVO | ~42% | The child sees the water |
| **Japonais** | SOV | ~45% | Ko wa mizu o miru |
| **Arabe** | VSO | ~9% | Yaraa al-tifl al-maa |
Le Confluent appartient au type **SOV**, le plus répandu au monde avec le SVO.
### Avantages cognitifs du SOV
1. **Préparation mentale** : Identifier participants avant l'action
2. **Économie cognitive** : Tous les arguments avant le verbe
3. **Flexibilité** : Omission du verbe possible (ellipse)
4. **Clarté référentielle** : Pas d'ambiguïté sujet/objet (marquage par particules)
---
*Document linguistique - Civilisation de la Confluence*
*Voir aussi : 05-VOCABULAIRE.md pour le lexique complet*

View File

@ -0,0 +1,716 @@
# 05 - VOCABULAIRE DU CONFLUENT
Le vocabulaire du Confluent porte l'histoire de la civilisation. Chaque mot est un artefact multi-générationnel, transparent dans son étymologie, révélant les valeurs et l'expérience du peuple Siliaska.
---
## Philosophie lexicale
Le lexique du Confluent repose sur trois principes :
1. **Transparence étymologique** : L'origine des mots reste visible
2. **Accumulation sémantique** : Les mots composés portent le sens de leurs parties
3. **Évolution organique** : Le vocabulaire grandit avec la civilisation
---
## Statistiques du lexique
### Vue d'ensemble (Ancien Confluent v2.1)
| Catégorie | Nombre | Ratio |
|-----------|--------|-------|
| **Racines totales** | 176 | 100% |
| Racines sacrées (V-) | 19 | 11% |
| Racines standards (C-) | 157 | 89% |
| **Verbes** | 36 | - |
| **Pronoms** | 3 | - |
| **Liaisons sacrées** | 16 | - |
| **Particules** | 23 | - |
| **Conjugateurs** | 14 | - |
**Objectif** : Atteindre ~20-25% de racines sacrées pour maintenir l'équilibre conceptuel.
---
## Le peuple Siliaska
### Nom du peuple
**siliaska** [si-li-as-ka]
**Composition** : sil-i-aska
- **sili** (regard, vision, œil)
- **-i-** (liaison agent actif : "celui qui porte")
- **aska** (libre, liberté)
**Sens littéral** : "Porteurs du regard libre"
**Sens culturel** : Le peuple de la Civilisation de la Confluence, caractérisé par son regard libre acquis par le pèlerinage obligatoire au Gouffre Humide, où ils contemplent les ruines des Premiers Ancêtres.
**Analyse** :
- Type : Nom ethnique (auto-désignation)
- Structure : standard-liaison-sacrée (valorisée)
- Symbolisme : Le "regard libre" est l'accomplissement spirituel central
---
## Les six castes
### 1. nakukeko - Enfants des Échos
**Composition** : nak-u-keko
- **naki** (enfant, descendant)
- **-u-** (liaison appartenance : "de, appartenant à")
- **keko** (écho, résonance)
**Sens littéral** : "Enfants de l'écho"
**Rôle** : Habitants souterrains des Antres, pâles, adaptés aux grottes, maîtres carriers et sculpteurs
**Caractéristiques** :
- Vivent dans les Kekutoka (Antres des Échos)
- Extraient l'argile vivante
- Créent les glyphes et sculptures
- Sensibilité acoustique développée
---
### 2. nakuura - Enfants du Courant
**Composition** : nak-u-ura
- **naki** (enfant, descendant)
- **-u-** (liaison appartenance : "de")
- **ura** (eau, fluide)
**Sens littéral** : "Enfants de l'eau"
**Rôle** : Pêcheurs vivant sur pilotis, contrôlent ressources aquatiques
**Caractéristiques** :
- Villages sur pilotis au bord des rivières
- Maîtres de la pêche et navigation
- Contrôlent ressources aquatiques
- Liens avec le Vukuura (Gouffre Humide)
---
### 3. aliaska - Ailes-Grises
**Composition** : al-i-aska
- **alu** (grue, Regard-Libre)
- **-i-** (liaison agent actif : "celui qui")
- **aska** (libre, liberté)
**Sens littéral** : "Ceux qui portent l'aile libre"
**Rôle** : Chamans dresseurs de Regards-Libres (grues cendrées), guides des âmes mourantes
**Caractéristiques** :
- Dressent et communiquent avec les grues sacrées
- Rôle spirituel et rituel
- Guident les mourants vers les ancêtres
- Portent des plumes grises
---
### 4. akoazana - Faucons Chasseurs
**Composition** : ak-oa-zana
- **aki** (faucon)
- **-oa-** (liaison résolution : "surmonté, vainqueur")
- **zana** (chasser, traquer)
**Sens littéral** : "Faucon-vainqueur-chasseur"
**Rôle** : Élite militaire, judiciaire et religieuse, basés dans les Halls des Serments
**Caractéristiques** :
- Guerriers d'élite et juges
- Application des lois sacrées
- Basés dans les Talusavu (Halls des Serments)
- Symbole : le faucon victorieux
---
### 5. takitosa - Passes-bien
**Composition** : tak-i-tosa
- **taka** (porter, transporter)
- **-i-** (liaison agent actif : "celui qui")
- **tosa** (bon, bien)
**Sens littéral** : "Porteurs du bien"
**Rôle** : Marchands et médiateurs, seule caste mixte
**Caractéristiques** :
- Facilitent le commerce et les échanges
- Médiation entre castes et régions
- Caste mixte (Ciels-clairs et Sans-ciels)
- Maintiennent la cohésion sociale
---
### 6. oraumi - Voix de l'Aurore
**Composition** : or-a-umi
- **ora** (aurore, aube)
- **-a-** (liaison avec : "accompagné de")
- **umi** (esprit, souffle vital)
**Sens littéral** : "Aurore avec esprit"
**Rôle** : Chamans gardiens des lois anciennes, élite spirituelle
**Caractéristiques** :
- Double racine sacrée (statut spirituel élevé)
- Ciels-clairs nés sous aurore dégagée
- Yeux couleur aurore (rouge/orange/violet)
- Meneurs des Ailes-Grises
---
## Les six lieux majeurs
### 1. uraakota - La Confluence
**Composition** : ur-aa-kota
- **ura** (eau, fluide)
- **-aa-** (liaison fusion : "mêlé à, confluent")
- **kota** (union, ensemble)
**Sens littéral** : "Eau-fusion-union"
**Description** : Centre spirituel et politique, capitale de la civilisation, au confluent des deux rivières (azur et verte)
**Symbolisme** : La double voyelle "aa" mime le flux d'eau confluente
---
### 2. vukuura - Gouffre Humide
**Composition** : vuk-u-ura
- **vuku** (profond, gouffre, abîme)
- **-u-** (liaison appartenance : "de")
- **ura** (eau)
**Sens littéral** : "Gouffre de l'eau"
**Description** : Antre le plus mature, contient les ruines des Premiers Ancêtres, lieu de pèlerinage obligatoire
**Importance** : C'est ici que les Siliaska acquièrent leur "regard libre"
---
### 3. kekutoka - Antres des Échos
**Composition** : kek-u-toka
- **keko** (écho, résonance)
- **-u-** (liaison appartenance : "de")
- **toka** (terre, sol)
**Sens littéral** : "Écho de la terre"
**Description** : Colonies souterraines des Nakukeko, chambres sculptées avec propriétés acoustiques
**Caractéristiques** : Réseau de grottes habitées, centres d'extraction d'argile
---
### 4. sikuvela - Cercles de Vigile
**Composition** : sik-u-vela
- **siku** (cercle, anneau)
- **-u-** (liaison appartenance : "de")
- **vela** (veille, vigile, guet)
**Sens littéral** : "Cercles de la veille"
**Description** : Sites de feux sacrés sur promontoires montagneux, relais de communication et surveillance
**Fonction** : Réseau de signalisation par feu, postes de garde
---
### 5. talusavu - Halls des Serments
**Composition** : tal-u-savu
- **talu** (hall, grande salle)
- **-u-** (liaison appartenance : "de")
- **savu** (serment, promesse)
**Sens littéral** : "Halls du serment"
**Description** : Structures proto-gouvernementales fortifiées (forteresse + conseil + sanctuaire), base des Faucons Chasseurs
**Fonction** : Justice, gouvernance locale, rituel du Regard Partagé
---
### 6. ekakova - Grande Fresque
**Composition** : ek-a-kova
- **eka** (tout, entier, totalité)
- **-a-** (liaison avec : "avec")
- **kova** (peinture, image, fresque)
**Sens littéral** : "Totalité-avec-peinture"
**Description** : Fresque multi-générationnelle dans le Vukuura, couches de peinture superposées montrant l'histoire de la civilisation
**Symbolisme** : Artefact central, chaque génération ajoute sa vision
---
## Racines sacrées (19)
Les racines sacrées commencent par une **voyelle** et représentent des concepts fondamentaux.
| Forme base | Forme liée | Sens | Domaine |
|------------|------------|------|---------|
| **aska** | ask- | libre, liberté | Concept fondateur |
| **aita** | ait- | ancêtre, ancien | Lignée sacrée |
| **asa** | as- | sacré, divin | Spirituel |
| **apo** | ap- | oiseau, vol | Nature sacrée |
| **alu** | al- | grue (Regard-Libre) | Animal sacré |
| **aki** | ak- | faucon | Animal sacré |
| **ura** | ur- | eau, fluide | Élément primordial |
| **umi** | um- | esprit, souffle vital | Spirituel |
| **iko** | ik- | un, unique, seul | Concept fondateur |
| **ita** | it- | être, exister | Existence |
| **ena** | en- | origine, source, naissance | Dimension |
| **eka** | ek- | tout, entier, totalité | Dimension |
| **oki** | ok- | épreuve, défi, danger | Conflit sacré |
| **ora** | or- | aurore, aube | Moment sacré |
| **onu** | on- | son, vibration | Rituel |
| **anu** | an- | âme, conscience profonde | Spirituel |
| **eku** | ek- | étoile | Céleste sacré |
| **osi** | os- | mort, mourir | Cycle sacré |
| **apa** | ap- | aile | Nature sacrée |
---
## Racines standards par domaine
### Éléments naturels (15)
| Forme base | Forme liée | Sens |
|------------|------------|------|
| zeru | zer- | ciel |
| toka | tok- | terre, sol |
| suki | suk- | feu, flamme |
| vena | ven- | air, vent |
| kari | kar- | pierre, roche |
| nura | nur- | rivière, courant |
| tasa | tas- | montagne |
| viku | vik- | forêt, arbre |
| luna | lun- | lune |
| sora | sor- | soleil, lumière |
| taku | tak- | sombre, obscur |
| siku | sik- | sec, aride |
| tani | tan- | vallée |
| seli | sel- | sel, mer |
### Corps et sens (12)
| Forme base | Forme liée | Sens |
|------------|------------|------|
| sili | sil- | œil, regard, vision |
| kanu | kan- | main |
| voki | vok- | voix, parole |
| tiku | tik- | oreille, écoute |
| muka | muk- | visage |
| kori | kor- | cœur |
| sanu | san- | corps |
| peki | pek- | pied, base |
| keko | kek- | écho, résonance |
| puli | pul- | poumon, souffle |
| niku | nik- | chair, viande |
| peli | pel- | peau, surface |
| kina | kin- | sang |
### Actions (27)
| Forme base | Verbe | Sens |
|------------|-------|------|
| mira | mirak | voir, observer |
| teki | tekis | aller, chemin |
| kita | kitan | donner |
| pasa | pasak | prendre |
| neka | nekan | faire, créer |
| vosa | vosak | dire, parler |
| seka | sekam | savoir, connaître |
| moki | mokis | apprendre |
| kisu | kisun | transmettre, enseigner |
| zaki | zakis | garder, protéger |
| taka | takan | porter, transporter |
| zana | zanak | chasser, traquer |
| kisu | kisuk | couper, trancher |
| soki | sokik | frapper, battre |
| sopi | sopik | sommeil, dormir |
| tenu | tenuk | tenir, garder |
| tiki | tikis | tisser, lier |
| toku | tokuk | toucher, contact |
| lanu | lanuk | lancer, jeter |
| samu | samuk | assembler, unir |
| levi | levik | lever, élever |
| tiru | tiruk | tirer, extraire |
| venu | venuk | venir, arriver |
| kapi | kapik | capturer, prendre |
| miku | mikuk | mélanger, mixer |
| koti | kotik | rotation, tourner |
### Êtres et relations (10)
| Forme base | Forme liée | Sens |
|------------|------------|------|
| kota | kot- | union, confluence, ensemble |
| naki | nak- | enfant, descendant |
| tori | tor- | personne, individu |
| vaku | vak- | ami, allié |
| zoka | zok- | ennemi, étranger hostile |
| mitu | mit- | famille, clan |
| kasi | kas- | chef, guide |
| besi | bes- | bête, animal sauvage |
| pesa | pes- | poisson |
| tibu | tib- | tribu, groupe |
| ziku | zik- | serpent |
### Concepts abstraits (20)
| Forme base | Forme liée | Sens |
|------------|------------|------|
| veri | ver- | vrai, vérité |
| tosa | tos- | bon, bien |
| mako | mak- | grand, vaste |
| pisu | pis- | petit, fin |
| nuvi | nuv- | nouveau, jeune |
| kiru | kir- | échanger, troquer |
| vasi | vas- | pont, lien, passage |
| leku | lek- | loi, règle |
| melu | mel- | doux, tendre |
| mori | mor- | mémoire, souvenir |
| paku | pak- | paix, calme |
| poku | pok- | poison, toxique |
| seni | sen- | vieux, ancien |
| temi | tem- | temps, durée |
| valu | val- | valeur, mérite |
| viku | vik- | victoire, vaincre |
| voli | vol- | vouloir, désir |
| zaki | zak- | justice, équité |
| varu | var- | guerre, combat |
| seku | sek- | secret, caché |
| nelu | nel- | noble, élevé |
### Lieux et structures (16)
| Forme base | Forme liée | Sens |
|------------|------------|------|
| vuku | vuk- | profond, gouffre, abîme |
| nisa | nis- | humide, mouillé |
| siku | sik- | cercle, anneau |
| vela | vel- | veille, vigile, guet |
| savu | sav- | serment, promesse |
| talu | tal- | hall, grande salle |
| kova | kov- | peinture, image, fresque |
| koni | kon- | assemblée, réunion |
| loku | lok- | lieu, endroit |
| kovi | kov- | route, chemin |
| tumi | tum- | tombe, enterrer |
| kama | kam- | chambre, pièce |
| sumu | sum- | sommet, haut |
| bori | bor- | bord, limite |
| pori | por- | porte, passage |
| zoni | zon- | zone, région |
### Matériaux et objets (15)
| Forme base | Forme liée | Sens |
|------------|------------|------|
| buki | buk- | bois, arbre (matériau) |
| kelu | kel- | couleur, teinte |
| kesa | kes- | cendre, gris |
| koru | kor- | cercle, cycle |
| lapu | lap- | lait, liquide blanc |
| lina | lin- | ligne, corde |
| vanu | van- | navire, embarcation |
| piki | pik- | pic, pointe |
| pasu | pas- | rouge |
| saki | sak- | sac, contenant |
| sinu | sin- | signe, marque |
| tabi | tab- | tablette, plaque |
| toku | tok- | document, écrit |
| ketu | ket- | chaîne, lien |
| metu | met- | métal, minerai |
### Communication (6)
| Forme base | Forme liée | Sens |
|------------|------------|------|
| vesi | ves- | message, nouvelle |
| nomi | nom- | nom, appellation |
| leki | lek- | récit, histoire |
| paru | par- | parler, discuter |
| zumi | zum- | rumeur, bruit |
| voki | vok- | appeler, invoquer |
### Travail et technique (5)
| Forme base | Forme liée | Sens |
|------------|------------|------|
| moki | mok- | moule, forme |
| seru | ser- | servir, aider |
| teku | tek- | technique, art |
| tavu | tav- | travail, oeuvre |
| visu | vis- | fixer, attacher |
---
## Verbes spirituels importants
| Verbe | Racine | Sens | Contexte |
|-------|--------|------|----------|
| **umiak** | umi | méditer | Pratique spirituelle quotidienne |
| **asavik** | asa | prier | Invocation aux ancêtres |
| **vokis** | voki | invoquer | Appel aux esprits |
| **tosan** | tosa | bénir | Rituel de bénédiction |
| **kotam** | kota | communier | Union spirituelle |
| **osian** | osi | mourir | Passage vers les ancêtres |
| **sinan** | sinu | graver | Écriture sur tablettes |
| **kovak** | kova | sculpter | Art sacré |
| **kelum** | kelu | peindre | Fresque rituelle |
| **samuk** | samu | assembler | Construction communautaire |
| **lokun** | loku | construire | Édification de structures |
| **vukis** | vuku | creuser | Création d'Antres |
| **pesak** | pesa | pêcher | Subsistance des Nakuura |
| **tikun** | tiku | écouter | Écoute rituelle |
| **novak** | nuvi | découvrir | Exploration du savoir |
| **morik** | mori | mémoriser | Transmission orale |
| **paruk** | paru | débattre | Discussion au conseil |
| **velak** | vela | surveiller | Vigile sacrée |
| **varum** | varu | armer | Préparation militaire |
| **kapik** | kapi | capturer | Justice par épreuve |
| **kirum** | kiru | troquer | Échange commercial |
| **tenuk** | tenu | entreposer | Conservation ressources |
| **zakin** | zaki | arbitrer | Médiation judiciaire |
---
## Démonstratifs et pronoms
### Pronoms personnels (3)
| Pronom | Sens | Personne |
|--------|------|----------|
| **miki** | je, moi | 1sg |
| **sinu** | tu, toi | 2sg |
| **tani** | il, elle, iel | 3sg |
**Pluriel** : ajouter **su** après le pronom
- miki su = nous
- sinu su = vous
- tani su = ils/elles/iels
### Démonstratifs (2)
| Racine | Sens | Distance |
|--------|------|----------|
| **tisa** | ici, proche, présent | Proximité |
| **tova** | là-bas, loin, distant | Éloignement |
**Compositions** :
- tis-i-loku = cet endroit-ci
- tov-i-loku = cet endroit-là
---
## Nombres (Base 12)
### Chiffres de base (0-12)
| Base 10 | Confluent | Forme liée |
|---------|-----------|------------|
| 0 | zaro | zar- |
| 1 | iko | ik- |
| 2 | diku | dik- |
| 3 | tiru | tir- |
| 4 | katu | kat- |
| 5 | penu | pen- |
| 6 | seku | sek- |
| 7 | sivu | siv- |
| 8 | oktu | okt- |
| 9 | novu | nov- |
| 10 | deku | dek- |
| 11 | levu | lev- |
| 12 | tolu | tol- |
### Puissances de 12
| Valeur | Confluent | Composition |
|--------|-----------|-------------|
| 12 | tolu | douzaine |
| 144 | tolusa | tol-u-sa (grosse) |
| 1728 | toluaa | tol-aa-tol |
| 20736 | tolumako | tol-u-mako |
---
## Exemples de compositions nouvelles
Le système morphologique permet de créer de nouveaux mots par composition.
### Créations validées récentes
| Composition | Décomposition | Sens |
|-------------|---------------|------|
| **silieveri** | sil-ie-veri | Clairvoyant (regard qui reçoit vérité) |
| **koriooki** | kor-o-oki | Angoisse (cœur contre danger) |
| **koriakota** | kor-a-kota | Amour (cœur avec union) |
| **umiiaska** | um-ii-aska | Esprit libre (esprit qui EST libre) |
| **nakiuseni** | nak-iu-seni | Enfant devenant ancien (vieillissement) |
### Modèles de création
**Agent d'action** : racine-verbe + -i- + racine-concept
```
zana (chasser) + -i- + besi (bête)
→ zanibesi = chasseur de bêtes
```
**Lieu d'activité** : racine-activité + -u- + racine-lieu
```
seka (savoir) + -u- + talu (hall)
→ sekutalu = hall du savoir, bibliothèque
```
**État émotionnel** : kori (cœur) + liaison + racine-source
```
kori + -a- + sora (soleil)
→ koriasora = joie (cœur avec soleil)
```
---
## Vocabulaire rituel et formulaire
### Formules de salutation
| Formule | Sens | Contexte |
|---------|------|----------|
| **va sili aska** | Que le regard (soit) libre | Salutation traditionnelle |
| **va kota tosa** | Que l'union (soit) bonne | Souhait de confluence |
| **va ora ni sinu** | Que l'aurore (soit) pour toi | Bénédiction matinale |
### Formules funéraires
| Formule | Sens | Contexte |
|---------|------|----------|
| **va sili ve sinu vi aita su tekis** | Que ton regard aille vers les ancêtres | Mort honorable |
| **va anu ve sinu vi ena tekis** | Que ton âme aille vers l'origine | Retour au primordial |
| **va aita su ni sinu velas** | Que les ancêtres veillent sur toi | Protection dans l'au-delà |
### Formules rituelles (Vigile Lunaire)
| Formule | Sens | Contexte |
|---------|------|----------|
| **va luna ni siliaska velas** | Que la lune veille sur les Siliaska | Ouverture Vigile |
| **va seka ve aita su kisunu** | Que le savoir des ancêtres se transmette | Invocation mémoire |
| **va kota vi eka tekis** | Que l'union aille vers la totalité | Clôture cérémonielle |
---
## Néologismes en développement
Le vocabulaire du Confluent continue d'évoluer. Voici des concepts non encore officiellement nommés :
### Concepts à développer
| Concept français | Approche proposée | Composition possible |
|------------------|-------------------|---------------------|
| Océan | grande-eau | mako + -aa- + ura → makaura |
| Horizon | limite-ciel | bori + -u- + zeru → boriuzeru |
| Étranger (neutre) | personne-autre | tori + -e- + loku → torieloku |
| Exil | chemin-loin | teki + -ea- + tova → tekieatova |
| Mémoire collective | mémoire-union | mori + -aa- + kota → moriaakota |
| Innovation | nouveau-faire | nuvi + -i- + neka → nuviuneka |
| Trahison | faux-serment | veri + -o- + savu → veriosavu |
---
## Index alphabétique des racines
### A
aita (ancêtre), aki (faucon), alu (grue), anu (âme), apa (aile), apo (oiseau), asa (sacré), aska (libre)
### B
besi (bête), bori (bord), buki (bois)
### E
eka (tout), eku (étoile), ena (origine)
### I
iko (un), ita (être)
### K
kama (chambre), kanu (main), kapi (capturer), kari (pierre), kasi (chef), katu (quatre), keko (écho), kelu (couleur), kesa (cendre), ketu (chaîne), kina (sang), kiru (échanger), kisu (transmettre), kita (donner), koni (assemblée), kori (cœur), koru (cycle), kota (union), koti (tourner), kova (fresque), kovi (route)
### L
lapu (lait), lanu (lancer), leki (récit), leku (loi), levi (lever), levu (onze), lina (ligne), loku (lieu), luna (lune)
### M
mako (grand), melu (doux), metu (métal), miki (je), miku (mélanger), mira (voir), mitu (famille), moki (apprendre), mori (mémoire), muka (visage)
### N
naki (enfant), neka (faire), nelu (noble), niku (chair), nisa (humide), nomi (nom), novu (neuf), nura (rivière), nuvi (nouveau)
### O
oki (épreuve), oktu (huit), onu (son), ora (aurore), osi (mort)
### P
paku (paix), paru (parler), pasa (prendre), pasu (rouge), peki (pied), peli (peau), penu (cinq), pesa (poisson), piki (pic), pisu (petit), poku (poison), pori (porte), puli (poumon)
### S
saki (sac/garder), samu (assembler), sanu (corps), savu (serment), seka (savoir), seku (six/secret), seli (sel), seni (vieux), seru (servir), siku (cercle/sec), sili (regard), sinu (tu/signe), sivu (sept), soki (frapper/feu), sopi (dormir), sora (soleil), sumu (sommet)
### T
tabi (tablette), taka (porter), taku (sombre), talu (hall), tani (vallée/il-elle), tasa (montagne), tavu (travail), teki (aller), teku (technique), temi (temps), tenu (tenir), tibu (tribu), tiki (tisser), tiku (oreille), tiru (trois/tirer), tisa (ici), toka (terre), toku (toucher/document), tolu (douze), tori (personne), tosa (bon), tova (là-bas), tumi (tombe)
### U
umi (esprit), ura (eau)
### V
vaku (ami), valu (valeur), vanu (navire), varu (guerre), vasi (pont), vela (vigile), vena (air), venu (venir), veri (vrai), vesi (message), viku (forêt/victoire), visu (fixer), voki (voix/invoquer), voli (vouloir), vosa (dire), vuku (gouffre)
### Z
zaki (garder/justice), zana (chasser), zaro (zéro), zeru (ciel), zika (serpent), zoka (ennemi), zoni (zone), zumi (rumeur)
---
## Annexe : Fréquence d'usage
### 20 racines les plus fréquentes dans compositions
1. **sili** (regard) - 12 compositions validées
2. **naki** (enfant) - 8 compositions
3. **ura** (eau) - 7 compositions
4. **kori** (cœur) - 6 compositions
5. **kota** (union) - 5 compositions
6. **aita** (ancêtre) - 4 compositions
7. **aska** (libre) - 4 compositions
8. **toka** (terre) - 3 compositions
9. **seka** (savoir) - 3 compositions
10. **vela** (vigile) - 2 compositions
### Liaisons les plus utilisées
1. **-u-** (appartenance) : 40% des compositions
2. **-i-** (agent) : 25%
3. **-a-** (avec) : 15%
4. **-aa-** (fusion) : 10%
5. Autres : 10%
---
*Document linguistique - Civilisation de la Confluence*
*Lexique complet disponible dans : data/lexique.json*