Card and item editing
Accessing the card editor
- From the language list → ✏️ "Éditer" button on the desired language
- Or directly:
/admin/languages/[id]/cards
The editor displays all cards for the language (words and phrases), with their items.
Card list view
For each card:
- Card number
- Type: word (word) or phrase (phrase)
- Theme (for words)
- Number of items
- Audio progress: how many items have audio
Editing an item's text
Via the admin interface
- Click on a card to open it
- You see all the card's items (list of positions)
- Click on an item to enter edit mode
- Modify:
texte_original: the text in the African languagetraduction: the French translation- Click "Sauvegarder"
Via PostgreSQL directly
UPDATE items
SET
original_text = 'New text in the language',
translation = 'New translation'
WHERE id = 'item-uuid';
Editing an item's audio URL
If you want to point an item to an existing audio file in MinIO:
Via the admin interface
In the item view → "URL audio" field → edit → save.
Via PostgreSQL
UPDATE items
SET audio_url = 'https://[minio-public-url]/audios/[file-path].mp3'
WHERE id = 'item-uuid';
Audio URL format:
https://[MINIO_PUBLIC_URL]/[MINIO_BUCKET]/[language_code]/[card_id]/[position].mp3
Example:
https://racines-s3.id2real.net/audios/pul/carte-123/pos-1.mp3
⚠️ The URL must be publicly accessible (MinIO bucket in
public-readmode).
Adding a new card
Adding new cards is not done from the editor. To add cards to an existing language, use the Excel import from the language creation page.
→ See Excel Import
Deleting an item or a card
⚠️ Deleting a card is irreversible and cascades to its items and statistics.
Via the admin interface
"Supprimer" button on the card or item → confirmation required.
Via PostgreSQL
-- Delete an item
DELETE FROM items WHERE id = 'item-uuid';
-- Delete a card (automatically cascades to items)
DELETE FROM cards WHERE id = 'card-uuid';
Note: Deleting a card via PostgreSQL cascades to items, but does not delete audio files in MinIO. Clean up the bucket manually if needed.
Common use cases
Fixing a typo in a word
Admin UI → Card → Item → Edit → Fix → Save.
Replacing a poor-quality audio
Admin UI or SQL → Modify audio_url of the item to point to the new file in MinIO.
Or: ask the speaker to re-record via their interface (see Speaker management).
Adding a missing theme
SQL → UPDATE cards SET theme = 'New theme' WHERE id = 'uuid';