<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Pages on PENGCHI</title>
		<link>https://pengchi.net/fr/pages/</link>
		<description>Recent content in Pages on PENGCHI</description>
		<generator>Hugo</generator>
		<language>fr-FR</language>
		
		
		
		
			<lastBuildDate>Thu, 08 Oct 2026 10:14:52 +0000</lastBuildDate>
		
			<atom:link href="https://pengchi.net/fr/pages/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Solution clé en main de mobilier de laboratoire</title>
				<link>https://pengchi.net/fr/laboratory-furniture-turnkey-solution/</link>
				<pubDate>Thu, 08 Oct 2026 10:14:52 +0000</pubDate>
				<guid>https://pengchi.net/fr/laboratory-furniture-turnkey-solution/</guid>
				<description>&lt;section class=&#34;position-relative text-white overflow-hidden&#34; &gt;&#xA;&lt;style&gt;.swiper-manager-container.swiper-style17.swiper-slide-name-labfurnituresolution {--height:auto ;--height-pad:auto!important;--gap:20px !important;--slides_per_view_pc:1.7 !important;--slides_per_view_pad:1 !important;--height-mobile:auto!important;--products-count:10;--height:auto!important;--swiper-slide-aspect-ratio:16/9!important;--swiper-slide-aspect-ratio-pad:16/9!important;--swiper-slide-aspect-ratio-mobile:16/9!important;}.swiper-manager-container.swiper-style17.swiper-slide-name-labfurnituresolution .slide-content {}@media (max-width: 1024px) {.swiper-manager-container.swiper-style17.swiper-slide-name-labfurnituresolution {--height:auto!important;}}@media (max-width: 768px) {.swiper-manager-container.swiper-style17.swiper-slide-name-labfurnituresolution {--height:auto!important;}}.swiper-manager-outer-section#swiper-slide-name-labfurnituresolution {background:#000;&lt;/style&gt;&lt;section class=&#34;swiper-manager-outer-section&#34; id=&#34;swiper-slide-name-labfurnituresolution&#34;&gt;&lt;div class=&#34;swiper-manager-container swiper-slide-name-labfurnituresolution swiper-slide-id- color-white content-align-default swiper-style17&#34; id=&#34;swiper-instance-1&#34; data-navigation=&#34;true&#34; data-pagination=&#34;false&#34; data-loop=&#34;true&#34; data-autoplay=&#34;false&#34; data-thumbs=&#34;false&#34; data-mute=&#34;true&#34; data-height=&#34;auto&#34; data-height-pad=&#34;auto&#34; data-height-mobile=&#34;auto&#34; data-style-id=&#34;17&#34; data-auto-height=&#34;true&#34; data-space-between=&#34;20&#34; data-slider-name=&#34;labfurnituresolution&#34; data-slides-per-view-pc=&#34;1.7&#34; data-slides-per-group-pc=&#34;&#34; data-slides-per-view-pad=&#34;1&#34; data-slides-per-group-pad=&#34;&#34; data-slides-per-view-mobile=&#34;1&#34; data-slides-per-group-mobile=&#34;&#34; data-centered-slides=&#34;1&#34; data-title-font-size=&#34;&#34; data-subtitle-font-size=&#34;&#34; data-description-font-size=&#34;&#34; data-link-font-size=&#34;&#34; data-google-fonts=&#34;&#34; data-content-box-max-width=&#34;&#34;&gt; &lt;div class=&#34;swiper main-swiper&#34; style=&#34;height:auto&#34;&gt; &lt;div class=&#34;swiper-wrapper&#34;&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide has-video&#34;&gt;&lt;div class=&#34;video-container slide-video&#34;&gt;&lt;lite-youtube videoid=&#34;KHh1vSSHchY&#34; posterquality=&#34;maxresdefault&#34; style=&#34;width:100%;height:100%;aspect-ratio:auto;&#34;&gt;&lt;/lite-youtube&gt;&lt;script type=&#34;module&#34; src=&#34;https://cdn.jsdelivr.net/npm/@justinribeiro/lite-youtube@1/lite-youtube.js&#34;&gt;&lt;/script&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&#34;laboratory-bench-sink&#34; class=&#34;swiper-slide&#34;&gt;&lt;div&gt;&lt;img src=&#34;https://pengchi.net/wp-content/uploads/2026/10/laboratory-sink-workbench-cabinets-bright-yj93HuMH-1280x720-1.jpg&#34; loading=&#34;lazy&#34; alt=&#34;Paillasse et évier de laboratoire&#34; class=&#34;slide-background-img&#34; /&gt;&lt;/div&gt;&lt;div class=&#34;slide-overlay&#34;&gt;&lt;/div&gt;&lt;div class=&#34;slide-content&#34;&gt;&lt;div class=&#34;content-inner&#34;&gt;&lt;h2 class=&#34;slide-title&#34;&gt;Paillasse et évier de laboratoire&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&#34;laboratory-bench-cabinets&#34; class=&#34;swiper-slide&#34;&gt;&lt;div&gt;&lt;img src=&#34;https://pengchi.net/wp-content/uploads/2026/10/bright-modern-laboratory-workbench-equipment-TffpHSxw-1280x720-1.jpg&#34; loading=&#34;lazy&#34; alt=&#34;Paillasse et meubles de laboratoire&#34; class=&#34;slide-background-img&#34; /&gt;&lt;/div&gt;&lt;div class=&#34;slide-overlay&#34;&gt;&lt;/div&gt;&lt;div class=&#34;slide-content&#34;&gt;&lt;div class=&#34;content-inner&#34;&gt;&lt;h2 class=&#34;slide-title&#34;&gt;Paillasse et meubles de laboratoire&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;swiper-info-btn&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-autoplay-btn&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-button-prev&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-button-next&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-scrollbar&#34;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;swiper-manager-outer-section-content-after&#34;&gt;&lt;/div&gt;&lt;/section&gt;&#xA;&lt;/section&gt;&lt;!-- INTRODUCTION DE LA SOLUTION + BOUTONS PDF / CATALOGUE DE LA SOLUTION --&gt;&#xA;&lt;section class=&#34;py-5&#34;&gt;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA;&lt;div class=&#34;row justify-content-start&#34;&gt;&#xA;&lt;div class=&#34;col-lg-10&#34;&gt;&#xA;&lt;span class=&#34;text-success text-uppercase small fw-semibold&#34;&gt;Aperçu de la solution&lt;/span&gt;&#xA;&lt;h2 class=&#34;fw-bold lh-sm mt-2 mb-3&#34;&gt;Systèmes complets de mobilier pour un laboratoire fonctionnel&lt;/h2&gt;&#xA;&lt;p class=&#34;text-body-secondary&#34;&gt;La solution clé en main de mobilier de laboratoire de Pengchi fournit tout ce sur quoi repose un laboratoire — paillasses de laboratoire en acier, hottes chimiques, plateformes de balance entièrement en acier, armoires de laboratoire et étagères à réactifs — dans le cadre d&#39;un contrat unique. Au lieu de s&#39;approvisionner séparément en paillasses, hottes et rangements, les laboratoires et les maîtres d&#39;ouvrage reçoivent un ensemble coordonné, fabriqué selon une norme de qualité unique et installé comme un périmètre de travaux séquencé.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Solution clé en main de mobilier hospitalier médical</title>
				<link>https://pengchi.net/fr/medical-hospital-furniture-turnkey-solution/</link>
				<pubDate>Thu, 08 Oct 2026 10:09:53 +0000</pubDate>
				<guid>https://pengchi.net/fr/medical-hospital-furniture-turnkey-solution/</guid>
				<description>&lt;section class=&#34;position-relative text-white overflow-hidden&#34; &gt;&#xA;&lt;style&gt;.swiper-manager-container.swiper-style17.swiper-slide-name-hospitalfurnituresolution {--height:auto ;--height-pad:auto!important;--gap:20px !important;--slides_per_view_pc:1.7 !important;--slides_per_view_pad:1 !important;--height-mobile:auto!important;--products-count:10;--height:auto!important;--swiper-slide-aspect-ratio:16/9!important;--swiper-slide-aspect-ratio-pad:16/9!important;--swiper-slide-aspect-ratio-mobile:16/9!important;}.swiper-manager-container.swiper-style17.swiper-slide-name-hospitalfurnituresolution .slide-content {}@media (max-width: 1024px) {.swiper-manager-container.swiper-style17.swiper-slide-name-hospitalfurnituresolution {--height:auto!important;}}@media (max-width: 768px) {.swiper-manager-container.swiper-style17.swiper-slide-name-hospitalfurnituresolution {--height:auto!important;}}.swiper-manager-outer-section#swiper-slide-name-hospitalfurnituresolution {background:#000;&lt;/style&gt;&lt;section class=&#34;swiper-manager-outer-section&#34; id=&#34;swiper-slide-name-hospitalfurnituresolution&#34;&gt;&lt;div class=&#34;swiper-manager-container swiper-slide-name-hospitalfurnituresolution swiper-slide-id- color-white content-align-default swiper-style17&#34; id=&#34;swiper-instance-7&#34; data-navigation=&#34;true&#34; data-pagination=&#34;false&#34; data-loop=&#34;true&#34; data-autoplay=&#34;false&#34; data-thumbs=&#34;false&#34; data-mute=&#34;true&#34; data-height=&#34;auto&#34; data-height-pad=&#34;auto&#34; data-height-mobile=&#34;auto&#34; data-style-id=&#34;17&#34; data-auto-height=&#34;true&#34; data-space-between=&#34;20&#34; data-slider-name=&#34;hospitalfurnituresolution&#34; data-slides-per-view-pc=&#34;1.7&#34; data-slides-per-group-pc=&#34;&#34; data-slides-per-view-pad=&#34;1&#34; data-slides-per-group-pad=&#34;&#34; data-slides-per-view-mobile=&#34;1&#34; data-slides-per-group-mobile=&#34;&#34; data-centered-slides=&#34;1&#34; data-title-font-size=&#34;&#34; data-subtitle-font-size=&#34;&#34; data-description-font-size=&#34;&#34; data-link-font-size=&#34;&#34; data-google-fonts=&#34;&#34; data-content-box-max-width=&#34;&#34;&gt; &lt;div class=&#34;swiper main-swiper&#34; style=&#34;height:auto&#34;&gt; &lt;div class=&#34;swiper-wrapper&#34;&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide has-video&#34;&gt;&lt;div class=&#34;video-container slide-video&#34;&gt;&lt;lite-youtube videoid=&#34;OKXU1WiiclQ&#34; posterquality=&#34;maxresdefault&#34; style=&#34;width:100%;height:100%;aspect-ratio:auto;&#34;&gt;&lt;/lite-youtube&gt;&lt;script type=&#34;module&#34; src=&#34;https://cdn.jsdelivr.net/npm/@justinribeiro/lite-youtube@1/lite-youtube.js&#34;&gt;&lt;/script&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide has-video&#34;&gt;&lt;div&gt;&lt;img src=&#34;https://pengchi.net/wp-content/uploads/2026/10/medical-cabinets-with-nurse.jpg&#34; loading=&#34;lazy&#34; alt=&#34;Armoires de salle de traitement médical&#34; class=&#34;slide-background-img&#34; /&gt;&lt;/div&gt;&lt;div class=&#34;video-container slide-video&#34;&gt;&lt;lite-youtube videoid=&#34;cEvrObGkIFM&#34; posterquality=&#34;maxresdefault&#34; style=&#34;width:100%;height:100%;aspect-ratio:auto;&#34;&gt;&lt;/lite-youtube&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide&#34;&gt;&lt;div&gt;&lt;img src=&#34;https://pengchi.net/wp-content/uploads/2026/10/nurse-hospital-triage-desk-flowchart-kewAj8NH-1280x720-1.jpg&#34; loading=&#34;lazy&#34; alt=&#34;poste d&#39;infirmière&#34; class=&#34;slide-background-img&#34; /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide has-video&#34;&gt;&lt;div&gt;&lt;img src=&#34;https://pengchi.net/wp-content/uploads/2026/10/stainless-medical-carts-clinical-showroom-7QkP4hnQ-1280x720-1.jpg&#34; loading=&#34;lazy&#34; alt=&#34;&#34; class=&#34;slide-background-img&#34; /&gt;&lt;/div&gt;&lt;div class=&#34;video-container slide-video&#34;&gt;&lt;lite-youtube videoid=&#34;hcsPlunfKLg&#34; posterquality=&#34;maxresdefault&#34; style=&#34;width:100%;height:100%;aspect-ratio:auto;&#34;&gt;&lt;/lite-youtube&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;swiper-info-btn&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-autoplay-btn&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-button-prev&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-button-next&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-scrollbar&#34;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;swiper-manager-outer-section-content-after&#34;&gt;&lt;/div&gt;&lt;/section&gt;&#xA;&lt;/section&gt;&lt;!-- INTRODUCTION À LA SOLUTION + BOUTONS PDF / CATALOGUE DE LA SOLUTION --&gt;&#xA;&lt;section class=&#34;py-5&#34;&gt;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA;&lt;div class=&#34;row justify-content-start&#34;&gt;&#xA;&lt;div class=&#34;col-lg-10&#34;&gt;&#xA;&lt;span class=&#34;text-success text-uppercase small fw-semibold&#34;&gt;Aperçu de la solution&lt;/span&gt;&#xA;&lt;h2 class=&#34;fw-bold lh-sm mt-2 mb-3&#34;&gt;Un mobilier qui organise le travail quotidien de tout l&#39;hôpital&lt;/h2&gt;&#xA;&lt;p class=&#34;text-body-secondary&#34;&gt;La solution clé en main de mobilier hospitalier médical de Pengchi fournit les systèmes de mobilier qu&#39;un hôpital utilise chaque jour — postes de soins infirmiers, bureaux d&#39;accueil du hall, armoires médicales, armoires de gestion intelligentes, lavabos chirurgicaux et mobilier en acier inoxydable pour la stérilisation centrale (CSSD) — dans le cadre d&#39;un contrat unique. Plutôt que de se procurer bureaux, armoires et lavabos auprès de fournisseurs distincts aux normes et calendriers différents, les maîtres d&#39;ouvrage reçoivent un ensemble coordonné, fabriqué selon un système qualité unique et installé comme un périmètre d&#39;intervention séquencé unique.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Solution de porte médicale en métal</title>
				<link>https://pengchi.net/fr/metal-medical-door-solution/</link>
				<pubDate>Thu, 08 Oct 2026 09:59:55 +0000</pubDate>
				<guid>https://pengchi.net/fr/metal-medical-door-solution/</guid>
				<description>&lt;section &gt;&#xA;&lt;style&gt;.swiper-manager-container.swiper-style17.swiper-slide-name-medicaldoorsolution {--height:auto ;--height-pad:auto!important;--gap:20px !important;--slides_per_view_pc:1.7 !important;--slides_per_view_pad:1 !important;--height-mobile:auto!important;--products-count:10;--height:auto!important;--swiper-slide-aspect-ratio:16/9!important;--swiper-slide-aspect-ratio-pad:16/9!important;--swiper-slide-aspect-ratio-mobile:16/9!important;}.swiper-manager-container.swiper-style17.swiper-slide-name-medicaldoorsolution .slide-content {}@media (max-width: 1024px) {.swiper-manager-container.swiper-style17.swiper-slide-name-medicaldoorsolution {--height:auto!important;}}@media (max-width: 768px) {.swiper-manager-container.swiper-style17.swiper-slide-name-medicaldoorsolution {--height:auto!important;}}.swiper-manager-outer-section#swiper-slide-name-medicaldoorsolution {background:#000;&lt;/style&gt;&lt;section class=&#34;swiper-manager-outer-section&#34; id=&#34;swiper-slide-name-medicaldoorsolution&#34;&gt;&lt;div class=&#34;swiper-manager-container swiper-slide-name-medicaldoorsolution swiper-slide-id- color-white content-align-default swiper-style17&#34; id=&#34;swiper-instance-14&#34; data-navigation=&#34;true&#34; data-pagination=&#34;false&#34; data-loop=&#34;true&#34; data-autoplay=&#34;false&#34; data-thumbs=&#34;false&#34; data-mute=&#34;true&#34; data-height=&#34;auto&#34; data-height-pad=&#34;auto&#34; data-height-mobile=&#34;auto&#34; data-style-id=&#34;17&#34; data-auto-height=&#34;true&#34; data-space-between=&#34;20&#34; data-slider-name=&#34;medicaldoorsolution&#34; data-slides-per-view-pc=&#34;1.7&#34; data-slides-per-group-pc=&#34;&#34; data-slides-per-view-pad=&#34;1&#34; data-slides-per-group-pad=&#34;&#34; data-slides-per-view-mobile=&#34;1&#34; data-slides-per-group-mobile=&#34;&#34; data-centered-slides=&#34;1&#34; data-title-font-size=&#34;&#34; data-subtitle-font-size=&#34;&#34; data-description-font-size=&#34;&#34; data-link-font-size=&#34;&#34; data-google-fonts=&#34;&#34; data-content-box-max-width=&#34;&#34;&gt; &lt;div class=&#34;swiper main-swiper&#34; style=&#34;height:auto&#34;&gt; &lt;div class=&#34;swiper-wrapper&#34;&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide has-video&#34;&gt;&lt;div class=&#34;video-container slide-video&#34;&gt;&lt;lite-youtube videoid=&#34;oj-uLRXaEZ0&#34; posterquality=&#34;maxresdefault&#34; style=&#34;width:100%;height:100%;aspect-ratio:auto;&#34;&gt;&lt;/lite-youtube&gt;&lt;script type=&#34;module&#34; src=&#34;https://cdn.jsdelivr.net/npm/@justinribeiro/lite-youtube@1/lite-youtube.js&#34;&gt;&lt;/script&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide has-video&#34;&gt;&lt;div class=&#34;video-container slide-video&#34;&gt;&lt;lite-youtube videoid=&#34;vM1Wwfh3UjY&#34; posterquality=&#34;maxresdefault&#34; style=&#34;width:100%;height:100%;aspect-ratio:auto;&#34;&gt;&lt;/lite-youtube&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide has-video&#34;&gt;&lt;div class=&#34;video-container slide-video&#34;&gt;&lt;lite-youtube videoid=&#34;IVJm58p2EZ0&#34; posterquality=&#34;maxresdefault&#34; style=&#34;width:100%;height:100%;aspect-ratio:auto;&#34;&gt;&lt;/lite-youtube&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;swiper-info-btn&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-autoplay-btn&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-button-prev&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-button-next&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-scrollbar&#34;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;swiper-manager-outer-section-content-after&#34;&gt;&lt;/div&gt;&lt;/section&gt;&#xA;&lt;/section&gt;&lt;!-- INTRODUCTION DE LA SOLUTION + BOUTONS VR / CATALOGUE --&gt;&#xA;&lt;section class=&#34;py-5&#34;&gt;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA;&lt;div class=&#34;row justify-content-start&#34;&gt;&#xA;&lt;div class=&#34;col-lg-10&#34;&gt;&#xA;&lt;span class=&#34;text-success text-uppercase small fw-semibold&#34;&gt;Aperçu de la solution&lt;/span&gt;&#xA;&lt;h2 class=&#34;fw-bold lh-sm mt-2 mb-3&#34;&gt;Chaque porte de l&#39;hôpital, conçue et fournie par un seul fabricant&lt;/h2&gt;&#xA;&lt;p class=&#34;text-body-secondary&#34;&gt;La solution de portes médicales métalliques de Pengchi propose un programme complet de portes pour les hôpitaux, les cliniques et les bâtiments de laboratoire dans le cadre d&#39;un contrat unique : portes médicales coulissantes automatiques, portes pliantes automatiques, portes pour salles blanches, portes médicales manuelles en acier, portes battantes anti-radiations et portes de sécurité en acier. Au lieu de se procurer chaque type de porte auprès d&#39;un fournisseur différent, les maîtres d&#39;ouvrage bénéficient d&#39;un calendrier coordonné unique, d&#39;une norme de fabrication unique et d&#39;un fournisseur unique et responsable, du premier plan de porte jusqu&#39;à la mise en service finale.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Solution clé en main de salles d&#39;opération modulaires</title>
				<link>https://pengchi.net/fr/modular-operating-rooms-turnkey-solution/</link>
				<pubDate>Thu, 08 Oct 2026 08:55:44 +0000</pubDate>
				<guid>https://pengchi.net/fr/modular-operating-rooms-turnkey-solution/</guid>
				<description>&lt;section &gt;&#xA;&lt;style&gt;.swiper-manager-container.swiper-style17.swiper-slide-name-operatingroomsolution {--height:auto ;--height-pad:auto!important;--gap:20px !important;--slides_per_view_pc:1.7 !important;--slides_per_view_pad:1 !important;--height-mobile:auto!important;--products-count:10;--height:auto!important;--swiper-slide-aspect-ratio:16/9!important;--swiper-slide-aspect-ratio-pad:16/9!important;--swiper-slide-aspect-ratio-mobile:16/9!important;}.swiper-manager-container.swiper-style17.swiper-slide-name-operatingroomsolution .slide-content {}@media (max-width: 1024px) {.swiper-manager-container.swiper-style17.swiper-slide-name-operatingroomsolution {--height:auto!important;}}@media (max-width: 768px) {.swiper-manager-container.swiper-style17.swiper-slide-name-operatingroomsolution {--height:auto!important;}}.swiper-manager-outer-section#swiper-slide-name-operatingroomsolution {background:#000;&lt;/style&gt;&lt;section class=&#34;swiper-manager-outer-section&#34; id=&#34;swiper-slide-name-operatingroomsolution&#34;&gt;&lt;div class=&#34;swiper-manager-container swiper-slide-name-operatingroomsolution swiper-slide-id- color-white content-align-default swiper-style17&#34; id=&#34;swiper-instance-21&#34; data-navigation=&#34;true&#34; data-pagination=&#34;false&#34; data-loop=&#34;true&#34; data-autoplay=&#34;false&#34; data-thumbs=&#34;false&#34; data-mute=&#34;true&#34; data-height=&#34;auto&#34; data-height-pad=&#34;auto&#34; data-height-mobile=&#34;auto&#34; data-style-id=&#34;17&#34; data-auto-height=&#34;true&#34; data-space-between=&#34;20&#34; data-slider-name=&#34;operatingroomsolution&#34; data-slides-per-view-pc=&#34;1.7&#34; data-slides-per-group-pc=&#34;&#34; data-slides-per-view-pad=&#34;1&#34; data-slides-per-group-pad=&#34;&#34; data-slides-per-view-mobile=&#34;1&#34; data-slides-per-group-mobile=&#34;&#34; data-centered-slides=&#34;1&#34; data-title-font-size=&#34;&#34; data-subtitle-font-size=&#34;&#34; data-description-font-size=&#34;&#34; data-link-font-size=&#34;&#34; data-google-fonts=&#34;&#34; data-content-box-max-width=&#34;&#34;&gt; &lt;div class=&#34;swiper main-swiper&#34; style=&#34;height:auto&#34;&gt; &lt;div class=&#34;swiper-wrapper&#34;&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide has-video&#34;&gt;&lt;div class=&#34;video-container slide-video&#34;&gt;&lt;lite-youtube videoid=&#34;0HNem0HbCvw&#34; posterquality=&#34;maxresdefault&#34; style=&#34;width:100%;height:100%;aspect-ratio:auto;&#34;&gt;&lt;/lite-youtube&gt;&lt;script type=&#34;module&#34; src=&#34;https://cdn.jsdelivr.net/npm/@justinribeiro/lite-youtube@1/lite-youtube.js&#34;&gt;&lt;/script&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide has-video&#34;&gt;&lt;div class=&#34;video-container slide-video&#34;&gt;&lt;lite-youtube videoid=&#34;iDniASs9Sqc&#34; posterquality=&#34;maxresdefault&#34; style=&#34;width:100%;height:100%;aspect-ratio:auto;&#34;&gt;&lt;/lite-youtube&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide has-video&#34;&gt;&lt;div class=&#34;video-container slide-video&#34;&gt;&lt;lite-youtube videoid=&#34;YJ5o-C0x47Y&#34; posterquality=&#34;maxresdefault&#34; style=&#34;width:100%;height:100%;aspect-ratio:auto;&#34;&gt;&lt;/lite-youtube&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;swiper-info-btn&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-autoplay-btn&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-button-prev&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-button-next&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-scrollbar&#34;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;swiper-manager-outer-section-content-after&#34;&gt;&lt;/div&gt;&lt;/section&gt;&#xA;&lt;/section&gt;&lt;!-- ==================== SOLUTION INTRODUCTION + VR / CATALOGUE BUTTONS ==================== --&gt;&#xA;&lt;section class=&#34;py-5&#34;&gt;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA;&lt;div class=&#34;row justify-content-start&#34;&gt;&#xA;&lt;div class=&#34;col-lg-10&#34;&gt;&#xA;&lt;span class=&#34;text-success text-uppercase small fw-semibold&#34;&gt;Aperçu de la solution&lt;/span&gt;&#xA;&lt;h2 class=&#34;fw-bold lh-sm mt-2 mb-3&#34;&gt;Une suite opératoire complète livrée par un seul fabricant responsable&lt;/h2&gt;&#xA;&lt;p class=&#34;text-body-secondary&#34;&gt;La solution clé en main de salles d&#39;opération modulaires de Pengchi fournit une suite chirurgicale complète, préfabriquée en usine — enceinte murale et plafond, plafond à flux laminaire, système CVC, armoires encastrées et unité de contrôle intégrée — dans le cadre d&#39;un contrat unique. Au lieu de coordonner plusieurs entrepreneurs sur site, les propriétaires d&#39;hôpitaux travaillent avec un seul fabricant, responsable depuis le premier plan d&#39;aménagement jusqu&#39;à la remise validée.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Spectacle VR de la salle d&#39;opération</title>
				<link>https://pengchi.net/fr/vr-show-of-operating-room/</link>
				<pubDate>Thu, 08 Oct 2026 07:24:57 +0000</pubDate>
				<guid>https://pengchi.net/fr/vr-show-of-operating-room/</guid>
				<description>&lt;style id=&#34;pfvr-styles&#34;&gt;/**&#xA;* Styles front-end pour les visionneuses PlayForge VR.&#xA;*&#xA;* La visionneuse est une superposition sombre de style verre au-dessus du canevas A-Frame.&#xA;* La superposition elle-même laisse passer les clics ; les éléments interactifs réactivent&#xA;* les événements de pointeur via .pfvr-ui / button pointer-events.&#xA;*/&#xA;.pfvr-viewer {&#xA;position: relative;&#xA;width: 100%;&#xA;height: var(--pfvr-height, 100vh);&#xA;background: #05070a;&#xA;border-radius: 10px;&#xA;overflow: hidden;&#xA;outline: none;&#xA;font-family: -apple-system, BlinkMacSystemFont, &#34;Segoe UI&#34;, Roboto,&#xA;&#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, sans-serif;&#xA;color: #fff;&#xA;}&#xA;.pfvr-viewer:focus-visible {&#xA;box-shadow: 0 0 0 3px rgba(66, 165, 245, 0.55);&#xA;}&#xA;/* A-Frame remplit le conteneur (embedded supprime sa hauteur minimale par défaut). */&#xA;.pfvr-viewer .a-embedded,&#xA;.pfvr-viewer a-scene {&#xA;position: absolute;&#xA;inset: 0;&#xA;width: 100% !important;&#xA;height: 100% !important;&#xA;min-height: 0 !important;&#xA;}&#xA;/* Superposition : clics traversants par défaut pour que le glisser permette de regarder autour. */&#xA;.pfvr-overlay {&#xA;position: absolute;&#xA;inset: 0;&#xA;z-index: 10;&#xA;pointer-events: none;&#xA;}&#xA;.pfvr-ui,&#xA;.pfvr-overlay button,&#xA;.pfvr-overlay select {&#xA;pointer-events: auto;&#xA;}&#xA;/* ---------- Barre supérieure ---------- */&#xA;.pfvr-topbar {&#xA;position: absolute;&#xA;top: 0;&#xA;left: 0;&#xA;right: 0;&#xA;display: flex;&#xA;align-items: center;&#xA;gap: 10px;&#xA;padding: 10px 14px;&#xA;background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));&#xA;}&#xA;.pfvr-select {&#xA;flex: 1;&#xA;min-width: 0;&#xA;max-width: 360px;&#xA;padding: 7px 10px;&#xA;font-size: 13px;&#xA;color: #fff;&#xA;background: rgba(20, 26, 34, 0.72);&#xA;border: 1px solid rgba(255, 255, 255, 0.18);&#xA;border-radius: 8px;&#xA;cursor: pointer;&#xA;appearance: none;&#xA;-webkit-appearance: none;&#xA;background-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; width=&#39;12&#39; height=&#39;12&#39; viewBox=&#39;0 0 24 24&#39; fill=&#39;%23ffffff&#39;%3E%3Cpath d=&#39;M7 10l5 5 5-5z&#39;/%3E%3C/svg%3E&#34;);&#xA;background-repeat: no-repeat;&#xA;background-position: right 10px center;&#xA;padding-right: 30px;&#xA;}&#xA;.pfvr-select option {&#xA;color: #111;&#xA;}&#xA;.pfvr-top-actions {&#xA;margin-left: auto;&#xA;display: flex;&#xA;gap: 8px;&#xA;}&#xA;/* ---------- Boutons ---------- */&#xA;.pfvr-btn {&#xA;display: inline-flex;&#xA;align-items: center;&#xA;justify-content: center;&#xA;width: 38px;&#xA;height: 38px;&#xA;padding: 0;&#xA;border: 1px solid rgba(255, 255, 255, 0.2);&#xA;border-radius: 50%;&#xA;background: rgba(20, 26, 34, 0.66);&#xA;color: #fff;&#xA;cursor: pointer;&#xA;backdrop-filter: blur(6px);&#xA;-webkit-backdrop-filter: blur(6px);&#xA;transition: background 0.15s ease, transform 0.15s ease;&#xA;}&#xA;.pfvr-btn:hover {&#xA;background: rgba(48, 60, 75, 0.9);&#xA;}&#xA;.pfvr-btn:active {&#xA;transform: scale(0.94);&#xA;}&#xA;.pfvr-nav {&#xA;position: absolute;&#xA;top: 50%;&#xA;transform: translateY(-50%);&#xA;z-index: 12;&#xA;}&#xA;.pfvr-nav:active {&#xA;transform: translateY(-50%) scale(0.94);&#xA;}&#xA;.pfvr-nav-prev { left: 14px; }&#xA;.pfvr-nav-next { right: 14px; }&#xA;/* ---------- Icônes (masquées pour hériter de currentColor) ---------- */&#xA;.pfvr-icon {&#xA;width: 20px;&#xA;height: 20px;&#xA;display: inline-block;&#xA;background-color: currentColor;&#xA;-webkit-mask-repeat: no-repeat;&#xA;mask-repeat: no-repeat;&#xA;-webkit-mask-position: center;&#xA;mask-position: center;&#xA;-webkit-mask-size: contain;&#xA;mask-size: contain;&#xA;}&#xA;.pfvr-icon-prev {&#xA;-webkit-mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z&#39;/%3E%3C/svg%3E&#34;);&#xA;mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z&#39;/%3E%3C/svg%3E&#34;);&#xA;}&#xA;.pfvr-icon-next {&#xA;-webkit-mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M8.6 7.4 10 6l6 6-6 6-1.4-1.4L13.2 12z&#39;/%3E%3C/svg%3E&#34;);&#xA;mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M8.6 7.4 10 6l6 6-6 6-1.4-1.4L13.2 12z&#39;/%3E%3C/svg%3E&#34;);&#xA;}&#xA;.pfvr-icon-fs {&#xA;width: 18px;&#xA;height: 18px;&#xA;-webkit-mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z&#39;/%3E%3C/svg%3E&#34;);&#xA;mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z&#39;/%3E%3C/svg%3E&#34;);&#xA;}&#xA;.pfvr-icon-auto {&#xA;width: 19px;&#xA;height: 19px;&#xA;-webkit-mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M17.65 6.35A8 8 0 1 0 19.73 14h-2.08A6 6 0 1 1 12 6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z&#39;/%3E%3C/svg%3E&#34;);&#xA;mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M17.65 6.35A8 8 0 1 0 19.73 14h-2.08A6 6 0 1 1 12 6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z&#39;/%3E%3C/svg%3E&#34;);&#xA;}&#xA;.pfvr-auto-btn.is-off {&#xA;opacity: 0.45;&#xA;}&#xA;.pfvr-fs-btn.is-fullscreen .pfvr-icon-fs {&#xA;opacity: 0.7;&#xA;}&#xA;/* ---------- Panneau d&#39;information ---------- */&#xA;.pfvr-info {&#xA;position: absolute;&#xA;left: 14px;&#xA;bottom: 116px;&#xA;max-width: min(440px, calc(100% - 28px));&#xA;padding: 12px 16px;&#xA;background: rgba(10, 14, 20, 0.62);&#xA;border: 1px solid rgba(255, 255, 255, 0.1);&#xA;border-radius: 10px;&#xA;backdrop-filter: blur(8px);&#xA;-webkit-backdrop-filter: blur(8px);&#xA;}&#xA;.pfvr-info[hidden] {&#xA;display: none;&#xA;}&#xA;.pfvr-scene-title {&#xA;font-size: 16px;&#xA;font-weight: 700;&#xA;line-height: 1.35;&#xA;margin-bottom: 4px;&#xA;}&#xA;.pfvr-scene-desc {&#xA;font-size: 13px;&#xA;line-height: 1.6;&#xA;color: rgba(255, 255, 255, 0.85);&#xA;word-break: break-word;&#xA;}&#xA;.pfvr-scene-desc p {&#xA;margin: 0 0 6px;&#xA;}&#xA;.pfvr-scene-desc p:last-child {&#xA;margin-bottom: 0;&#xA;}&#xA;/* ---------- Bande de vignettes ---------- */&#xA;.pfvr-thumbs {&#xA;position: absolute;&#xA;left: 0;&#xA;right: 0;&#xA;bottom: 0;&#xA;display: flex;&#xA;gap: 10px;&#xA;padding: 10px 76px 12px 14px; /* l&#39;espace à droite laisse de la place pour le bouton VR d&#39;A-Frame */&#xA;overflow-x: auto;&#xA;scrollbar-width: thin;&#xA;scrollbar-color: rgba(255, 255, 255, 0.35) transparent;&#xA;background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));&#xA;}&#xA;.pfvr-thumbs::-webkit-scrollbar {&#xA;height: 6px;&#xA;}&#xA;.pfvr-thumbs::-webkit-scrollbar-thumb {&#xA;background: rgba(255, 255, 255, 0.3);&#xA;border-radius: 3px;&#xA;}&#xA;.pfvr-thumb {&#xA;flex: 0 0 auto;&#xA;width: 108px;&#xA;padding: 0;&#xA;border: 2px solid transparent;&#xA;border-radius: 8px;&#xA;overflow: hidden;&#xA;background: rgba(255, 255, 255, 0.08);&#xA;cursor: pointer;&#xA;text-align: left;&#xA;transition: border-color 0.15s ease, transform 0.15s ease;&#xA;}&#xA;.pfvr-thumb:hover {&#xA;transform: translateY(-2px);&#xA;}&#xA;.pfvr-thumb img {&#xA;display: block;&#xA;width: 108px;&#xA;height: 64px;&#xA;object-fit: cover;&#xA;}&#xA;.pfvr-thumb-label {&#xA;display: block;&#xA;padding: 4px 6px;&#xA;font-size: 11px;&#xA;line-height: 1.3;&#xA;color: rgba(255, 255, 255, 0.88);&#xA;white-space: nowrap;&#xA;overflow: hidden;&#xA;text-overflow: ellipsis;&#xA;}&#xA;.pfvr-thumb.is-active {&#xA;border-color: #42a5f5;&#xA;box-shadow: 0 0 0 1px rgba(66, 165, 245, 0.6);&#xA;}&#xA;.pfvr-thumb.is-active .pfvr-thumb-label {&#xA;color: #90caf9;&#xA;}&#xA;/* ---------- Indicateur de chargement ---------- */&#xA;.pfvr-loader {&#xA;position: absolute;&#xA;inset: 0;&#xA;display: flex;&#xA;align-items: center;&#xA;justify-content: center;&#xA;pointer-events: none;&#xA;}&#xA;.pfvr-spinner {&#xA;width: 42px;&#xA;height: 42px;&#xA;border: 3px solid rgba(255, 255, 255, 0.2);&#xA;border-top-color: #42a5f5;&#xA;border-radius: 50%;&#xA;animation: pfvr-spin 0.9s linear infinite;&#xA;}&#xA;@keyframes pfvr-spin {&#xA;to {&#xA;transform: rotate(360deg);&#xA;}&#xA;}&#xA;.pfvr-viewer:not(.pfvr-loading) .pfvr-loader {&#xA;display: none;&#xA;}&#xA;/* ---------- Plein écran ---------- */&#xA;.pfvr-viewer:fullscreen,&#xA;.pfvr-viewer:-webkit-full-screen {&#xA;height: 100%;&#xA;border-radius: 0;&#xA;}&#xA;.pfvr-viewer:fullscreen .pfvr-info {&#xA;bottom: 120px;&#xA;}&#xA;/* ---------- Petits écrans ---------- */&#xA;@media (max-width: 600px) {&#xA;.pfvr-viewer {&#xA;border-radius: 6px;&#xA;}&#xA;.pfvr-info {&#xA;left: 8px;&#xA;right: 8px;&#xA;bottom: 108px;&#xA;max-width: none;&#xA;padding: 10px 12px;&#xA;}&#xA;.pfvr-scene-title {&#xA;font-size: 14px;&#xA;}&#xA;.pfvr-scene-desc {&#xA;font-size: 12px;&#xA;}&#xA;.pfvr-nav {&#xA;width: 34px;&#xA;height: 34px;&#xA;}&#xA;.pfvr-nav-prev { left: 6px; }&#xA;.pfvr-nav-next { right: 6px; }&#xA;.pfvr-thumb {&#xA;width: 92px;&#xA;}&#xA;.pfvr-thumb img {&#xA;width: 92px;&#xA;height: 56px;&#xA;}&#xA;.pfvr-topbar {&#xA;padding: 8px 10px;&#xA;}&#xA;}&#xA;/* Avertissement destiné à l&#39;éditeur pour les shortcodes mal configurés. */&#xA;.pfvr-notice {&#xA;padding: 12px 16px;&#xA;background: #fcf0f1;&#xA;border-left: 4px solid #d63638;&#xA;color: #3c434a;&#xA;}&#xA;&lt;/style&gt;&#xA;&lt;script src=&#34;https://pengchi.net/wp-content/plugins/playforge-vr/assets/vendor/aframe.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;div&#xA;id=&#34;pfvr-viewer-624-1&#34;&#xA;class=&#34;pfvr-viewer pfvr-loading&#34;&#xA;style=&#34;--pfvr-height: 100vh;&#34;&#xA;data-scene=&#34;0&#34;&#xA;data-autoplay=&#34;1&#34;&#xA;data-preload=&#34;all&#34;&#xA;tabindex=&#34;0&#34;&#xA;&gt;&#xA;&lt;a-scene&#xA;embedded&#xA;loading-screen=&#34;enabled: false&#34;&#xA;vr-mode-ui=&#34;enabled: true&#34;&#xA;renderer=&#34;colorManagement: true; antialias: true&#34;&#xA;&gt;&#xA;&lt;a-assets timeout=&#34;30000&#34;&gt;&#xA;&lt;img&#xA;id=&#34;pfvr-a-0&#34;&#xA;src=&#34;https://pengchi.net/wp-content/uploads/2026/09/Wuhan-Fifth-Hospital_OR-Corridor_4K_4096x2048-scaled.jpg&#34;&#xA;alt=&#34;&#34;&#xA;&gt;&#xA;&lt;img&#xA;id=&#34;pfvr-a-1&#34;&#xA;src=&#34;https://pengchi.net/wp-content/uploads/2026/09/Wuhan-Fifth-Hospital_OR-2_4K_4096x2048-scaled.jpg&#34;&#xA;alt=&#34;&#34;&#xA;&gt;&#xA;&lt;img&#xA;id=&#34;pfvr-a-2&#34;&#xA;src=&#34;https://pengchi.net/wp-content/uploads/2026/09/Wuhan-Fifth-Hospital_OR-1_4K_4096x2048-scaled.jpg&#34;&#xA;alt=&#34;&#34;&#xA;&gt;&#xA;&lt;/a-assets&gt;&#xA;&lt;a-sky data-role=&#34;sky&#34; src=&#34;#pfvr-a-0&#34;&gt;&lt;/a-sky&gt;&#xA;&lt;a-entity data-role=&#34;rig&#34; pfvr-auto=&#34;speed: 0.06; enabled: true&#34;&gt;&#xA;&lt;a-entity camera look-controls=&#34;reverseMouseDrag: true&#34; fov=&#34;80&#34;&gt;&lt;/a-entity&gt;&#xA;&lt;/a-entity&gt;&#xA;&lt;/a-scene&gt;&#xA;&lt;div class=&#34;pfvr-overlay&#34;&gt;&#xA;&lt;div class=&#34;pfvr-topbar pfvr-ui&#34;&gt;&#xA;&lt;select class=&#34;pfvr-select&#34; aria-label=&#34;Changer de scène par titre&#34;&gt;&lt;/select&gt;&#xA;&lt;div class=&#34;pfvr-top-actions&#34;&gt;&#xA;&lt;button type=&#34;button&#34; class=&#34;pfvr-btn pfvr-auto-btn&#34; aria-label=&#34;Activer/désactiver la rotation automatique&#34; title=&#34;Rotation automatique&#34;&gt;&#xA;&lt;span class=&#34;pfvr-icon pfvr-icon-auto&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&#xA;&lt;/button&gt;&#xA;&lt;button type=&#34;button&#34; class=&#34;pfvr-btn pfvr-fs-btn&#34; aria-label=&#34;Plein écran&#34; title=&#34;Plein écran&#34;&gt;&#xA;&lt;span class=&#34;pfvr-icon pfvr-icon-fs&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&#xA;&lt;/button&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;pfvr-info&#34;&gt;&#xA;&lt;div class=&#34;pfvr-scene-title&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;pfvr-scene-desc&#34;&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;button type=&#34;button&#34; class=&#34;pfvr-btn pfvr-nav pfvr-nav-prev pfvr-ui&#34; aria-label=&#34;Précédent&#34;&gt;&#xA;&lt;span class=&#34;pfvr-icon pfvr-icon-prev&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&#xA;&lt;/button&gt;&#xA;&lt;button type=&#34;button&#34; class=&#34;pfvr-btn pfvr-nav pfvr-nav-next pfvr-ui&#34; aria-label=&#34;Suivant&#34;&gt;&#xA;&lt;span class=&#34;pfvr-icon pfvr-icon-next&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&#xA;&lt;/button&gt;&#xA;&lt;div class=&#34;pfvr-thumbs pfvr-ui&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;pfvr-loader&#34; aria-hidden=&#34;true&#34;&gt;&#xA;&lt;span class=&#34;pfvr-spinner&#34;&gt;&lt;/span&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;script type=&#34;application/json&#34; class=&#34;pfvr-data&#34;&gt;[{&#34;id&#34;:&#34;scene-1790645683076-1&#34;,&#34;title&#34;:&#34;Couloir du bloc opératoire&#34;,&#34;description&#34;:&#34;Le couloir du bloc opératoire est équipé de portes hermétiques médicales, de lavabos en acier inoxydable 304 et d&#39;autres installations auxiliaires.&#34;,&#34;image&#34;:&#34;/wp-content/uploads/2026/09/Wuhan-Fifth-Hospital_OR-Corridor_4K_4096x2048-scaled.jpg&#34;,&#34;thumb&#34;:&#34;/wp-content/uploads/2026/09/cropped-Wuhan-Fifth-Hospital_OR-Corridor_4K_4096x2048-scaled-1.jpg&#34;},{&#34;id&#34;:&#34;scene-1790645700912-2&#34;,&#34;title&#34;:&#34;Salle d&#39;opération 1&#34;,&#34;description&#34;:&#34;Projet clé en main de salle d&#39;opération modulaire de classe 100, comprenant des armoires à instruments, des armoires d&#39;anesthésie, des réfrigérateurs encastrés, des plafonds à flux laminaire, des diffuseurs d&#39;air HEPA, des panneaux de contrôle de la température et de l&#39;humidité, des prises de gaz médicaux, des panneaux de prises électriques, etc. Panneaux muraux à angles arrondis, faciles à nettoyer, sans angles morts sanitaires.&#34;,&#34;image&#34;:&#34;/wp-content/uploads/2026/09/Wuhan-Fifth-Hospital_OR-2_4K_4096x2048-scaled.jpg&#34;,&#34;thumb&#34;:&#34;/wp-content/uploads/2026/09/cropped-Wuhan-Fifth-Hospital_OR-2_4K_4096x2048-scaled-1.jpg&#34;},{&#34;id&#34;:&#34;scene-1790645733838-3&#34;,&#34;title&#34;:&#34;Salle d&#39;opération 2&#34;,&#34;description&#34;:&#34;Il s&#39;agit d&#39;un projet clé en main de salle d&#39;opération modulaire de classe ISO 5, équipée d&#39;armoires à instruments, d&#39;armoires d&#39;anesthésie et de réfrigérateurs encastrés. Elle comprend également des plafonds à flux laminaire, des diffuseurs d&#39;air HEPA, des panneaux de contrôle de la température \u0026amp; de l&#39;humidité, des prises de gaz médicaux, des panneaux de prises électriques, des négatoscopes, des panneaux lumineux hermétiques et des chariots de salle d&#39;opération. Des panneaux muraux à angles arrondis sont adoptés pour faciliter le nettoyage et éliminer les angles morts sanitaires.&#34;,&#34;image&#34;:&#34;/wp-content/uploads/2026/09/Wuhan-Fifth-Hospital_OR-1_4K_4096x2048-scaled.jpg&#34;,&#34;thumb&#34;:&#34;/wp-content/uploads/2026/09/cropped-Wuhan-Fifth-Hospital_OR-1_4K_4096x2048-scaled-1.jpg&#34;}]&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&lt;script&gt;/**&#xA;* Logique front-end pour les visionneuses PlayForge VR.&#xA;*&#xA;* Lit le JSON des scènes généré par le shortcode, construit le menu déroulant des titres,&#xA;* la bande de vignettes et le panneau d&#39;information, et remplace la texture du &lt;a-sky&gt; lors du changement.&#xA;*/&#xA;( function () {&#xA;&#39;use strict&#39;;&#xA;/**&#xA;* Composant A-Frame : rotation lente en lacet de la plateforme caméra.&#xA;*&#xA;* Se met en pause pendant que le visiteur fait glisser/regarde autour de lui et reprend après un délai&#xA;* d&#39;inactivité, afin de ne jamais entrer en conflit avec les contrôles de la visionneuse.&#xA;*/&#xA;function registerAutoComponent() {&#xA;if ( ! window.AFRAME || window.AFRAME.components[ &#39;pfvr-auto&#39; ] ) {&#xA;return;&#xA;}&#xA;window.AFRAME.registerComponent( &#39;pfvr-auto&#39;, {&#xA;schema: {&#xA;speed: { default: 0.06 }, // radians par seconde.&#xA;enabled: { default: true }&#xA;},&#xA;init: function () {&#xA;this.userPaused = false;&#xA;this.tempPaused = false;&#xA;this.resumeTimer = null;&#xA;var self = this;&#xA;var pauseTemporarily = function () {&#xA;self.tempPaused = true;&#xA;window.clearTimeout( self.resumeTimer );&#xA;self.resumeTimer = window.setTimeout( function () {&#xA;self.tempPaused = false;&#xA;}, 4000 );&#xA;};&#xA;// Le canvas reçoit les événements pointeur/tactile utilisés par look-controls.&#xA;var bind = function () {&#xA;var canvas = self.el.sceneEl.canvas;&#xA;if ( ! canvas ) {&#xA;return;&#xA;}&#xA;canvas.addEventListener( &#39;pointerdown&#39;, pauseTemporarily );&#xA;canvas.addEventListener( &#39;wheel&#39;, pauseTemporarily, { passive: true } );&#xA;canvas.addEventListener( &#39;touchstart&#39;, pauseTemporarily, { passive: true } );&#xA;};&#xA;if ( this.el.sceneEl.canvas ) {&#xA;bind();&#xA;} else {&#xA;this.el.sceneEl.addEventListener( &#39;rendertargetchanged&#39;, bind );&#xA;window.setTimeout( bind, 500 );&#xA;}&#xA;},&#xA;setEnabled: function ( enabled ) {&#xA;this.userPaused = ! enabled;&#xA;},&#xA;tick: function ( _time, delta ) {&#xA;if (&#xA;! this.data.enabled ||&#xA;this.userPaused ||&#xA;this.tempPaused ||&#xA;document.hidden&#xA;) {&#xA;return;&#xA;}&#xA;this.el.object3D.rotation.y += ( delta / 1000 ) * this.data.speed;&#xA;}&#xA;} );&#xA;}&#xA;/** Crée un span d&#39;icône avec une classe (le contenu vient du CSS). */&#xA;function icon( className ) {&#xA;var span = document.createElement( &#39;span&#39; );&#xA;span.className = &#39;pfvr-icon &#39; + className;&#xA;span.setAttribute( &#39;aria-hidden&#39;, &#39;true&#39; );&#xA;return span;&#xA;}&#xA;/**&#xA;* Initialise un élément visionneuse.&#xA;*&#xA;* @param {HTMLElement} viewer Élément racine .pfvr-viewer.&#xA;*/&#xA;function initViewer( viewer ) {&#xA;var dataEl = viewer.querySelector( &#39;.pfvr-data&#39; );&#xA;var scenes;&#xA;try {&#xA;scenes = JSON.parse( dataEl.textContent || &#39;{}&#39; );&#xA;} catch ( e ) {&#xA;scenes = [];&#xA;}&#xA;if ( ! Array.isArray( scenes ) || ! scenes.length ) {&#xA;return;&#xA;}&#xA;var sky = viewer.querySelector( &#39;[data-role=&#34;sky&#34;]&#39; );&#xA;var rig = viewer.querySelector( &#39;[data-role=&#34;rig&#34;]&#39; );&#xA;var select = viewer.querySelector( &#39;.pfvr-select&#39; );&#xA;var thumbs = viewer.querySelector( &#39;.pfvr-thumbs&#39; );&#xA;var infoTitle = viewer.querySelector( &#39;.pfvr-scene-title&#39; );&#xA;var infoDesc = viewer.querySelector( &#39;.pfvr-scene-desc&#39; );&#xA;var infoBox = viewer.querySelector( &#39;.pfvr-info&#39; );&#xA;var loader = viewer.querySelector( &#39;.pfvr-loader&#39; );&#xA;var autoBtn = viewer.querySelector( &#39;.pfvr-auto-btn&#39; );&#xA;var fsBtn = viewer.querySelector( &#39;.pfvr-fs-btn&#39; );&#xA;var prevBtn = viewer.querySelector( &#39;.pfvr-nav-prev&#39; );&#xA;var nextBtn = viewer.querySelector( &#39;.pfvr-nav-next&#39; );&#xA;var current = Math.min(&#xA;parseInt( viewer.getAttribute( &#39;data-scene&#39; ), 10 ) || 0,&#xA;scenes.length - 1&#xA;);&#xA;var autoEnabled = viewer.getAttribute( &#39;data-autoplay&#39; ) === &#39;1&#39;;&#xA;var preloadAll = viewer.getAttribute( &#39;data-preload&#39; ) === &#39;all&#39;;&#xA;var assetsBox = viewer.querySelector( &#39;a-assets&#39; );&#xA;var loadFallbackTimer = null;&#xA;// Construit le menu déroulant &lt;select&gt; des titres.&#xA;scenes.forEach( function ( scene, i ) {&#xA;var option = document.createElement( &#39;option&#39; );&#xA;option.value = String( i );&#xA;option.textContent = scene.title || &#39;Scène &#39; + ( i + 1 );&#xA;select.appendChild( option );&#xA;} );&#xA;// Construit la bande de vignettes.&#xA;var thumbButtons = [];&#xA;scenes.forEach( function ( scene, i ) {&#xA;var button = document.createElement( &#39;button&#39; );&#xA;button.type = &#39;button&#39;;&#xA;button.className = &#39;pfvr-thumb&#39;;&#xA;button.setAttribute( &#39;aria-label&#39;, scene.title || &#39;Scène &#39; + ( i + 1 ) );&#xA;var img = document.createElement( &#39;img&#39; );&#xA;img.src = scene.thumb || &#39;&#39;;&#xA;img.alt = &#39;&#39;;&#xA;img.addEventListener( &#39;error&#39;, function () {&#xA;img.style.display = &#39;none&#39;;&#xA;} );&#xA;var label = document.createElement( &#39;span&#39; );&#xA;label.className = &#39;pfvr-thumb-label&#39;;&#xA;label.textContent = scene.title || &#39;Scène &#39; + ( i + 1 );&#xA;button.appendChild( img );&#xA;button.appendChild( label );&#xA;button.addEventListener( &#39;click&#39;, function () {&#xA;goTo( i );&#xA;} );&#xA;thumbs.appendChild( button );&#xA;thumbButtons.push( button );&#xA;} );&#xA;/**&#xA;* S&#39;assure que la scène i existe sous forme d&#39;&lt;img&gt; dans &lt;a-assets&gt;, en la créant&#xA;* si nécessaire. A-Frame la charge ensuite et met en cache la texture GPU, de sorte&#xA;* que l&#39;appliquer au ciel soit instantané une fois chargée.&#xA;*&#xA;* @param {number} i Index de la scène.&#xA;*/&#xA;function ensureAsset( i ) {&#xA;if ( ! assetsBox || ! scenes[ i ] ) {&#xA;return;&#xA;}&#xA;var id = &#39;pfvr-a-&#39; + i;&#xA;if ( document.getElementById( id ) ) {&#xA;return;&#xA;}&#xA;var img = document.createElement( &#39;img&#39; );&#xA;img.id = id;&#xA;img.alt = &#39;&#39;;&#xA;img.src = scenes[ i ].image;&#xA;assetsBox.appendChild( img );&#xA;}&#xA;/** Précharge une scène comme asset A-Frame (préchauffe le réseau + le cache GPU). */&#xA;function preload( i ) {&#xA;ensureAsset( i );&#xA;}&#xA;/** Masque le spinner de chargement une fois la nouvelle texture appliquée au ciel. */&#xA;function hideLoader() {&#xA;window.clearTimeout( loadFallbackTimer );&#xA;viewer.classList.remove( &#39;pfvr-loading&#39; );&#xA;if ( loader ) {&#xA;loader.style.display = &#39;none&#39;;&#xA;}&#xA;}&#xA;/**&#xA;* Bascule vers une scène par son index.&#xA;*&#xA;* @param {number} i Index cible.&#xA;*/&#xA;function goTo( i ) {&#xA;if ( i === current || i &lt; 0 || i &gt;= scenes.length ) {&#xA;return;&#xA;}&#xA;current = i;&#xA;viewer.classList.add( &#39;pfvr-loading&#39; );&#xA;if ( loader ) {&#xA;loader.style.display = &#39;&#39;;&#xA;}&#xA;var settled = false;&#xA;var finish = function () {&#xA;if ( settled ) {&#xA;return;&#xA;}&#xA;settled = true;&#xA;hideLoader();&#xA;sky.removeEventListener( &#39;materialtextureloaded&#39;, finish );&#xA;sky.removeEventListener( &#39;materialtextureerror&#39;, finish );&#xA;};&#xA;// Filet de sécurité : ne jamais laisser le spinner bloqué si aucun événement ne se déclenche.&#xA;window.clearTimeout( loadFallbackTimer );&#xA;loadFallbackTimer = window.setTimeout( finish, 9000 );&#xA;sky.addEventListener( &#39;materialtextureloaded&#39;, finish );&#xA;sky.addEventListener( &#39;materialtextureerror&#39;, finish );&#xA;// S&#39;assure que l&#39;image cible est dans &lt;a-assets&gt;, puis y fait référence&#xA;// par ID afin que le cache de textures d&#39;A-Frame soit réutilisé.&#xA;ensureAsset( i );&#xA;sky.setAttribute( &#39;src&#39;, &#39;#pfvr-a-&#39; + i );&#xA;// Lorsque l&#39;image cible est déjà chargée, A-Frame peut&#xA;// résoudre le matériau de manière synchrone sans émettre d&#39;événement ;&#xA;// masquer le spinner à la frame suivante dans ce cas.&#xA;var targetImg = document.getElementById( &#39;pfvr-a-&#39; + i );&#xA;if ( targetImg &amp;&amp; targetImg.complete &amp;&amp; targetImg.naturalWidth ) {&#xA;window.requestAnimationFrame( function () {&#xA;window.requestAnimationFrame( finish );&#xA;} );&#xA;}&#xA;updateUI();&#xA;preload( ( i + 1 ) % scenes.length );&#xA;preload( ( i - 1 + scenes.length ) % scenes.length );&#xA;}&#xA;/** Met à jour les états actifs du titre/description/select/vignette. */&#xA;function updateUI() {&#xA;var scene = scenes[ current ];&#xA;select.value = String( current );&#xA;infoTitle.textContent = scene.title || &#39;&#39;;&#xA;if ( scene.description &amp;&amp; scene.description.trim() ) {&#xA;infoDesc.innerHTML = scene.description;&#xA;infoBox.hidden = false;&#xA;} else {&#xA;infoDesc.innerHTML = &#39;&#39;;&#xA;infoBox.hidden = ! scene.title;&#xA;}&#xA;thumbButtons.forEach( function ( button, i ) {&#xA;button.classList.toggle( &#39;is-active&#39;, i === current );&#xA;} );&#xA;// Garde la vignette active visible dans la bande défilante.&#xA;var active = thumbButtons[ current ];&#xA;if ( active &amp;&amp; active.scrollIntoView ) {&#xA;active.scrollIntoView( { behavior: &#39;smooth&#39;, inline: &#39;center&#39;, block: &#39;nearest&#39; } );&#xA;}&#xA;}&#xA;// --- Événements UI -----------------------------------------------------&#xA;select.addEventListener( &#39;change&#39;, function () {&#xA;goTo( parseInt( select.value, 10 ) );&#xA;} );&#xA;prevBtn.addEventListener( &#39;click&#39;, function () {&#xA;goTo( ( current - 1 + scenes.length ) % scenes.length );&#xA;} );&#xA;nextBtn.addEventListener( &#39;click&#39;, function () {&#xA;goTo( ( current + 1 ) % scenes.length );&#xA;} );&#xA;autoBtn.addEventListener( &#39;click&#39;, function () {&#xA;autoEnabled = ! autoEnabled;&#xA;setAutoButtonState();&#xA;if ( rig.components &amp;&amp; rig.components[ &#39;pfvr-auto&#39; ] ) {&#xA;rig.components[ &#39;pfvr-auto&#39; ].setEnabled( autoEnabled );&#xA;}&#xA;rig.setAttribute( &#39;pfvr-auto&#39;, &#39;enabled&#39;, autoEnabled ? &#39;true&#39; : &#39;false&#39; );&#xA;} );&#xA;function setAutoButtonState() {&#xA;autoBtn.classList.toggle( &#39;is-off&#39;, ! autoEnabled );&#xA;autoBtn.setAttribute( &#39;aria-pressed&#39;, autoEnabled ? &#39;true&#39; : &#39;false&#39; );&#xA;}&#xA;// Plein écran.&#xA;fsBtn.addEventListener( &#39;click&#39;, function () {&#xA;if ( document.fullscreenElement ) {&#xA;document.exitFullscreen();&#xA;} else if ( viewer.requestFullscreen ) {&#xA;viewer.requestFullscreen();&#xA;} else if ( viewer.webkitRequestFullscreen ) {&#xA;viewer.webkitRequestFullscreen();&#xA;}&#xA;} );&#xA;document.addEventListener( &#39;fullscreenchange&#39;, function () {&#xA;fsBtn.classList.toggle( &#39;is-fullscreen&#39;, !! document.fullscreenElement );&#xA;} );&#xA;// Clavier : agir uniquement lorsque cette visionneuse a le focus ou est en plein écran.&#xA;viewer.addEventListener( &#39;keydown&#39;, function ( event ) {&#xA;if (&#xA;document.fullscreenElement !== viewer &amp;&amp;&#xA;! viewer.contains( document.activeElement )&#xA;) {&#xA;return;&#xA;}&#xA;if ( event.key === &#39;ArrowRight&#39; ) {&#xA;event.preventDefault();&#xA;goTo( ( current + 1 ) % scenes.length );&#xA;} else if ( event.key === &#39;ArrowLeft&#39; ) {&#xA;event.preventDefault();&#xA;goTo( ( current - 1 + scenes.length ) % scenes.length );&#xA;}&#xA;} );&#xA;// Les galeries à une seule scène n&#39;ont pas besoin d&#39;éléments de navigation.&#xA;if ( scenes.length === 1 ) {&#xA;prevBtn.style.display = &#39;none&#39;;&#xA;nextBtn.style.display = &#39;none&#39;;&#xA;thumbs.style.display = &#39;none&#39;;&#xA;select.style.display = &#39;none&#39;;&#xA;}&#xA;// --- État initial -------------------------------------------------&#xA;setAutoButtonState();&#xA;updateUI();&#xA;// Le mode « all » a déjà livré chaque image dans &lt;a-assets&gt; ; en mode « adjacent »,&#xA;// précharger les deux voisins de la scène initiale.&#xA;if ( ! preloadAll ) {&#xA;preload( ( current + 1 ) % scenes.length );&#xA;preload( ( current - 1 + scenes.length ) % scenes.length );&#xA;}&#xA;// Masquer le spinner une fois la première texture chargée.&#xA;var onInitialLoaded = function () {&#xA;hideLoader();&#xA;sky.removeEventListener( &#39;materialtextureloaded&#39;, onInitialLoaded );&#xA;sky.removeEventListener( &#39;materialtextureerror&#39;, onInitialError );&#xA;};&#xA;var onInitialError = function () {&#xA;hideLoader();&#xA;sky.removeEventListener( &#39;materialtextureloaded&#39;, onInitialLoaded );&#xA;sky.removeEventListener( &#39;materialtextureerror&#39;, onInitialError );&#xA;};&#xA;sky.addEventListener( &#39;materialtextureloaded&#39;, onInitialLoaded );&#xA;sky.addEventListener( &#39;materialtextureerror&#39;, onInitialError );&#xA;window.setTimeout( hideLoader, 9000 );&#xA;}&#xA;function boot() {&#xA;registerAutoComponent();&#xA;document.querySelectorAll( &#39;.pfvr-viewer&#39; ).forEach( initViewer );&#xA;}&#xA;if ( document.readyState === &#39;loading&#39; ) {&#xA;document.addEventListener( &#39;DOMContentLoaded&#39;, boot );&#xA;} else {&#xA;boot();&#xA;}&#xA;} )();&#xA;&lt;/script&gt;</description>
			</item>
			<item>
				<title>Solutions</title>
				<link>https://pengchi.net/fr/solutions/</link>
				<pubDate>Wed, 30 Sep 2026 03:43:37 +0000</pubDate>
				<guid>https://pengchi.net/fr/solutions/</guid>
				<description>&lt;section class=&#34;text-white&#34; style=&#34;width: 100vw;max-width: 100vw;margin-left: calc(50% - 50vw);background: linear-gradient(rgba(9, 33, 43, 0.78), rgba(9, 33, 43, 0.86)), url(&#39;/wp-content/uploads/2026/09/Factory-Aerial-View-scaled.jpg&#39;) center center / cover no-repeat&#34;&gt;&#xA;&lt;div class=&#34;container py-5&#34;&gt;&#xA;&lt;div class=&#34;row justify-content-center text-center&#34;&gt;&#xA;&lt;div class=&#34;col-lg-10&#34;&gt;&#xA;&lt;p&gt;&lt;span class=&#34;badge rounded-pill text-bg-light text-success text-uppercase px-3 py-2 mb-3&#34;&gt;Solution médicale tout-en-un&lt;/span&gt;&lt;/p&gt;&#xA;&lt;h1 class=&#34;fw-bold lh-sm mb-3&#34; style=&#34;font-size: clamp(1.9rem, 4vw, 3.1rem)&#34;&gt;Portes médicales, blocs opératoires modulaires et mobilier hospitalier pour les projets de santé&lt;/h1&gt;&#xA;&lt;p class=&#34;lead text-white-50 mb-4 mx-auto&#34; style=&#34;max-width: 820px&#34;&gt;Pengchi accompagne les hôpitaux, cliniques et laboratoires, de la planification des espaces et de la configuration par département jusqu&#39;à la fabrication directe en usine, la livraison et l&#39;installation — une seule équipe, une documentation complète.&lt;/p&gt;</description>
			</item>
			<item>
				<title>merci</title>
				<link>https://pengchi.net/fr/thank-you/</link>
				<pubDate>Tue, 22 Sep 2026 08:55:56 +0000</pubDate>
				<guid>https://pengchi.net/fr/thank-you/</guid>
				<description>&lt;h1&gt;Merci pour votre message.&lt;/h1&gt;&#xA;Nous répondrons dès que possible.&#xA;&lt;p&gt;N&amp;rsquo;hésitez pas à nous contacter par email &lt;a href=&#34;mailto:pengchi@pengchihealth.com&#34;&gt;&lt;a href=&#34;mailto:pengchi@pengchihealth.com&#34;&gt;pengchi@pengchihealth.com&lt;/a&gt;&lt;/a&gt; ou par mobile au +86-18025283503.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Spectacle d&#39;usine</title>
				<link>https://pengchi.net/fr/factory-show/</link>
				<pubDate>Tue, 22 Sep 2026 06:41:23 +0000</pubDate>
				<guid>https://pengchi.net/fr/factory-show/</guid>
				<description>&lt;style id=&#34;pfvr-styles&#34;&gt;/**&#xA;* Styles front-end pour les visionneuses PlayForge VR.&#xA;*&#xA;* La visionneuse est une superposition sombre de style verre au-dessus du canevas A-Frame.&#xA;* La superposition elle-même laisse passer les clics ; l&#39;habillage interactif se réactive via&#xA;* les pointer-events de .pfvr-ui / button.&#xA;*/&#xA;.pfvr-viewer {&#xA;position: relative;&#xA;width: 100%;&#xA;height: var(--pfvr-height, 100vh);&#xA;background: #05070a;&#xA;border-radius: 10px;&#xA;overflow: hidden;&#xA;outline: none;&#xA;font-family: -apple-system, BlinkMacSystemFont, &#34;Segoe UI&#34;, Roboto,&#xA;&#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei&#34;, sans-serif;&#xA;color: #fff;&#xA;}&#xA;.pfvr-viewer:focus-visible {&#xA;box-shadow: 0 0 0 3px rgba(66, 165, 245, 0.55);&#xA;}&#xA;/* A-Frame remplit le conteneur (embedded supprime sa min-height par défaut). */&#xA;.pfvr-viewer .a-embedded,&#xA;.pfvr-viewer a-scene {&#xA;position: absolute;&#xA;inset: 0;&#xA;width: 100% !important;&#xA;height: 100% !important;&#xA;min-height: 0 !important;&#xA;}&#xA;/* Superposition : transparente aux clics par défaut pour que le glisser permette de regarder autour. */&#xA;.pfvr-overlay {&#xA;position: absolute;&#xA;inset: 0;&#xA;z-index: 10;&#xA;pointer-events: none;&#xA;}&#xA;.pfvr-ui,&#xA;.pfvr-overlay button,&#xA;.pfvr-overlay select {&#xA;pointer-events: auto;&#xA;}&#xA;/* ---------- Barre supérieure ---------- */&#xA;.pfvr-topbar {&#xA;position: absolute;&#xA;top: 0;&#xA;left: 0;&#xA;right: 0;&#xA;display: flex;&#xA;align-items: center;&#xA;gap: 10px;&#xA;padding: 10px 14px;&#xA;background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));&#xA;}&#xA;.pfvr-select {&#xA;flex: 1;&#xA;min-width: 0;&#xA;max-width: 360px;&#xA;padding: 7px 10px;&#xA;font-size: 13px;&#xA;color: #fff;&#xA;background: rgba(20, 26, 34, 0.72);&#xA;border: 1px solid rgba(255, 255, 255, 0.18);&#xA;border-radius: 8px;&#xA;cursor: pointer;&#xA;appearance: none;&#xA;-webkit-appearance: none;&#xA;background-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; width=&#39;12&#39; height=&#39;12&#39; viewBox=&#39;0 0 24 24&#39; fill=&#39;%23ffffff&#39;%3E%3Cpath d=&#39;M7 10l5 5 5-5z&#39;/%3E%3C/svg%3E&#34;);&#xA;background-repeat: no-repeat;&#xA;background-position: right 10px center;&#xA;padding-right: 30px;&#xA;}&#xA;.pfvr-select option {&#xA;color: #111;&#xA;}&#xA;.pfvr-top-actions {&#xA;margin-left: auto;&#xA;display: flex;&#xA;gap: 8px;&#xA;}&#xA;/* ---------- Boutons ---------- */&#xA;.pfvr-btn {&#xA;display: inline-flex;&#xA;align-items: center;&#xA;justify-content: center;&#xA;width: 38px;&#xA;height: 38px;&#xA;padding: 0;&#xA;border: 1px solid rgba(255, 255, 255, 0.2);&#xA;border-radius: 50%;&#xA;background: rgba(20, 26, 34, 0.66);&#xA;color: #fff;&#xA;cursor: pointer;&#xA;backdrop-filter: blur(6px);&#xA;-webkit-backdrop-filter: blur(6px);&#xA;transition: background 0.15s ease, transform 0.15s ease;&#xA;}&#xA;.pfvr-btn:hover {&#xA;background: rgba(48, 60, 75, 0.9);&#xA;}&#xA;.pfvr-btn:active {&#xA;transform: scale(0.94);&#xA;}&#xA;.pfvr-nav {&#xA;position: absolute;&#xA;top: 50%;&#xA;transform: translateY(-50%);&#xA;z-index: 12;&#xA;}&#xA;.pfvr-nav:active {&#xA;transform: translateY(-50%) scale(0.94);&#xA;}&#xA;.pfvr-nav-prev { left: 14px; }&#xA;.pfvr-nav-next { right: 14px; }&#xA;/* ---------- Icônes (masque pour qu&#39;elles héritent de currentColor) ---------- */&#xA;.pfvr-icon {&#xA;width: 20px;&#xA;height: 20px;&#xA;display: inline-block;&#xA;background-color: currentColor;&#xA;-webkit-mask-repeat: no-repeat;&#xA;mask-repeat: no-repeat;&#xA;-webkit-mask-position: center;&#xA;mask-position: center;&#xA;-webkit-mask-size: contain;&#xA;mask-size: contain;&#xA;}&#xA;.pfvr-icon-prev {&#xA;-webkit-mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z&#39;/%3E%3C/svg%3E&#34;);&#xA;mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z&#39;/%3E%3C/svg%3E&#34;);&#xA;}&#xA;.pfvr-icon-next {&#xA;-webkit-mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M8.6 7.4 10 6l6 6-6 6-1.4-1.4L13.2 12z&#39;/%3E%3C/svg%3E&#34;);&#xA;mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M8.6 7.4 10 6l6 6-6 6-1.4-1.4L13.2 12z&#39;/%3E%3C/svg%3E&#34;);&#xA;}&#xA;.pfvr-icon-fs {&#xA;width: 18px;&#xA;height: 18px;&#xA;-webkit-mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z&#39;/%3E%3C/svg%3E&#34;);&#xA;mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z&#39;/%3E%3C/svg%3E&#34;);&#xA;}&#xA;.pfvr-icon-auto {&#xA;width: 19px;&#xA;height: 19px;&#xA;-webkit-mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M17.65 6.35A8 8 0 1 0 19.73 14h-2.08A6 6 0 1 1 12 6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z&#39;/%3E%3C/svg%3E&#34;);&#xA;mask-image: url(&#34;data:image/svg+xml,%3Csvg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 24 24&#39;%3E%3Cpath d=&#39;M17.65 6.35A8 8 0 1 0 19.73 14h-2.08A6 6 0 1 1 12 6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z&#39;/%3E%3C/svg%3E&#34;);&#xA;}&#xA;.pfvr-auto-btn.is-off {&#xA;opacity: 0.45;&#xA;}&#xA;.pfvr-fs-btn.is-fullscreen .pfvr-icon-fs {&#xA;opacity: 0.7;&#xA;}&#xA;/* ---------- Panneau d&#39;informations ---------- */&#xA;.pfvr-info {&#xA;position: absolute;&#xA;left: 14px;&#xA;bottom: 116px;&#xA;max-width: min(440px, calc(100% - 28px));&#xA;padding: 12px 16px;&#xA;background: rgba(10, 14, 20, 0.62);&#xA;border: 1px solid rgba(255, 255, 255, 0.1);&#xA;border-radius: 10px;&#xA;backdrop-filter: blur(8px);&#xA;-webkit-backdrop-filter: blur(8px);&#xA;}&#xA;.pfvr-info[hidden] {&#xA;display: none;&#xA;}&#xA;.pfvr-scene-title {&#xA;font-size: 16px;&#xA;font-weight: 700;&#xA;line-height: 1.35;&#xA;margin-bottom: 4px;&#xA;}&#xA;.pfvr-scene-desc {&#xA;font-size: 13px;&#xA;line-height: 1.6;&#xA;color: rgba(255, 255, 255, 0.85);&#xA;word-break: break-word;&#xA;}&#xA;.pfvr-scene-desc p {&#xA;margin: 0 0 6px;&#xA;}&#xA;.pfvr-scene-desc p:last-child {&#xA;margin-bottom: 0;&#xA;}&#xA;/* ---------- Bande de vignettes ---------- */&#xA;.pfvr-thumbs {&#xA;position: absolute;&#xA;left: 0;&#xA;right: 0;&#xA;bottom: 0;&#xA;display: flex;&#xA;gap: 10px;&#xA;padding: 10px 76px 12px 14px; /* l&#39;espace à droite laisse de la place pour le bouton VR d&#39;A-Frame */&#xA;overflow-x: auto;&#xA;scrollbar-width: thin;&#xA;scrollbar-color: rgba(255, 255, 255, 0.35) transparent;&#xA;background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));&#xA;}&#xA;.pfvr-thumbs::-webkit-scrollbar {&#xA;height: 6px;&#xA;}&#xA;.pfvr-thumbs::-webkit-scrollbar-thumb {&#xA;background: rgba(255, 255, 255, 0.3);&#xA;border-radius: 3px;&#xA;}&#xA;.pfvr-thumb {&#xA;flex: 0 0 auto;&#xA;width: 108px;&#xA;padding: 0;&#xA;border: 2px solid transparent;&#xA;border-radius: 8px;&#xA;overflow: hidden;&#xA;background: rgba(255, 255, 255, 0.08);&#xA;cursor: pointer;&#xA;text-align: left;&#xA;transition: border-color 0.15s ease, transform 0.15s ease;&#xA;}&#xA;.pfvr-thumb:hover {&#xA;transform: translateY(-2px);&#xA;}&#xA;.pfvr-thumb img {&#xA;display: block;&#xA;width: 108px;&#xA;height: 64px;&#xA;object-fit: cover;&#xA;}&#xA;.pfvr-thumb-label {&#xA;display: block;&#xA;padding: 4px 6px;&#xA;font-size: 11px;&#xA;line-height: 1.3;&#xA;color: rgba(255, 255, 255, 0.88);&#xA;white-space: nowrap;&#xA;overflow: hidden;&#xA;text-overflow: ellipsis;&#xA;}&#xA;.pfvr-thumb.is-active {&#xA;border-color: #42a5f5;&#xA;box-shadow: 0 0 0 1px rgba(66, 165, 245, 0.6);&#xA;}&#xA;.pfvr-thumb.is-active .pfvr-thumb-label {&#xA;color: #90caf9;&#xA;}&#xA;/* ---------- Indicateur de chargement ---------- */&#xA;.pfvr-loader {&#xA;position: absolute;&#xA;inset: 0;&#xA;display: flex;&#xA;align-items: center;&#xA;justify-content: center;&#xA;pointer-events: none;&#xA;}&#xA;.pfvr-spinner {&#xA;width: 42px;&#xA;height: 42px;&#xA;border: 3px solid rgba(255, 255, 255, 0.2);&#xA;border-top-color: #42a5f5;&#xA;border-radius: 50%;&#xA;animation: pfvr-spin 0.9s linear infinite;&#xA;}&#xA;@keyframes pfvr-spin {&#xA;to {&#xA;transform: rotate(360deg);&#xA;}&#xA;}&#xA;.pfvr-viewer:not(.pfvr-loading) .pfvr-loader {&#xA;display: none;&#xA;}&#xA;/* ---------- Plein écran ---------- */&#xA;.pfvr-viewer:fullscreen,&#xA;.pfvr-viewer:-webkit-full-screen {&#xA;height: 100%;&#xA;border-radius: 0;&#xA;}&#xA;.pfvr-viewer:fullscreen .pfvr-info {&#xA;bottom: 120px;&#xA;}&#xA;/* ---------- Petits écrans ---------- */&#xA;@media (max-width: 600px) {&#xA;.pfvr-viewer {&#xA;border-radius: 6px;&#xA;}&#xA;.pfvr-info {&#xA;left: 8px;&#xA;right: 8px;&#xA;bottom: 108px;&#xA;max-width: none;&#xA;padding: 10px 12px;&#xA;}&#xA;.pfvr-scene-title {&#xA;font-size: 14px;&#xA;}&#xA;.pfvr-scene-desc {&#xA;font-size: 12px;&#xA;}&#xA;.pfvr-nav {&#xA;width: 34px;&#xA;height: 34px;&#xA;}&#xA;.pfvr-nav-prev { left: 6px; }&#xA;.pfvr-nav-next { right: 6px; }&#xA;.pfvr-thumb {&#xA;width: 92px;&#xA;}&#xA;.pfvr-thumb img {&#xA;width: 92px;&#xA;height: 56px;&#xA;}&#xA;.pfvr-topbar {&#xA;padding: 8px 10px;&#xA;}&#xA;}&#xA;/* Avertissement côté éditeur pour les shortcodes mal configurés. */&#xA;.pfvr-notice {&#xA;padding: 12px 16px;&#xA;background: #fcf0f1;&#xA;border-left: 4px solid #d63638;&#xA;color: #3c434a;&#xA;}&#xA;&lt;/style&gt;&#xA;&lt;script src=&#34;https://pengchi.net/wp-content/plugins/playforge-vr/assets/vendor/aframe.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;div&#xA;id=&#34;pfvr-viewer-494-2&#34;&#xA;class=&#34;pfvr-viewer pfvr-loading&#34;&#xA;style=&#34;--pfvr-height: 100vh;&#34;&#xA;data-scene=&#34;0&#34;&#xA;data-autoplay=&#34;1&#34;&#xA;data-preload=&#34;all&#34;&#xA;tabindex=&#34;0&#34;&#xA;&gt;&#xA;&lt;a-scene&#xA;embedded&#xA;loading-screen=&#34;enabled: false&#34;&#xA;vr-mode-ui=&#34;enabled: true&#34;&#xA;renderer=&#34;colorManagement: true; antialias: true&#34;&#xA;&gt;&#xA;&lt;a-assets timeout=&#34;30000&#34;&gt;&#xA;&lt;img&#xA;id=&#34;pfvr-a-0&#34;&#xA;src=&#34;https://pengchi.net/wp-content/uploads/2026/09/Factory-Aerial-View-scaled.jpg&#34;&#xA;alt=&#34;&#34;&#xA;&gt;&#xA;&lt;img&#xA;id=&#34;pfvr-a-1&#34;&#xA;src=&#34;https://pengchi.net/wp-content/uploads/2026/09/Sheet-Metal-Processing-Workshop-scaled.jpg&#34;&#xA;alt=&#34;&#34;&#xA;&gt;&#xA;&lt;img&#xA;id=&#34;pfvr-a-2&#34;&#xA;src=&#34;https://pengchi.net/wp-content/uploads/2026/09/Panel-Board-Production-Workshop-scaled.jpg&#34;&#xA;alt=&#34;&#34;&#xA;&gt;&#xA;&lt;img&#xA;id=&#34;pfvr-a-3&#34;&#xA;src=&#34;https://pengchi.net/wp-content/uploads/2026/09/Medical-Cabinet-Assembly-Workshop-scaled.jpg&#34;&#xA;alt=&#34;&#34;&#xA;&gt;&#xA;&lt;img&#xA;id=&#34;pfvr-a-4&#34;&#xA;src=&#34;https://pengchi.net/wp-content/uploads/2026/09/Medical-Equipment-Showroom-scaled.jpg&#34;&#xA;alt=&#34;&#34;&#xA;&gt;&#xA;&lt;img&#xA;id=&#34;pfvr-a-5&#34;&#xA;src=&#34;https://pengchi.net/wp-content/uploads/2026/09/Open-Office-Area-scaled.jpg&#34;&#xA;alt=&#34;&#34;&#xA;&gt;&#xA;&lt;/a-assets&gt;&#xA;&lt;a-sky data-role=&#34;sky&#34; src=&#34;#pfvr-a-0&#34;&gt;&lt;/a-sky&gt;&#xA;&lt;a-entity data-role=&#34;rig&#34; pfvr-auto=&#34;speed: 0.06; enabled: true&#34;&gt;&#xA;&lt;a-entity camera look-controls=&#34;reverseMouseDrag: true&#34; fov=&#34;80&#34;&gt;&lt;/a-entity&gt;&#xA;&lt;/a-entity&gt;&#xA;&lt;/a-scene&gt;&#xA;&lt;div class=&#34;pfvr-overlay&#34;&gt;&#xA;&lt;div class=&#34;pfvr-topbar pfvr-ui&#34;&gt;&#xA;&lt;select class=&#34;pfvr-select&#34; aria-label=&#34;Changer de scène par titre&#34;&gt;&lt;/select&gt;&#xA;&lt;div class=&#34;pfvr-top-actions&#34;&gt;&#xA;&lt;button type=&#34;button&#34; class=&#34;pfvr-btn pfvr-auto-btn&#34; aria-label=&#34;Interrupteur de rotation automatique&#34; title=&#34;Rotation automatique&#34;&gt;&#xA;&lt;span class=&#34;pfvr-icon pfvr-icon-auto&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&#xA;&lt;/button&gt;&#xA;&lt;button type=&#34;button&#34; class=&#34;pfvr-btn pfvr-fs-btn&#34; aria-label=&#34;Plein écran&#34; title=&#34;Plein écran&#34;&gt;&#xA;&lt;span class=&#34;pfvr-icon pfvr-icon-fs&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&#xA;&lt;/button&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;pfvr-info&#34;&gt;&#xA;&lt;div class=&#34;pfvr-scene-title&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;pfvr-scene-desc&#34;&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;button type=&#34;button&#34; class=&#34;pfvr-btn pfvr-nav pfvr-nav-prev pfvr-ui&#34; aria-label=&#34;Précédent&#34;&gt;&#xA;&lt;span class=&#34;pfvr-icon pfvr-icon-prev&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&#xA;&lt;/button&gt;&#xA;&lt;button type=&#34;button&#34; class=&#34;pfvr-btn pfvr-nav pfvr-nav-next pfvr-ui&#34; aria-label=&#34;Suivant&#34;&gt;&#xA;&lt;span class=&#34;pfvr-icon pfvr-icon-next&#34; aria-hidden=&#34;true&#34;&gt;&lt;/span&gt;&#xA;&lt;/button&gt;&#xA;&lt;div class=&#34;pfvr-thumbs pfvr-ui&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;pfvr-loader&#34; aria-hidden=&#34;true&#34;&gt;&#xA;&lt;span class=&#34;pfvr-spinner&#34;&gt;&lt;/span&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;script type=&#34;application/json&#34; class=&#34;pfvr-data&#34;&gt;[{&#34;id&#34;:&#34;scene-1790058861688-1&#34;,&#34;title&#34;:&#34;Vue aérienne de l&#39;usine&#34;,&#34;description&#34;:&#34;Parc industriel technologique intelligent Pengchi&#34;,&#34;image&#34;:&#34;/wp-content/uploads/2026/09/Factory-Aerial-View-scaled.jpg&#34;,&#34;thumb&#34;:&#34;/wp-content/uploads/2026/09/cropped-Factory-Aerial-View-scaled-1.jpg&#34;},{&#34;id&#34;:&#34;scene-1790058915736-2&#34;,&#34;title&#34;:&#34;Atelier 1&#34;,&#34;description&#34;:&#34;Étage 1, atelier de découpe laser&#34;,&#34;image&#34;:&#34;/wp-content/uploads/2026/09/Sheet-Metal-Processing-Workshop-scaled.jpg&#34;,&#34;thumb&#34;:&#34;/wp-content/uploads/2026/09/cropped-Sheet-Metal-Processing-Workshop-scaled-1.jpg&#34;},{&#34;id&#34;:&#34;scene-1790058933968-3&#34;,&#34;title&#34;:&#34;Atelier&#34;,&#34;description&#34;:&#34;Étage 3, atelier de portes médicales&#34;,&#34;image&#34;:&#34;/wp-content/uploads/2026/09/Panel-Board-Production-Workshop-scaled.jpg&#34;,&#34;thumb&#34;:&#34;/wp-content/uploads/2026/09/cropped-Panel-Board-Production-Workshop-scaled-1.jpg&#34;},{&#34;id&#34;:&#34;scene-1790059002625-4&#34;,&#34;title&#34;:&#34;Atelier&#34;,&#34;description&#34;:&#34;Étage 4, atelier de hottes à fumées&#34;,&#34;image&#34;:&#34;/wp-content/uploads/2026/09/Medical-Cabinet-Assembly-Workshop-scaled.jpg&#34;,&#34;thumb&#34;:&#34;/wp-content/uploads/2026/09/cropped-Medical-Cabinet-Assembly-Workshop-scaled-1.jpg&#34;},{&#34;id&#34;:&#34;scene-1790059172719-5&#34;,&#34;title&#34;:&#34;Salle d&#39;exposition&#34;,&#34;description&#34;:&#34;Étage 9, salle d&#39;exposition de mobilier médical&#34;,&#34;image&#34;:&#34;/wp-content/uploads/2026/09/Medical-Equipment-Showroom-scaled.jpg&#34;,&#34;thumb&#34;:&#34;/wp-content/uploads/2026/09/cropped-Medical-Equipment-Showroom-scaled-1.jpg&#34;},{&#34;id&#34;:&#34;scene-1790059199810-6&#34;,&#34;title&#34;:&#34;Bureaux Pengchi&#34;,&#34;description&#34;:&#34;Étage 9, hall des bureaux&#34;,&#34;image&#34;:&#34;/wp-content/uploads/2026/09/Open-Office-Area-scaled.jpg&#34;,&#34;thumb&#34;:&#34;/wp-content/uploads/2026/09/cropped-Open-Office-Area-scaled-1.jpg&#34;}]&lt;/script&gt;&#xA;&lt;/div&gt;&#xA;&lt;script&gt;/**&#xA;* Logique front-end pour les visionneuses PlayForge VR.&#xA;*&#xA;* Lit le JSON des scènes généré par le shortcode, construit la liste déroulante&#xA;* des titres, la bande de vignettes et le panneau d&#39;informations, et remplace&#xA;* la texture du &lt;a-sky&gt; lors du changement.&#xA;*/&#xA;( function () {&#xA;&#39;use strict&#39;;&#xA;/**&#xA;* Composant A-Frame : rotation lente en lacet du rig de caméra.&#xA;*&#xA;* Se met en pause pendant que le visiteur glisse/regarde autour de lui et&#xA;* reprend après un délai d&#39;inactivité, afin de ne jamais entrer en conflit&#xA;* avec les commandes du visiteur.&#xA;*/&#xA;function registerAutoComponent() {&#xA;if ( ! window.AFRAME || window.AFRAME.components[ &#39;pfvr-auto&#39; ] ) {&#xA;return;&#xA;}&#xA;window.AFRAME.registerComponent( &#39;pfvr-auto&#39;, {&#xA;schema: {&#xA;speed: { default: 0.06 }, // radians par seconde.&#xA;enabled: { default: true }&#xA;},&#xA;init: function () {&#xA;this.userPaused = false;&#xA;this.tempPaused = false;&#xA;this.resumeTimer = null;&#xA;var self = this;&#xA;var pauseTemporarily = function () {&#xA;self.tempPaused = true;&#xA;window.clearTimeout( self.resumeTimer );&#xA;self.resumeTimer = window.setTimeout( function () {&#xA;self.tempPaused = false;&#xA;}, 4000 );&#xA;};&#xA;// Le canvas reçoit les événements de pointeur/tactile utilisés par look-controls.&#xA;var bind = function () {&#xA;var canvas = self.el.sceneEl.canvas;&#xA;if ( ! canvas ) {&#xA;return;&#xA;}&#xA;canvas.addEventListener( &#39;pointerdown&#39;, pauseTemporarily );&#xA;canvas.addEventListener( &#39;wheel&#39;, pauseTemporarily, { passive: true } );&#xA;canvas.addEventListener( &#39;touchstart&#39;, pauseTemporarily, { passive: true } );&#xA;};&#xA;if ( this.el.sceneEl.canvas ) {&#xA;bind();&#xA;} else {&#xA;this.el.sceneEl.addEventListener( &#39;rendertargetchanged&#39;, bind );&#xA;window.setTimeout( bind, 500 );&#xA;}&#xA;},&#xA;setEnabled: function ( enabled ) {&#xA;this.userPaused = ! enabled;&#xA;},&#xA;tick: function ( _time, delta ) {&#xA;if (&#xA;! this.data.enabled ||&#xA;this.userPaused ||&#xA;this.tempPaused ||&#xA;document.hidden&#xA;) {&#xA;return;&#xA;}&#xA;this.el.object3D.rotation.y += ( delta / 1000 ) * this.data.speed;&#xA;}&#xA;} );&#xA;}&#xA;/** Crée un span d&#39;icône avec une classe (le contenu provient du CSS). */&#xA;function icon( className ) {&#xA;var span = document.createElement( &#39;span&#39; );&#xA;span.className = &#39;pfvr-icon &#39; + className;&#xA;span.setAttribute( &#39;aria-hidden&#39;, &#39;true&#39; );&#xA;return span;&#xA;}&#xA;/**&#xA;* Initialise un élément de visionneuse.&#xA;*&#xA;* @param {HTMLElement} viewer Élément racine .pfvr-viewer.&#xA;*/&#xA;function initViewer( viewer ) {&#xA;var dataEl = viewer.querySelector( &#39;.pfvr-data&#39; );&#xA;var scenes;&#xA;try {&#xA;scenes = JSON.parse( dataEl.textContent || &#39;{}&#39; );&#xA;} catch ( e ) {&#xA;scenes = [];&#xA;}&#xA;if ( ! Array.isArray( scenes ) || ! scenes.length ) {&#xA;return;&#xA;}&#xA;var sky = viewer.querySelector( &#39;[data-role=&#34;sky&#34;]&#39; );&#xA;var rig = viewer.querySelector( &#39;[data-role=&#34;rig&#34;]&#39; );&#xA;var select = viewer.querySelector( &#39;.pfvr-select&#39; );&#xA;var thumbs = viewer.querySelector( &#39;.pfvr-thumbs&#39; );&#xA;var infoTitle = viewer.querySelector( &#39;.pfvr-scene-title&#39; );&#xA;var infoDesc = viewer.querySelector( &#39;.pfvr-scene-desc&#39; );&#xA;var infoBox = viewer.querySelector( &#39;.pfvr-info&#39; );&#xA;var loader = viewer.querySelector( &#39;.pfvr-loader&#39; );&#xA;var autoBtn = viewer.querySelector( &#39;.pfvr-auto-btn&#39; );&#xA;var fsBtn = viewer.querySelector( &#39;.pfvr-fs-btn&#39; );&#xA;var prevBtn = viewer.querySelector( &#39;.pfvr-nav-prev&#39; );&#xA;var nextBtn = viewer.querySelector( &#39;.pfvr-nav-next&#39; );&#xA;var current = Math.min(&#xA;parseInt( viewer.getAttribute( &#39;data-scene&#39; ), 10 ) || 0,&#xA;scenes.length - 1&#xA;);&#xA;var autoEnabled = viewer.getAttribute( &#39;data-autoplay&#39; ) === &#39;1&#39;;&#xA;var preloadAll = viewer.getAttribute( &#39;data-preload&#39; ) === &#39;all&#39;;&#xA;var assetsBox = viewer.querySelector( &#39;a-assets&#39; );&#xA;var loadFallbackTimer = null;&#xA;// Construit le &lt;select&gt; des titres.&#xA;scenes.forEach( function ( scene, i ) {&#xA;var option = document.createElement( &#39;option&#39; );&#xA;option.value = String( i );&#xA;option.textContent = scene.title || &#39;Scène &#39; + ( i + 1 );&#xA;select.appendChild( option );&#xA;} );&#xA;// Construit la bande de vignettes.&#xA;var thumbButtons = [];&#xA;scenes.forEach( function ( scene, i ) {&#xA;var button = document.createElement( &#39;button&#39; );&#xA;button.type = &#39;button&#39;;&#xA;button.className = &#39;pfvr-thumb&#39;;&#xA;button.setAttribute( &#39;aria-label&#39;, scene.title || &#39;Scène &#39; + ( i + 1 ) );&#xA;var img = document.createElement( &#39;img&#39; );&#xA;img.src = scene.thumb || &#39;&#39;;&#xA;img.alt = &#39;&#39;;&#xA;img.addEventListener( &#39;error&#39;, function () {&#xA;img.style.display = &#39;none&#39;;&#xA;} );&#xA;var label = document.createElement( &#39;span&#39; );&#xA;label.className = &#39;pfvr-thumb-label&#39;;&#xA;label.textContent = scene.title || &#39;Scène &#39; + ( i + 1 );&#xA;button.appendChild( img );&#xA;button.appendChild( label );&#xA;button.addEventListener( &#39;click&#39;, function () {&#xA;goTo( i );&#xA;} );&#xA;thumbs.appendChild( button );&#xA;thumbButtons.push( button );&#xA;} );&#xA;/**&#xA;* S&#39;assure que la scène i existe sous forme d&#39;&lt;img&gt; dans &lt;a-assets&gt;, en la&#xA;* créant si nécessaire. A-Frame la charge ensuite et met en cache la texture&#xA;* GPU, de sorte que l&#39;appliquer au ciel soit instantané une fois chargée.&#xA;*&#xA;* @param {number} i Index de la scène.&#xA;*/&#xA;function ensureAsset( i ) {&#xA;if ( ! assetsBox || ! scenes[ i ] ) {&#xA;return;&#xA;}&#xA;var id = &#39;pfvr-a-&#39; + i;&#xA;if ( document.getElementById( id ) ) {&#xA;return;&#xA;}&#xA;var img = document.createElement( &#39;img&#39; );&#xA;img.id = id;&#xA;img.alt = &#39;&#39;;&#xA;img.src = scenes[ i ].image;&#xA;assetsBox.appendChild( img );&#xA;}&#xA;/** Précharge une scène en tant que ressource A-Frame (préchauffe le réseau + le cache GPU). */&#xA;function preload( i ) {&#xA;ensureAsset( i );&#xA;}&#xA;/** Masque l&#39;indicateur de chargement une fois la nouvelle texture appliquée au ciel. */&#xA;function hideLoader() {&#xA;window.clearTimeout( loadFallbackTimer );&#xA;viewer.classList.remove( &#39;pfvr-loading&#39; );&#xA;if ( loader ) {&#xA;loader.style.display = &#39;none&#39;;&#xA;}&#xA;}&#xA;/**&#xA;* Bascule vers une scène selon son index.&#xA;*&#xA;* @param {number} i Index cible.&#xA;*/&#xA;function goTo( i ) {&#xA;if ( i === current || i &lt; 0 || i &gt;= scenes.length ) {&#xA;return;&#xA;}&#xA;current = i;&#xA;viewer.classList.add( &#39;pfvr-loading&#39; );&#xA;if ( loader ) {&#xA;loader.style.display = &#39;&#39;;&#xA;}&#xA;var settled = false;&#xA;var finish = function () {&#xA;if ( settled ) {&#xA;return;&#xA;}&#xA;settled = true;&#xA;hideLoader();&#xA;sky.removeEventListener( &#39;materialtextureloaded&#39;, finish );&#xA;sky.removeEventListener( &#39;materialtextureerror&#39;, finish );&#xA;};&#xA;// Filet de sécurité : ne jamais laisser l&#39;indicateur bloqué si aucun événement ne se déclenche.&#xA;window.clearTimeout( loadFallbackTimer );&#xA;loadFallbackTimer = window.setTimeout( finish, 9000 );&#xA;sky.addEventListener( &#39;materialtextureloaded&#39;, finish );&#xA;sky.addEventListener( &#39;materialtextureerror&#39;, finish );&#xA;// S&#39;assure que l&#39;image cible se trouve dans &lt;a-assets&gt;, puis la référence&#xA;// par ID afin que le cache de textures d&#39;A-Frame soit réutilisé.&#xA;ensureAsset( i );&#xA;sky.setAttribute( &#39;src&#39;, &#39;#pfvr-a-&#39; + i );&#xA;// Lorsque l&#39;image cible est déjà chargée, A-Frame peut résoudre le matériau&#xA;// de manière synchrone sans émettre d&#39;événement ; dans ce cas, masque&#xA;// l&#39;indicateur à l&#39;image suivante.&#xA;var targetImg = document.getElementById( &#39;pfvr-a-&#39; + i );&#xA;if ( targetImg &amp;&amp; targetImg.complete &amp;&amp; targetImg.naturalWidth ) {&#xA;window.requestAnimationFrame( function () {&#xA;window.requestAnimationFrame( finish );&#xA;} );&#xA;}&#xA;updateUI();&#xA;preload( ( i + 1 ) % scenes.length );&#xA;preload( ( i - 1 + scenes.length ) % scenes.length );&#xA;}&#xA;/** Met à jour les états actifs du titre, de la description, du select et des vignettes. */&#xA;function updateUI() {&#xA;var scene = scenes[ current ];&#xA;select.value = String( current );&#xA;infoTitle.textContent = scene.title || &#39;&#39;;&#xA;if ( scene.description &amp;&amp; scene.description.trim() ) {&#xA;infoDesc.innerHTML = scene.description;&#xA;infoBox.hidden = false;&#xA;} else {&#xA;infoDesc.innerHTML = &#39;&#39;;&#xA;infoBox.hidden = ! scene.title;&#xA;}&#xA;thumbButtons.forEach( function ( button, i ) {&#xA;button.classList.toggle( &#39;is-active&#39;, i === current );&#xA;} );&#xA;// Garde la vignette active visible dans la bande défilée.&#xA;var active = thumbButtons[ current ];&#xA;if ( active &amp;&amp; active.scrollIntoView ) {&#xA;active.scrollIntoView( { behavior: &#39;smooth&#39;, inline: &#39;center&#39;, block: &#39;nearest&#39; } );&#xA;}&#xA;}&#xA;// --- Événements UI -----------------------------------------------------&#xA;select.addEventListener( &#39;change&#39;, function () {&#xA;goTo( parseInt( select.value, 10 ) );&#xA;} );&#xA;prevBtn.addEventListener( &#39;click&#39;, function () {&#xA;goTo( ( current - 1 + scenes.length ) % scenes.length );&#xA;} );&#xA;nextBtn.addEventListener( &#39;click&#39;, function () {&#xA;goTo( ( current + 1 ) % scenes.length );&#xA;} );&#xA;autoBtn.addEventListener( &#39;click&#39;, function () {&#xA;autoEnabled = ! autoEnabled;&#xA;setAutoButtonState();&#xA;if ( rig.components &amp;&amp; rig.components[ &#39;pfvr-auto&#39; ] ) {&#xA;rig.components[ &#39;pfvr-auto&#39; ].setEnabled( autoEnabled );&#xA;}&#xA;rig.setAttribute( &#39;pfvr-auto&#39;, &#39;enabled&#39;, autoEnabled ? &#39;true&#39; : &#39;false&#39; );&#xA;} );&#xA;function setAutoButtonState() {&#xA;autoBtn.classList.toggle( &#39;is-off&#39;, ! autoEnabled );&#xA;autoBtn.setAttribute( &#39;aria-pressed&#39;, autoEnabled ? &#39;true&#39; : &#39;false&#39; );&#xA;}&#xA;// Plein écran.&#xA;fsBtn.addEventListener( &#39;click&#39;, function () {&#xA;if ( document.fullscreenElement ) {&#xA;document.exitFullscreen();&#xA;} else if ( viewer.requestFullscreen ) {&#xA;viewer.requestFullscreen();&#xA;} else if ( viewer.webkitRequestFullscreen ) {&#xA;viewer.webkitRequestFullscreen();&#xA;}&#xA;} );&#xA;document.addEventListener( &#39;fullscreenchange&#39;, function () {&#xA;fsBtn.classList.toggle( &#39;is-fullscreen&#39;, !! document.fullscreenElement );&#xA;} );&#xA;// Clavier : n&#39;agir que lorsque cette visionneuse a le focus ou est en plein écran.&#xA;viewer.addEventListener( &#39;keydown&#39;, function ( event ) {&#xA;if (&#xA;document.fullscreenElement !== viewer &amp;&amp;&#xA;! viewer.contains( document.activeElement )&#xA;) {&#xA;return;&#xA;}&#xA;if ( event.key === &#39;ArrowRight&#39; ) {&#xA;event.preventDefault();&#xA;goTo( ( current + 1 ) % scenes.length );&#xA;} else if ( event.key === &#39;ArrowLeft&#39; ) {&#xA;event.preventDefault();&#xA;goTo( ( current - 1 + scenes.length ) % scenes.length );&#xA;}&#xA;} );&#xA;// Les galeries à scène unique n&#39;ont pas besoin d&#39;éléments de navigation.&#xA;if ( scenes.length === 1 ) {&#xA;prevBtn.style.display = &#39;none&#39;;&#xA;nextBtn.style.display = &#39;none&#39;;&#xA;thumbs.style.display = &#39;none&#39;;&#xA;select.style.display = &#39;none&#39;;&#xA;}&#xA;// --- État initial -------------------------------------------------&#xA;setAutoButtonState();&#xA;updateUI();&#xA;// Le mode &#34;all&#34; a déjà fourni chaque image dans &lt;a-assets&gt; ; en mode&#xA;// &#34;adjacent&#34;, préchauffer les deux voisines de la scène initiale.&#xA;if ( ! preloadAll ) {&#xA;preload( ( current + 1 ) % scenes.length );&#xA;preload( ( current - 1 + scenes.length ) % scenes.length );&#xA;}&#xA;// Masquer le spinner une fois la première texture chargée.&#xA;var onInitialLoaded = function () {&#xA;hideLoader();&#xA;sky.removeEventListener( &#39;materialtextureloaded&#39;, onInitialLoaded );&#xA;sky.removeEventListener( &#39;materialtextureerror&#39;, onInitialError );&#xA;};&#xA;var onInitialError = function () {&#xA;hideLoader();&#xA;sky.removeEventListener( &#39;materialtextureloaded&#39;, onInitialLoaded );&#xA;sky.removeEventListener( &#39;materialtextureerror&#39;, onInitialError );&#xA;};&#xA;sky.addEventListener( &#39;materialtextureloaded&#39;, onInitialLoaded );&#xA;sky.addEventListener( &#39;materialtextureerror&#39;, onInitialError );&#xA;window.setTimeout( hideLoader, 9000 );&#xA;}&#xA;function boot() {&#xA;registerAutoComponent();&#xA;document.querySelectorAll( &#39;.pfvr-viewer&#39; ).forEach( initViewer );&#xA;}&#xA;if ( document.readyState === &#39;loading&#39; ) {&#xA;document.addEventListener( &#39;DOMContentLoaded&#39;, boot );&#xA;} else {&#xA;boot();&#xA;}&#xA;} )();&#xA;&lt;/script&gt;</description>
			</item>
			<item>
				<title>Contactez-nous</title>
				<link>https://pengchi.net/fr/contact-us/</link>
				<pubDate>Fri, 11 Sep 2026 05:56:09 +0000</pubDate>
				<guid>https://pengchi.net/fr/contact-us/</guid>
				<description>&lt;section class=&#34;pb-4 pb-lg-5 mb-4 mb-lg-5 border-bottom&#34;&gt;&#xA;&lt;p class=&#34;small fw-semibold text-uppercase text-success mb-2&#34;&gt;Envoyez-nous un message&lt;/p&gt;&#xA;&lt;script src=&#34;https://js-na2.hsforms.net/forms/embed/247495286.js&#34; defer&gt;&lt;/script&gt;&#xA;&lt;div class=&#34;hs-form-frame&#34; data-region=&#34;na2&#34; data-form-id=&#34;7b45a6d3-a989-4ef4-a95a-e937a0761d6a&#34; data-portal-id=&#34;247495286&#34;&gt;&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section class=&#34;pb-4 pb-lg-5&#34;&gt;&#xA;&lt;div class=&#34;row g-4 g-lg-5&#34;&gt;&#xA;&lt;div class=&#34;col-lg-5&#34;&gt;&#xA;&lt;p class=&#34;small fw-semibold text-uppercase text-success mb-2&#34;&gt;Contactez-nous&lt;/p&gt;&#xA;&lt;h2 class=&#34;fw-bold mb-3&#34;&gt;Prenez contact avec Pengchi&lt;/h2&gt;&#xA;&lt;p class=&#34;fw-semibold mb-3&#34;&gt;Dongguan Pengchi Intelligent Equipment Technology Co., Ltd.&lt;/p&gt;&#xA;&lt;ul class=&#34;list-unstyled m-0&#34;&gt;&#xA;&#x9;&lt;li class=&#34;row g-0 gap-3 py-3 border-bottom&#34;&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col-auto&#34;&gt;&lt;i class=&#34;bi bi-telephone text-success fs-5 lh-base&#34;&gt;&lt;/i&gt;&lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;small fw-semibold text-uppercase text-body-secondary mb-1&#34;&gt;Tél&lt;/div&gt;&#xA;&#x9;&#x9;&#x9;&lt;a class=&#34;link-body-emphasis link-offset-2 link-underline-opacity-0 link-underline-opacity-100-hover text-break&#34; href=&#34;tel:+86-769-38839633-879&#34;&gt;+86 0769-38839633-879&lt;/a&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#x9;&lt;/li&gt;&#xA;&#x9;&lt;li class=&#34;row g-0 gap-3 py-3 border-bottom&#34;&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col-auto&#34;&gt;&lt;i class=&#34;bi bi-phone text-success fs-5 lh-base&#34;&gt;&lt;/i&gt;&lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;small fw-semibold text-uppercase text-body-secondary mb-1&#34;&gt;Mobile / WhatsApp&lt;/div&gt;&#xA;&#x9;&#x9;&#x9;&lt;a class=&#34;link-body-emphasis link-offset-2 link-underline-opacity-0 link-underline-opacity-100-hover text-break&#34; href=&#34;tel:+8618025283503&#34;&gt;+86 18025283503&lt;/a&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#x9;&lt;/li&gt;&#xA;&#x9;&lt;li class=&#34;row g-0 gap-3 py-3 border-bottom&#34;&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col-auto&#34;&gt;&lt;i class=&#34;bi bi-envelope text-success fs-5 lh-base&#34;&gt;&lt;/i&gt;&lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;small fw-semibold text-uppercase text-body-secondary mb-1&#34;&gt;E-mail&lt;/div&gt;&#xA;&#x9;&#x9;&#x9;&lt;a class=&#34;link-body-emphasis link-offset-2 link-underline-opacity-0 link-underline-opacity-100-hover text-break&#34; href=&#34;mailto:pengchi@pengchihealth.com&#34;&gt;pengchi@pengchihealth.com&lt;/a&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#x9;&lt;/li&gt;&#xA;&#x9;&lt;li class=&#34;row g-0 gap-3 py-3 border-bottom&#34;&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col-auto&#34;&gt;&lt;i class=&#34;bi bi-globe2 text-success fs-5 lh-base&#34;&gt;&lt;/i&gt;&lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;small fw-semibold text-uppercase text-body-secondary mb-1&#34;&gt;Site officiel&lt;/div&gt;&#xA;&#x9;&#x9;&#x9;&lt;a class=&#34;link-body-emphasis link-offset-2 link-underline-opacity-0 link-underline-opacity-100-hover text-break&#34; href=&#34;https://pengchi.net&#34; target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34;&gt;https://pengchi.net&lt;/a&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#x9;&lt;/li&gt;&#xA;&#x9;&lt;li class=&#34;row g-0 gap-3 py-3 border-bottom&#34;&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col-auto&#34;&gt;&lt;i class=&#34;bi bi-shop text-success fs-5 lh-base&#34;&gt;&lt;/i&gt;&lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;small fw-semibold text-uppercase text-body-secondary mb-1&#34;&gt;Boutique Made-in-China&lt;/div&gt;&#xA;&#x9;&#x9;&#x9;&lt;a class=&#34;link-body-emphasis link-offset-2 link-underline-opacity-0 link-underline-opacity-100-hover text-break&#34; href=&#34;https://pengchihealthcare.en.made-in-china.com/&#34; target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34;&gt;https://pengchihealthcare.en.made-in-china.com/&lt;/a&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#x9;&lt;/li&gt;&#xA;&#x9;&lt;li class=&#34;row g-0 gap-3 pt-3&#34;&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col-auto&#34;&gt;&lt;i class=&#34;bi bi-geo-alt text-success fs-5 lh-base&#34;&gt;&lt;/i&gt;&lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;col&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;small fw-semibold text-uppercase text-body-secondary mb-1&#34;&gt;Base de production&lt;/div&gt;&#xA;&#x9;&#x9;&#x9;&lt;span class=&#34;text-body-secondary&#34;&gt;N° 148, route de Chashi, ville de Chashan, ville de Dongguan, province du Guangdong (Parc technologique intelligent de Pengchi)&lt;/span&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#x9;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;col-lg-7&#34;&gt;&#xA;&lt;a class=&#34;d-block position-relative rounded-3 overflow-hidden border text-decoration-none&#34; href=&#34;https://www.google.com/maps/search/?api=1&amp;query=No.%20148%2C%20Chashi%20Road%2C%20Chashan%20Town%2C%20Dongguan%2C%20Guangdong%2C%20China%20(Pengchi%20Smart%20Technology%20Park)&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;&lt;img class=&#34;img-fluid w-100 d-block&#34; src=&#34;https://pengchi.net/wp-content/uploads/2026/09/pengchi-map.jpg&#34; alt=&#34;Carte de l&#39;emplacement de Pengchi : N° 148, route de Chashi, ville de Chashan, Dongguan&#34; /&gt;&#xA;&lt;span class=&#34;position-absolute bottom-0 start-0 m-3 btn btn-light btn-sm shadow-sm fw-semibold&#34;&gt;&lt;i class=&#34;bi bi-box-arrow-up-right me-1&#34;&gt;&lt;/i&gt;Voir sur Google Maps&lt;/span&gt;&#xA;&lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/section&gt;</description>
			</item>
			<item>
				<title>À propos de nous</title>
				<link>https://pengchi.net/fr/about-us/</link>
				<pubDate>Fri, 11 Sep 2026 05:55:46 +0000</pubDate>
				<guid>https://pengchi.net/fr/about-us/</guid>
				<description>&lt;section class=&#34;bg-white border-bottom&#34; style=&#34;width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw);&#34;&gt;&#xA;&lt;div class=&#34;container-fluid px-0&#34;&gt;&#xA;&lt;div class=&#34;row g-0&#34;&gt;&#xA;&lt;div class=&#34;col-lg-6&#34;&gt;&lt;style&gt;.swiper-manager-container.swiper-style17.swiper-slide-name-companyprofileen4k {--height:auto ;--gap:20px !important;--products-count:10;--height:auto!important;--swiper-slide-aspect-ratio:16/9!important;--swiper-slide-aspect-ratio-pad:16/9!important;--swiper-slide-aspect-ratio-mobile:16/9!important;}.swiper-manager-container.swiper-style17.swiper-slide-name-companyprofileen4k .slide-content {}&lt;/style&gt;&lt;div class=&#34;swiper-manager-container swiper-slide-name-companyprofileen4k swiper-slide-id- color-white content-align-default swiper-style17&#34; id=&#34;swiper-instance-27&#34; data-navigation=&#34;true&#34; data-pagination=&#34;true&#34; data-loop=&#34;true&#34; data-autoplay=&#34;false&#34; data-thumbs=&#34;false&#34; data-mute=&#34;true&#34; data-height=&#34;auto&#34; data-height-pad=&#34;&#34; data-height-mobile=&#34;&#34; data-style-id=&#34;17&#34; data-auto-height=&#34;true&#34; data-space-between=&#34;20&#34; data-slider-name=&#34;companyprofileen4k&#34; data-slides-per-view-pc=&#34;&#34; data-slides-per-group-pc=&#34;&#34; data-slides-per-view-pad=&#34;&#34; data-slides-per-group-pad=&#34;&#34; data-slides-per-view-mobile=&#34;&#34; data-slides-per-group-mobile=&#34;&#34; data-centered-slides=&#34;&#34; data-title-font-size=&#34;&#34; data-subtitle-font-size=&#34;&#34; data-description-font-size=&#34;&#34; data-link-font-size=&#34;&#34; data-google-fonts=&#34;&#34; data-content-box-max-width=&#34;&#34;&gt; &lt;div class=&#34;swiper main-swiper&#34; style=&#34;height:auto&#34;&gt; &lt;div class=&#34;swiper-wrapper&#34;&gt;&lt;div id=&#34;&#34; class=&#34;swiper-slide has-video&#34;&gt;&lt;div&gt;&lt;img src=&#34;https://pengchi.net/wp-content/uploads/2026/10/medical-sterile-storage-modern-clean-qqaawKKJ-1280x720-1.jpg&#34; loading=&#34;lazy&#34; alt=&#34;&#34; class=&#34;slide-background-img&#34; /&gt;&lt;/div&gt;&lt;div class=&#34;video-container slide-video&#34;&gt;&lt;lite-youtube videoid=&#34;BPfSOWqaFXY&#34; posterquality=&#34;maxresdefault&#34; style=&#34;width:100%;height:100%;aspect-ratio:auto;&#34;&gt;&lt;/lite-youtube&gt;&lt;script type=&#34;module&#34; src=&#34;https://cdn.jsdelivr.net/npm/@justinribeiro/lite-youtube@1/lite-youtube.js&#34;&gt;&lt;/script&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;swiper-info-btn&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-autoplay-btn&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-button-prev&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-button-next&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-pagination&#34;&gt;&lt;/div&gt;&lt;div class=&#34;swiper-scrollbar&#34;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;col-lg-6 d-flex align-items-center&#34;&gt;&#xA;&lt;div class=&#34;p-4 p-lg-5&#34;&gt;&#xA;&lt;p&gt;&lt;span class=&#34;d-inline-block mb-3 small fw-semibold text-uppercase text-success&#34;&gt;Qui sommes-nous&lt;/span&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;d-flex gap-3 py-2 border-bottom align-items-start&#34;&gt;&#xA;&lt;div class=&#34;fw-bold flex-shrink-0&#34; style=&#34;flex: 0 0 132px;&#34;&gt;Type d&#39;entreprise&lt;/div&gt;&#xA;&lt;div class=&#34;text-body-secondary&#34;&gt;Fabricant/Usine&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;d-flex gap-3 py-2 border-bottom align-items-start&#34;&gt;&#xA;&lt;div class=&#34;fw-bold flex-shrink-0&#34; style=&#34;flex: 0 0 132px;&#34;&gt;Produits principaux&lt;/div&gt;&#xA;&lt;div class=&#34;text-body-secondary&#34;&gt;&lt;a href=&#34;https://pengchi.net/medical-manual-single-leaf-air-tight-door/&#34;&gt;Porte hermétique médicale pour salle d&#39;opération&lt;/a&gt;, &lt;a href=&#34;https://pengchi.net/medical-furniture/&#34;&gt;Mobilier médical&lt;/a&gt;, &lt;a href=&#34;https://pengchi.net/a-series-fume-hoods/&#34;&gt;Hottes à flux laminaire&lt;/a&gt;, &lt;a href=&#34;https://pengchi.net/straight-type-treatment-cabinet/&#34;&gt;Armoire médicale/Armoire de traitement&lt;/a&gt;, &lt;a href=&#34;https://pengchi.net/custom-h-profile-aluminum-quick-assembly-modular-operating-room/&#34;&gt;Bloc opératoire modulaire sans cadre&lt;/a&gt;, &lt;a href=&#34;https://pengchi.net/hvac-system/&#34;&gt;Unité de traitement d&#39;air (UTA)&lt;/a&gt;, &lt;a href=&#34;https://pengchi.net/medical-single-leaf-automatic-sliding-door/&#34;&gt;Porte médicale automatique en acier&lt;/a&gt;, &lt;a href=&#34;https://pengchi.net/a-series-all-steel-laboratory-bench/&#34;&gt;Paillasse de laboratoire&lt;/a&gt;, &lt;a href=&#34;https://pengchi.net/medical-manual-interlocking-airlock-door/&#34;&gt;Porte de salle blanche en acier&lt;/a&gt;, &lt;a href=&#34;https://pengchi.net/medical-door/&#34;&gt;Porte médicale&lt;/a&gt;, &lt;a href=&#34;https://pengchi.net/laboratory-furniture/&#34;&gt;Mobilier de laboratoire&lt;/a&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;d-flex gap-3 py-2 border-bottom align-items-start&#34;&gt;&#xA;&lt;div class=&#34;fw-bold flex-shrink-0&#34; style=&#34;flex: 0 0 132px;&#34;&gt;Lignes de production&lt;/div&gt;&#xA;&lt;div class=&#34;text-body-secondary&#34;&gt;10&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;d-flex gap-3 py-2 border-bottom align-items-start&#34;&gt;&#xA;&lt;div class=&#34;fw-bold flex-shrink-0&#34; style=&#34;flex: 0 0 132px;&#34;&gt;Service OEM disponible&lt;/div&gt;&#xA;&lt;div class=&#34;text-body-secondary&#34;&gt;Oui&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;d-flex gap-3 py-2 border-bottom align-items-start&#34;&gt;&#xA;&lt;div class=&#34;fw-bold flex-shrink-0&#34; style=&#34;flex: 0 0 132px;&#34;&gt;Options de personnalisation&lt;/div&gt;&#xA;&lt;div class=&#34;text-body-secondary&#34;&gt;Personnalisation à partir d&#39;échantillons, Personnalisation à partir de conceptions, Personnalisation complète, Personnalisation mineure, Personnalisation flexible&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;d-flex gap-3 py-2 border-bottom align-items-start&#34;&gt;&#xA;&lt;div class=&#34;fw-bold flex-shrink-0&#34; style=&#34;flex: 0 0 132px;&#34;&gt;Machines de production&lt;/div&gt;&#xA;&lt;div class=&#34;text-body-secondary&#34;&gt;Machine de découpe laser, Fraiseuse, Machine de découpe, Machine CNC, Machine d&#39;estampage, Machine de production de filtres&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;d-flex gap-3 py-2 align-items-start border-bottom-0&#34;&gt;&#xA;&lt;div class=&#34;fw-bold flex-shrink-0&#34; style=&#34;flex: 0 0 132px;&#34;&gt;N° de rapport d&#39;audit TÜV Rheinland&lt;/div&gt;&#xA;&lt;div class=&#34;text-body-secondary&#34;&gt;MIC-ASI2521094  &lt;a href=&#34;https://www.verified.chn.tuv.com/en/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Vérifier maintenant&lt;/a&gt;  &lt;a href=&#34;https://pengchi.net/docs/test-reports/tuv-rheinland-audit-report/&#34;&gt;Télécharger le rapport PDF&lt;/a&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/section&gt;&lt;!-- ==================== À PROPOS DE PENGCHI — profil de l&#39;entreprise, conteneur ==================== --&gt;&#xA;&lt;section class=&#34;py-5&#34;&gt;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA;&lt;h2 class=&#34;fw-bold lh-sm mb-3&#34;&gt;À propos de Pengchi&lt;/h2&gt;&#xA;&lt;p class=&#34;text-body-secondary lh-lg mb-3&#34;&gt;Dongguan Pengchi Intelligent Equipment Technology Co., Ltd. est une entreprise professionnelle spécialisée dans la conception, la recherche et le développement, la production et la vente de salles d&#39;opération haut de gamme, de produits de soutien pour laboratoires et salles blanches, de centrales de stérilisation (CSSD) et de mobilier médical. Ses principaux produits comprennent les armoires à instruments pour salles d&#39;opération, les armoires d&#39;anesthésie et les armoires à médicaments, les hottes à flux laminaire, les portes automatiques, les postes d&#39;infirmières intégrés, les armoires de traitement hospitalières, les armoires de rangement, les paillasses de laboratoire et les passe-plats.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Blog</title>
				<link></link>
				<pubDate>Fri, 11 Sep 2026 05:54:54 +0000</pubDate>
				<guid></guid>
				<description></description>
			</item>
			<item>
				<title>Mon compte</title>
				<link>https://pengchi.net/fr/my-account/</link>
				<pubDate>Fri, 11 Sep 2026 05:52:04 +0000</pubDate>
				<guid>https://pengchi.net/fr/my-account/</guid>
				<description>&lt;p&gt;[woocommerce_my_account]&lt;!-- /wp:shortcode --&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Panier</title>
				<link>https://pengchi.net/fr/cart/</link>
				<pubDate>Fri, 11 Sep 2026 05:52:04 +0000</pubDate>
				<guid>https://pengchi.net/fr/cart/</guid>
				<description>&lt;div class=&#34;wp-block-woocommerce-cart alignwide is-loading&#34;&gt;&lt;!-- wp:woocommerce/filled-cart-block --&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-filled-cart-block&#34;&gt;&lt;!-- wp:woocommerce/cart-items-block --&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-items-block&#34;&gt;&lt;!-- wp:woocommerce/cart-line-items-block --&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-line-items-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-product-collection&#34;&gt;&lt;!-- wp:heading {&#34;textAlign&#34;:&#34;left&#34;,&#34;style&#34;:{&#34;spacing&#34;:{&#34;margin&#34;:{&#34;bottom&#34;:&#34;1rem&#34;}}}} --&gt;&#xA;&lt;h2 class=&#34;wp-block-heading has-text-align-left&#34; style=&#34;margin-bottom:1rem&#34;&gt;Ces produits pourraient vous intéresser…&lt;/h2&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-totals-block&#34;&gt;&lt;!-- wp:woocommerce/cart-order-summary-block --&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-order-summary-block&#34;&gt;&lt;!-- wp:woocommerce/cart-order-summary-heading-block --&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-order-summary-heading-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-order-summary-coupon-form-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-order-summary-subtotal-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-order-summary-fee-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-order-summary-discount-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-order-summary-shipping-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-order-summary-taxes-block&#34;&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-express-payment-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-proceed-to-checkout-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-cart-accepted-payment-methods-block&#34;&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-empty-cart-block&#34;&gt;&lt;!-- wp:heading {&#34;textAlign&#34;:&#34;center&#34;,&#34;className&#34;:&#34;with-empty-cart-icon wc-block-cart__empty-cart__title&#34;} --&gt;&#xA;&lt;h2 class=&#34;wp-block-heading has-text-align-center with-empty-cart-icon wc-block-cart__empty-cart__title&#34;&gt;Votre panier est actuellement vide !&lt;/h2&gt;&#xA;&lt;hr class=&#34;wp-block-separator has-alpha-channel-opacity is-style-dots&#34;/&gt;&#xA;&lt;h2 class=&#34;wp-block-heading has-text-align-center&#34;&gt;Nouveautés en boutique&lt;/h2&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Passer à la caisse</title>
				<link>https://pengchi.net/fr/checkout/</link>
				<pubDate>Fri, 11 Sep 2026 05:52:04 +0000</pubDate>
				<guid>https://pengchi.net/fr/checkout/</guid>
				<description>&lt;div class=&#34;wp-block-woocommerce-checkout alignwide wc-block-checkout is-loading&#34;&gt;&lt;!-- wp:woocommerce/checkout-fields-block --&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-fields-block&#34;&gt;&lt;!-- wp:woocommerce/checkout-express-payment-block --&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-express-payment-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-contact-information-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-shipping-method-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-pickup-options-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-shipping-address-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-billing-address-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-shipping-methods-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-payment-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-additional-information-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-order-note-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-terms-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-actions-block&#34;&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-totals-block&#34;&gt;&lt;!-- wp:woocommerce/checkout-order-summary-block --&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-order-summary-block&#34;&gt;&lt;!-- wp:woocommerce/checkout-order-summary-cart-items-block --&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-order-summary-cart-items-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-order-summary-coupon-form-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-order-summary-subtotal-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-order-summary-fee-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-order-summary-discount-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-order-summary-shipping-block&#34;&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;wp-block-woocommerce-checkout-order-summary-taxes-block&#34;&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Produits</title>
				<link></link>
				<pubDate>Fri, 11 Sep 2026 05:52:04 +0000</pubDate>
				<guid></guid>
				<description>&lt;p&gt;Solution de Système d&#39;Équipement Médical Intelligent&lt;/p&gt;</description>
			</item>
			<item>
				<title>Page d&#39;exemple</title>
				<link>https://pengchi.net/fr/sample-page/</link>
				<pubDate>Fri, 11 Sep 2026 05:37:51 +0000</pubDate>
				<guid>https://pengchi.net/fr/sample-page/</guid>
				<description>&lt;p&gt;Ceci est un exemple de page. Elle diffère d&#39;un article de blog car elle restera à un endroit fixe et apparaîtra dans la navigation de votre site (dans la plupart des thèmes). La plupart des gens commencent par une page « À propos » qui les présente aux visiteurs potentiels du site. Elle pourrait dire quelque chose comme ceci :&lt;/p&gt;&#xA;&lt;blockquote class=&#34;wp-block-quote&#34;&gt;&#xA;&lt;p&gt;Salut ! Je suis coursier à vélo le jour, acteur en herbe la nuit, et voici mon site web. Je vis à Los Angeles, j&#39;ai un chien formidable nommé Jack, et j&#39;aime les piñas coladas. (Et me faire surprendre par la pluie.)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Politique de confidentialité</title>
				<link>https://pengchi.net/fr/privacy-policy/</link>
				<pubDate>Fri, 11 Sep 2026 05:37:51 +0000</pubDate>
				<guid>https://pengchi.net/fr/privacy-policy/</guid>
				<description>&lt;h2 class=&#34;wp-block-heading&#34;&gt;Qui sommes-nous&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;privacy-policy-tutorial&#34;&gt;Texte suggéré : &lt;/strong&gt;L&#39;adresse de notre site Web est : .&lt;/p&gt;&#xA;&lt;h2 class=&#34;wp-block-heading&#34;&gt;Commentaires&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong class=&#34;privacy-policy-tutorial&#34;&gt;Texte suggéré : &lt;/strong&gt;Lorsque les visiteurs laissent des commentaires sur le site, nous collectons les données affichées dans le formulaire de commentaires, ainsi que l&#39;adresse IP du visiteur et la chaîne de l&#39;agent utilisateur du navigateur pour aider à la détection du spam.&lt;/p&gt;&#xA;&lt;p&gt;Une chaîne anonymisée créée à partir de votre adresse e-mail (également appelée hash) peut être fournie au service Gravatar pour vérifier si vous l&#39;utilisez. La politique de confidentialité du service Gravatar est disponible ici : https://automattic.com/privacy/. Après l&#39;approbation de votre commentaire, votre photo de profil est visible publiquement dans le contexte de votre commentaire.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
