diff --git a/ConfluentTranslator/STRUCTURE.md b/ConfluentTranslator/STRUCTURE.md new file mode 100644 index 0000000..ba753d4 --- /dev/null +++ b/ConfluentTranslator/STRUCTURE.md @@ -0,0 +1,187 @@ +# Structure du projet ConfluentTranslator + +Ce document décrit l'organisation du projet après la réorganisation. + +## Arborescence + +``` +ConfluentTranslator/ +├── server.js # Point d'entrée principal (lance src/api/server.js) +├── package.json # Dépendances et scripts npm +├── .env / .env.example # Configuration environnement +├── README.md # Documentation utilisateur +│ +├── src/ # Code source organisé +│ ├── api/ # Serveur et routes HTTP +│ │ ├── server.js # Serveur Express principal +│ │ └── adminRoutes.js # Routes d'administration +│ ├── core/ # Logique métier +│ │ ├── translation/ # Modules de traduction +│ │ │ ├── confluentToFrench.js # Traduction Confluent → FR +│ │ │ ├── contextAnalyzer.js # Analyse contextuelle +│ │ │ └── promptBuilder.js # Construction des prompts LLM +│ │ ├── morphology/ # Morphologie et décomposition +│ │ │ ├── morphologicalDecomposer.js # Décomposition morphologique +│ │ │ ├── radicalMatcher.js # Recherche par radicaux +│ │ │ └── reverseIndexBuilder.js # Construction d'index inversés +│ │ └── numbers/ # Traitement des nombres +│ │ ├── numberConverter.js # Conversion FR → Confluent +│ │ └── numberPreprocessor.js # Prétraitement des nombres +│ └── utils/ # Utilitaires +│ ├── auth.js # Authentification et tokens +│ ├── lexiqueLoader.js # Chargement des lexiques +│ ├── logger.js # Système de logs +│ └── rateLimiter.js # Rate limiting +│ +├── docs/ # Documentation +│ ├── admin/ # Documentation admin +│ │ ├── ADMIN_GUIDE.md +│ │ └── QUICKSTART_ADMIN.md +│ ├── security/ # Documentation sécurité +│ │ ├── README_SECURITY.md +│ │ ├── SECURITY_TEST.md +│ │ └── CHANGELOG_SECURITY.md +│ ├── dev/ # Documentation développeur +│ │ ├── analysis/ # Analyses techniques +│ │ │ └── ANALYSE_MOTS_PROBLEMATIQUES.md +│ │ └── numbers/ # Documentation nombres +│ │ └── NUMBER_PREPROCESSING.md +│ └── changelog/ # Historique et résultats +│ ├── COMMIT_SUMMARY.md +│ ├── TESTS_SUMMARY.md +│ ├── TESTS_NOMBRES_RESULTAT.md +│ └── test-results-radical-system.md +│ +├── tests/ # Tests +│ ├── unit/ # Tests unitaires (.js, .json, .txt) +│ ├── integration/ # Tests d'intégration +│ │ └── api/ # Tests API (ex: testsAPI/) +│ └── scripts/ # Scripts de test (.sh, .bat) +│ +├── data/ # Données du projet +│ ├── lexique.json # Lexique principal +│ ├── tokens.json # Tokens d'authentification +│ └── (autres fichiers JSON de lexique) +│ +├── prompts/ # Prompts système pour LLM +│ ├── proto-system.txt +│ └── ancien-system.txt +│ +├── public/ # Fichiers statiques +│ ├── index.html +│ ├── admin.html +│ └── (autres fichiers statiques) +│ +├── logs/ # Logs applicatifs +│ └── (fichiers de logs générés) +│ +├── plans/ # Plans et documentation de travail +│ └── (documents de planification) +│ +└── node_modules/ # Dépendances npm (généré) +``` + +## Principes d'organisation + +### src/ - Code source + +Le dossier `src/` contient tout le code applicatif organisé par fonction : + +- **api/** : Tout ce qui concerne le serveur HTTP et les routes +- **core/** : La logique métier, subdivisée par domaine + - `translation/` : Traduction et analyse linguistique + - `morphology/` : Analyse morphologique des mots + - `numbers/` : Gestion spécifique des nombres +- **utils/** : Fonctions utilitaires transverses + +### docs/ - Documentation + +Documentation organisée par audience et type : + +- **admin/** : Guides pour les administrateurs +- **security/** : Documentation sécurité +- **dev/** : Documentation technique pour développeurs +- **changelog/** : Historique des changements et résultats de tests + +### tests/ - Tests + +Tests organisés par type : + +- **unit/** : Tests unitaires des modules individuels +- **integration/** : Tests d'intégration entre modules +- **scripts/** : Scripts shell/batch pour lancer les tests + +## Imports et chemins + +### Depuis src/api/ (server.js, adminRoutes.js) + +```javascript +// Utilitaires +require('../utils/auth') +require('../utils/logger') +require('../utils/lexiqueLoader') +require('../utils/rateLimiter') + +// Translation +require('../core/translation/contextAnalyzer') +require('../core/translation/promptBuilder') +require('../core/translation/confluentToFrench') + +// Morphology +require('../core/morphology/reverseIndexBuilder') + +// Chemins vers ressources +path.join(__dirname, '..', '..', 'public') +path.join(__dirname, '..', '..', 'prompts') +path.join(__dirname, '..', '..', 'data') +``` + +### Depuis src/core/translation/ + +```javascript +// Vers numbers +require('../numbers/numberConverter') +require('../numbers/numberPreprocessor') + +// Vers morphology +require('../morphology/radicalMatcher') +require('../morphology/morphologicalDecomposer') +``` + +### Depuis src/core/morphology/ ou src/core/numbers/ + +```javascript +// Vers data +require('../../data/lexique.json') +``` + +## Démarrage + +Le point d'entrée est `server.js` à la racine qui importe `src/api/server.js` : + +```bash +node server.js +``` + +ou + +```bash +npm start +``` + +## Migrations futures + +Si nécessaire, cette structure permet facilement : + +- D'ajouter de nouveaux modules dans `src/core/` +- De créer des sous-modules dans `src/api/` (ex: routes métier) +- D'ajouter des catégories de tests +- D'organiser la documentation par projets + +## Avantages + +- **Clarté** : Chaque fichier a sa place logique +- **Maintenabilité** : Structure modulaire et organisée +- **Scalabilité** : Facile d'ajouter de nouveaux modules +- **Découvrabilité** : On trouve rapidement ce qu'on cherche +- **Séparation des préoccupations** : Code / Docs / Tests séparés diff --git a/ConfluentTranslator/data/tokens.json b/ConfluentTranslator/data/tokens.json index 8f1c36e..95b245c 100644 --- a/ConfluentTranslator/data/tokens.json +++ b/ConfluentTranslator/data/tokens.json @@ -6,9 +6,7 @@ "apiKey": "d9be0765-c454-47e9-883c-bcd93dd19eae", "createdAt": "2025-12-02T06:57:35.077Z", "active": true, - "requestsToday": 35, - "dailyLimit": -1, - "lastUsed": "2025-12-02T08:02:37.203Z", + "lastUsed": "2025-12-02T12:54:49.316Z", "llmTokens": { "totalInput": 0, "totalOutput": 0, @@ -28,19 +26,17 @@ "apiKey": "008d38c2-e6ed-4852-9b8b-a433e197719a", "createdAt": "2025-12-02T07:06:17.791Z", "active": true, - "requestsToday": 100, - "dailyLimit": 100, - "lastUsed": "2025-12-02T08:09:45.029Z", + "lastUsed": "2025-12-02T12:51:17.345Z", "llmTokens": { - "totalInput": 0, - "totalOutput": 0, + "totalInput": 40852, + "totalOutput": 596, "today": { - "input": 0, - "output": 0, + "input": 40852, + "output": 596, "date": "2025-12-02" } }, - "llmRequestsToday": 0, + "llmRequestsToday": 20, "llmDailyLimit": 20 } } \ No newline at end of file diff --git a/ConfluentTranslator/ADMIN_GUIDE.md b/ConfluentTranslator/docs/admin/ADMIN_GUIDE.md similarity index 100% rename from ConfluentTranslator/ADMIN_GUIDE.md rename to ConfluentTranslator/docs/admin/ADMIN_GUIDE.md diff --git a/ConfluentTranslator/QUICKSTART_ADMIN.md b/ConfluentTranslator/docs/admin/QUICKSTART_ADMIN.md similarity index 100% rename from ConfluentTranslator/QUICKSTART_ADMIN.md rename to ConfluentTranslator/docs/admin/QUICKSTART_ADMIN.md diff --git a/ConfluentTranslator/COMMIT_SUMMARY.md b/ConfluentTranslator/docs/changelog/COMMIT_SUMMARY.md similarity index 100% rename from ConfluentTranslator/COMMIT_SUMMARY.md rename to ConfluentTranslator/docs/changelog/COMMIT_SUMMARY.md diff --git a/ConfluentTranslator/TESTS_NOMBRES_RESULTAT.md b/ConfluentTranslator/docs/changelog/TESTS_NOMBRES_RESULTAT.md similarity index 100% rename from ConfluentTranslator/TESTS_NOMBRES_RESULTAT.md rename to ConfluentTranslator/docs/changelog/TESTS_NOMBRES_RESULTAT.md diff --git a/ConfluentTranslator/TESTS_SUMMARY.md b/ConfluentTranslator/docs/changelog/TESTS_SUMMARY.md similarity index 100% rename from ConfluentTranslator/TESTS_SUMMARY.md rename to ConfluentTranslator/docs/changelog/TESTS_SUMMARY.md diff --git a/ConfluentTranslator/test-results-radical-system.md b/ConfluentTranslator/docs/changelog/test-results-radical-system.md similarity index 100% rename from ConfluentTranslator/test-results-radical-system.md rename to ConfluentTranslator/docs/changelog/test-results-radical-system.md diff --git a/ConfluentTranslator/ANALYSE_MOTS_PROBLEMATIQUES.md b/ConfluentTranslator/docs/dev/analysis/ANALYSE_MOTS_PROBLEMATIQUES.md similarity index 100% rename from ConfluentTranslator/ANALYSE_MOTS_PROBLEMATIQUES.md rename to ConfluentTranslator/docs/dev/analysis/ANALYSE_MOTS_PROBLEMATIQUES.md diff --git a/ConfluentTranslator/NUMBER_PREPROCESSING.md b/ConfluentTranslator/docs/dev/numbers/NUMBER_PREPROCESSING.md similarity index 100% rename from ConfluentTranslator/NUMBER_PREPROCESSING.md rename to ConfluentTranslator/docs/dev/numbers/NUMBER_PREPROCESSING.md diff --git a/ConfluentTranslator/CHANGELOG_SECURITY.md b/ConfluentTranslator/docs/security/CHANGELOG_SECURITY.md similarity index 100% rename from ConfluentTranslator/CHANGELOG_SECURITY.md rename to ConfluentTranslator/docs/security/CHANGELOG_SECURITY.md diff --git a/ConfluentTranslator/README_SECURITY.md b/ConfluentTranslator/docs/security/README_SECURITY.md similarity index 100% rename from ConfluentTranslator/README_SECURITY.md rename to ConfluentTranslator/docs/security/README_SECURITY.md diff --git a/ConfluentTranslator/SECURITY_TEST.md b/ConfluentTranslator/docs/security/SECURITY_TEST.md similarity index 100% rename from ConfluentTranslator/SECURITY_TEST.md rename to ConfluentTranslator/docs/security/SECURITY_TEST.md diff --git a/ConfluentTranslator/public/index.html b/ConfluentTranslator/public/index.html index 5cca0e2..079e8b1 100644 --- a/ConfluentTranslator/public/index.html +++ b/ConfluentTranslator/public/index.html @@ -536,7 +536,7 @@ border-radius: 6px; display: none; "> - Requêtes LLM: 20/20 + Requêtes LLM: 0/20
@@ -810,24 +810,6 @@
-

🔑 API Keys (optionnel)

- -
- - - - Laisser vide pour utiliser la clé du serveur - -
- -
- - - - Laisser vide pour utiliser la clé du serveur - -
-