Intégrer des activités interactives générées par l'IAG dans Moodle
Conditions d’achèvement
Informations

Article
Deux bonnes pratiques
Après plusieurs expérimentation, nous concluons que ces deux options sont les plus pertinentes pour intégrer des activités interactives dans Moodle. Ces options impliquent de demander à l'IAG de générer :
- Un fichier HTML (potentiellement intégré à une page Moodle)
- Un fichier Scorm (à être ajouté au fil d'activités de votre cours)
Auteur
Yvon et Dominic
Date
2026-06-16
Type de ressource
Article
Organisation
CSS de la Beauce-Etchemin
Fonction
Récit National
Production
Page HTML
Option 1 : générer un fichier HTML et l'intégrer dans une page Moodle (iFrame)
- Télécharger l'activité générée par l'IAG sous la forme d'un fichier HTML
- Glisser-déposer ce fichier HTML à votre fil d'activité Moodle (en mode édition, dans la zone pointillée)
- Ajuster les paramètres d'ouverture de votre nouvelle ressource HTML (Apparence => Ouvrir)
- Copier l'URL (clic droit sur l'item de la liste des activités)
- Créer une page Moodle
- Coller le code (ci-dessous) et remplacer la ligne URL_DE_VOTRE_RESSOURCE_HTML_ICI par l'URL copié à l'étape 4
- Enregistrer votre page
Avantages de cette option :
- Vos apprenant(e)s ne sortent pas de l'environnement de votre cours pour vivre l'activité car l'activité est intégrée dans une page Moodle
- Le script permet à votre activité interactive se s'ajuster dynamiquement (adéquatement) au contenu de votre activité générée par l'IAG
- L'auteur peut imbriquer d'autres contenus à l'intérieur de sa page. (la balise <script> doit toujours être placée à la fin du code html)
<div class="container-fluid p-0 my-3">
<iframe class="auto-resize-iframe"
src="URL_DE_VOTRE_RESSOURCE_HTML_ICI"
title="Contenu pédagogique"
style="width: 100%; height: 300px; border: none; overflow: hidden; display: block;">
</iframe>
</div>
<script>
(function() {
document.addEventListener("DOMContentLoaded", function() {
const iframes = document.querySelectorAll('.auto-resize-iframe');
const margeSecurite = 25;
iframes.forEach(iframe => {
iframe.addEventListener('load', function() {
try {
const iframeDoc = iframe.contentWindow.document;
// LE VERROU : empêche le script de s'auto-déclencher en boucle
let isAdjusting = false;
const ajusterHauteur = () => {
if (isAdjusting) return;
isAdjusting = true;
// 1. On repasse temporairement en 'auto' pour couper l'effet d'étirement du CSS
iframe.style.height = 'auto';
// 2. On mesure la vraie hauteur naturelle du contenu
const hauteurContenu = Math.max(
iframeDoc.body.scrollHeight,
iframeDoc.documentElement.scrollHeight
);
// 3. On applique la bonne taille avec la marge
iframe.style.height = (hauteurContenu + margeSecurite) + 'px';
// 4. On relâche le verrou après un micro-délai pour laisser le DOM se stabiliser
setTimeout(() => {
isAdjusting = false;
}, 50);
};
// Ajustement initial
ajusterHauteur();
// Observation des changements du contenu
const resizeObserver = new ResizeObserver(() => {
ajusterHauteur();
});
resizeObserver.observe(iframeDoc.body);
} catch (error) {
console.warn("Impossible d'ajuster l'iframe dynamiquement : ", error);
iframe.style.height = "750px";
iframe.style.overflow = "auto";
}
});
if (iframe.contentWindow && iframe.contentWindow.document.readyState === 'complete') {
iframe.dispatchEvent(new Event('load'));
}
});
});
})();
</script>
Option 2 : générer un fichier SCORM et l'intégrer à votre fil d'activités
Utilisez le générateur d'activité Scorm pour générer un tel fichier en tirant profit de l'IAG. Une fois le fichier Scorm généré, il ne vous restera qu'à le glisser-déposer dans le fil d'activités de votre cours Moodle.
Avantages de cette option :
- Vos apprenant(e)s ne sortent pas de l'environnement de votre cours pour vire l'activité
- La navigation n'est pas affectée
- Étant donné que c'est une activité, il est possible de gérer les conditions d'achèvement et les restrictions
- Des traces des apprentissages seront offertes au même titre qu'un test Moodle par exemple
- Moins de manipulations nécessaires
Modifié le: jeudi, 18 juin 2026, 10:00
