{"id":4187,"date":"2026-07-26T16:02:57","date_gmt":"2026-07-26T16:02:57","guid":{"rendered":"https:\/\/www.aede.ch\/?p=4187"},"modified":"2026-07-26T16:07:19","modified_gmt":"2026-07-26T16:07:19","slug":"durabilite-calculer-son-empreinte-carbone-professionnelle","status":"publish","type":"post","link":"https:\/\/www.aede.ch\/?p=4187","title":{"rendered":"Durabilit\u00e9: calculer son empreinte carbone professionnelle"},"content":{"rendered":"<p>\r\n<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n  <meta charset=\"UTF-8\">\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, viewport-fit=cover\">\r\n  <meta name=\"color-scheme\" content=\"light\">\r\n  <title>Diagnostic Carbone \u00c9cole Professionnelle Test (v.7.2)<\/title>\r\n  <style>\r\n    :root{--green:#156c43;--green2:#0e5232;--bg:#f3f6f5;--card:#fff;--text:#1f2933;--muted:#60706a;--line:#d9e2de;--blue:#2878b5;--orange:#e08a1e;--red:#c74848;--purple:#7656a7;--teal:#228b83;--shadow:0 4px 16px rgba(20,60,42,.08)}\r\n    *{box-sizing:border-box} html{-webkit-text-size-adjust:100%} body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Arial,sans-serif;line-height:1.45}\r\n    header{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;padding:22px 16px;text-align:center} header h1{margin:0;font-size:clamp(1.45rem,4vw,2.2rem)} header p{margin:.45rem 0 0;opacity:.92}\r\n    .wrap{max-width:1180px;margin:0 auto;padding:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin:14px 0;box-shadow:var(--shadow)}\r\n    h2{font-size:1.25rem;color:var(--green);margin:0 0 12px}h3{margin:12px 0 8px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}\r\n    label{display:block;font-weight:650;margin:4px 0 5px}input,select,button{font:inherit}input[type=number],input[type=text],select{width:100%;min-height:44px;padding:9px 10px;border:1px solid #aebdb6;border-radius:8px;background:#fff;color:var(--text)}input:focus,select:focus{outline:3px solid rgba(21,108,67,.18);border-color:var(--green)}\r\n    .hint{font-size:.9rem;color:var(--muted);margin:5px 0}.notice{padding:11px 13px;border-left:4px solid var(--blue);background:#eef7fc;border-radius:8px}.warning{border-color:var(--orange);background:#fff6e8}\r\n    .machine,.consumable,.waste-row{border:1px solid var(--line);border-radius:10px;padding:12px;margin:9px 0;background:#fbfcfc}.machine-head,.toggle-line{display:flex;align-items:center;gap:9px}.machine-head input,.toggle-line input{width:20px;height:20px;flex:0 0 auto}.dynamic-fields{margin-top:10px}.disabled-panel{opacity:.5}.unit{font-size:.85rem;color:var(--muted)}\r\n    .actions{display:flex;flex-wrap:wrap;gap:9px}.btn{border:0;border-radius:9px;min-height:44px;padding:10px 16px;cursor:pointer;font-weight:700}.btn-primary{background:var(--green);color:#fff}.btn-secondary{background:#e5ece9;color:#163b2b}.btn:hover{filter:brightness(.96)}\r\n    .results-grid{display:grid;grid-template-columns:minmax(280px,430px) 1fr;gap:18px;align-items:start}.canvas-wrap{width:100%;max-width:430px;margin:auto}canvas{width:100%;height:auto;display:block}.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{background:#f5faf7;border:1px solid var(--line);border-radius:10px;padding:13px}.kpi strong{display:block;color:var(--green);font-size:1.35rem}.legend-item{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:7px 0}.swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px}.status{margin-top:10px;min-height:24px;font-weight:650}.error{color:#a51d1d}.success{color:var(--green)}\r\n    .hidden{display:none!important}.factor-note{font-size:.82rem;color:var(--muted)}\r\n    @media(max-width:760px){.grid,.grid3,.results-grid,.kpis{grid-template-columns:1fr}.card{padding:14px}.machine .grid3{grid-template-columns:1fr 1fr}.actions .btn{flex:1 1 145px}}\r\n    @media print{body{background:#fff}header{background:#fff;color:#000;border-bottom:2px solid #000}.no-print{display:none!important}.card{box-shadow:none;break-inside:avoid}.wrap{max-width:none}.results-card{display:block}.input-card{display:none}canvas{max-width:380px}}\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<header>\r\n  <h1>Diagnostic Carbone des Ateliers et Secteurs<\/h1>\r\n  <p>Version de test \u2014 estimation p\u00e9dagogique, non certifi\u00e9e<\/p>\r\n<\/header>\r\n<main class=\"wrap\">\r\n  <section class=\"card input-card\">\r\n    <h2>1. Identification du diagnostic<\/h2>\r\n    <div class=\"grid\">\r\n      <div><label for=\"sector\">Dans quel secteur r\u00e9alisez-vous l\u2019enqu\u00eate ?<\/label><select id=\"sector\"><\/select><\/div>\r\n      <div><label for=\"workshop\">Quel m\u00e9tier ou atelier \u00e9tudiez-vous ?<\/label><select id=\"workshop\"><\/select><\/div>\r\n      <div><label for=\"students\">Combien d\u2019\u00e9l\u00e8ves sont concern\u00e9s ?<\/label><input id=\"students\" type=\"number\" min=\"1\" step=\"1\" value=\"20\"><\/div>\r\n      <div><label for=\"staff\">Combien de collaborateurs sont concern\u00e9s ?<\/label><input id=\"staff\" type=\"number\" min=\"0\" step=\"1\" value=\"2\"><\/div>\r\n      <div><label for=\"surface\">Quelle surface le secteur occupe-t-il ?<\/label><input id=\"surface\" type=\"number\" min=\"0\" step=\"1\" value=\"300\"><span class=\"unit\">m\u00b2<\/span><\/div>\r\n      <div><label for=\"trainingHours\">Combien d\u2019heures de formation sont dispens\u00e9es par an ?<\/label><input id=\"trainingHours\" type=\"number\" min=\"0\" step=\"1\" value=\"1200\"><span class=\"unit\">heures-groupe\/an<\/span><\/div>\r\n      <div><label for=\"weeks\">Combien de semaines le secteur fonctionne-t-il par an ?<\/label><input id=\"weeks\" type=\"number\" min=\"1\" max=\"52\" step=\"1\" value=\"39\"><\/div>\r\n      <div id=\"disciplineBox\" class=\"hidden\"><label for=\"discipline\">Quelle est la discipline principale ?<\/label><select id=\"discipline\"><option>Fran\u00e7ais<\/option><option>Math\u00e9matiques<\/option><option>Langues<\/option><option>Sciences<\/option><option>Culture g\u00e9n\u00e9rale<\/option><option>Informatique<\/option><option>Arts<\/option><option>Autre<\/option><\/select><\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"card input-card\">\r\n    <h2>2. \u00c9lectricit\u00e9 et chauffage<\/h2>\r\n    <div class=\"notice\"><strong>R\u00e8gle anti-double comptage :<\/strong> si l\u2019\u00e9lectricit\u00e9 annuelle mesur\u00e9e est connue, elle inclut d\u00e9j\u00e0 les machines. Le d\u00e9tail des machines sert alors uniquement \u00e0 expliquer la consommation. Si elle est inconnue, l\u2019outil estime l\u2019\u00e9lectricit\u00e9 \u00e0 partir des machines, de l\u2019\u00e9clairage et des autres usages.<\/div>\r\n    <div class=\"grid\" style=\"margin-top:12px\">\r\n      <div><label for=\"electricityKnown\">Connaissez-vous la consommation \u00e9lectrique annuelle du secteur ?<\/label><select id=\"electricityKnown\"><option value=\"yes\">Oui, donn\u00e9e mesur\u00e9e<\/option><option value=\"no\">Non, elle doit \u00eatre estim\u00e9e<\/option><\/select><\/div>\r\n      <div id=\"meteredBox\"><label for=\"meteredElectricity\">Quelle est la consommation \u00e9lectrique mesur\u00e9e ?<\/label><input id=\"meteredElectricity\" type=\"number\" min=\"0\" value=\"10000\"><span class=\"unit\">kWh\/an<\/span><\/div>\r\n      <div><label for=\"electricityMix\">Quel facteur \u00e9lectrique faut-il utiliser ?<\/label><select id=\"electricityMix\"><option value=\"ch\">Mix suisse simplifi\u00e9 \u2014 0,06 kgCO\u2082e\/kWh<\/option><option value=\"eu\">Mix europ\u00e9en simplifi\u00e9 \u2014 0,25 kgCO\u2082e\/kWh<\/option><option value=\"renewable\">Contrat renouvelable simplifi\u00e9 \u2014 0,03 kgCO\u2082e\/kWh<\/option><\/select><\/div>\r\n      <div id=\"lightingBox\" class=\"hidden\"><label for=\"lightingKwh\">Quelle consommation annuelle estimez-vous pour l\u2019\u00e9clairage et les autres appareils non list\u00e9s ?<\/label><input id=\"lightingKwh\" type=\"number\" min=\"0\" value=\"2500\"><span class=\"unit\">kWh\/an<\/span><\/div>\r\n      <div><label for=\"heatingKnown\">Connaissez-vous l\u2019\u00e9nergie de chauffage affect\u00e9e au secteur ?<\/label><select id=\"heatingKnown\"><option value=\"yes\">Oui<\/option><option value=\"no\">Non \/ non affectable<\/option><\/select><\/div>\r\n      <div id=\"heatingBox\"><label for=\"heatingKwh\">Quelle quantit\u00e9 d\u2019\u00e9nergie de chauffage est utilis\u00e9e ?<\/label><input id=\"heatingKwh\" type=\"number\" min=\"0\" value=\"20000\"><span class=\"unit\">kWh\/an<\/span><\/div>\r\n      <div><label for=\"heatingType\">Quel est le mode de chauffage ?<\/label><select id=\"heatingType\"><option value=\"oil\">Mazout<\/option><option value=\"gas\">Gaz naturel<\/option><option value=\"district\">Chauffage \u00e0 distance<\/option><option value=\"pellet\">Pellets<\/option><option value=\"heatpump\">Pompe \u00e0 chaleur<\/option><\/select><\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"card input-card\">\r\n    <h2>3. Mobilit\u00e9 professionnelle et approvisionnements<\/h2>\r\n    <div class=\"grid\">\r\n      <div><label for=\"professionalKm\">Combien de kilom\u00e8tres professionnels sont parcourus par an ?<\/label><input id=\"professionalKm\" type=\"number\" min=\"0\" value=\"5000\"><span class=\"unit\">v\u00e9hicule-km\/an<\/span><\/div>\r\n      <div><label for=\"professionalMode\">Quel moyen de transport est principalement utilis\u00e9 ?<\/label><select id=\"professionalMode\"><option value=\"diesel\">Voiture\/utilitaire diesel<\/option><option value=\"petrol\">Voiture\/utilitaire essence<\/option><option value=\"electric\">V\u00e9hicule \u00e9lectrique<\/option><option value=\"train\">Train<\/option><option value=\"bike\">V\u00e9lo \/ marche<\/option><\/select><\/div>\r\n      <div><label for=\"freightWeight\">Quel poids total de marchandises est achemin\u00e9 ?<\/label><input id=\"freightWeight\" type=\"number\" min=\"0\" value=\"2\"><span class=\"unit\">tonnes\/an<\/span><\/div>\r\n      <div><label for=\"freightDistance\">Depuis quelle distance moyenne les marchandises proviennent-elles ?<\/label><input id=\"freightDistance\" type=\"number\" min=\"0\" value=\"1000\"><span class=\"unit\">km<\/span><\/div>\r\n      <div><label for=\"freightMode\">Quel est le moyen de transport principal des marchandises ?<\/label><select id=\"freightMode\"><option value=\"road\">Route<\/option><option value=\"rail\">Rail<\/option><option value=\"sea\">Maritime<\/option><option value=\"air\">A\u00e9rien<\/option><\/select><\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"card input-card\">\r\n    <h2>4. Parc de machines et \u00e9quipements<\/h2>\r\n    <p class=\"hint\">Activez uniquement les \u00e9quipements r\u00e9ellement pr\u00e9sents. Chaque ligne est calcul\u00e9e s\u00e9par\u00e9ment : plusieurs machines utilis\u00e9es simultan\u00e9ment sont donc bien additionn\u00e9es.<\/p>\r\n    <div id=\"machines\"><\/div>\r\n  <\/section>\r\n\r\n  <section class=\"card input-card\">\r\n    <h2>5. Consommables du m\u00e9tier<\/h2>\r\n    <p class=\"hint\">Cochez tous les consommables utilis\u00e9s, puis renseignez une quantit\u00e9 annuelle. Plusieurs choix peuvent \u00eatre actifs en m\u00eame temps.<\/p>\r\n    <div id=\"consumables\"><\/div>\r\n  <\/section>\r\n\r\n  <section class=\"card input-card\">\r\n    <h2>6. D\u00e9chets, eau et num\u00e9rique<\/h2>\r\n    <div class=\"grid\">\r\n      <div><label for=\"wasteKg\">Quelle masse totale de d\u00e9chets est produite ?<\/label><input id=\"wasteKg\" type=\"number\" min=\"0\" value=\"500\"><span class=\"unit\">kg\/an<\/span><\/div>\r\n      <div><label for=\"wasteRoute\">Quel traitement domine ?<\/label><select id=\"wasteRoute\"><option value=\"incineration\">Incin\u00e9ration<\/option><option value=\"recycling\">Recyclage<\/option><option value=\"special\">D\u00e9chets sp\u00e9ciaux<\/option><option value=\"organic\">Valorisation organique<\/option><\/select><\/div>\r\n      <div><label for=\"waterM3\">Combien d\u2019eau est consomm\u00e9e ?<\/label><input id=\"waterM3\" type=\"number\" min=\"0\" value=\"100\"><span class=\"unit\">m\u00b3\/an<\/span><\/div>\r\n      <div><label for=\"computers\">Combien d\u2019ordinateurs sont affect\u00e9s au secteur ?<\/label><input id=\"computers\" type=\"number\" min=\"0\" value=\"20\"><\/div>\r\n      <div><label for=\"aiDaily\">Combien de requ\u00eates IA sont effectu\u00e9es par jour d\u2019activit\u00e9 ?<\/label><input id=\"aiDaily\" type=\"number\" min=\"0\" value=\"100\"><\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"card no-print\">\r\n    <div class=\"actions\"><button id=\"calculateBtn\" class=\"btn btn-primary\" type=\"button\">Calculer le bilan<\/button><button id=\"csvBtn\" class=\"btn btn-secondary\" type=\"button\">Exporter le bilan CSV<\/button><button id=\"pdfBtn\" class=\"btn btn-secondary\" type=\"button\">Imprimer \/ enregistrer en PDF<\/button><\/div>\r\n    <div id=\"status\" class=\"status\" aria-live=\"polite\"><\/div>\r\n  <\/section>\r\n\r\n  <section class=\"card results-card\" id=\"resultsCard\">\r\n    <h2>7. Bilan<\/h2>\r\n    <div class=\"results-grid\">\r\n      <div class=\"canvas-wrap\"><canvas id=\"donut\" width=\"430\" height=\"430\" role=\"img\" aria-label=\"R\u00e9partition de l\u2019empreinte carbone\"><\/canvas><\/div>\r\n      <div><div class=\"kpis\" id=\"kpis\"><\/div><h3>R\u00e9partition par poste<\/h3><div id=\"legend\"><\/div><h3>Lecture p\u00e9dagogique<\/h3><div id=\"recommendations\"><\/div><\/div>\r\n    <\/div>\r\n    <p class=\"factor-note\">Facteurs moyens simplifi\u00e9s et param\u00e9trables dans l\u2019objet FACTORS. R\u00e9sultat indicatif \u00e0 utiliser pour l\u2019enqu\u00eate et la comparaison, pas pour une d\u00e9claration carbone certifi\u00e9e.<\/p>\r\n  <\/section>\r\n<\/main>\r\n<script>\r\n(function(){\r\n'use strict';\r\nvar FACTORS={electricity:{ch:0.06,eu:0.25,renewable:0.03},heating:{oil:0.324,gas:0.227,district:0.12,pellet:0.03,heatpump:0.05},mobility:{diesel:0.25,petrol:0.23,electric:0.06,train:0.01,bike:0},freight:{road:0.09,rail:0.03,sea:0.015,air:0.60},water:0.30,digital:{computerAnnual:150,aiRequest:0.001},waste:{incineration:0.08,recycling:0.03,special:0.50,organic:0.04},materials:{\r\n'acier':1.9,'acier-galvanise':2.5,'inox':6.1,'aluminium':8.6,'cuivre-laiton':4.0,'fil-soudage':2.2,'electrodes':2.5,'gaz-soudage':1.8,'abrasifs':2.2,'peinture-eau':2.1,'peinture-solvant':3.4,'solvant':2.5,'degraissant':2.2,\r\n'ciment':0.65,'beton':0.12,'mortier':0.22,'chaux':0.75,'sable-gravier':0.01,'briques':0.24,'blocs-beton':0.15,'beton-cellulaire':0.30,'isolants':2.5,'bois-coffrage':0.11,'etancheite':3.0,\r\n'bois-local':0.11,'bois-importe':0.25,'mdf':0.75,'agglomere':0.55,'osb':0.45,'contreplaque':0.55,'melamine':0.75,'placage':0.35,'stratifie':3.0,'colle':2.4,'vernis':3.0,'huile-bois':2.5,'quincaillerie':2.0,\r\n'essence':2.31,'diesel-carburant':2.68,'huile-moteur':3.0,'huile-transmission':3.0,'liquide-refroidissement':2.2,'liquide-frein':2.5,'fluide-frigorigene':20.0,'pneus':3.2,'batterie-plomb':6.0,'batterie-lithium':12.0,'filtres':3.0,'pieces-metal':2.5,'pieces-plastique':3.2,'nettoyant':2.0,'absorbants':1.8,\r\n'plastique-technique':3.5,'titane':30.0,'huile-coupe':3.0,'emulsion':1.5,'lubrifiant':3.0,'outils-coupe':7.0,'carbure':20.0,'gaz-technique':1.8,\r\n'terreau-tourbe':0.75,'terreau-sans-tourbe':0.20,'compost':0.08,'engrais-mineral':3.8,'engrais-organique':0.45,'phytosanitaire':5.0,'semences':1.0,'plantes':0.8,'pots-plastique':3.0,'films-horticoles':3.0,'pierre-pave':0.10,'paillage':0.15,\r\n'boeuf':27.0,'porc':7.0,'volaille':5.5,'poisson':5.0,'produits-laitiers':3.0,'beurre':9.0,'oeufs':4.5,'cereales':1.2,'legumineuses':0.9,'fruits':0.7,'legumes':0.5,'huile-alimentaire':3.0,'boissons':0.8,'surgeles':2.0,'emballage-alimentaire':2.2,\r\n'lessive':2.2,'adoucissant':1.8,'detachant':2.5,'blanchiment':1.7,'desinfectant':2.0,'textiles':5.0,'sacs':2.7,'papier-sanitaire':1.1,'hebergement':2.0,\r\n'farine':0.8,'sucre':0.8,'margarine':3.5,'lait':1.4,'creme':5.0,'chocolat':19.0,'cacao':12.0,'fruits-coque':2.5,'levure':1.2,'gelifiants':2.0,'carton':0.9,'plastique-emballage':2.7,\r\n'shampoing':2.0,'apres-shampoing':2.0,'coloration':3.5,'decolorant':3.2,'oxydant':2.4,'permanente':3.0,'coiffant':2.5,'aerosol':4.0,'serviette-jetable':1.5,'gants':3.2,'feuille-aluminium':8.6,\r\n'coton':5.9,'lin':1.7,'laine':22.0,'polyester':5.5,'polyamide':8.0,'tissu-melange':5.5,'cuir':17.0,'fils':5.0,'entoilage':4.0,'fermetures':4.0,'boutons':3.0,'elastiques':4.0,'papier-patron':1.0,\r\n'papier-vierge':1.1,'papier-recycle':0.7,'cartouches':5.0,'toner':5.5,'support-publicitaire':2.0,'fournitures-bureau':2.0,'mobilier':2.5,'informatique-achetee':300.0,'cafe':7.0,\r\n'detergent':2.0,'detartrant':2.0,'produit-sol':2.0,'produit-vitres':1.8,'produit-sanitaire':2.0,'chiffons':3.0,'microfibres':5.0,'gants-nettoyage':3.2,'emballage-chimique':2.7,'livres-manuels':1.1,'materiel-ecriture':2.0,'fournitures-artistiques':3.0,'piles':12.0}}\r\n;\r\nfunction M(name,kw,load,mode){return{name:name,kw:kw,load:load||0.5,mode:mode||'intermittent'};}function C(id,label,unit,on){return{id:id,label:label,unit:unit||'kg\/an',on:on!==false};}\r\nvar DATA={\r\n'B\u00e2timent':{\r\n'Construction m\u00e9tallique':{weeks:39,machines:[M('Poste \u00e0 souder MIG\/MAG',5,.55),M('Poste \u00e0 souder TIG',4,.45),M('Poste \u00e0 souder \u00e0 l\u2019\u00e9lectrode',5,.5),M('D\u00e9coupe plasma',10,.6),M('Scie \u00e0 ruban m\u00e9taux',3,.55),M('Tron\u00e7onneuse \u00e0 disque',3,.45),M('Perceuse \u00e0 colonne',1.5,.4),M('Poin\u00e7onneuse',4,.45),M('Cisaille-guillotine',7,.35),M('Presse-plieuse',8,.4),M('Cintreuse',5,.4),M('Rouleuse',5,.4),M('Fraiseuse \/ perceuse-fraiseuse',4,.5),M('Meuleuse d\u2019angle',1.5,.45),M('Touret \u00e0 meuler',1,.4),M('Compresseur',7.5,.55),M('Aspiration centralis\u00e9e',4,.7),M('Extraction des fum\u00e9es',3,.75),M('Pont roulant \/ palan',2,.25),M('Cabine peinture \/ ventilation',6,.65)],cons:[C('acier','Acier'),C('acier-galvanise','Acier galvanis\u00e9'),C('inox','Acier inoxydable'),C('aluminium','Aluminium'),C('cuivre-laiton','Cuivre ou laiton', 'kg\/an',false),C('electrodes','\u00c9lectrodes'),C('fil-soudage','Fil de soudage'),C('gaz-soudage','Gaz de protection'),C('abrasifs','Disques de coupe et de meulage'),C('peinture-solvant','Peinture et appr\u00eats'),C('solvant','Solvants et d\u00e9graissants')]},\r\n'Ma\u00e7onnerie':{weeks:39,machines:[M('B\u00e9tonni\u00e8re',2,.6),M('Malaxeur',2,.6),M('Scie \u00e0 mat\u00e9riaux',4,.5),M('D\u00e9coupeuse thermique',3,.55),M('Carotteuse',2.5,.5),M('Perforateur',1.2,.45),M('Marteau-piqueur',2,.6),M('Plaque vibrante',4,.6),M('Pilonneuse',3,.6),M('Aiguille vibrante',1.5,.6),M('Compresseur',5,.55),M('Pompe \u00e0 eau',2,.7),M('Nettoyeur haute pression',3,.6),M('Mini-pelle',15,.5),M('Chargeuse compacte',20,.5),M('Monte-mat\u00e9riaux',4,.5)],cons:[C('ciment','Ciment'),C('beton','B\u00e9ton pr\u00eat \u00e0 l\u2019emploi'),C('mortier','Mortier'),C('chaux','Chaux'),C('sable-gravier','Sable et gravier'),C('briques','Briques'),C('blocs-beton','Blocs de b\u00e9ton'),C('beton-cellulaire','B\u00e9ton cellulaire'),C('acier','Acier d\u2019armature'),C('isolants','Isolants'),C('bois-coffrage','Bois de coffrage'),C('etancheite','Produits d\u2019\u00e9tanch\u00e9it\u00e9')]},\r\n'Peinture':{weeks:39,machines:[M('Ponceuse orbitale',.6,.6),M('Ponceuse girafe',.8,.6),M('Aspirateur industriel',1.5,.7),M('Compresseur',4,.55),M('Pistolet peinture',.5,.5),M('Appareil airless',1.5,.6),M('M\u00e9langeur \u00e9lectrique',1,.4),M('D\u00e9capeur thermique',2,.7),M('Nettoyeur haute pression',3,.6),M('Extraction \/ ventilation',4,.75),M('D\u00e9shumidificateur',1.5,.8)],cons:[C('peinture-eau','Peintures \u00e0 l\u2019eau'),C('peinture-solvant','Peintures solvant\u00e9es'),C('vernis','Vernis'),C('peinture-eau','Lasures'),C('peinture-eau','Appr\u00eats'),C('mortier','Enduits'),C('solvant','Solvants et diluants'),C('degraissant','Produits de d\u00e9capage'),C('abrasifs','Abrasifs'),C('plastique-emballage','Rubans et films de protection')]}}\r\n,\r\n'Bois':{'Menuiserie \/ \u00c9b\u00e9nisterie':{weeks:39,machines:[M('Scie \u00e0 format',5,.6),M('Scie circulaire',2.5,.5),M('Scie \u00e0 ruban',2.5,.5),M('Scie radiale',2.5,.5),M('D\u00e9gauchisseuse',5,.6),M('Raboteuse',6,.6),M('Toupie',5,.6),M('Mortaiseuse',2,.5),M('Tenonneuse',5,.55),M('Perceuse multibroche',3,.5),M('Plaqueuse de chants',8,.55),M('Ponceuse \u00e0 bande',3,.6),M('Calibreuse',12,.65),M('Centre d\u2019usinage CNC',10,.7),M('D\u00e9coupe num\u00e9rique',8,.65),M('Presse d\u2019assemblage',3,.4),M('Compresseur',5,.6),M('Aspiration centralis\u00e9e',12,.8),M('Presse \u00e0 briquettes',7,.6),M('Cabine de vernissage',6,.7)],cons:[C('bois-local','Bois massif local'),C('bois-importe','Bois massif import\u00e9'),C('mdf','MDF'),C('agglomere','Agglom\u00e9r\u00e9'),C('osb','OSB'),C('contreplaque','Contreplaqu\u00e9'),C('melamine','Panneaux m\u00e9lamin\u00e9s'),C('placage','Placage'),C('stratifie','Stratifi\u00e9'),C('colle','Colles'),C('vernis','Vernis'),C('huile-bois','Huiles et lasures'),C('abrasifs','Abrasifs'),C('quincaillerie','Quincaillerie')]}}\r\n,\r\n'M\u00e9canique':{\r\n'M\u00e9canique automobile':{weeks:39,machines:[M('Pont \u00e9l\u00e9vateur 2 colonnes',2,.2),M('Pont \u00e9l\u00e9vateur 4 colonnes',3,.2),M('Crics hydrauliques',.5,.15),M('Compresseur',7.5,.65),M('\u00c9quilibreuse',.8,.3),M('D\u00e9monte-pneus',1.2,.35),M('Banc de g\u00e9om\u00e9trie',1,.4),M('Banc de freinage',7,.5),M('Banc de suspension',5,.5),M('Appareil diagnostic',.2,.5),M('Station climatisation',1,.5),M('Chargeur batteries',.5,.5),M('Testeur batteries',.1,.3),M('Presse hydraulique',2,.3),M('Fontaine de nettoyage',1,.6),M('Appareil de vidange',.5,.4),M('Extraction gaz \u00e9chappement',3,.65),M('Poste \u00e0 souder',5,.45),M('Nettoyeur haute pression',3,.55),M('Aspirateur',1.5,.5)],cons:[C('essence','Essence pour essais'),C('diesel-carburant','Diesel pour essais'),C('huile-moteur','Huile moteur'),C('huile-transmission','Huile transmission'),C('liquide-refroidissement','Liquide refroidissement'),C('liquide-frein','Liquide de frein'),C('fluide-frigorigene','Fluide frigorig\u00e8ne'),C('pneus','Pneus'),C('batterie-plomb','Batteries au plomb'),C('batterie-lithium','Batteries lithium-ion'),C('filtres','Filtres'),C('pieces-metal','Pi\u00e8ces m\u00e9talliques'),C('pieces-plastique','Pi\u00e8ces plastiques'),C('nettoyant','Produits de nettoyage'),C('absorbants','Chiffons et absorbants')]},\r\n'Polym\u00e9canique':{weeks:39,machines:[M('Tour conventionnel',5,.55),M('Fraiseuse conventionnelle',6,.55),M('Perceuse \u00e0 colonne',1.5,.4),M('Scie \u00e0 ruban',3,.5),M('Tour CNC',12,.7),M('Centre d\u2019usinage CNC',18,.75),M('Fraiseuse CNC',12,.7),M('Rectifieuse plane',8,.65),M('Rectifieuse cylindrique',10,.65),M('\u00c9lectro\u00e9rosion \u00e0 fil',6,.7),M('\u00c9lectro\u00e9rosion par enfon\u00e7age',7,.7),M('D\u00e9coupe laser',25,.65),M('Presse',8,.4),M('Machine de mesure 3D',.8,.55),M('Poste programmation CNC',.25,.5),M('Refroidissement machines',8,.75),M('Centrale filtration',5,.75),M('Compresseur',10,.65),M('Robot \/ cellule automatis\u00e9e',5,.65),M('Imprimante 3D',.5,.65)],cons:[C('acier','Acier'),C('inox','Acier inoxydable'),C('aluminium','Aluminium'),C('cuivre-laiton','Cuivre et laiton'),C('titane','Titane'),C('plastique-technique','Plastiques techniques'),C('huile-coupe','Huiles de coupe'),C('emulsion','\u00c9mulsions'),C('lubrifiant','Lubrifiants'),C('outils-coupe','Outils de coupe'),C('carbure','Plaquettes carbure'),C('abrasifs','Abrasifs'),C('gaz-technique','Gaz techniques')]}}\r\n,\r\n'Nature':{'Horticulture et paysagisme':{weeks:39,machines:[M('Tondeuse \u00e9lectrique',1.5,.6),M('Tondeuse thermique',3,.6),M('Tondeuse autoport\u00e9e',12,.6),M('D\u00e9broussailleuse',1.5,.6),M('Tron\u00e7onneuse',2,.6),M('Taille-haies',.8,.6),M('Souffleur',1.2,.6),M('Broyeur v\u00e9g\u00e9taux',8,.65),M('Motoculteur',4,.6),M('Scarificateur',2,.55),M('Mini-pelle',15,.5),M('Chargeuse',20,.5),M('Plaque vibrante',4,.6),M('Pompe irrigation',3,.75),M('Ventilation serre',4,.75),M('Chauffage serre',20,.7),M('\u00c9clairage horticole',10,.9),M('Chambre froide',3,.7),M('V\u00e9hicule utilitaire',20,.35)],cons:[C('essence','Essence'),C('diesel-carburant','Diesel'),C('huile-moteur','Huile deux-temps'),C('terreau-tourbe','Terreau avec tourbe'),C('terreau-sans-tourbe','Terreau sans tourbe'),C('compost','Compost'),C('engrais-mineral','Engrais min\u00e9raux'),C('engrais-organique','Engrais organiques'),C('phytosanitaire','Produits phytosanitaires'),C('semences','Semences'),C('plantes','Plantes'),C('pots-plastique','Pots plastique'),C('films-horticoles','Films horticoles'),C('bois-local','Bois'),C('pierre-pave','Pierres et pav\u00e9s'),C('paillage','Substrats et paillage')]}}\r\n,\r\n'Restauration':{\r\n'Cuisine':{weeks:39,machines:[M('Four mixte',18,.7),M('Four conventionnel',12,.65),M('Plaques \u00e9lectriques',10,.55),M('Plaques induction',10,.5),M('Cuisini\u00e8re \u00e0 gaz',12,.55),M('Friteuse',12,.7),M('Sauteuse',15,.6),M('Marmite',18,.65),M('Grill',8,.6),M('Salamandre',5,.55),M('Hottes \/ extraction',8,.8),M('Armoire r\u00e9frig\u00e9r\u00e9e',1.5,.7),M('Chambre froide positive',3,.75),M('Chambre froide n\u00e9gative',4,.8),M('Cong\u00e9lateur',1,.75),M('Cellule refroidissement',6,.65),M('Lave-vaisselle',12,.65),M('Lave-batterie',15,.65),M('Robot cuisine',2,.4),M('Trancheuse',.5,.35),M('Machine sous vide',1,.35),M('Machine \u00e0 caf\u00e9',3,.4),M('Chauffe-eau',12,.7)],cons:[C('boeuf','Viande bovine'),C('porc','Viande porcine'),C('volaille','Volaille'),C('poisson','Poisson'),C('produits-laitiers','Produits laitiers'),C('beurre','Beurre'),C('oeufs','\u0152ufs'),C('cereales','C\u00e9r\u00e9ales'),C('legumineuses','L\u00e9gumineuses'),C('fruits','Fruits'),C('legumes','L\u00e9gumes'),C('huile-alimentaire','Huiles alimentaires'),C('boissons','Boissons'),C('surgeles','Produits surgel\u00e9s'),C('emballage-alimentaire','Emballages alimentaires')]},\r\n'Intendance':{weeks:39,machines:[M('Lave-linge',5,.7),M('S\u00e8che-linge',6,.75),M('Essoreuse',3,.6),M('Calandre',12,.7),M('Presse \u00e0 repasser',4,.55),M('Fer \/ centrale vapeur',3,.6),M('Lave-vaisselle',10,.65),M('Armoire frigorifique',1.5,.7),M('Chariot chauffant',2,.55),M('Machine conditionnement',1,.5),M('Autolaveuse',2,.55),M('Aspirateur',1.5,.5),M('Nettoyeur vapeur',3,.55)],cons:[C('lessive','Lessive'),C('adoucissant','Adoucissant'),C('detachant','D\u00e9tachants'),C('blanchiment','Agents de blanchiment'),C('nettoyant','Produits de nettoyage'),C('desinfectant','Produits d\u00e9sinfectants'),C('textiles','Textiles'),C('sacs','Sacs'),C('papier-sanitaire','Papier sanitaire'),C('hebergement','Consommables d\u2019h\u00e9bergement'),C('carton','Emballages carton')]},\r\n'Sp\u00e9cialiste en restauration de syst\u00e8me':{weeks:39,machines:[M('Grill',8,.65),M('Plaques',8,.55),M('Friteuse',12,.7),M('Four rapide',7,.6),M('Micro-ondes professionnel',2,.5),M('Distributeur boissons',1,.55),M('Machine \u00e0 caf\u00e9',3,.5),M('Caisse \/ borne commande',.15,.6),M('Chauffe-plats',3,.7),M('Vitrine chauffante',2,.75),M('Vitrine r\u00e9frig\u00e9r\u00e9e',1.5,.75),M('R\u00e9frig\u00e9rateur',1,.7),M('Cong\u00e9lateur',1,.75),M('Lave-vaisselle',10,.65),M('Extraction',6,.8)],cons:[C('boeuf','Viande bovine'),C('porc','Viande porcine'),C('volaille','Volaille'),C('produits-laitiers','Produits laitiers'),C('cereales','C\u00e9r\u00e9ales'),C('legumes','L\u00e9gumes'),C('boissons','Boissons'),C('carton','Emballages carton'),C('plastique-emballage','Emballages plastiques'),C('emballage-alimentaire','Gobelets et couverts'),C('papier-sanitaire','Serviettes'),C('nettoyant','Produits de nettoyage')]},\r\n'Boulangerie-p\u00e2tisserie-confiserie':{weeks:39,machines:[M('P\u00e9trin',7,.65),M('Batteur-m\u00e9langeur',4,.55),M('Laminoir',3,.5),M('Diviseuse',3,.45),M('Bouleuse',3,.45),M('Fa\u00e7onneuse',4,.5),M('Four \u00e0 soles',25,.75),M('Four ventil\u00e9',18,.7),M('Four rotatif',30,.75),M('Chambre fermentation',5,.75),M('Chambre froide',3,.75),M('Cong\u00e9lateur',1,.75),M('Cellule refroidissement',6,.65),M('Temp\u00e9reuse chocolat',3,.65),M('Enrobeuse',4,.6),M('Fondoir',3,.65),M('Machine \u00e0 glace',4,.65),M('Lave-vaisselle',10,.65),M('Extraction',5,.75)],cons:[C('farine','Farine'),C('sucre','Sucre'),C('beurre','Beurre'),C('margarine','Margarine'),C('lait','Lait'),C('creme','Cr\u00e8me'),C('oeufs','\u0152ufs'),C('chocolat','Chocolat'),C('cacao','Cacao'),C('fruits','Fruits'),C('fruits-coque','Fruits \u00e0 coque'),C('levure','Levure'),C('gelifiants','G\u00e9lifiants'),C('carton','Emballages carton'),C('plastique-emballage','Emballages plastiques')]}}\r\n,\r\n'Services':{\r\n'Coiffure':{weeks:39,machines:[M('S\u00e8che-cheveux',1.8,.5),M('Casque s\u00e9choir',1.2,.6),M('Lisseur',.15,.5),M('Fer \u00e0 boucler',.12,.5),M('Tondeuse',.05,.4),M('Chauffe-serviettes',1.5,.65),M('Chauffe-eau',8,.65),M('Lave-linge',3,.65),M('S\u00e8che-linge',4,.7),M('Climatisation',3,.65),M('Ventilation',1,.75),M('St\u00e9rilisateur',.5,.55)],cons:[C('shampoing','Shampoings'),C('apres-shampoing','Apr\u00e8s-shampoings'),C('coloration','Colorations'),C('decolorant','D\u00e9colorants'),C('oxydant','Oxydants'),C('permanente','Produits de permanente'),C('coiffant','Produits coiffants'),C('aerosol','A\u00e9rosols'),C('serviette-jetable','Serviettes jetables'),C('gants','Gants'),C('feuille-aluminium','Feuilles d\u2019aluminium'),C('plastique-emballage','Emballages')]},\r\n'Couture':{weeks:39,machines:[M('Machine \u00e0 coudre plate',.5,.55),M('Surjeteuse',.6,.55),M('Recouvreuse',.6,.55),M('Boutonni\u00e8re',.8,.45),M('Machine \u00e0 broder',1,.65),M('Machine de coupe',1.5,.5),M('Presse thermique',2,.6),M('Fer \u00e0 repasser',2,.55),M('Centrale vapeur',4,.65),M('Table aspirante',1,.65),M('\u00c9clairage de pr\u00e9cision',1,.8)],cons:[C('coton','Coton'),C('lin','Lin'),C('laine','Laine'),C('polyester','Polyester'),C('polyamide','Polyamide'),C('tissu-melange','Tissus m\u00e9lang\u00e9s'),C('cuir','Cuir'),C('fils','Fils'),C('entoilage','Entoilage'),C('fermetures','Fermetures'),C('boutons','Boutons'),C('elastiques','\u00c9lastiques'),C('plastique-emballage','Emballages'),C('papier-patron','Papier \u00e0 patron')]},\r\n'Commerce':{weeks:39,machines:[M('Ordinateur fixe',.12,.55),M('Ordinateur portable',.06,.55),M('\u00c9cran',.035,.65),M('Tablette',.012,.4),M('Imprimante',.4,.2),M('Photocopieur',1,.3),M('Scanner',.05,.2),M('Caisse',.08,.6),M('Terminal paiement',.01,.6),M('\u00c9cran affichage',.1,.75),M('Vid\u00e9oprojecteur',.3,.35),M('\u00c9quipement r\u00e9seau',.15,.9),M('Serveur local',.5,.95),M('Climatisation',3,.65)],cons:[C('papier-vierge','Papier vierge'),C('papier-recycle','Papier recycl\u00e9'),C('cartouches','Cartouches d\u2019encre'),C('toner','Toners'),C('support-publicitaire','Supports publicitaires'),C('carton','Emballages'),C('fournitures-bureau','Fournitures de bureau')]},\r\n'Entretien et nettoyage':{weeks:39,machines:[M('Aspirateur',1.5,.55),M('Aspirateur eau\/poussi\u00e8re',2,.55),M('Autolaveuse',2,.6),M('Monobrosse',1.5,.55),M('Balayeuse',2,.55),M('Injecteur-extracteur',2,.55),M('Nettoyeur vapeur',3,.6),M('Nettoyeur haute pression',3,.6),M('Lave-linge',3,.65),M('S\u00e8che-linge',4,.7),M('\u00c9quipement dosage',.2,.5),M('V\u00e9hicule de service',20,.3)],cons:[C('detergent','D\u00e9tergents'),C('desinfectant','D\u00e9sinfectants'),C('detartrant','D\u00e9tartrants'),C('produit-sol','Produits pour sols'),C('produit-vitres','Produits pour vitres'),C('produit-sanitaire','Produits sanitaires'),C('sacs','Sacs \u00e0 d\u00e9chets'),C('chiffons','Chiffons'),C('microfibres','Microfibres'),C('papier-sanitaire','Papier sanitaire'),C('gants-nettoyage','Gants'),C('emballage-chimique','Emballages chimiques')]}}\r\n,\r\n'Administration':{'Administration de l\u2019\u00e9cole':{weeks:52,machines:[M('Ordinateur fixe',.12,.55),M('Ordinateur portable',.06,.55),M('Station accueil',.02,.6),M('\u00c9cran',.035,.65),M('Tablette',.012,.4),M('Imprimante individuelle',.3,.15),M('Imprimante multifonction',1,.3),M('Scanner',.05,.2),M('Serveur local \/ NAS',.7,.95),M('Routeur \/ commutateur r\u00e9seau',.15,.95),M('T\u00e9l\u00e9phone',.01,.6),M('Vid\u00e9oprojecteur',.3,.3),M('\u00c9cran r\u00e9union',.1,.4),M('Climatisation locaux',3,.55),M('Climatisation local serveur',2,.9),M('Machine \u00e0 caf\u00e9',1.5,.35),M('R\u00e9frig\u00e9rateur',.5,.7),M('Lave-vaisselle',2,.4)],cons:[C('papier-vierge','Papier vierge'),C('papier-recycle','Papier recycl\u00e9'),C('papier-vierge','Enveloppes'),C('toner','Toners'),C('cartouches','Cartouches'),C('fournitures-bureau','Fournitures de bureau'),C('mobilier','Mobilier'),C('informatique-achetee','Mat\u00e9riel informatique achet\u00e9','unit\u00e9\/an'),C('nettoyant','Produits de nettoyage'),C('cafe','Caf\u00e9 et consommables de pause')]}}\r\n,\r\n'Enseignement \u2013 branches g\u00e9n\u00e9rales':{'Enseignement des branches g\u00e9n\u00e9rales':{weeks:39,machines:[M('Ordinateur portable enseignant',.06,.55),M('Ordinateur fixe',.12,.55),M('Poste informatique \u00e9l\u00e8ve',.1,.5),M('\u00c9cran',.035,.65),M('Tablette',.012,.4),M('Imprimante',.4,.2),M('Photocopieur',1,.3),M('Vid\u00e9oprojecteur',.3,.4),M('\u00c9cran interactif',.15,.5),M('Visualiseur',.02,.35),M('Syst\u00e8me audio',.08,.35),M('Visioconf\u00e9rence',.1,.3),M('Borne Wi-Fi',.02,.95),M('Chargeur collectif',.4,.35),M('Climatisation \/ ventilation',3,.55)],cons:[C('papier-vierge','Papier vierge'),C('papier-recycle','Papier recycl\u00e9'),C('toner','Toners'),C('cartouches','Cartouches'),C('livres-manuels','Livres et manuels'),C('materiel-ecriture','Mat\u00e9riel d\u2019\u00e9criture'),C('fournitures-artistiques','Fournitures artistiques'),C('piles','Batteries et piles'),C('informatique-achetee','\u00c9quipements informatiques renouvel\u00e9s','unit\u00e9\/an')]}}\r\n};\r\nvar $=function(id){return document.getElementById(id);};var state={last:null};\r\nfunction escapeHtml(s){return String(s).replace(\/[&<>\\\"]\/g,function(c){return{'&':'&amp;','<':'&lt;','>':'&gt;','\\\"':'&quot;'}[c];});}\r\nfunction fillSectors(){var el=$('sector'),keys=Object.keys(DATA),i;el.innerHTML='';for(i=0;i<keys.length;i++){el.options.add(new Option(keys[i],keys[i]));}loadWorkshops();}\r\nfunction loadWorkshops(){var sector=$('sector').value,list=Object.keys(DATA[sector]),w=$('workshop'),i;w.innerHTML='';for(i=0;i<list.length;i++){w.options.add(new Option(list[i],list[i]));}renderTemplate();}\r\nfunction renderTemplate(){var sector=$('sector').value,workshop=$('workshop').value,cfg=DATA[sector][workshop];$('weeks').value=cfg.weeks;$('disciplineBox').className=sector==='Enseignement \u2013 branches g\u00e9n\u00e9rales'?'':'hidden';renderMachines(cfg);renderConsumables(cfg);}\r\nfunction renderMachines(cfg){var box=$('machines'),html='',i,m;for(i=0;i<cfg.machines.length;i++){m=cfg.machines[i];html+='<div class=\"machine\" id=\"machineRow'+i+'\"><div class=\"machine-head\"><input type=\"checkbox\" id=\"machineOn'+i+'\" data-index=\"'+i+'\"><label for=\"machineOn'+i+'\">'+escapeHtml(m.name)+'<\/label><\/div><div class=\"dynamic-fields grid3\"><div><label for=\"machineCount'+i+'\">Combien ?<\/label><input id=\"machineCount'+i+'\" type=\"number\" min=\"0\" step=\"1\" value=\"1\"><\/div><div><label for=\"machinePower'+i+'\">Puissance unitaire<\/label><input id=\"machinePower'+i+'\" type=\"number\" min=\"0\" step=\"0.01\" value=\"'+m.kw+'\"><span class=\"unit\">kW<\/span><\/div><div><label for=\"machineHours'+i+'\">Heures par jour<\/label><input id=\"machineHours'+i+'\" type=\"number\" min=\"0\" max=\"24\" step=\"0.1\" value=\"2\"><\/div><div><label for=\"machineDays'+i+'\">Jours par semaine<\/label><input id=\"machineDays'+i+'\" type=\"number\" min=\"0\" max=\"7\" step=\"0.1\" value=\"4\"><\/div><div><label for=\"machineLoad'+i+'\">Taux de charge<\/label><select id=\"machineLoad'+i+'\"><option value=\"0.25\">Faible \u2014 25 %<\/option><option value=\"0.5\">Moyen \u2014 50 %<\/option><option value=\"0.75\">Important \u2014 75 %<\/option><option value=\"1\">Continu \u2014 100 %<\/option><\/select><\/div><\/div><\/div>';}box.innerHTML=html;for(i=0;i<cfg.machines.length;i++){setSelectValue('machineLoad'+i,String(cfg.machines[i].load));bindToggle('machineOn'+i,'machineRow'+i);}}\r\nfunction renderConsumables(cfg){var box=$('consumables'),html='',i,c;for(i=0;i<cfg.cons.length;i++){c=cfg.cons[i];html+='<div class=\"consumable\" id=\"consRow'+i+'\"><div class=\"toggle-line\"><input type=\"checkbox\" id=\"consOn'+i+'\" data-index=\"'+i+'\" '+(c.on?'checked':'')+'><label for=\"consOn'+i+'\">'+escapeHtml(c.label)+'<\/label><\/div><div class=\"dynamic-fields\"><label for=\"consQty'+i+'\">Quelle quantit\u00e9 annuelle utilisez-vous ?<\/label><input id=\"consQty'+i+'\" type=\"number\" min=\"0\" step=\"0.01\" value=\"0\"><span class=\"unit\">'+escapeHtml(c.unit)+'<\/span><\/div><\/div>';}box.innerHTML=html||'<p>Aucun consommable sp\u00e9cifique pr\u00e9configur\u00e9.<\/p>';for(i=0;i<cfg.cons.length;i++){bindToggle('consOn'+i,'consRow'+i);}}\r\nfunction bindToggle(checkId,rowId){var cb=$(checkId);function update(){var fields=$(rowId).querySelectorAll('input:not([type=checkbox]),select'),i;for(i=0;i<fields.length;i++){fields[i].disabled=!cb.checked;}if(cb.checked){$(rowId).classList.remove('disabled-panel');}else{$(rowId).classList.add('disabled-panel');}}cb.addEventListener('change',update);update();}\r\nfunction setSelectValue(id,val){var el=$(id),i,best=0,bestD=999;for(i=0;i<el.options.length;i++){var d=Math.abs(parseFloat(el.options[i].value)-parseFloat(val));if(d<bestD){best=i;bestD=d;}}el.selectedIndex=best;}\r\nfunction num(id){var v=parseFloat($(id).value);return isFinite(v)&&v>=0?v:0;}\r\nfunction toggleKnown(){var known=$('electricityKnown').value==='yes';$('meteredBox').className=known?'':'hidden';$('lightingBox').className=known?'hidden':'';}\r\nfunction toggleHeating(){var known=$('heatingKnown').value==='yes';$('heatingBox').className=known?'':'hidden';}\r\nfunction calculate(){var sector=$('sector').value,workshop=$('workshop').value,cfg=DATA[sector][workshop],weeks=num('weeks'),elecFactor=FACTORS.electricity[$('electricityMix').value],machineKwh=0,machineDetails=[],i,m,qty,power,hours,days,load,kwh;for(i=0;i<cfg.machines.length;i++){if($('machineOn'+i).checked){m=cfg.machines[i];qty=num('machineCount'+i);power=num('machinePower'+i);hours=num('machineHours'+i);days=num('machineDays'+i);load=parseFloat($('machineLoad'+i).value)||0;kwh=qty*power*hours*days*weeks*load;machineKwh+=kwh;machineDetails.push([m.name,kwh]);}}\r\nvar electricityKnown=$('electricityKnown').value==='yes',electricityKwh=electricityKnown?num('meteredElectricity'):(machineKwh+num('lightingKwh'));var electricityKg=electricityKwh*elecFactor;var heatingKg=$('heatingKnown').value==='yes'?num('heatingKwh')*FACTORS.heating[$('heatingType').value]:0;var mobilityKg=num('professionalKm')*FACTORS.mobility[$('professionalMode').value];var freightKg=num('freightWeight')*num('freightDistance')*FACTORS.freight[$('freightMode').value];var materialKg=0,materialDetails=[],c,factor;for(i=0;i<cfg.cons.length;i++){if($('consOn'+i).checked){c=cfg.cons[i];qty=num('consQty'+i);factor=FACTORS.materials[c.id]||0;materialKg+=qty*factor;materialDetails.push([c.label,qty*factor]);}}\r\nvar wasteKg=num('wasteKg')*FACTORS.waste[$('wasteRoute').value];var waterKg=num('waterM3')*FACTORS.water;var digitalKg=num('computers')*FACTORS.digital.computerAnnual+num('aiDaily')*weeks*5*FACTORS.digital.aiRequest;var cats=[{name:'Chauffage',kg:heatingKg,color:'#c74848'},{name:'\u00c9lectricit\u00e9',kg:electricityKg,color:'#2878b5'},{name:'Mobilit\u00e9 professionnelle',kg:mobilityKg,color:'#228b83'},{name:'Approvisionnements',kg:freightKg,color:'#7656a7'},{name:'Consommables',kg:materialKg,color:'#e08a1e'},{name:'D\u00e9chets',kg:wasteKg,color:'#7a6956'},{name:'Eau',kg:waterKg,color:'#3aa8c1'},{name:'Num\u00e9rique',kg:digitalKg,color:'#7d8b35'}];var total=0;for(i=0;i<cats.length;i++){total+=cats[i].kg;}state.last={sector:sector,workshop:workshop,totalKg:total,categories:cats,machineKwh:machineKwh,electricityKwh:electricityKwh,electricityKnown:electricityKnown,machineDetails:machineDetails,materialDetails:materialDetails};renderResults(state.last);return state.last;}\r\nfunction renderResults(r){var totalT=r.totalKg\/1000,students=Math.max(1,num('students')),surface=Math.max(1,num('surface')),hours=Math.max(1,num('trainingHours'));$('kpis').innerHTML='<div class=\"kpi\"><span>Total annuel<\/span><strong>'+totalT.toFixed(2)+' tCO\u2082e<\/strong><\/div><div class=\"kpi\"><span>Par \u00e9l\u00e8ve<\/span><strong>'+(r.totalKg\/students).toFixed(1)+' kgCO\u2082e<\/strong><\/div><div class=\"kpi\"><span>Par m\u00b2<\/span><strong>'+(r.totalKg\/surface).toFixed(1)+' kgCO\u2082e<\/strong><\/div><div class=\"kpi\"><span>Par heure de formation<\/span><strong>'+(r.totalKg\/hours).toFixed(2)+' kgCO\u2082e<\/strong><\/div>';\r\nvar sorted=r.categories.slice().sort(function(a,b){return b.kg-a.kg;}),html='',i,pct;for(i=0;i<sorted.length;i++){pct=r.totalKg>0?100*sorted[i].kg\/r.totalKg:0;html+='<div class=\"legend-item\"><span><i class=\"swatch\" style=\"background:'+sorted[i].color+'\"><\/i>'+escapeHtml(sorted[i].name)+'<\/span><strong>'+(sorted[i].kg\/1000).toFixed(3)+' t \u2014 '+pct.toFixed(1)+' %<\/strong><\/div>';} $('legend').innerHTML=html;var top=sorted[0];var msg='<p><strong>Poste prioritaire :<\/strong> '+escapeHtml(top.name)+' ('+(r.totalKg?100*top.kg\/r.totalKg:0).toFixed(1)+' %).<\/p>';if(r.electricityKnown){msg+='<p>La consommation \u00e9lectrique mesur\u00e9e est utilis\u00e9e sans ajouter s\u00e9par\u00e9ment les machines. Les machines actives repr\u00e9sentent une estimation de '+r.machineKwh.toFixed(0)+' kWh\/an sur '+r.electricityKwh.toFixed(0)+' kWh\/an mesur\u00e9s.<\/p>';}else{msg+='<p>L\u2019\u00e9lectricit\u00e9 est estim\u00e9e \u00e0 partir des machines actives ('+r.machineKwh.toFixed(0)+' kWh\/an) et des autres usages saisis.<\/p>';}if(top.name==='Consommables'){msg+='<p>Rechercher en priorit\u00e9 les factures d\u2019achat, les pertes mati\u00e8re, le r\u00e9emploi et la part recycl\u00e9e.<\/p>';}else if(top.name==='\u00c9lectricit\u00e9'){msg+='<p>V\u00e9rifier les relev\u00e9s, les dur\u00e9es de fonctionnement, le taux de charge et les usages permanents.<\/p>';}else if(top.name==='Chauffage'){msg+='<p>V\u00e9rifier l\u2019affectation de la consommation au secteur, les temp\u00e9ratures et les p\u00e9riodes d\u2019occupation.<\/p>';}else if(top.name==='Approvisionnements'||top.name==='Mobilit\u00e9 professionnelle'){msg+='<p>V\u00e9rifier les distances, le poids transport\u00e9, le regroupement des livraisons et les alternatives au transport routier ou a\u00e9rien.<\/p>';}$('recommendations').innerHTML=msg;drawDonut(r.categories,r.totalKg);$('status').className='status success';$('status').textContent='Calcul effectu\u00e9 pour : '+r.sector+' \u2014 '+r.workshop;}\r\nfunction drawDonut(cats,total){var canvas=$('donut'),ctx=canvas.getContext('2d'),cx=215,cy=215,r=165,inner=92,start=-Math.PI\/2,i,end;ctx.clearRect(0,0,canvas.width,canvas.height);ctx.fillStyle='#f7faf8';ctx.fillRect(0,0,canvas.width,canvas.height);if(total<=0){ctx.fillStyle='#d9e2de';ctx.beginPath();ctx.arc(cx,cy,r,0,Math.PI*2);ctx.arc(cx,cy,inner,0,Math.PI*2,true);ctx.fill('evenodd');}else{for(i=0;i<cats.length;i++){if(cats[i].kg<=0)continue;end=start+Math.PI*2*cats[i].kg\/total;ctx.beginPath();ctx.arc(cx,cy,r,start,end);ctx.arc(cx,cy,inner,end,start,true);ctx.closePath();ctx.fillStyle=cats[i].color;ctx.fill();start=end;}}ctx.fillStyle='#1f2933';ctx.textAlign='center';ctx.font='700 26px Arial';ctx.fillText((total\/1000).toFixed(2),cx,cy-3);ctx.font='16px Arial';ctx.fillStyle='#60706a';ctx.fillText('tCO\u2082e\/an',cx,cy+24);}\r\nfunction csvCell(v){v=String(v==null?'':v);return'\"'+v.replace(\/\"\/g,'\"\"')+'\"';}\r\nfunction exportCSV(){var r=calculate(),lines=[['Diagnostic carbone \u00e9cole professionnelle'],['Secteur',r.sector],['Atelier',r.workshop],['Total tCO2e\/an',(r.totalKg\/1000).toFixed(4)],['Electricite kWh\/an',r.electricityKwh.toFixed(1)],['Machines estimees kWh\/an',r.machineKwh.toFixed(1)],[],['Poste','kgCO2e','tCO2e']];var i;for(i=0;i<r.categories.length;i++){lines.push([r.categories[i].name,r.categories[i].kg.toFixed(2),(r.categories[i].kg\/1000).toFixed(4)]);}lines.push([],['Machines actives','kWh\/an']);for(i=0;i<r.machineDetails.length;i++){lines.push(r.machineDetails[i]);}lines.push([],['Consommables actifs','kgCO2e']);for(i=0;i<r.materialDetails.length;i++){lines.push(r.materialDetails[i]);}var csv='\\ufeff'+lines.map(function(row){return row.map(csvCell).join(';');}).join('\\r\\n');var blob=new Blob([csv],{type:'text\/csv;charset=utf-8'}),url=URL.createObjectURL(blob),a=document.createElement('a');a.href=url;a.download='bilan_carbone_'+r.sector.replace(\/[^a-z0-9]+\/gi,'_')+'.csv';document.body.appendChild(a);a.click();document.body.removeChild(a);setTimeout(function(){URL.revokeObjectURL(url);},1000);}\r\nfunction safe(fn){return function(){try{fn();}catch(e){$('status').className='status error';$('status').textContent='Erreur : '+e.message;}};}\r\n$('sector').addEventListener('change',safe(loadWorkshops));$('workshop').addEventListener('change',safe(renderTemplate));$('electricityKnown').addEventListener('change',toggleKnown);$('heatingKnown').addEventListener('change',toggleHeating);$('calculateBtn').addEventListener('click',safe(calculate));$('csvBtn').addEventListener('click',safe(exportCSV));$('pdfBtn').addEventListener('click',function(){calculate();window.print();});\r\ntry{fillSectors();toggleKnown();toggleHeating();calculate();}catch(e){$('status').className='status error';$('status').textContent='Erreur d\u2019initialisation : '+e.message;}\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n\r\n<br \/>\n<!-- START Kaya QR Code Generator --><div class=\"wpkqcg_qrcode_wrapper\"><input type=\"hidden\" id=\"wpkqcg_qrcode_outputimg_306a9652960cbaa52_ecclevel\" value=\"L\" \/><input type=\"hidden\" id=\"wpkqcg_qrcode_outputimg_306a9652960cbaa52_size\" value=\"\" \/><input type=\"hidden\" id=\"wpkqcg_qrcode_outputimg_306a9652960cbaa52_color\" value=\"\" \/><input type=\"hidden\" id=\"wpkqcg_qrcode_outputimg_306a9652960cbaa52_bgcolor\" value=\"\" \/><input type=\"hidden\" id=\"wpkqcg_qrcode_outputimg_306a9652960cbaa52_content\" value=\"https:\/\/www.aede.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fposts%2F4187\" \/><img src=\"\" id=\"wpkqcg_qrcode_outputimg_306a9652960cbaa52\" alt=\"QR Code\" class=\"wpkqcg_qrcode\" style=\"width: auto; height: auto; max-width: 100%;\" ><div style=\"clear: none;\"><\/div><\/div><!-- END Kaya QR Code Generator --><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":4190,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[39,26,32,23,55,45,47,50,25,44,4,42,24,46,21],"tags":[],"_links":{"self":[{"href":"https:\/\/www.aede.ch\/index.php?rest_route=\/wp\/v2\/posts\/4187"}],"collection":[{"href":"https:\/\/www.aede.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aede.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aede.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aede.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4187"}],"version-history":[{"count":3,"href":"https:\/\/www.aede.ch\/index.php?rest_route=\/wp\/v2\/posts\/4187\/revisions"}],"predecessor-version":[{"id":4193,"href":"https:\/\/www.aede.ch\/index.php?rest_route=\/wp\/v2\/posts\/4187\/revisions\/4193"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aede.ch\/index.php?rest_route=\/wp\/v2\/media\/4190"}],"wp:attachment":[{"href":"https:\/\/www.aede.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aede.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aede.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}