/* =====================================================================
atelier-m3-m4.js
Interactions des modules 3 et 4. À charger APRÈS atelier-texte.js.
Chaque bloc ne s'exécute que si son conteneur existe dans la page,
donc le fichier peut être chargé par les deux modules indifféremment.
===================================================================== */
(function(){
"use strict";
/* Réutilise le quiz d'atelier-texte.js s'il est disponible.
Sinon, produit le même balisage, pour que la page reste utilisable. */
const poserQuiz = (typeof window.quiz === 'function') ? window.quiz : function(el, questions){
if(!el) return;
el.innerHTML = questions.map(function(q,i){
return '
');
}
let t = 'Zone de texte : '
+ (L - m.gauche - m.droite).toFixed(1).replace('.',',') + ' cm sur '
+ (H - m.haut - m.bas).toFixed(1).replace('.',',') + ' cm.';
if(m.gauche < 1.5 || m.droite < 1.5 || m.haut < 1.5 || m.bas < 1.5){
t += ' Attention, en dessous de 1,5 cm certaines imprimantes coupent le texte.';
}
note.textContent = t;
}
['at-m-haut','at-m-bas','at-m-gauche','at-m-droite','at-entete','at-pied']
.forEach(function(id){ document.getElementById(id).addEventListener('input', majPage); });
const orientEl = document.getElementById('at-orient');
if(orientEl) orientEl.addEventListener('click', function(e){
const b = e.target.closest('button'); if(!b) return;
document.querySelectorAll('#at-orient button').forEach(function(x){ x.setAttribute('aria-pressed','false'); });
b.setAttribute('aria-pressed','true');
majPage();
});
majPage();
}
/* ---------- lignes vides contre saut de page ---------- */
const fluxA = document.getElementById('at-flux-vides');
if(fluxA){
const fluxB = document.getElementById('at-flux-saut');
const CORPS = "La crèche Les Petits Pas accueille les enfants de deux mois et demi à trois ans. Elle dispose de trente-six places réparties en trois sections. Les inscriptions se prennent à partir du quatrième mois de grossesse. Une visite des locaux est organisée avant toute inscription.";
const SUITE = "L'accueil du matin se fait de sept heures à neuf heures. Chaque enfant est remis à une puéricultrice de sa section.";
const AJOUT = "Une réunion de parents est organisée chaque année en septembre.";
let ajouts = 0;
function rendreFlux(){
let tete = '';
for(let i = 0; i < ajouts; i++){ tete += '
'+AJOUT+'
'; }
const vides = new Array(7).join('
');
fluxA.innerHTML = "
Fiche d'information
" + tete + '
'+CORPS+'
' + vides
+ "
Le déroulement d'une journée
"+SUITE+"
";
fluxB.innerHTML = "
Fiche d'information
" + tete + '
'+CORPS+'
'
+ "
Le déroulement d'une journée
"+SUITE+"
";
}
document.getElementById('at-flux-plus').addEventListener('click', function(){ if(ajouts < 4){ ajouts++; rendreFlux(); } });
document.getElementById('at-flux-reset').addEventListener('click', function(){ ajouts = 0; rendreFlux(); });
rendreFlux();
}
/* ---------- numéro tapé contre champ inséré ---------- */
const piedMain = document.getElementById('at-pied-main');
if(piedMain){
const piedChamp = document.getElementById('at-pied-champ');
const noteChamp = document.getElementById('at-champ-note');
let nb = 4;
function rendreChamp(){
piedMain.innerHTML = 'Document mis à jour en septembre 2026 Page 1 sur 4';
piedChamp.innerHTML = 'Document mis à jour en septembre 2026 Page '
+ '1 sur '+nb+'';
noteChamp.textContent = (nb === 4)
? "Le document compte 4 pages. Les deux pieds de page disent la même chose. Ajoute une page."
: "Le document compte maintenant " + nb + " pages. À gauche, le total est faux et il faudra le corriger sur chaque page. À droite, il s'est recalculé tout seul.";
}
document.getElementById('at-page-plus').addEventListener('click', function(){ if(nb < 12){ nb++; rendreChamp(); } });
document.getElementById('at-page-reset').addEventListener('click', function(){ nb = 4; rendreChamp(); });
rendreChamp();
}
/* ---------- quiz module 4 ---------- */
poserQuiz(document.getElementById('quiz4'), [
{q:"Comment fais-tu commencer un titre en haut de la page suivante ?",
r:["En appuyant plusieurs fois sur Entrée","Avec Ctrl+Entrée","En agrandissant les marges"],
b:1, e:"Le saut de page manuel tient, même si tu ajoutes du texte avant. Les lignes vides, non."},
{q:"Où règle-t-on les marges d'un document ?",
r:["Format, Paragraphe","Format, Style de page","Insertion, En-tête"],
b:1, e:"La marge définit où commence la zone de texte. Le retrait, lui, éloigne un paragraphe du bord de cette zone."},
{q:"Tu tapes le numéro 1 dans le pied de page de la première page. Que voit-on page 3 ?",
r:["Le numéro 3","Le numéro 1","Rien"],
b:1, e:"Un texte tapé se répète tel quel sur toutes les pages. Il faut insérer un champ, pas un chiffre."},
{q:"À quoi sert l'aperçu avant impression ?",
r:["À imprimer plus vite","À voir le document tel qu'il sortira de l'imprimante","À corriger l'orthographe"],
b:1, e:"On y vérifie les coupures de page, les en-têtes et l'équilibre général. Avant d'imprimer, pas après."},
{q:"Tu envoies un courrier terminé aux parents. Quel format ?",
r:["Le PDF","Le fichier .odt","Une capture d'écran"],
b:0, e:"Le PDF est figé : le destinataire le voit comme tu l'as fait. Tu gardes ton .odt pour pouvoir le modifier."},
{q:"Dans un en-tête, comment places-tu un texte à droite ?",
r:["Avec des espaces","Avec la touche Tab","En agrandissant la marge"],
b:1, e:"Les taquets sont déjà posés dans l'en-tête : une fois Tab pour le centre, deux fois pour la droite."}
]);
})();