1 GitHub - crispyfunicular/kemmadur: Outil CLI Python pour s'entraîner aux mutations initiales bretonnes · GitHub
Skip to content

crispyfunicular/kemmadur

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KEMMADUR : Entraînement aux mutations initiales bretonnes

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.

Description

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.

Rappel : les mutations bretonnes

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)

Installation

git clone https://github.com/crispyfunicular/kemmadur.git
cd kemmadur
pip install rich aiosql

La base SQLite kemmadur.db est fournie prête à l'emploi. Pour la recréer depuis les fichiers source :

sqlite3 kemmadur.db < tables.sql

Utilisation

Version web

Accessible 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)

Version CLI

Lancer le quiz interactif :

python3 kemmadur.py

Exemple 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

Structure du projet

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

Feuille de route

  • 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)

Licence

MIT

About

Outil CLI Python pour s'entraîner aux mutations initiales bretonnes

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors