Architecture
Portion — Ṣaḥīḥ al-Bukhārī, Kitāb 1 (Bad' al-Waḥy)
Sur cette page
- CORPUS: Ṣaḥīḥ al-Bukhārī
- UNIT: Kitāb 1 — كِتَابُ بَدْءِ الْوَحْيِ (
book_id=92) - TOTAL_SOURCE_UNITS: 1 titre de livre + 6 titres de chapitre + 7 hadiths
- FR_BEFORE: 0 / 0 / 0
- FR_GENERATED: 1 / 6 / 7
- FR_CORRECTED: 0 (rien de préexistant à corriger)
- FR_AFTER: 1 / 6 / 7 (couverture complète de ce kitāb)
- NEEDS_REVIEW: aucune — tous les contrôles automatiques sont passés
sans anomalie (source non vide, traduction non vide et distincte,
aucune troncature suspectée, aucun résidu arabe anormal). Les 4
chapitres sans titre propre dans la source (
( بَابٌ: ), marqueur structurel vide) reçoivent l'équivalent structurel neutre( Chapitre : ), sans contenu inventé. - TESTS:
scripts/translations/__tests__/translation-checks.test.mjs(7/7 pass) ; dry-run puis application réelle vérifiés idempotents (deuxième passage : 0 mise à jour, toutskipped(already_fr)). - COMMIT:
c929b4a(feat(corpus-fr): translate Bukhari kitab al-wahy) - DEPLOYMENT: mergé sur
master(merge commit1190510), poussé surorigin/master→ déploiement automatique Vercel déclenché et confirmé livré (voir vérification ci-dessous). - PRODUCTION_VERIFICATION: ✅ vérifié directement sur
https://isnad-app-fr.vercel.app —
/frcharge sans erreur console ;/fr/corpus: première étagère (Bukhari/Muslim) strictement identique, aucune régression ;/fr/corpus/10affiche « Livre du commencement de la révélation » pour le kitāb 1 (les autres livres restent en arabe, comportement attendu) ;/fr/corpus/10/books/92/hadiths/2affiche le texte arabe intégral suivi de la traduction française, mise en page inchangée — capture d'écran de contrôle identique à la vérification locale.
Détail des 7 hadiths traduits#
| # | id | Incipit arabe | Statut |
|---|---|---|---|
| 1 | 2 | إنما الأعمال بالنيات | ✅ |
| 2 | 30 | كيف يأتيك الوحي (ʿĀʾisha) | ✅ |
| 3 | 104 | أول ما بدئ به رسول الله من الوحي (récit complet Ḥirāʾ) | ✅ |
| 4 | 24 | فترة الوحي (Jābir, sourate al-Muddaththir) | ✅ |
| 5 | 106 | لا تحرك به لسانك (Ibn ʿAbbās) | ✅ |
| 6 | 16 | أجود الناس في رمضان (Ibn ʿAbbās) | ✅ |
| 7 | 25 | Héraclius et Abū Sufyān (récit long) | ✅ |
Vérification visuelle production/dev#
Vérifié en environnement de développement local (serveur Next.js réel,
navigateur) : /fr/corpus/10 affiche « Livre du commencement de la
révélation » pour ce livre (les 98 autres restent en arabe, comportement
attendu tant qu'ils ne sont pas traduits) ; /fr/corpus/10/books/92/hadiths/2
affiche le texte arabe intégral suivi de la traduction française, dans le
même gabarit visuel qu'avant (aucune modification de mise en page).
Constat hors périmètre (non corrigé ici)#
La page /fr/corpus/10/books/92 (liste des chapitres/hadiths d'un livre)
s'affiche vide en environnement de développement local, y compris pour un
livre jamais touché par cette mission (book_id=93, Kitāb al-Īmān) — la
requête Supabase client (src/app/[locale]/corpus/[collectionId]/books/[bookId]/page.tsx)
ne gère aucune erreur (.then(({ data }) => setChapters(data ?? []))),
ce qui masque silencieusement tout échec de la requête imbriquée
chapters(...hadiths(...)). Bug préexistant, non lié à la traduction,
non corrigé (hors périmètre strict de cette mission) — signalé pour
traitement ultérieur.
Constat additionnel découvert en production : la deuxième étagère
Corpus P0 OpenITI (mission additive distincte, mergée dans le même
commit) ne s'affiche pas sur https://isnad-app-fr.vercel.app —
GET /api/corpus/openiti/works y répond 500 { "error": "Unable to load OpenITI P0 works." }. Cette route dépend de DATABASE_URL
(src/server/openiti/db.ts), probablement absente ou différente dans les
variables d'environnement Vercel de production par rapport à .env.local
utilisé en développement. Repli sans casse confirmé : la deuxième
étagère se masque simplement (openitiP0Works.some(w => w.available)
reste false), aucune erreur visible pour l'utilisateur, première
étagère et lecture Bukhari/traduction FR totalement non affectées. Hors
périmètre de cette mission de traduction (appartient à la mission
Corpus P0 / configuration Vercel) — nécessite un accès au tableau de bord
Vercel pour vérifier/ajouter la variable d'environnement, non disponible
dans cet environnement d'exécution.