Préservation de la langue Massa.
# Dictionnaire massa–français · `dict_masa`
Application Flutter d'apprentissage de la langue **massa** (dialectes
*gumay* et *ɦaara*) : dictionnaire hors-ligne (4 748 entrées, 7 174
exemples, recherche instantanée et français→massa), leçons thématiques et
quiz hors-ligne, favoris, historique, et contributions communautaires
(prononciations audio, propositions de mots, signalements) via Supabase.
**Auteur : SAVOUDSOU Benjamin** · package
`com.savoudsouB.dict_masa` · licence MIT.
---
## Sommaire
1. Prérequis
2. Installation
3. Génération de code (Drift, i18n, icônes)
4. Configuration Supabase
5. Lancement et tests
6. Build APK / AAB
7. Architecture
8. Données
9. Critères d'acceptation
---
## Prérequis
- **Flutter ≥ 3.24** (Dart 3) — `flutter --version`
- Android SDK (minSdk 23, Android 8+ ciblé) et/ou Xcode pour iOS
- (Facultatif) CLI Supabase pour
appliquer les migrations
## Installation
```bash
git clone dict_masa
cd dict_masa
# 1. Génère les dossiers de plateformes (android/, ios/) pour le package
# com.savoudsouB.dict_masa — le dépôt ne contient que le code Dart.
flutter create . --org com.savoudsouB --project-name dict_masa
# 2. Dépendances
flutter pub get
# 3. Variables d'environnement
cp .env.example .env
# Renseignez SUPABASE_URL et SUPABASE_ANON_KEY (voir plus bas).
# Sans configuration, l'app fonctionne — consultation et apprentissage
# sont 100 % hors-ligne ; seules les contributions sont désactivées.
```
### Permissions Android
Après `flutter create .`, ajoutez dans
`android/app/src/main/AndroidManifest.xml` (avant ` `) :
```xml
```
et, **dans l'activité `.MainActivity`**, l'intent-filter du lien profond
`masadico://` (utilisé par le clavier masa, bouton 📖) :
```xml
```
et dans `android/app/build.gradle`, vérifiez `minSdk = 23` (Android 8+ est
couvert ; les polices embarquées garantissent ɓ ɗ ɦ ɬ ŋ ʔ et les tons sur
toutes les versions).
### Permissions iOS
Dans `ios/Runner/Info.plist` :
```xml
NSM …