coucou pour le moment j'ai une présentation comme ...

Criado em: 11 de novembro de 2025

Respondido usando GPT-5 Thinking por Chat01

Pergunta

coucou pour le moment j'ai une présentation comme ca. Je vais parler de ça globalement. Subject: You are invited to participate in the design of future M2 metro trains. Its operation is considered critical in the event of a pandemic (testing, patient access), such as COVID. What would be the most relevant design features for the trains (surfaces, ventilation) to prevent the spread of the epidemic? Hazard identification: hazard present and health risks (with degree of evidence) - Lore Background information: explain context. Protective and aggravating factors that can affect the risk. - Emilie Risk assessment: high or low risk. Any data on accidents or illnesses? - Emilie Relevant regulations: legal provisions or rules of good practice that apply in this situation. – Lore + Solution TITLE: Pandemic-safe design for Metro trains WHO definition of pandemics: A pandemic is the worldwide spread of a new disease. Epidemic, pandemic and biological disasters are caused by hazards of organic origin, including bacteria, viruses, parasites, mosquitoes carrying disease-causing agents, and toxins or bioactive substances that occur naturally or are deliberately or unintentionally released. Talk about pandemics, what are the sources, the hazards and the risks à look at the most famous pandemics worldwide (included the most recent one: covid) Pandemics associated to public transportations. What are the factors that can affect the spread of pandemics in these environments. airborne transmission surface transmission: handrails, seat, button → contact hand-mouth/nose/eyes Lausanne M2 = underground + se renseigner sur type de siège, ventilation,... Peak hours → crowding Shared surface enclosed carriage low maintenance Data about pandemics spread in public transportation. Studies about COVID, real data about accidents and contagious people. depends on duration of exposure, surface materials Doubling ventilation rate can reduce airborne infection risk by >50%: https://www.mcmasterforum.org/docs/default-source/product-documents/living-evidence-syntheses/living-evidence-synthesis-15-2---effectiveness-of-ventilation-air-filtration-and-disinfection-for-reducing-transmission-of-respiratory-infectious-diseases-in-non-health-care-community-based-settings.pdf?sfvrsn=d98f1d5d_3 https://pubmed.ncbi.nlm.nih.gov/34456454/ SARS-CoV-2 survives up to 72h on plastic, 48h on stainless steel: https://www.nejm.org/doi/10.1056/NEJMc2004973 Regulations existent about air quality (?) J’ai pas réussi à trouver de règlementations..... Solution: STOP measures (substitution, technical/engineering solution, organizational and last Personal protective equipment). Evaluate the efficiency of substitution first, then if not possible or efficient pass to other solutions. Evaluate with existing data and arrive to a concrete conclusion. easy-to-clean surface: smooth seat → include regular disinfection + antimicrobial materials ?? open the doors automatically at each stop ventilation: HEPA filtration + direction du air flow Legislation: Swiss epidemcs act https://www.datalex.ch/en/expertises/1-epidemics-swiss-law-covid-19/ design project SIE 2024: https://www.epfl.ch/schools/enac/education/environmental-sciences-and-engineering/wp-content/uploads/2024/05/03_Gaillard-Festa_Girard.pdf Je n'aime pas trop la présentation pour le moment. Peux-tu l'améliorer ou la changer stp
Créer un nouveau design clair et élégant (fond clair, bleu acier, cuivre léger).

Ajouter des images réelles (Unsplash/Pexels) adaptées à chaque diapo.

Intégrer des icônes sobres pour appuyer le contenu.

Générer un PowerPoint .pptx prêt à télécharger avec une slide finale “Merci / Questions ?”.

Pensamento

Finalizing presentation details

The PubMed entry supports the idea that doubling ventilation halves risk, which aligns with the 50% risk reduction claim. For the presentation, since images can't be directly embedded, I can provide placeholders and links to download from Unsplash/Pexels. I'll also create minimalistic icon designs using shapes. The color scheme will be steel blue and light copper, with a light background for readability.

Designing the presentation

I'll define the colors for the presentation: steel blue (#4682B4 or #4A6FA5), light copper (#B87333 or #C4876A), and use a light background (#F7FAFC) with dark gray text. I'll prepare slides with image placeholders linked to relevant search URLs. Icons will be created using simple shapes, like a circle with spikes for "virus" and arrows for "ventilation." Footnotes will be included for citations. The text will also be in French as per the user's request. Let's begin implementing this in the slide code.

Creating slides and referencing sources

Okay, I’ll start by coding the slides, ensuring the design follows the guidelines with theme colors and layout. Each slide will have a title and content box. I'll add a rectangle as a placeholder for the image, instructing the user to click to insert an image (but only as text,

Thought for 1m 45s

Python

python
# %% # Create a French PowerPoint deck with a light, elegant theme (fond clair, bleu acier, cuivre léger) # and structured content for "Pandemic-safe design for Metro trains (M2)". # # Note: Internet is disabled in this environment, so real Unsplash/Pexels images can't be embedded. # Instead, each slide includes a clean "image placeholder" with a hyperlink to a relevant Unsplash/Pexels search. # from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.text import PP_ALIGN from pptx.dml.color import RGBColor from pptx.enum.shapes import MSO_SHAPE from pptx.enum.shapes import MSO_AUTO_SHAPE_TYPE from pptx.oxml.xmlchemy import OxmlElement from pptx.oxml.ns import qn prs = Presentation() # --- Color palette --- BG = RGBColor(247, 250, 252) # very light background #F7FAFC STEEL = RGBColor(70, 130, 180) # steel blue #4682B4 COPPER = RGBColor(196, 135, 97) # light copper-ish DK = RGBColor(40, 48, 61) # dark text MD = RGBColor(90, 102, 120) # mid text LT = RGBColor(220, 226, 234) # light line # Helper: add background rectangle def set_slide_bg(slide, color=BG): # full-size rectangle as background left, top = Inches(0), Inches(0) width, height = prs.slide_width, prs.slide_height bg = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, left, top, width, height) bg.fill.solid() bg.fill.fore_color.rgb = color bg.line.fill.background() # Helper: stylized title bar def add_title(slide, title_text, subtitle_text=None): # Title bar title_box = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(0.6), Inches(0.5), prs.slide_width - Inches(1.2), Inches(1.2)) title_box.fill.solid() title_box.fill.fore_color.rgb = RGBColor(255, 255, 255) title_box.line.color.rgb = LT # accent line accent = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(0.6), Inches(0.5), Inches(0.25), Inches(1.2)) accent.fill.solid() accent.fill.fore_color.rgb = STEEL accent.line.fill.background() # Title text tf = title_box.text_frame tf.clear() p = tf.paragraphs[0] run = p.add_run() run.text = title_text p.alignment = PP_ALIGN.LEFT run.font.name = "Calibri" run.font.size = Pt(36) run.font.bold = True run.font.color.rgb = DK if subtitle_text: p = tf.add_paragraph() r2 = p.add_run() r2.text = subtitle_text p.space_before = Pt(5) r2.font.name = "Calibri" r2.font.size = Pt(16) r2.font.color.rgb = MD # Helper: content box def add_content(slide, items, left=0.9, top=2.0, width=None, height=None, font_size=20): if width is None: width = (prs.slide_width - Inches(1.8)) if height is None: height = Inches(4.5) box = slide.shapes.add_textbox(Inches(left), Inches(top), width, height) tf = box.text_frame tf.word_wrap = True tf.clear() for i, text in enumerate(items): p = tf.add_paragraph() if i > 0 else tf.paragraphs[0] run = p.add_run() run.text = text run.font.name = "Calibri" run.font.size = Pt(font_size) run.font.color.rgb = DK p.level = 0 if i == 0 else 1 if i == 0: # first bullet as intro line without bullet p.level = 0 p._pPr = p._p.get_or_add_pPr() # Turn bullets on for following items else: p.level = 1 p.font = None p._pPr = p._p.get_or_add_pPr() bu = OxmlElement('a:buChar') bu.set(qn('char'), u'•') p._pPr.insert(0, bu) return box # Helper: "icon" composed of shapes (very minimalistic) def add_icon_ventilation(slide, left, top, size=1.0): # three arrows indicating airflow for i in range(3): arrow = slide.shapes.add_shape(MSO_AUTO_SHAPE_TYPE.RIGHT_ARROW, Inches(left), Inches(top + i*0.5*size), Inches(1.2*size), Inches(0.3*size)) arrow.fill.solid() arrow.fill.fore_color.rgb = STEEL arrow.line.fill.background() def add_icon_shield(slide, left, top, size=1.0): # use a pentagon to suggest a shield shp = slide.shapes.add_shape(MSO_AUTO_SHAPE_TYPE.PENTAGON, Inches(left), Inches(top), Inches(0.9*size), Inches(1.1*size)) shp.fill.solid() shp.fill.fore_color.rgb = COPPER shp.line.fill.background() def add_icon_virus(slide, left, top, size=1.0): # central circle with small 'spikes' c = slide.shapes.add_shape(MSO_SHAPE.OVAL, Inches(left), Inches(top), Inches(0.6*size), Inches(0.6*size)) c.fill.solid() c.fill.fore_color.rgb = RGBColor(230, 150, 150) c.line.fill.background() for dx, dy in [(-0.15,0), (0.65,0), (0.25,-0.15), (0.25,0.65), (-0.1,-0.1), (0.55,0.55), (-0.1,0.55), (0.55,-0.1)]: line = slide.shapes.add_connector(1, Inches(left+0.3), Inches(top+0.3), Inches(left+dx+0.3), Inches(top+dy+0.3)) line.line.color.rgb = RGBColor(230, 150, 150) # Helper: image placeholder with link suggestion def add_image_placeholder(slide, keywords, link): ph = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, Inches(0.9), Inches(6.1), prs.slide_width - Inches(1.8), Inches(1.1)) ph.fill.solid() ph.fill.fore_color.rgb = RGBColor(255,255,255) ph.line.color.rgb = LT tf = ph.text_frame tf.clear() p = tf.paragraphs[0] run = p.add_run() run.text = f"📷 Placez ici une image (suggestion : {keywords}) • Lien: {link}" run.font.name = "Calibri" run.font.size = Pt(12) run.font.color.rgb = MD # Helper: footnote/citation area def add_citation(slide, text): tx = slide.shapes.add_textbox(Inches(0.9), Inches(5.9), prs.slide_width - Inches(1.8), Inches(0.3)) tf = tx.text_frame tf.clear() p = tf.paragraphs[0] run = p.add_run() run.text = text run.font.name = "Calibri" run.font.size = Pt(10) run.font.color.rgb = MD # --- Slides --- # 1) Title slide s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Pandemic-safe design pour le métro M2", "Conception d’un matériel roulant résilient en situation de pandémie") sub = s.shapes.add_textbox(Inches(0.9), Inches(2.1), prs.slide_width - Inches(1.8), Inches(1.2)) tf = sub.text_frame tf.clear() p = tf.paragraphs[0] r = p.add_run() r.text = "Sujet : Participation au design des futurs trains M2 (surfaces, ventilation, exploitation) pour limiter la propagation d’épidémies/pandémies." r.font.name = "Calibri"; r.font.size = Pt(18); r.font.color.rgb = DK p = tf.add_paragraph(); r = p.add_run() r.text = "Auteurs : Lore — Emilie | Date : 11 novembre 2025" r.font.name = "Calibri"; r.font.size = Pt(14); r.font.color.rgb = MD add_image_placeholder(s, "metro underground, commuters", "https://unsplash.com/s/photos/metro-train") # 2) Contexte & définitions s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Contexte & définitions", "OMS : « Une pandémie est la propagation mondiale d’une nouvelle maladie ».") add_icon_virus(s, 0.9, 1.8, 1.2) items = [ "Pourquoi le M2 est critique en pandémie (accès patients, tests, personnel essentiel)", "Différence épidémie/pandémie : extension géographique et niveau d’immunité collective", "Menaces d’origine biologique : virus (ex. SARS‑CoV‑2), bactéries, toxines", ] add_content(s, items) add_citation(s, "Réf : OMS – Pandemics (who.int)") add_image_placeholder(s, "world map health, pandemic concept", "https://unsplash.com/s/photos/pandemic") # 3) Modes de transmission s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Modes de transmission en milieu fermé", "Priorité aux aérosols en espaces clos; fomites en rôle secondaire") add_icon_virus(s, 0.9, 1.8, 1.0) add_icon_ventilation(s, 2.0, 1.8, 1.0) items = [ "Aéroportée (gouttelettes/aérosols) : dominante en intérieur mal ventilé", "Surfaces (fomites) : mains → yeux/nez/bouche; risque moindre mais réel", "Facteurs clefs : durée d’exposition, densité, activité vocale, ventilation/filtration" ] add_content(s, items) add_citation(s, "Réf : NEJM 2020 (stabilité sur surfaces) ; synthèses ventilation 2023–2024") add_image_placeholder(s, "crowded subway, interior", "https://unsplash.com/s/photos/crowded-subway") # 4) Transports publics : facteurs de risque s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Transports publics : facteurs", "Espaces clos, contact rapproché, surfaces partagées") items = [ "Heures de pointe → sur-occupation", "Rames fermées, temps d’attente en station, renouvellement d’air variable", "Surfaces partagées : barres, boutons, sièges, valideurs", ] add_content(s, items) add_image_placeholder(s, "hand on handrail metro", "https://unsplash.com/s/photos/handrail-train") # 5) Cas du M2 Lausanne (à préciser/compléter) s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Cas d’étude : Lausanne M2", "Ligne souterraine, métro pneumatique, forte affluence en pointe") items = [ "Trains bi-caisses automatisés; portes larges; stations souterraines clés (Lausanne-Gare, CHUV, Flon)", "Contraintes locales : fortes pentes, quais étroits à certaines stations, temps de stationnement court", "Données à confirmer : type de sièges (lisses / tissus), stratégie de ventilation embarquée et en station" ] add_content(s, items) add_image_placeholder(s, "lausanne metro, switzerland city", "https://unsplash.com/s/photos/lausanne") # 6) Données clés – Ventilation & filtration s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Données clés – Ventilation & filtration", "Impact mesurable sur le risque d’infection") add_icon_ventilation(s, 0.9, 1.8, 1.2) items = [ "Modélisation (Wells‑Riley modifié) : passer de 0,5 à 6 ACH ≈ divise par ~2 le risque estimé", "Synthèses ‘living evidence’ : ventilation/filtration efficaces en milieux non‑soins", "HEPA/MERV13+ utiles quand ventilation limitée; contrôle par CO₂ pour suivi indirect" ] add_content(s, items) add_citation(s, "Réf : Aganovic et al., Build. Environ. 2021 ; McMaster LES 15.2 (2024)") add_image_placeholder(s, "airflow diagram, ventilation", "https://unsplash.com/s/photos/airflow") # 7) Données clés – Surfaces s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Données clés – Surfaces & nettoyage", "SARS‑CoV‑2 plus stable sur plastique/inox que sur cuivre/carton") items = [ "Jusqu’à 2–3 jours détectable sur plastique/inox (conditions labo), beaucoup moins sur cuivre", "Nettoyage/désinfection ciblés → réduction du risque de fomites", "Matériaux lisses, non poreux, jointoiement minimisé pour un entretien rapide" ] add_content(s, items) add_citation(s, "Réf : NEJM 2020 (van Doremalen et al.)") add_image_placeholder(s, "cleaning train, disinfecting", "https://unsplash.com/s/photos/disinfecting") # 8) Identification des dangers & preuves s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Identification des dangers", "Niveaux de risque & degré de preuve") tbl = s.shapes.add_table(rows=4, cols=3, left=Inches(0.9), top=Inches(2.0), width=prs.slide_width - Inches(1.8), height=Inches(2.8)).table tbl.columns[0].width = Inches(4.2) tbl.columns[1].width = Inches(2.2) tbl.columns[2].width = Inches(2.2) hdrs = ["Danger", "Risque santé", "Preuves"] for j,h in enumerate(hdrs): cell = tbl.cell(0,j) cell.text = h cell.text_frame.paragraphs[0].runs[0].font.bold = True cell.fill.solid(); cell.fill.fore_color.rgb = RGBColor(255,255,255) cell.text_frame.paragraphs[0].runs[0].font.color.rgb = DK rows = [ ("Transmission aéroportée (aérosols)", "Élevé", "Fort"), ("Gouttelettes à courte portée", "Modéré", "Fort"), ("Surfaces (fomites)", "Faible–modéré", "Modéré"), ] for i,(a,b,c) in enumerate(rows, start=1): for j,val in enumerate([a,b,c]): cell = tbl.cell(i,j) cell.text = val for p in cell.text_frame.paragraphs: for r in p.runs: r.font.size = Pt(14); r.font.name = "Calibri"; r.font.color.rgb = DK add_citation(s, "Sources multiples 2020–2024 (NEJM; revues ventilation/filtration)") add_image_placeholder(s, "scientific table, risk", "https://unsplash.com/s/photos/science") # 9) Facteurs aggravants / protecteurs s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Facteurs aggravants & protecteurs", "Ce qui augmente ou diminue le risque dans une rame") items = [ "Aggravants : sur-occupation, chant/parole forte, durée longue, entretien rare", "Protecteurs : ventilation élevée, portes ouvertes automatiquement, filtration HEPA", "Géométrie intérieure : circulation d’air, obstacles, sièges lisses et faciles à nettoyer" ] add_content(s, items) add_image_placeholder(s, "busy platform, metro", "https://unsplash.com/s/photos/metro-platform") # 10) Évaluation de risque (scénarios) s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Évaluation du risque (scénarios)", "Exposition courte vs longue, faible vs forte affluence") items = [ "Faible affluence, ventilation élevée → risque faible", "Pointe (6–8 pax/m²), ventilation faible → risque élevé", "Scénarios spéciaux : rame immobilisée, incident technique (ventilation dégradée)" ] add_content(s, items) add_image_placeholder(s, "heatmap risk, crowd", "https://unsplash.com/s/photos/crowd") # 11) Cadre réglementaire & bonnes pratiques s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Cadre réglementaire & bonnes pratiques", "Références utiles pour M2 (CH/UE/UITP)") add_icon_shield(s, 0.9, 1.8, 1.1) items = [ "Suisse : Loi sur les épidémies (EpidA) – cadre pour mesures sanitaires", "Normes CEN : EN 14750 (urbain/metro), EN 13129 (grandes lignes) – paramètres de confort & essais AC", "Lignes directrices UITP/FTA/FEMA : continuité d’exploitation, nettoyage, ventilation, information" ] add_content(s, items) add_image_placeholder(s, "legal document, standards", "https://unsplash.com/s/photos/standards") # 12) Stratégie STOP (hiérarchie des mesures) s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Stratégie STOP (hiérarchie)", "Substitution, Techniques, Organisation, Protection individuelle") items = [ "S – Substitution : réduire l’exposition (portes auto à chaque arrêt, réduire surfaces tactiles)", "T – Techniques : ventilation/filtration, flux d’air maîtrisé, UV‑C embarqué (si conforme)", "O – Organisation : horodatage / étalement des pics, protocole de nettoyage, monitoring CO₂/KPI", "P – EPI : masques selon niveau d’alerte sanitaire" ] add_content(s, items) add_image_placeholder(s, "hierarchy pyramid, safety", "https://unsplash.com/s/photos/safety") # 13) Recommandations design – Surfaces & aménagement s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Design – Surfaces & aménagement", "Objectif : nettoyage rapide, moindre réservoirs") items = [ "Sièges lisses (coquilles moulées), peu de joints, revêtements non poreux", "Barres/poignées : inox traité ou revêtements anti-traces; limiter niches et interstices", "Boutons : privilégier commandes mains‑libres (ou grandes cibles étanches) ; signalétique claire" ] add_content(s, items) add_image_placeholder(s, "train interior seats clean", "https://unsplash.com/s/photos/train-interior") # 14) Recommandations design – Ventilation & flux d’air s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Design – Ventilation & flux d’air", "Cibles et options techniques") add_icon_ventilation(s, 0.9, 1.8, 1.0) items = [ "Renouvellement d’air : viser ≥ 6 ACH en charge, pilotage adaptatif par CO₂", "Filtration : MERV13+/HEPA si constructible; maintenance & étanchéité des caissons", "Flux dirigé : insufflation au plafond, extraction haute, éviter recirculations entre zones debout" ] add_content(s, items) add_citation(s, "Réf : revues ventilation 2021–2024 ; normes EN 14750/13129") add_image_placeholder(s, "hvac ducts, airflow arrows", "https://unsplash.com/s/photos/hvac") # 15) UX / information voyageurs s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "UX & information voyageurs", "Rassurer, guider, lisser les pics") items = [ "Affichage embarqué : remplissage estimé, recommandations d’embarquement réparti", "Ouverture automatique des portes à chaque arrêt; temporisation pour échanges d’air en station", "Pictogrammes sobres sur geste barrière contextuels au niveau d’alerte" ] add_content(s, items) add_image_placeholder(s, "passenger info screen metro", "https://unsplash.com/s/photos/train-display") # 16) Exploitation & maintenance s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Exploitation & maintenance", "Procédures et suivi") items = [ "Plan de nettoyage ciblé (hauts points de contact) avec fréquences modulables par alerte", "Programme MEP : contrôle filtres, caissons, fuites; registre CO₂ et pannes ventilation", "Essais type (EN) à réception et périodiques; audits inopinés" ] add_content(s, items) add_image_placeholder(s, "maintenance train, technician", "https://unsplash.com/s/photos/train-maintenance") # 17) Impact/coût vs bénéfices s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Impact & coût – cadrage rapide", "Choisir les ‘quick wins’ à fort effet") tbl = s.shapes.add_table(rows=5, cols=3, left=Inches(0.9), top=Inches(2.0), width=prs.slide_width - Inches(1.8), height=Inches(3.0)).table for j,h in enumerate(["Mesure", "Impact attendu", "Complexité/coût"]): cell = tbl.cell(0,j); cell.text = h cell.text_frame.paragraphs[0].runs[0].font.bold = True rows = [ ("Ouverture portes auto + temporisation", "↓ risque air (renouvellement)", "Faible"), ("HEPA/MERV13+ (si intégrable)", "↓ risque air (élevé)", "Moyen à élevé"), ("Sièges lisses & surfaces jointes", "↓ risque fomites + nettoyage", "Moyen"), ("Capteurs CO₂ embarqués", "Pilotage + preuve de qualité d’air", "Faible"), ] for i,(a,b,c) in enumerate(rows, start=1): tbl.cell(i,0).text = a; tbl.cell(i,1).text = b; tbl.cell(i,2).text = c # 18) Feuille de route s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Feuille de route (proposition)", "Pilotes ➜ industrialisation") items = [ "S1 : Audit ventilation actuel (mesures CO₂, fumigènes), priorisation contraintes d’intégration", "S2 : Pilote 1 rame – filtres + monitoring ; Pilote 1 station – temporisation portes", "S3 : Évaluation (KPI contamination estimée, retours voyageurs), déploiement progressif" ] add_content(s, items) add_image_placeholder(s, "roadmap board, planning", "https://unsplash.com/s/photos/roadmap") # 19) Références (sélection) s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Références (sélection)", "Principales sources citées") ref_text = ( "• OMS – Pandemics (WHO)\n" "• van Doremalen et al., NEJM 2020 – Stabilité de SARS‑CoV‑2 sur surfaces\n" "• Aganovic et al., Build. Environ. 2021 – Ventilation vs humidité (Wells‑Riley)\n" "• McMaster Forum LES 15.2 (2024) – Ventilation/filtration/disinfection\n" "• EN 14750:2024 ; EN 13129:2016 – Climatisation matériel roulant ferroviaire\n" "• Epidemics Act (Suisse) – BAG (FOPH)\n" "• Études transport : Clinical Infectious Diseases (risque trains), UITP guidelines" ) add_content(s, [ref_text], font_size=16) add_image_placeholder(s, "research papers, references", "https://unsplash.com/s/photos/research-paper") # 20) Merci / Questions s = prs.slides.add_slide(prs.slide_layouts[6]) set_slide_bg(s) add_title(s, "Merci / Questions ?", "Contact : Lore & Emilie — Projet M2") # Decorative band band = s.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(0.6), Inches(5.8), prs.slide_width - Inches(1.2), Inches(0.7)) band.fill.solid(); band.fill.fore_color.rgb = STEEL band.line.fill.background() cap = s.shapes.add_textbox(Inches(0.6), Inches(6.6), prs.slide_width - Inches(1.2), Inches(0.6)) cap_tf = cap.text_frame; cap_tf.clear() p = cap_tf.paragraphs[0]; rn = p.add_run() rn.text = "Merci pour votre attention." rn.font.name = "Calibri"; rn.font.size = Pt(18); rn.font.color.rgb = DK # Save deck out_path = "/mnt/data/Design_Metro_M2_Pandemie.pptx" prs.save(out_path) out_path

Pensamento

Fixing bullet points for pptx

To fix the error in manipulating bullet points in python-pptx, I’ll focus on using the safer method: 'p._element' instead of '_p'. I’ll avoid custom bullet handling and use the default bullet settings. I'll set 'p.level > 0' to automatically generate bullets when needed. Additionally, I’ll ensure word wrapping is enabled on the text box to allow bullets to show properly.

Thought for 9s

Python

python
# %% from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.text import PP_ALIGN from pptx.dml.color import RGBColor from pptx.enum.shapes import MSO_SHAPE, MSO_AUTO_SHAPE_TYPE prs = Presentation() # --- Color palette --- BG = RGBColor(247, 250, 252) # very light background #F7FAFC STEEL = RGBColor(70, 130, 180) # steel blue #4682B4 COPPER = RGBColor(196, 135, 97) # light copper-ish DK = RGBColor(40, 48, 61) # dark text MD = RGBColor(90, 102, 120) # mid text LT = RGBColor(220, 226, 234) # light line def set_slide_bg(slide, color=BG): left, top = Inches(0), Inches(0) width, height = prs.slide_width, prs.slide_height bg = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, left, top, width, height) bg.fill.solid(); bg.fill.fore_color.rgb = color bg.line.fill.background() def add_title(slide, title_text, subtitle_text=None): title_box = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(0.6), Inches(0.5), prs.slide_width - Inches(1.2), Inches(1.2)) title_box.fill.solid(); title_box.fill.fore_color.rgb = RGBColor(255, 255, 255) title_box.line.color.rgb = LT accent = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(0.6), Inches(0.5), Inches(0.25), Inches(1.2)) accent.fill.solid(); accent.fill.fore_color.rgb = STEEL; accent.line.fill.background() tf = title_box.text_frame; tf.clear() p = tf.paragraphs[0]; run = p.add_run(); run.text = title_text p.alignment = PP_ALIGN.LEFT; run.font.name = "Calibri"; run.font.size = Pt(36); run.font.bold = True; run.font.color.rgb = DK if subtitle_text: p2 = tf.add_paragraph(); r2 = p2.add_run(); r2.text = subtitle_text r2.font.name = "Calibri"; r2.font.size = Pt(16); r2.font.color.rgb = MD def add_content(slide, items, left=0.9, top=2.0, width=None, height=None, font_size=20): if width is None: width = (prs.slide_width - Inches(1.8)) if height is None: height = Inches(4.5) box = slide.shapes.add_textbox(Inches(left), Inches(top), width, height) tf = box.text_frame; tf.word_wrap = True; tf.clear() for i, text in enumerate(items): p = tf.add_paragraph() if i > 0 else tf.paragraphs[0] run = p.add_run() run.text = text if i == 0 else f"• {text}" run.font.name = "Calibri"; run.font.size = Pt(font_size); run.font.color.rgb = DK return box def add_icon_ventilation(slide, left, top, size=1.0): for i in range(3): arrow = slide.shapes.add_shape(MSO_AUTO_SHAPE_TYPE.RIGHT_ARROW, Inches(left), Inches(top + i*0.5*size), Inches(1.2*size), Inches(0.3*size)) arrow.fill.solid(); arrow.fill.fore_color.rgb = STEEL; arrow.line.fill.background() def add_icon_shield(slide, left, top, size=1.0): shp = slide.shapes.add_shape(MSO_AUTO_SHAPE_TYPE.PENTAGON, Inches(left), Inches(top), Inches(0.9*size), Inches(1.1*size)) shp.fill.solid(); shp.fill.fore_color.rgb = COPPER; shp.line.fill.background() def add_icon_virus(slide, left, top, size=1.0): c = slide.shapes.add_shape(MSO_SHAPE.OVAL, Inches(left), Inches(top), Inches(0.6*size), Inches(0.6*size)) c.fill.solid(); c.fill.fore_color.rgb = RGBColor(230, 150, 150); c.line.fill.background() # simple "spikes" with small lines offsets = [(-0.15,0), (0.65,0), (0.25,-0.15), (0.25,0.65), (-0.1,-0.1), (0.55,0.55), (-0.1,0.55), (0.55,-0.1)] for dx, dy in offsets: line = slide.shapes.add_shape(MSO_SHAPE.LINE_INVERSE, Inches(left+0.3), Inches(top+0.3), Inches(left+dx+0.3), Inches(top+dy+0.3)) line.line.color.rgb = RGBColor(230, 150, 150) def add_image_placeholder(slide, keywords, link): ph = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, Inches(0.9), Inches(6.1), prs.slide_width - Inches(1.8), Inches(1.1)) ph.fill.solid(); ph.fill.fore_color.rgb = RGBColor(255,255,255); ph.line.color.rgb = LT tf = ph.text_frame; tf.clear() p = tf.paragraphs[0]; run = p.add_run() run.text = f"📷 Placez ici une image (suggestion : {keywords}) • Lien: {link}" run.font.name = "Calibri"; run.font.size = Pt(12); run.font.color.rgb = MD def add_citation(slide, text): tx = slide.shapes.add_textbox(Inches(0.9), Inches(5.9), prs.slide_width - Inches(1.8), Inches(0.3)) tf = tx.text_frame; tf.clear() p = tf.paragraphs[0]; run = p.add_run() run.text = text; run.font.name = "Calibri"; run.font.size = Pt(10); run.font.color.rgb = MD # --- Build slides --- # 1) Title s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Pandemic-safe design pour le métro M2", "Conception d’un matériel roulant résilient en situation de pandémie") sub = s.shapes.add_textbox(Inches(0.9), Inches(2.1), prs.slide_width - Inches(1.8), Inches(1.2)) tf = sub.text_frame; tf.clear() p = tf.paragraphs[0]; r = p.add_run() r.text = "Sujet : Participation au design des futurs trains M2 (surfaces, ventilation, exploitation) pour limiter la propagation d’épidémies/pandémies." r.font.name = "Calibri"; r.font.size = Pt(18); r.font.color.rgb = DK p = tf.add_paragraph(); r = p.add_run() r.text = "Auteurs : Lore — Emilie | Date : 11 novembre 2025" r.font.name = "Calibri"; r.font.size = Pt(14); r.font.color.rgb = MD add_image_placeholder(s, "metro underground, commuters", "https://unsplash.com/s/photos/metro-train") # 2) Contexte & définitions s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Contexte & définitions", "OMS : « Une pandémie est la propagation mondiale d’une nouvelle maladie ».") add_icon_virus(s, 0.9, 1.8, 1.2) items = [ "Pourquoi le M2 est critique en pandémie (accès patients, tests, personnel essentiel)", "Différence épidémie/pandémie : extension géographique et niveau d’immunité collective", "Menaces d’origine biologique : virus (ex. SARS‑CoV‑2), bactéries, toxines", ] add_content(s, items) add_citation(s, "Réf : OMS – Pandemics (who.int)") add_image_placeholder(s, "world map health, pandemic concept", "https://unsplash.com/s/photos/pandemic") # 3) Modes de transmission s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Modes de transmission en milieu fermé", "Priorité aux aérosols en espaces clos; fomites en rôle secondaire") add_icon_virus(s, 0.9, 1.8, 1.0); add_icon_ventilation(s, 2.0, 1.8, 1.0) items = [ "Aéroportée (gouttelettes/aérosols) : dominante en intérieur mal ventilé", "Surfaces (fomites) : mains → yeux/nez/bouche; risque moindre mais réel", "Facteurs clefs : durée d’exposition, densité, activité vocale, ventilation/filtration" ] add_content(s, items) add_citation(s, "Réf : NEJM 2020 (stabilité sur surfaces) ; synthèses ventilation 2023–2024") add_image_placeholder(s, "crowded subway, interior", "https://unsplash.com/s/photos/crowded-subway") # 4) Facteurs de risque s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Transports publics : facteurs", "Espaces clos, contact rapproché, surfaces partagées") items = ["Heures de pointe → sur-occupation", "Rames fermées, renouvellement d’air variable", "Surfaces partagées : barres, boutons, sièges, valideurs"] add_content(s, items) add_image_placeholder(s, "hand on handrail metro", "https://unsplash.com/s/photos/handrail-train") # 5) Cas M2 Lausanne s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Cas d’étude : Lausanne M2", "Ligne souterraine, métro pneumatique, forte affluence en pointe") items = [ "Trains bi-caisses automatisés; portes larges; stations souterraines clés (Lausanne-Gare, CHUV, Flon)", "Contraintes locales : fortes pentes, quais étroits, temps de stationnement court", "À confirmer : sièges (lisses/tissus), stratégie de ventilation embarquée et en station" ] add_content(s, items) add_image_placeholder(s, "lausanne metro, switzerland city", "https://unsplash.com/s/photos/lausanne") # 6) Données clés – Ventilation s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Données clés – Ventilation & filtration", "Impact mesurable sur le risque d’infection") add_icon_ventilation(s, 0.9, 1.8, 1.2) items = [ "Modélisation (Wells‑Riley modifié) : 0,5 ➜ 6 ACH ≈ risque divisé par ~2", "Synthèses ‘living evidence’ : ventilation/filtration efficaces (cadres non‑soins)", "HEPA/MERV13+ utiles quand la ventilation est limitée; pilotage par CO₂" ] add_content(s, items) add_citation(s, "Réf : Aganovic 2021 ; McMaster LES 15.2 (2024)") add_image_placeholder(s, "airflow diagram, ventilation", "https://unsplash.com/s/photos/airflow") # 7) Données clés – Surfaces s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Données clés – Surfaces & nettoyage", "SARS‑CoV‑2 plus stable sur plastique/inox que sur cuivre/carton") items = [ "Jusqu’à 2–3 jours détectable sur plastique/inox (conditions labo)", "Nettoyage/désinfection ciblés → réduction du risque de fomites", "Matériaux lisses, non poreux; jointoiement minimisé" ] add_content(s, items) add_citation(s, "Réf : NEJM 2020 (van Doremalen et al.)") add_image_placeholder(s, "cleaning train, disinfecting", "https://unsplash.com/s/photos/disinfecting") # 8) Identification des dangers (table simple par texte) s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Identification des dangers", "Niveaux de risque & degré de preuve") items = [ "Aérosols : risque ÉLEVÉ — preuves FORTES", "Gouttelettes courtes portées : risque MODÉRÉ — preuves FORTES", "Fomites/surfaces : risque FAIBLE–MODÉRÉ — preuves MODÉRÉES", ] add_content(s, items, font_size=18) add_citation(s, "Sources multiples 2020–2024 (NEJM; revues ventilation/filtration)") add_image_placeholder(s, "scientific table, risk", "https://unsplash.com/s/photos/science") # 9) Aggravants / protecteurs s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Facteurs aggravants & protecteurs", "Ce qui augmente/diminue le risque dans une rame") items = [ "Aggravants : sur-occupation, parole forte, durée longue, entretien rare", "Protecteurs : ventilation élevée, portes ouvertes automatiquement, filtration HEPA", "Conception intérieure : circulation d’air, obstacles, sièges lisses et faciles à nettoyer" ] add_content(s, items) add_image_placeholder(s, "busy platform, metro", "https://unsplash.com/s/photos/metro-platform") # 10) Évaluation du risque (scénarios) s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Évaluation du risque (scénarios)", "Exposition courte vs longue, faible vs forte affluence") items = [ "Faible affluence + ventilation élevée → risque faible", "Heures de pointe + ventilation faible → risque élevé", "Cas spéciaux : rame immobilisée (ventilation dégradée)" ] add_content(s, items) add_image_placeholder(s, "heatmap risk, crowd", "https://unsplash.com/s/photos/crowd") # 11) Cadre réglementaire s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Cadre réglementaire & bonnes pratiques", "Références CH/UE/UITP") add_icon_shield(s, 0.9, 1.8, 1.1) items = [ "Suisse : Loi sur les épidémies (EpidA) – cadre pour mesures sanitaires", "CEN : EN 14750 (urbain/metro), EN 13129 (grandes lignes) – confort & essais AC", "Guides UITP/FTA/FEMA : continuité d’exploitation, nettoyage, ventilation, info voyageurs" ] add_content(s, items) add_image_placeholder(s, "legal document, standards", "https://unsplash.com/s/photos/standards") # 12) Stratégie STOP s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Stratégie STOP (hiérarchie)", "Substitution, Techniques, Organisation, Protection individuelle") items = [ "S – Substitution : réduire l’exposition (portes auto, surfaces tactiles limitées)", "T – Techniques : ventilation/filtration, flux d’air maîtrisé, UV‑C conforme", "O – Organisation : étalement des pics, nettoyage ciblé, monitoring CO₂/KPI", "P – EPI : masques selon niveau d’alerte sanitaire" ] add_content(s, items) add_image_placeholder(s, "hierarchy pyramid, safety", "https://unsplash.com/s/photos/safety") # 13) Surfaces & aménagement s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Design – Surfaces & aménagement", "Objectif : nettoyage rapide, moins de réservoirs") items = [ "Sièges lisses (coques moulées), peu de joints, matériaux non poreux", "Barres/poignées : inox traité; éviter niches/interstices", "Boutons : mains‑libres ou grandes cibles étanches; signalétique claire" ] add_content(s, items) add_image_placeholder(s, "train interior seats clean", "https://unsplash.com/s/photos/train-interior") # 14) Ventilation & flux d’air s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Design – Ventilation & flux d’air", "Cibles et options techniques") add_icon_ventilation(s, 0.9, 1.8, 1.0) items = [ "Renouvellement d’air : viser ≥ 6 ACH en charge; asservi CO₂", "Filtration : MERV13+/HEPA si intégrable; maintenance des caissons", "Flux dirigé (plafond ➜ extraction haute), éviter recirculations" ] add_content(s, items) add_citation(s, "Réf : revues ventilation 2021–2024 ; EN 14750/13129") add_image_placeholder(s, "hvac ducts, airflow arrows", "https://unsplash.com/s/photos/hvac") # 15) UX & information voyageurs s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "UX & information voyageurs", "Rassurer, guider, lisser les pics") items = [ "Affichage embarqué : remplissage estimé, recommandations d’embarquement réparti", "Ouverture automatique des portes à chaque arrêt; temporisation pour échanges d’air", "Pictogrammes sobres adaptables au niveau d’alerte" ] add_content(s, items) add_image_placeholder(s, "passenger info screen metro", "https://unsplash.com/s/photos/train-display") # 16) Exploitation & maintenance s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Exploitation & maintenance", "Procédures et suivi") items = [ "Plan de nettoyage (points de contact) avec fréquences modulables", "Programme MEP : contrôle filtres, fuites; registre CO₂ et pannes ventilation", "Essais type (EN) à réception + périodiques; audits" ] add_content(s, items) add_image_placeholder(s, "maintenance train, technician", "https://unsplash.com/s/photos/train-maintenance") # 17) Impact / coût vs bénéfices s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Impact & coût – cadrage rapide", "Choisir les ‘quick wins’") items = [ "• Ouverture portes auto + temporisation – Impact : ↑ air neuf – Coût : faible", "• HEPA/MERV13+ (si intégrable) – Impact : élevé – Coût : moyen/élevé", "• Sièges lisses & surfaces jointes – Impact : nettoyage/fomites – Coût : moyen", "• Capteurs CO₂ – Impact : pilotage + preuve – Coût : faible" ] add_content(s, items, font_size=18) add_image_placeholder(s, "cost benefit matrix", "https://unsplash.com/s/photos/cost-benefit") # 18) Feuille de route s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Feuille de route (proposition)", "Pilotes ➜ industrialisation") items = [ "S1 : Audit ventilation (CO₂, fumigènes), contraintes d’intégration", "S2 : Pilote 1 rame – filtres + monitoring ; Pilote 1 station – temporisation portes", "S3 : Évaluation (KPI), déploiement progressif" ] add_content(s, items) add_image_placeholder(s, "roadmap board, planning", "https://unsplash.com/s/photos/roadmap") # 19) Références s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Références (sélection)", "Principales sources citées") ref_text = ( "• OMS – Pandemics (WHO)\n" "• van Doremalen et al., NEJM 2020 – Stabilité SARS‑CoV‑2\n" "• Aganovic et al., Build. Environ. 2021 – Ventilation vs humidité (Wells‑Riley)\n" "• McMaster Forum LES 15.2 (2024) – Ventilation/filtration/disinfection\n" "• EN 14750:2024 ; EN 13129:2016 – AC matériel roulant ferroviaire\n" "• Epidemics Act (Suisse) – BAG (FOPH)\n" "• Études transport : Clinical Infectious Diseases (trains), UITP guidelines" ) add_content(s, [ref_text], font_size=16) add_image_placeholder(s, "research papers, references", "https://unsplash.com/s/photos/research-paper") # 20) Merci / Questions s = prs.slides.add_slide(prs.slide_layouts[6]); set_slide_bg(s) add_title(s, "Merci / Questions ?", "Contact : Lore & Emilie — Projet M2") band = s.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(0.6), Inches(5.8), prs.slide_width - Inches(1.2), Inches(0.7)) band.fill.solid(); band.fill.fore_color.rgb = STEEL; band.line.fill.background() cap = s.shapes.add_textbox(Inches(0.6), Inches(6.6), prs.slide_width - Inches(1.2), Inches(0.6)) cap_tf = cap.text_frame; cap_tf.clear() p = cap_tf.paragraphs[0]; rn = p.add_run() rn.text = "Merci pour votre attention." rn.font.name = "Calibri"; rn.font.size = Pt(18); rn.font.color.rgb = DK out_path = "/mnt/data/Design_Metro_M2_Pandemie.pptx" prs.save(out_path) out_path '/mnt/data/Design_Metro_M2_Pandemie.pptx'

Pensamento

Finalizing the presentation in French

The presentation is ready for download! You can access it here.

In the slides, I’ve included placeholders for images and icons that will illustrate key points like ventilation and risk reduction. Since remote image embedding isn’t possible, I’ve added links for you to replace the placeholders with actual images.

The design features a light background with steel blue and light copper, perfect for easy reading. You'll also find citations for various relevant claims throughout the slides, such as “doubling ventilation reduces risk by 50%” from Aganovic 2021 and others like NEJM surfaces, and more, all cited directly (website).

Let me know if you'd like me to swap in real Unsplash images or make any other adjustments!

Providing citations and next steps

Here are the citations

Thought for 8s

Resposta

Super — j’ai refondu ta présentation en un deck clair et élégant (fond très clair, bleu acier, cuivre léger), avec structure nette, icônes sobres et des emplacements “image” prêts à remplacer par des visuels Unsplash/Pexels.

Télécharger le PowerPoint : Design_Metro_M2_Pandemie.pptx

Ce que tu obtiens

  • 20 diapositives prêtes à l’emploi, en FR, dont une finale “Merci / Questions ?”.
  • Palette : fond #F7FAFC, accents bleu acier & cuivre léger.
  • Icônes sobres (flux d’air, virus, bouclier) dessinées directement dans les slides (zéro pixel “chargé”).
  • Images : chaque diapo a un bloc “📷 Placez ici une image” + lien vers une recherche Unsplash/Pexels pertinente (tu peux remplacer le bloc par l’image en 2 clics).
  • Références condensées en fin de deck + mini-rappels au fil des slides.

Organisation du contenu (synthèse)

  1. Titre & objectifs
  2. Contexte & définitions (OMS : la pandémie = propagation mondiale d’une nouvelle maladie)
  3. Modes de transmission (aérosols en intérieur > fomites) + persistance sur surfaces (plastique/inox vs cuivre/carton)
  4. Facteurs de risque en TP (enclos, densité, surfaces partagées)
  5. Cas M2 Lausanne (metro pneumatique, fortes pointes, stations clés)
  6. Ventilation & filtration – données clés : modèle Wells-Riley modifié montrant qu’augmenter le renouvellement d’air (≈0,5 ➜ 6 ACH) peut ~diviser par deux le risque estimé ; preuves “living evidence” favorables à ventilation/filtration en milieux non-soins.
  7. Surfaces & nettoyage (prioriser matériaux lisses/joints minimisés)
  8. Identification des dangers (aérosols = élevé; fomites = faible-modéré)
  9. Aggravants/protecteurs (densité, durée, parole vs ventilation, portes auto, HEPA)
  10. Évaluation de risque – scénarios (pointe/ventilation faible vs hors-pointe/ventilation élevée)
  11. Cadre réglementaire & bonnes pratiques
  • Suisse : Epidemics Act (EpidA) pour les mesures sanitaires.
  • Normes CEN : EN 14750:2024 (urbain/metro) & EN 13129:2016 (grandes lignes) pour les paramètres de confort et essais CVC.
  • Guides opérateurs : UITP (COVID en TP) & pratiques FTA/FEMA.
  1. Stratégie STOP (Substitution, Techniques, Organisation, PPE)
    13–15) Recommandations design
  • Surfaces & aménagement : sièges lisses/coques, inox propre, commandes mains-libres.
  • Ventilation & flux : viser ≥ 6 ACH en charge, MERV13+/HEPA si intégrable, flux dirigé plafond→extraction haute, pilotage CO₂.
  • UX & info : ouverture portes automatique (dilution), affichage occupation, signalétique sobre (niveau d’alerte).
  1. Exploitation & maintenance (protocoles de nettoyage ciblé, journal CO₂, suivi filtres)
  2. Impact/coût – quick wins
  3. Feuille de route (audit CO₂ & fumigènes → pilotes → déploiement)
  4. Références (sélection) (OMS, NEJM, Aganovic 2021, McMaster LES 15.2, EN 14750/13129, BAG, UITP, études train)
  5. Merci / Questions ?

Deux notes pratiques

  • Images : pour respecter ta consigne Unsplash/Pexels, j’ai inclus des liens directs à des recherches adaptées sur chaque slide. Ouvre le lien ➜ télécharge l’image ➜ clic droit sur le bloc “📷” > “Changer l’image”.
  • M2 (sièges/ventilation exacts) : j’ai posé des formulations neutres + “à confirmer”. On peut facilement éditer quand tu as l’info matérielle/sièges/ventilation exacte (ou je peux la rechercher et mettre la diapo à jour).

Sources clés (extraits)

  • Définition OMS & contexte.
  • Persistance sur surfaces (plastique/inox jusqu’à 2–3 j en labo).
  • Ventilation & risque (Wells-Riley modifié : ↑ ACH → ↓ risque ~50 %).
  • Synthèse “Living Evidence” ventilation/filtration (2024).
  • Risque en trains (données réelles, CID).
  • UITP – lignes directrices TP.
  • Normes CEN HVAC ferroviaire (EN 14750:2024, EN 13129:2016).
  • Cadre légal suisse (EpidA, FOPH/BAG).
  • M2 Lausanne – caractéristiques générales.

Si tu veux, je peux aussi insérer pour de vrai des photos libres (je te proposerai 1–2 options par slide selon ton style), traduire en anglais, ou adapter le deck pour un timing précis (ex. 10 min/15 min).

Compartilhar esta Q&A