From 95156de4ca4e7e44653fb58a976bdc5988ac294f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Mon, 15 Jun 2026 20:19:53 +0400 Subject: [PATCH] feat: add bulkTranslate to export --- README.md | 42 +++++++++++++++++++++++++++++++++ src/api/parole/routes/export.js | 11 +++++---- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4ada17b..6a22f24 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,26 @@ Si la variable JWT_SECRET n'est pas renseignée, elle est générée automatique yarn && yarn build && yarn dev ``` +## Tokens API + +Les endpoints marqués ⚙️ **Token requis** nécessitent un token API Strapi. + +**Créer le token** : Administration Strapi → *Settings → API Tokens → Create new API Token* + +| Endpoint | Type de token | Permissions requises | +|----------|---------------|----------------------| +| `GET /paroles/export` | Custom | Parole → `export` | +| `POST /paroles/bulk-translate` | Custom | Parole → `bulkTranslate` | + +Pour un token couvrant les deux endpoints, créer un token de type **Custom** et cocher dans la section *Parole* : `export` et `bulkTranslate`. + +Le token est à passer dans le header HTTP : +``` +Authorization: Bearer +``` + +--- + ## Point d'accès ### `/awtis` @@ -77,6 +97,28 @@ ___ ### `/paroles/count` - `GET` : Récupère le nombre de texte +### `/paroles/bulk-translate` ⚙️ Token requis +- `POST` : Traduit automatiquement via DeepL toutes les paroles ayant une source française (`traductions.francais` ou `langueSource: fr`) vers les langues manquantes (EN, ES, DE, IT). Ne modifie pas les traductions déjà existantes. + +**Réponse :** +```json +{"translated": 42, "skipped": 18, "errors": []} +``` + +| Champ | Description | +|-------|-------------| +| `translated` | Nombre de traductions ajoutées | +| `skipped` | Paroles ignorées (pas de source FR ou déjà complètes) | +| `errors` | Erreurs DeepL avec `documentId`, `titre` et `lang` | + +**Exemple :** +```bash +curl -X POST -H "Authorization: Bearer " \ + "https://api.pawol.nu/api/paroles/bulk-translate" +``` + +___ + ### `/paroles/export` ⚙️ Token requis - `GET` : Exporter les paroles et traductions au format JSONL ou JSON pour l'entraînement de modèles LLM diff --git a/src/api/parole/routes/export.js b/src/api/parole/routes/export.js index b61c863..3067d5a 100644 --- a/src/api/parole/routes/export.js +++ b/src/api/parole/routes/export.js @@ -6,10 +6,13 @@ module.exports = { method: 'GET', path: '/paroles/export', handler: 'parole.export', - config: { - policies: [], - middlewares: [], - }, + config: { policies: [], middlewares: [] }, + }, + { + method: 'POST', + path: '/paroles/bulk-translate', + handler: 'parole.bulkTranslate', + config: { policies: [], middlewares: [] }, }, ], };