My programme0

EXTRAKLASS · THE PROJECT NOTEBOOK

Build a project.

Find your workshops, connect them around a question and prepare a brief to discuss with the team.

Open my notebook ↓ Plan an interdisciplinary project ↓ Add workshops ↗Explore the educational guides ↓

05 YOUR PROJECT NOTEBOOK

Now,
let’s make connections.

Keep the workshops that speak to you. Change their order. Then export a brief to discuss with your colleagues and the Äerdschëff team.

Your project can be saved on this device.

The editable export keeps the complete project. On a shared device, export it and then delete the draft.

Your ideas will find
a place here.

Choose a first workshop
    PROGRAMME OUTLINE

    Add context

    This brief prepares a discussion with the team. Prices, dates, adaptations and the way activities fit together still need to be agreed.

    FOR TEACHING TEAMS

    Educational projects
    to adapt.

    One shared question, several subjects, a result to share. Two guides to help you build a project with your team.

    7e–6e classes

    Observe, connect, act

    Energy, food, climate, biodiversity and waste: five investigations that start with everyday life.

    5 projects · PDF in English, 10 pages

    5e–4e classes

    Analyse, debate, decide

    Five projects to design an investigation, compare options and make the case for a collective decision.

    5 projects · PDF in English, 10 pages

    Durations and activities are suggestions to adapt to your class. Support from Äerdschëff is developed in discussion with the team.

    Build a project with fellow teachers

    04 CROSS-CURRICULAR EDUCATION

    Two or three teachers.
    One shared question.

    Would you like a tailored interdisciplinary programme? Let’s connect your subjects around a shared topic, using existing modules, a visit where relevant and a shared outcome to develop together.

    Participants raising their hands during a group workshop at Äerdschëff.
    Several perspectives, not just several lessons.

    A shared problem. Complementary contributions. A presentation that makes the connections visible.

    OUR STARTING POINT
    Which subjects would you like to connect?

    Your question guides the selection of existing workshops. The team will discuss with you how they fit together. Nothing is sent automatically.

    Three examples to start the conversation
    GEOGRAPHY · LIFE AND SOCIETY

    The journey to school

    Investigate the journey, then map where routes connect and where they break.

    Workshops 04 + 19 · 4 h

    SCIENCE · GEOGRAPHY · MATHEMATICS

    What our journeys require

    Unpack a kilometre, then examine a promise beyond its carbon footprint.

    Workshops 02 + 11 · 4 h

    SCIENCE · TECHNOLOGY · ARTS AND DESIGN

    Useful, resource-conscious, repairable?

    Compare light vehicles and design equipment using a low-tech approach.

    Workshops 06 + 21 · 4 h

    These are proposed combinations to be agreed, not pre-approved programmes. A visit can be added beforehand, with the total duration adjusted accordingly.

    `;} load();setMotion();renderResults();renderSelection();if(restoredBrief&&$('composer'))makeProposal(false); if($('filter-shell')&&window.matchMedia('(max-width:620px)').matches)$('filter-shell').open=false; $('motion-toggle')?.addEventListener('click',()=>{motionOff=!motionOff;setMotion();save();}); if(reduce.addEventListener)reduce.addEventListener('change',setMotion); document.addEventListener('visibilitychange',()=>{document.body.classList.toggle('is-backgrounded',document.hidden);if(document.hidden){liveAnimations.forEach(a=>a.cancel());save();}}); addEventListener('pagehide',save); document.addEventListener('click',e=>{ const a=e.target.closest('a[href]');if(!a)return; const u=new URL(a.href,location.href);if(u.pathname===location.pathname&&u.hash){const target=document.getElementById(u.hash.slice(1));if(target?.closest('details'))target.closest('details').open=true;}if(u.origin===location.origin&&u.pathname!==location.pathname&&selection.length&&save()===false){e.preventDefault();announce('La sauvegarde est indisponible. Emportez votre projet modifiable avant de changer de page.');} }); if(location.hash){const target=document.getElementById(location.hash.slice(1));if(target?.closest('details'))target.closest('details').open=true;} if('IntersectionObserver' in window){ if($('hero-collage'))new IntersectionObserver(entries=>entries.forEach(e=>e.target.classList.toggle('in-view',e.isIntersecting)),{threshold:.05}).observe($('hero-collage')); if($('composer'))new IntersectionObserver(entries=>entries.forEach(e=>$('selection-dock').classList.toggle('in-composer',e.isIntersecting)),{rootMargin:'-10% 0px -10% 0px'}).observe($('composer')); const drawObserver=new IntersectionObserver(entries=>entries.forEach(e=>{if(e.isIntersecting){e.target.classList.add('drawn');drawObserver.unobserve(e.target);}}),{threshold:.1}); all('.draw').forEach(p=>{if(motion())p.classList.add('waiting');drawObserver.observe(p);}); } if($('hero-collage')&&window.matchMedia('(hover:hover) and (pointer:fine)').matches){let pf=0;const collage=$('hero-collage'),target=document.querySelector('.binocular-wrap');collage.addEventListener('pointermove',e=>{if(!motion()||pf)return;pf=requestAnimationFrame(()=>{const r=collage.getBoundingClientRect();target.style.setProperty('--mx',((e.clientX-r.left-r.width/2)*.016)+'px');target.style.setProperty('--my',((e.clientY-r.top-r.height/2)*.016)+'px');pf=0;});});collage.addEventListener('pointerleave',()=>{target.style.setProperty('--mx','0px');target.style.setProperty('--my','0px');});} function scrollProgress(){if(scrollFrame)return;scrollFrame=requestAnimationFrame(()=>{const max=document.documentElement.scrollHeight-innerHeight;const amount=max>0?Math.min(1,Math.max(0,scrollY/max)):0;$('reading-progress').style.transform=`scaleX(${amount})`;scrollFrame=0;});} addEventListener('scroll',scrollProgress,{passive:true});addEventListener('resize',()=>{drawThread();scrollProgress();}); document.addEventListener('load',e=>{if(e.target?.tagName==='IMG'&&e.target.closest('#moodboard'))drawThread();},true); $('filters')?.addEventListener('submit',e=>{e.preventDefault();clearTimeout(searchTimer);filtersChanged();go($('catalogue-title'),true);}); $('filters')?.addEventListener('change',()=>{clearTimeout(searchTimer);filtersChanged();}); $('filters')?.addEventListener('reset',()=>{clearTimeout(searchTimer);activeIntent='';setTimeout(filtersChanged,0);}); $('query')?.addEventListener('input',()=>{clearTimeout(searchTimer);searchTimer=setTimeout(filtersChanged,180);}); $('show-more')?.addEventListener('click',()=>{resultPage++;renderResults();go($('catalogue-title'),true);}); $('previous-page')?.addEventListener('click',()=>{resultPage=Math.max(0,resultPage-1);renderResults();go($('catalogue-title'),true);}); all('[data-intent]').forEach(b=>b.addEventListener('click',()=>{activeIntent=b.dataset.intent;$('query').value='';$('theme').value=activeIntent;all('#filter-disciplines input').forEach(c=>c.checked=false);filtersChanged();go($('catalogue-title'),true);})); $('all-intents')?.addEventListener('click',()=>{$('filters').reset();}); $('budget')?.addEventListener('change',()=>{invalidate();renderSelection();}); $('visit-hours')?.addEventListener('change',()=>{invalidate();renderSelection();}); ['school','period'].forEach(id=>$(id)?.addEventListener('input',invalidate)); $('project-question')?.addEventListener('input',()=>{if(teamActive)$('team-question').value=$('project-question').value;invalidate();}); $('participants')?.addEventListener('input',()=>{invalidate();renderSelection();}); $('class-info')?.addEventListener('input',()=>{invalidate();renderSelection();}); ['teacher-count','team-hours','team-question','team-production'].forEach(id=>$(id)?.addEventListener('input',()=>{if(teamActive&&id==='team-question')$('project-question').value=$('team-question').value;invalidate();if(teamActive){$('team-refresh').hidden=false;renderSelection();}})); $('team-disciplines')?.addEventListener('change',()=>{invalidate();if(teamActive)renderSelection();}); $('team-form')?.addEventListener('submit',e=>{e.preventDefault();const t=teamValues();if(t.disciplines.length<2){$('team-status').textContent='Choisissez au moins deux disciplines à faire dialoguer.';all('#team-disciplines input')[0]?.focus();return;}if(!t.question){$('team-status').textContent='Écrivez votre question commune, même provisoire.';$('team-question').focus();return;} teamActive=true;$('project-question').value=t.question; const target=Math.max(Number($('team-hours').value),total());if(target<=480)$('budget').value=String(target);invalidate();renderSelection();$('team-refresh').hidden=true; $('team-status').textContent='Votre question est reprise dans le carnet. Les suggestions sont à examiner avant de les ajouter.'; if(budget()-total()>=120)showSuggestions();else{go($('composer-title'),true);say('compose-status','Votre carnet est conservé. Ajustez sa durée pour proposer des ateliers liés à la nouvelle question.');} }); $('suggest')?.addEventListener('click',showSuggestions); $('keep-suggestions')?.addEventListener('click',keepSuggestions); $('dismiss-suggestions')?.addEventListener('click',()=>{pendingSuggestions=[];$('suggestion-review').hidden=true;$('suggest').focus({preventScroll:true});}); $('build')?.addEventListener('click',()=>makeProposal()); $('clear-selection')?.addEventListener('click',()=>{selection=[];invalidate();renderSelection();announce('Le carnet est vide. Votre question de projet est conservée.');$('suggest').focus({preventScroll:true});}); document.addEventListener('click',e=>{ const add=e.target.closest('[data-add]'),remove=e.target.closest('[data-remove]'),detail=e.target.closest('[data-detail]'),up=e.target.closest('[data-up]'),down=e.target.closest('[data-down]'),ex=e.target.closest('[data-example]'),adjust=e.target.closest('[data-budget]'); if(add)toggle(Number(add.dataset.add),add);if(remove)toggle(Number(remove.dataset.remove),remove);if(detail)openDetail(Number(detail.dataset.detail),detail);if(ex)applyExample(ex.dataset.example); if(up||down){const id=Number(up?up.dataset.up:down.dataset.down),a=selection.indexOf(id),b=a+(up?-1:1);if(a>=0&&b>=0&&bgo($('composer-title'),true));else visitProject();} }); $('close-detail')?.addEventListener('click',()=>$('detail').close()); $('detail')?.addEventListener('close',()=>{document.body.classList.remove('modal-open');const next=detailOpener?.isConnected?detailOpener:document.querySelector(`[data-detail="${detailId}"]`);next?.focus({preventScroll:true});}); $('detail')?.addEventListener('click',e=>{if(e.target!==$('detail'))return;const r=$('detail').getBoundingClientRect();if(e.clientXr.right||e.clientYr.bottom)$('detail').close();}); $('download-text')?.addEventListener('click',()=>{if(proposal)download(new Blob([proposal.text],{type:'text/plain;charset=utf-8'}),'Mon-brief-Aerdscheff.txt');}); $('download-html')?.addEventListener('click',()=>{if(proposal)download(new Blob([briefHTML()],{type:'text/html;charset=utf-8'}),'Mon-brief-Aerdscheff.html');}); $('print')?.addEventListener('click',()=>{if(proposal)window.print();}); $('copy')?.addEventListener('click',async()=>{if(!proposal)return;try{if(navigator.clipboard&&window.isSecureContext){await navigator.clipboard.writeText(proposal.text);}else{const temp=document.createElement('textarea');temp.value=proposal.text;temp.style.position='fixed';temp.style.left='-9999px';document.body.append(temp);temp.select();const ok=document.execCommand('copy');temp.remove();if(!ok)throw new Error('Clipboard unavailable');}say('export-status','Le texte du brief a été copié.');}catch(_){say('export-status','La copie automatique n’est pas disponible ici. Utilisez la version texte ou le texte complet ci-dessous.');document.querySelector('.full-brief').open=true;}}); $('find-entry')?.addEventListener('click',e=>{e.preventDefault();$('filter-shell').open=true;go($('query'),true);}); $('download-draft')?.addEventListener('click',()=>{download(new Blob([JSON.stringify(snapshot(),null,2)],{type:'application/json'}),'Mon-projet-Aerdscheff.json');say('draft-status','Projet modifiable exporté. « Reprendre un projet » permet de le rouvrir sur cette page.');}); $('import-draft')?.addEventListener('click',()=>{$('draft-file').value='';$('draft-file').click();}); $('draft-file')?.addEventListener('change',async()=>{ const file=$('draft-file').files[0];if(!file)return; try{if(file.size>100000)throw new Error('Le fichier de projet est trop volumineux.'); const raw=JSON.parse(await file.text());E.validateDraft(raw,catalog); // Validate before modifying the active project. clearTimeout(searchTimer);applyDraft(raw);invalidate();setMotion();renderResults();renderSelection();if(restoredBrief&&$('composer'))makeProposal(false); say('draft-status','Projet repris : sélection, question, équipe et contexte restaurés.');go($('composer-title'),true); }catch(error){say('draft-status','Projet non importé. '+(error instanceof SyntaxError?'Le fichier JSON est illisible.':error.message));} }); $('forget-draft')?.addEventListener('click',()=>{ forgetNextSave=true;clearTimeout(searchTimer); try{localStorage.removeItem(storageKey);}catch(_){} selection=[];teamActive=false;activeIntent='';expanded=false;pendingSuggestions=[];retained={fields:{budget:'240','visit-hours':'120','teacher-count':'2','team-hours':'240'},filterDisciplines:[],teamDisciplines:[],adapt:false}; $('filters')?.reset();$('team-form')?.reset(); Object.keys(E.fieldLimits).forEach(id=>{const el=$(id);if(!el)return;if(el.tagName==='SELECT')el.value=el.querySelector('option[selected]')?.value||el.options[0].value;else el.value='';}); all('#team-disciplines input,#filter-disciplines input').forEach(c=>c.checked=false); invalidate();renderResults();renderSelection();$('team-refresh').hidden=true; $('request-body').value='';$('brief-paper').innerHTML='';$('proposal-text').textContent='';$('suggestion-options').innerHTML='';$('suggestion-note').textContent='';$('team-summary').innerHTML='';$('open-email').href='mailto:team@aerdscheff.lu';$('team-status').textContent='';say('draft-status','Le brouillon a été effacé sur cet appareil.'); setTimeout(()=>{forgetNextSave=false;},1);$('import-draft').focus({preventScroll:true}); }); async function copyText(text,status){ try{if(navigator.clipboard&&window.isSecureContext)await navigator.clipboard.writeText(text); else{const active=document.activeElement,t=document.createElement('textarea');t.value=text;t.style.position='fixed';t.style.left='-9999px';document.body.append(t);t.select();const ok=document.execCommand('copy');t.remove();active?.focus({preventScroll:true});if(!ok)throw new Error();} $(status).textContent='Message copié. Relisez-le et complétez-le dans votre messagerie.'; }catch(_){$(status).textContent='Sélectionnez et copiez le texte du message ci-dessus.';} } function mailLink(){ $('open-email').href='#transmettre-demande'; $('open-email').textContent='Transmettre ma demande'; $('request-status').textContent='Relis ton projet, puis complète tes coordonnées pour l’équipe.'; } $('prepare-request')?.addEventListener('click',()=>{ if(!proposal)return; const rows=selection.map(id=>'• '+item(id).title+' ('+hours(minutes(item(id)))+')').join('\n'); $('request-body').value='Bonjour,\n\nNous souhaitons préparer une formation autour de cette question :\n'+($('project-question').value.trim()||'Question à préciser ensemble.')+'\n\n'+rows+'\n\nÉtablissement : '+($('school').value||'à préciser')+'\nClasse : '+($('class-info').value||(field('level')&&field('level')!=='0'?field('level')+'e':'à préciser'))+' · '+(field('branch')||'filière à préciser')+'\nEffectif : '+($('participants').value||'à préciser')+'\nPériode et lieu : '+($('period').value||'à préciser')+(teamActive?'\nÉquipe : '+teamValues().teachers+' enseignants · '+teamValues().disciplines.join(', ')+(teamValues().production?'\nProduction commune souhaitée : '+teamValues().production:''):'')+'\n\nPourriez-vous nous préciser les possibilités d’accueil, l’articulation pédagogique, les tarifs et les disponibilités ?\n\nMerci,\n[Votre nom et vos coordonnées]'; mailLink();$('request-panel').hidden=false;go($('request-title'),true); }); $('request-body')?.addEventListener('input',mailLink); $('copy-email')?.addEventListener('click',()=>copyText($('request-body').value,'request-status')); })();

    Extraklass · Plan the next steps

    A question, a project.

    Share your project with the team to clarify the programme, dates and practical arrangements.