# africa-voices — pipeline d'amorçage
Génère le référentiel des langues africaines qui alimente le dashboard :
inventaire, locuteurs, pays, usage écrit, couverture des modèles de traduction
et de transcription.
```bash
pip install -r requirements.txt # requests uniquement
sudo apt install poppler-utils # pdftotext, pour le PDF Malherbe
python3 run.py
```
Sorties dans `data/out/`. Comptez ~15 min au premier passage (Wikidata est
interrogé par lots), quelques secondes ensuite : tout est mis en cache dans
`data/raw/`.
| Option | Effet |
| --- | --- |
| `--refresh` | ignore le cache et re-télécharge tout |
| `--no-pdf` | construit le référentiel sans le Répertoire Malherbe |
| `--pdf chemin.pdf` | désigne un autre exemplaire du livre |
## Ce que produit le pipeline
| Fichier | Contenu |
| --- | --- |
| `languages.json` | une ligne par langue : identité, famille, locuteurs, écrit, MT, ASR |
| `language_country.json` | table de jonction langue × pays avec statut officiel |
| `macrolanguages.json` | vue peul / swahili / arabe / oromo et leurs variétés |
| `aliases.csv` | table d'alias résolus, avec confiance et candidats — **à relire** |
| `stats.json` | agrégats prêts pour les compteurs du dashboard |
| `sources.json` | provenance : URL, licence, date, empreinte SHA-256 de chaque source |
| `dashboard_data.json` | projection compacte (~900 ko) consommée par la page |
## Le dashboard
`run.py` régénère aussi `dashboard.html` à la racine : une page autonome, données
embarquées, aucune dépendance ni build. Ouvrez-la dans un navigateur, ou publiez-la.
Le gabarit est `web/dashboard.template.html` ; le pipeline y injecte les données à
la place du marqueur `__DATA__`. Pour retoucher la page sans relancer les
téléchargements :
```bash
python3 -c "from pipeline.export_web import render_page; from pathlib import Path; \
render_page(Path('data/out/dashboard_data.json').read_text())"
```
Trois vues : **Langues** (2 388 lignes filtrables, panneau de détail par lan …