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
Clair

Catholique · Lecture du jour · Clair

Protestante
Sombre

Protestant · Lectures du dimanche · Sombre

Orthodoxe
Clair

Orthodoxe · Lecture du jour · Clair

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.

Ouvrir le générateur

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

Facile
2 min

Fonctionne sur tout plan WordPress autorisant le HTML personnalisé — Gutenberg, Elementor et l'éditeur classique sont tous pris en charge.

Étapes

  1. Modifiez l'article, la page ou la zone de widgets où vous voulez la lecture.
  2. 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".
  3. Collez le code ci-dessous.
  4. 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

Facile
2 min

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

  1. Modifiez la page où vous voulez le widget.
  2. Cliquez sur "+" et insérez un bloc "Code".
  3. Assurez-vous que "Afficher la source" est désactivé et que le type est HTML.
  4. 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

Facile
3 min

Utilisez l'iframe pour un rendu cohérent. L'éditeur Wix isole les scripts tiers.

Étapes

  1. Dans l'éditeur Wix, cliquez sur Ajouter (+) → Code d'intégration → HTML Embed.
  2. Choisissez "Code" et collez l'iframe ci-dessous.
  3. Redimensionnez l'emplacement à la taille voulue.
  4. 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

Moyen
4 min

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

  1. Allez dans Extensions → Modules → Nouveau → Personnalisé.
  2. Dans l'éditeur, cliquez sur "Basculer l'éditeur" pour passer en HTML pur.
  3. Collez le code, assignez le module à une position et enregistrez.
  4. 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

Moyen
5 min

Utilisez un Bloc personnalisé avec le format Full HTML. Activez Full HTML pour le rôle qui place le widget.

Étapes

  1. Allez dans Structure → Disposition des blocs → Bibliothèque de blocs → Ajouter.
  2. Définissez Format de texte sur "Full HTML".
  3. Collez le code dans le corps et enregistrez.
  4. 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

Facile
1 min

Collez le code n'importe où dans <body>. Fonctionne avec HTML pur, GitHub Pages, Netlify, Cloudflare Pages, Vercel, etc.

Étapes

  1. Ouvrez votre fichier HTML dans un éditeur.
  2. Collez le code dans <body>.
  3. 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

Facile
3 min

Rendez le <div> marqueur dans n'importe quel composant et chargez le script une fois via useEffect pour éviter le SSR.

Étapes

  1. Créez un composant BibleWidget (snippet ci-dessous).
  2. Importez-le où vous voulez.
  3. 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

Facile
3 min

Utilisez next/script avec strategy="afterInteractive". Fonctionne avec App Router (marquez le composant "use client") et Pages Router.

Étapes

  1. Créez un Client Component (App Router) ou tout composant (Pages Router) qui enveloppe next/script.
  2. Rendez le div marqueur à côté de Script.
  3. 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

Facile
3 min

Même schéma que React : ajoutez le script dans onMounted (ou mounted() en Options API) et rendez le template marqueur.

Étapes

  1. Créez un composant single-file (snippet ci-dessous).
  2. Importez-le où vous voulez.
  3. 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).

AttributValeursNotes
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.

Chrome
Firefox
Safari
Edge
Brave

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

    Placez la Lecture du jour sur la page d'accueil, vers le haut.
    Placez les Lectures du dimanche près des horaires de culte.
    Laissez de l'espace autour du widget pour ne pas étouffer le reste.
    Évitez les onglets cachés et accordéons fermés — le widget ne peut pas mesurer sa hauteur dedans.
    Utilisez un widget au-dessus de la ligne de flottaison et un autre en dessous lorsque les deux sont pertinents.
    Testez sur ordinateur et mobile avant d'annoncer.

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

Besoin d'aide ?