Guide d'installation des widgets
Apprenez à ajouter la Lecture du jour ou les Lectures du dimanche à votre site en quelques minutes.
Essayez
Démo en direct
Voyez exactement à quoi ressemble le widget avant de l'installer. Changez la tradition, la langue, le thème et la taille — l'aperçu se met à jour instantanément.
Catholique · Lecture du jour · Clair
Lectures du dimanche
Protestant · Lectures du dimanche · Sombre
Envie d’essayer toutes les options ?
Le générateur interactif vous permet de combiner tradition, langue, thème, taille et options — puis il copie le code d’intégration pour vous.
Démarrage rapide
L'installation en cinq minutes
Le chemin le plus rapide : collez le code, enregistrez, terminé. Choisissez votre plateforme ci-dessous pour un guide pas à pas.
Recommandé — intégration par script
Iframe à redimensionnement automatique. Fonctionne sur tout site moderne.
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>Alternative — intégration par iframe
À utiliser quand les scripts tiers ne sont pas autorisés.
<iframe
src="https://sundaybiblereadings.com/widgets/embed/daily-reading?locale=auto&tradition=catholic&theme=light&size=medium"
width="100%"
height="320"
loading="lazy"
style="border:0;overflow:hidden;width:100%;"
title="Sunday Bible Readings"></iframe>Guides d'installation
Pas à pas pour chaque plateforme
Choisissez votre CMS ou framework. Chaque guide inclut le code à copier, les erreurs courantes et une checklist.
WordPress
Fonctionne sur tout plan WordPress autorisant le HTML personnalisé — Gutenberg, Elementor et l'éditeur classique sont tous pris en charge.
Étapes
- Modifiez l'article, la page ou la zone de widgets où vous voulez la lecture.
- Dans l'éditeur de blocs, cliquez sur "+" et choisissez "HTML personnalisé". Dans Elementor, glissez un widget "HTML". Dans l'éditeur classique, passez à l'onglet "Texte".
- Collez le code ci-dessous.
- Enregistrez / publiez. Le widget apparaît immédiatement sur le site.
Pour les barres latérales et pieds, utilisez Apparence → Widgets → HTML personnalisé.
Si votre thème requiert des scripts en pied de page, placez le <script> dans le champ "Scripts pied de page" et le <div data-sbr-widget="..."> où vous voulez le widget.
Code d'exemple
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>Erreurs courantes
- Coller dans un bloc paragraphe — WordPress échappera le HTML.
- Plugins de cache (WP Rocket, W3 Total Cache) servant une ancienne version — videz le cache.
- Plugins de sécurité supprimant <script> — autorisez les scripts depuis sundaybiblereadings.com.
Checklist de réussite
- Bloc HTML / Code utilisé (pas paragraphe).
- Cache vidé.
- Widget visible côté public (pas seulement dans l'éditeur).
Squarespace
Squarespace 7.1 prend en charge les widgets via le bloc "Code". Les plans payants permettent aussi d'injecter le script sur tout le site.
Étapes
- Modifiez la page où vous voulez le widget.
- Cliquez sur "+" et insérez un bloc "Code".
- Assurez-vous que "Afficher la source" est désactivé et que le type est HTML.
- Collez et enregistrez.
Pour l'utiliser sur toutes les pages, allez dans Paramètres → Avancé → Injection de code → Footer et collez seulement la balise <script> une fois. Puis placez le <div data-sbr-widget="..."> sur chaque page.
Code d'exemple
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>Erreurs courantes
- Plan gratuit qui désactive les blocs Code.
- "Afficher la source" activé — imprime le HTML comme texte.
- Envelopper le code dans un bloc Markdown.
Checklist de réussite
- Page enregistrée et publiée.
- Bloc Code contient du HTML, pas du texte brut.
- L'aperçu mobile affiche encore le widget.
Wix
Utilisez l'iframe pour un rendu cohérent. L'éditeur Wix isole les scripts tiers.
Étapes
- Dans l'éditeur Wix, cliquez sur Ajouter (+) → Code d'intégration → HTML Embed.
- Choisissez "Code" et collez l'iframe ci-dessous.
- Redimensionnez l'emplacement à la taille voulue.
- Publiez.
Sur Wix Business / VIP, vous pouvez utiliser le script via Paramètres → Code personnalisé → Ajouter → Fin du body.
Code d'exemple
<iframe
src="https://sundaybiblereadings.com/widgets/embed/daily-reading?locale=auto&tradition=catholic&theme=light&size=medium"
width="100%"
height="320"
loading="lazy"
style="border:0;overflow:hidden;width:100%;"
title="Sunday Bible Readings"></iframe>Erreurs courantes
- Choisir "Adresse du site" au lieu de "Code".
- Iframe trop court — fixez la hauteur à 320px ou plus.
- Oublier de publier (Enregistrer ne suffit pas).
Checklist de réussite
- Élément HTML Embed ajouté.
- Hauteur du iframe ≥ 320px sur desktop.
- Site publié.
Joomla
Utilisez un module HTML personnalisé ou un article en mode HTML. Vérifiez que l'éditeur et les filtres de texte ne suppriment pas les scripts.
Étapes
- Allez dans Extensions → Modules → Nouveau → Personnalisé.
- Dans l'éditeur, cliquez sur "Basculer l'éditeur" pour passer en HTML pur.
- Collez le code, assignez le module à une position et enregistrez.
- Vérifiez Système → Configuration globale → Filtres de texte et passez le groupe sur "Sans filtrage".
Code d'exemple
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>Erreurs courantes
- TinyMCE supprimant <script> — désactivez l'éditeur avant de coller.
- Filtre de texte bloquant iframe / script — ajustez par groupe.
- Module assigné à la mauvaise position du modèle.
Checklist de réussite
- Module publié et assigné à une position visible.
- Le filtre de texte ne supprime pas les scripts pour le groupe.
- Widget visible sur les pages configurées.
Drupal
Utilisez un Bloc personnalisé avec le format Full HTML. Activez Full HTML pour le rôle qui place le widget.
Étapes
- Allez dans Structure → Disposition des blocs → Bibliothèque de blocs → Ajouter.
- Définissez Format de texte sur "Full HTML".
- Collez le code dans le corps et enregistrez.
- Placez le bloc dans la région voulue.
Code d'exemple
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>Erreurs courantes
- Utiliser Basic HTML — supprime iframe et script.
- Oublier de placer le bloc après création.
- Modules CSP stricts bloquant sundaybiblereadings.com.
Checklist de réussite
- Format Full HTML utilisé.
- Bloc placé dans une région visible.
- Cache reconstruit (admin/config/development/performance).
Static HTML
Collez le code n'importe où dans <body>. Fonctionne avec HTML pur, GitHub Pages, Netlify, Cloudflare Pages, Vercel, etc.
Étapes
- Ouvrez votre fichier HTML dans un éditeur.
- Collez le code dans <body>.
- Enregistrez et téléversez.
Code d'exemple
<!doctype html>
<html lang="en">
<body>
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>
</body>
</html>Erreurs courantes
- Coller dans <head> — le script a besoin du DOM.
- Servir en HTTP — le contenu mixte bloque le widget.
Checklist de réussite
- Code dans <body>.
- Site servi en HTTPS.
- Page rechargée après upload.
React
Rendez le <div> marqueur dans n'importe quel composant et chargez le script une fois via useEffect pour éviter le SSR.
Étapes
- Créez un composant BibleWidget (snippet ci-dessous).
- Importez-le où vous voulez.
- Assurez-vous que le script n'est ajouté qu'une fois, même si le composant se monte plusieurs fois.
Code d'exemple
import { useEffect } from "react";
export function BibleWidget() {
useEffect(() => {
const id = "sbr-widget-loader";
if (document.getElementById(id)) return;
const s = document.createElement("script");
s.id = id;
s.src = "https://sundaybiblereadings.com/widgets/embed.js";
s.async = true;
document.body.appendChild(s);
}, []);
return (
<div
data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="auto"
data-size="medium"
/>
);
}Erreurs courantes
- Appeler document.createElement en SSR — encapsulez dans useEffect.
- Ajouter le script plusieurs fois — vérifiez l'id existant.
- CSP stricte sans https://sundaybiblereadings.com dans frame-src/script-src.
Checklist de réussite
- Script ajouté une seule fois.
- Le composant rend le div marqueur.
- Aucun avertissement d'hydratation dans la console.
Next.js
Utilisez next/script avec strategy="afterInteractive". Fonctionne avec App Router (marquez le composant "use client") et Pages Router.
Étapes
- Créez un Client Component (App Router) ou tout composant (Pages Router) qui enveloppe next/script.
- Rendez le div marqueur à côté de Script.
- Importez et placez le composant où vous voulez.
Code d'exemple
// app/components/BibleWidget.tsx — App Router (Client Component)
"use client";
import Script from "next/script";
export default function BibleWidget() {
return (
<>
<Script
src="https://sundaybiblereadings.com/widgets/embed.js"
strategy="afterInteractive"
/>
<div
data-sbr-widget="sunday-readings"
data-locale="auto"
data-tradition="catholic"
data-theme="auto"
data-size="medium"
/>
</>
);
}Erreurs courantes
- Oublier la directive "use client" en App Router.
- Utiliser strategy="beforeInteractive" — le widget a besoin du DOM.
- Importer le fichier au niveau page sans le marquer client.
Checklist de réussite
- Composant marqué client (App Router).
- Script rendu une seule fois par page.
- Le build de production monte toujours le widget.
Vue / Nuxt
Même schéma que React : ajoutez le script dans onMounted (ou mounted() en Options API) et rendez le template marqueur.
Étapes
- Créez un composant single-file (snippet ci-dessous).
- Importez-le où vous voulez.
- Dans Nuxt, utilisez <ClientOnly> pour sauter le SSR si vous préférez.
Code d'exemple
<!-- BibleWidget.vue -->
<template>
<div
data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="auto"
data-size="medium"
/>
</template>
<script setup>
import { onMounted } from "vue";
onMounted(() => {
if (document.getElementById("sbr-widget-loader")) return;
const s = document.createElement("script");
s.id = "sbr-widget-loader";
s.src = "https://sundaybiblereadings.com/widgets/embed.js";
s.async = true;
document.body.appendChild(s);
});
</script>Erreurs courantes
- Charger le script en contexte SSR — utilisez onMounted.
- Monter plusieurs copies du script.
Checklist de réussite
- Vérification d'id pour éviter les doublons.
- Widget rendu après un rechargement complet.
- Fonctionne avec le mode universel de Nuxt.
Personnaliser
Chaque option, expliquée
Toute la personnalisation passe par les attributs data-* sur le div marqueur (ou les paramètres de l'URL du iframe).
| Attribut | Valeurs | Notes |
|---|---|---|
| data-sbr-widget | daily-readingsunday-readings | Obligatoire. Choisit le widget à afficher. |
| data-locale | autoenesptfritdepl | "auto" détecte la langue du navigateur avec l'anglais en repli. |
| data-tradition | catholicprotestantorthodox | Contrôle les références bibliques et les liens. |
| data-theme | lightdarkauto | "auto" suit le thème système du visiteur. |
| data-size | smallmediumlarge | Affecte la typographie et la hauteur initiale du iframe. |
| data-logo | 10 | Afficher l'en-tête avec l'icône du livre. |
| data-desc | 10 | Afficher la courte réflexion / description. |
Exemples d'intégration
Script ou iframe
Les deux sont gratuits. Choisissez selon votre CMS.
Intégration par script (recommandée)
Un petit script découvre chaque data-sbr-widget sur la page, injecte un iframe responsive et le redimensionne automatiquement, sans décalage de mise en page.
Recommandé pour : WordPress, Squarespace (payant), HTML statique, React, Next.js, Vue.
Intégration par iframe
Un seul <iframe> avec hauteur initiale fixe. Aucun JavaScript requis chez vous.
Recommandé pour : Wix, Joomla/Drupal restreints, environnements CSP strictes, e-mails (les iframes y sont retirés — pointez vers la page canonique).
Compatibilité
Navigateurs pris en charge
Tous les navigateurs récents des deux dernières versions majeures.
IE 11 n'est pas pris en charge. Safari mobile, Chrome Android et Firefox Android le sont.
Dépannage
Résoudre les problèmes courants
Cherchez par symptôme. S'il manque quelque chose, contactez-nous, on l'ajoutera.
Bonnes pratiques
Où placer le widget
Accessibilité
- Liens et boutons d'appel à l'action navigables au clavier.
- HTML sémantique (article, header, footer).
- Contraste de couleurs testé WCAG AA sur les deux thèmes.
- Compatible lecteurs d'écran — titre et méta annoncés.
Performance
- Script de chargement petit et asynchrone.
- Iframe en chargement différé (loading="lazy").
- Redimensionnement via postMessage — pas de décalage.
- Responsive par défaut ; pas de CSS supplémentaire.
Attribution
- Les widgets sont entièrement gratuits.
- Le pied "Powered by Sunday Bible Readings" doit rester visible.
- Le lien renvoie vers la page canonique appropriée.
- Retirer ou masquer l'attribution n'est pas autorisé.
Mises à jour
Installer puis oublier
Les widgets affichent toujours les dernières lectures. Pas besoin de redéployer, rafraîchir ou modifier le code. Chaque jour, le widget récupère la lecture du jour ; chaque semaine, les lectures du dimanche le plus proche.
FAQ
Questions fréquentes
Support