PWA to teach Kabyle to children
# Awal — apprendre le kabyle en jouant
Une application familiale pour transmettre le kabyle à des enfants de 5 à 11 ans,
appuyée sur des enregistrements faits par un locuteur natif de la famille.
L'objectif n'est pas le nombre de mots retenus, mais que les enfants **n'aient
plus peur de parler**.
## Ce qu'il reste à faire
**Enregistrer les 213 entrées avec ta voix.** C'est la seule partie qui ne peut
pas être automatisée, et c'est celle qui compte. Compter une à deux heures,
découpables en séances par thème.
En attendant, un corpus d'**audios de remplacement** produits par la synthèse
vocale française du système permet de tout essayer. **Leur prononciation est
fausse** : ils servent uniquement à vérifier que la mécanique fonctionne, et
disparaissent au premier vrai enregistrement (`--purger`, voir plus bas).
## Structure
| Dossier | Rôle |
|---|---|
| `packages/corpus` | contrat partagé : schémas, validation, format de l'artefact |
| `apps/studio` | back-office privé : saisie, enregistrement, publication |
| `apps/enfant` | la PWA installable que les enfants utilisent |
| `docs/corpus-v1.md` | la liste de vocabulaire, source éditoriale |
| `docs/superpowers/` | le spec et les trois plans d'implémentation |
Le studio et l'app enfant ne se parlent que par un fichier : l'**artefact de
corpus** publié. Aucune requête de l'app enfant ne touche la base de données —
c'est ce qui la rend instantanée, hors-ligne et increvable.
## Démarrer
```bash
pnpm install
# Base de données locale
cd apps/studio
cp .env.example .env.local # puis renseigner STUDIO_MOT_DE_PASSE
docker compose up -d
pnpm db:appliquer # crée les tables
pnpm db:seed # insère les 213 entrées
# Audios de remplacement, pour tout essayer sans avoir enregistré
pnpm tsx seed/audio-remplacement.ts
# Publier et alimenter l'app enfant
cd ../.. && ./outils/synchroniser-enfant.sh
```
Puis, dans deux terminaux :
```bash
pnpm --filter studio dev # http:// …