Outil pour s'entraîner aux mutations initiales en breton (kemmadurioù). Le projet génère des questions de type quiz à partir d'une base de données SQLite couvrant la lénition (adoucissement), la spirantisation, le durcissement et la mutation mixte.
Les mutations initiales (kemmadurioù) sont l'un des aspects les plus caractéristiques de la morphophonologie bretonne. La consonne initiale d'un mot est modifiée en fonction du mot grammatical qui le précède (articles, possessifs, prépositions, numéraux…).
Ce projet modélise ces mutations en SQL et génère automatiquement des questions d'entraînement :
- Déclencheur + nom → forme mutée (ex :
da + tad = da dad[à/pour + père]) - Nombre + nom → forme mutée (ex :
daou + tad = daou dad[deux + père]) - Nom féminin + adjectif → adjectif muté (ex :
mamm + brav = mamm vrav[mère + beau]) - Article + nom → article correct + mutation éventuelle (ex :
ar + bro = ar vro[le/la + pays]) - Article + nom + adjectif → mutations combinées (ex :
ur + mamm + brav = ur vamm vrav[un/une + mère + beau])
Un quiz interactif est disponible en version web et en ligne de commande (Python + Rich), à l'image de Magister Conjugationis.
| Lettre | Lénition (adoucissement) | Spirantisation | Durcissement | Mixte |
|---|---|---|---|---|
| k | g | c'h | — | — |
| kw | — | — | — | — |
| p | b | f | — | — |
| t | d | z | — | — |
| g | c'h | — | k | c'h |
| gw | w | — | kw | w |
| d | z | — | t | z |
| b | v | — | p | v |
| m | v | — | — | v |
Déclencheurs :
- Lénition (adoucissement) : a, da, daou, div, dindan, diwar, dre, e (possessif masc.), eme, en em, en ur, hanter, holl, na, ne, pa, pe, re, war… + article + nom féminin singulier, article + nom masculin pluriel (en -ou), nom féminin + adjectif
- Spirantisation : ma/va (mon), he (son/sa fém.), o (leur), tri/teir (trois), pevar/peder (quatre), nav (neuf)
- Durcissement : ho (votre), az/ez (te/toi), da'z (à toi)…
- Mixte : participe présent (o + verbe), après la particule verbale e, après ma (que)
git clone https://github.com/crispyfunicular/kemmadur.git
cd kemmadur
pip install rich aiosqlLa base SQLite kemmadur.db est fournie prête à l'emploi. Pour la recréer depuis les fichiers source :
sqlite3 kemmadur.db < tables.sqlAccessible directement à l'adresse : https://crispyfunicular.github.io/kemmadur/
Fonctionnalités :
- Choix des catégories (déclencheurs, nombres, nom+adjectif, articles, article+nom+adjectif)
- Traduction française affichée sous chaque question
- Bouton Passer pour sauter une question
- Bouton Indice affichant le tableau des mutations
- Possibilité de réessayer après une mauvaise réponse (demi-point)
Lancer le quiz interactif :
python3 kemmadur.pyExemple de session :
Degemer mat ! Bienvenue dans le test de mutations bretonnes.
ar + mamm + brav = ?: ar vamm vrav
Mat tre !
ur + tad + kozh = ?: ur tad kozh
Mat tre !
---
Fin de l'exercice ! Votre score : 2 / 2
kemmadur/
├── kemmadur.py # Quiz interactif CLI (Python + Rich)
├── tables.sql # Schéma + données (noms, adjectifs, déclencheurs, mutations)
├── requetes.sql # Requêtes SQL nommées (chargées via aiosql)
├── kemmadur.db # Base SQLite pré-remplie
├── scripts/
│ └── export_flashcards.py # Génère web/flashcards.js depuis la BDD
├── web/
│ ├── index.html # Quiz web (Alpine.js + Tailwind)
│ ├── app.js # Logique du quiz
│ └── flashcards.js # Données exportées
├── .github/workflows/
│ └── static.yml # Déploiement GitHub Pages
├── README.md
└── LICENSE
- Modélisation des mutations (lénition, spirantisation, durcissement, mixte)
- Base de données SQL + requêtes de génération de questions
- Quiz interactif CLI en Python
- Interface web (GitHub Pages)
- Choix du type d'exercice (déclencheurs, nombres, adjectifs, articles, complet)
- Indices de traduction française sous chaque question
- Bouton « Passer » et bouton « Indice » (tableau des mutations)
- Demi-point si réponse correcte après erreur
- Système d'indices progressifs (genre, catégorie de mutation, règle, réponse)
- Mode traduction (forme mutée → traduction française)
MIT