# Bible Annotée — Architecture chargement dynamique

## Structure du projet

```
bible-annotee/
├── index.html          ← Page principale
├── styles.css          ← Styles (inchangé)
├── booksData.js        ← Liste des 66 livres (inchangé)
├── chaptersData.js     ← Structure versets/chapitres (inchangé)
├── verseLoader.js      ← Chargement dynamique des annotations
├── script.js           ← Logique principale (modifié : hook ajouté)
├── search.js           ← Moteur de recherche (inchangé)
├── customSelect.js     ← Composant select (inchangé)
└── data/
    ├── book_1.js       ← Annotations Genèse (exemple fourni)
    ├── book_2.js       ← Annotations Exode (à créer)
    └── ...             ← 1 fichier par livre (66 au total)
```

---

## Format des fichiers d'annotations

Chaque livre est un fichier `data/book_N.js` (N = numéro du livre, 1 à 66).

**Exemple `data/book_1.js` (Genèse) :**

```javascript
window._bibleBookData = window._bibleBookData || {};
window._bibleBookData[1] = {
  "1": {
    "0": {
      "isTexte": true,
      "texteHtml": "<p>Note d'introduction du chapitre 1...</p>"
    },
    "1": { "html": "Annotation du verset 1..." },
    "2": { "html": "Annotation du verset 2..." }
  },
  "2": {
    "3": { "html": "Annotation du verset 3 du chapitre 2..." }
  }
};
```

**Règles :**
- La clé `"0"` d'un chapitre = note de section (bouton "Note de chapitre")
- Les autres clés = numéros de versets annotés
- Seuls les versets **avec annotation** doivent apparaître
- Le HTML peut contenir `<strong>`, `<em>`, `<dfn>`, `<code>`, `<cite>`, `<table>`, etc.
- Si un livre n'a pas encore de fichier → pas d'erreur, juste pas d'annotations

---

## Pourquoi des fichiers .js et non .json ?

Les fichiers `.json` nécessitent un `fetch()` qui **ne fonctionne pas en `file://`**
(protocole utilisé quand on double-clique sur index.html).

Les fichiers `.js` sont chargés via `<script>` dynamique → fonctionne partout :
`file://`, serveur local, hébergement web, Capacitor, TWA.

---

## Poids estimé une fois complété

| Fichier | Poids estimé |
|---------|-------------|
| Fichiers statiques (HTML/CSS/JS) | ~300 Ko |
| `data/book_*.js` (66 livres annotés) | 20–45 Mo |
| **Total** | **~25–45 Mo** (bien sous la limite Play Store de 150 Mo) |
