Mein Programm0

WORKSHOPS ZUR NACHHALTIGEN MOBILITÄT

Einen Workshop finden.

Eine Frage, eine Zielgruppe, ein Workshop. Mit „+“ speichern Sie den Workshop in Ihrem Projektheft.

Eine Gruppe im Gewächshaus des Äerdschëff
Im Äerdschëff beobachten, sich austauschen und lernen.
Wo anfangen?
Alle Workshops entdecken
Mein Projekt speichern oder fortsetzen

Fotos aus den Unterrichtsmaterialien und Workshops des Äerdschëff. Workshopfotos veranschaulichen den Ansatz, nicht unbedingt die vorgeschlagene Veranstaltung.

`;} 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 · Die nächsten Schritte planen

Eine Frage, ein Projekt.

Teilen Sie Ihr Projekt mit dem Team, um den Ablauf, die Termine und die Rahmenbedingungen zu klären.