{"id":2304,"date":"2026-08-06T18:59:16","date_gmt":"2026-08-06T18:59:16","guid":{"rendered":"https:\/\/gplg.pt\/ia\/?page_id=2304"},"modified":"2026-08-23T09:53:55","modified_gmt":"2026-08-23T09:53:55","slug":"opc-ua-mqtt","status":"publish","type":"page","link":"https:\/\/gplg.pt\/fr\/technologies\/opc-ua-mqtt\/","title":{"rendered":"OPC UA et MQTT"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"2304\" class=\"elementor elementor-2304\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7082e26 e-con e-atomic-element e-flexbox-base e-a640071\" data-id=\"7082e26\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"7082e26\">\n    \t\t\t<img fetchpriority=\"high\" decoding=\"async\" class=\"e-image-base\" data-interaction-id=\"cd6711e\" data-e-type=\"widget\" data-id=\"cd6711e\" id=\"4076\" src=\"https:\/\/gplg.pt\/ia\/wp-content\/uploads\/2026\/08\/OPC.jpeg\" width=\"2176\" height=\"480\" srcset=\"https:\/\/gplg.pt\/ia\/wp-content\/uploads\/2026\/08\/OPC.jpeg 2176w, https:\/\/gplg.pt\/ia\/wp-content\/uploads\/2026\/08\/OPC-300x66.jpeg 300w, https:\/\/gplg.pt\/ia\/wp-content\/uploads\/2026\/08\/OPC-1024x226.jpeg 1024w, https:\/\/gplg.pt\/ia\/wp-content\/uploads\/2026\/08\/OPC-768x169.jpeg 768w, https:\/\/gplg.pt\/ia\/wp-content\/uploads\/2026\/08\/OPC-1536x339.jpeg 1536w, https:\/\/gplg.pt\/ia\/wp-content\/uploads\/2026\/08\/OPC-2048x452.jpeg 2048w, https:\/\/gplg.pt\/ia\/wp-content\/uploads\/2026\/08\/OPC-18x4.jpeg 18w\" alt=\"opc\"\/>\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-2c47918 e-con e-atomic-element e-flexbox-base e-5a3239f\" data-id=\"2c47918\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"2c47918\">\n    \t\t<div class=\"elementor-element elementor-element-bd54558 elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"bd54558\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_bd54558 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_bd54558 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_bd54558 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_bd54558 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_bd54558 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_bd54558:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_bd54558:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_bd54558:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_bd54558:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_bd54558\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">Communication industrielle OPC UA et MQTT<\/div>\t\n\t\t<div class=\"ue-text moveFromBottom\"><p class=\"PDq2pG_selectionAnchorContainer\" data-start=\"600\" data-end=\"667\"><strong data-start=\"600\" data-end=\"667\">Interconnexion des machines, des syst\u00e8mes d'automatisation et des logiciels industriels<\/strong><\/p><p data-start=\"669\" data-end=\"827\">GPLG met en \u0153uvre des architectures de communication industrielle en s'appuyant sur des technologies telles que <strong data-start=\"751\" data-end=\"770\">OPC UA et MQTT<\/strong> pour relier des machines, des automates programmables, des capteurs et des syst\u00e8mes logiciels.<\/p><p data-start=\"829\" data-end=\"1024\">Nous concevons des solutions de communication adapt\u00e9es aux exigences du milieu industriel, allant de la connectivit\u00e9 au niveau des machines \u00e0 l'\u00e9change de donn\u00e9es entre les syst\u00e8mes de production et les applications de niveau sup\u00e9rieur.<\/p><\/div>       \n       \t        <div class=\"ue-btn-wrapper moveFromBottom\">\n           <a class=\"ue-btn\"  href=\"https:\/\/gplg.pt\/pt\/contact\/\" >\n\t\t\t\t<span class=\"uc-link\">Discuter d'un projet d'int\u00e9gration<\/span>\n\t\t   <\/a>\n        <\/div>\n             <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-c9ec477 e-con e-atomic-element e-flexbox-base e-f904e10\" data-id=\"c9ec477\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"c9ec477\">\n    \t\t<div class=\"elementor-element elementor-element-c4821d2 elementor-widget elementor-widget-ucaddon_transparent_split_hero\" data-id=\"c4821d2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_transparent_split_hero.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Transparent Split Hero -->\n\t\t<link id='uc_ac_assets_file_uc_photography_header_css_0-css' href='https:\/\/gplg.pt\/ia\/wp-content\/uploads\/ac_assets\/uc_photography_header\/uc_photography_header.css' type='text\/css' rel='stylesheet' >\n\n<style>\/* widget: Transparent Split Hero *\/\n\n.uc_photography_header *{\n\tmargin:0;\n\tpadding:0;\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\t\n}\n#uc_transparent_split_hero_elementor_c4821d2\n{\n\tposition:relative;\n\twidth:100%;\n    background-position:center;\n    background-size:cover;\n    background-image:url(https:\/\/gplg.pt\/ia\/wp-content\/uploads\/2026\/08\/OPC2.png);\n    display:flex;\n    overflow:hidden;\n    \n}\n\n#uc_transparent_split_hero_elementor_c4821d2 > div\n{\n  height:100%;\n  display:flex;\n    align-items:center;\n}\n\n.uc_photography_header .uc_container_text_box{ \n  text-align:center;\n}\n.uc_photography_header .uc_subtitle\n{\n  font-size:42px;\n}\n\t\n.uc_photography_header .uc_container_text_box a{\n\tborder-style:solid;\n\tdisplay:inline-block;\n}\n\n<\/style>\n\n<div class=\"uc_photography_header\" id=\"uc_transparent_split_hero_elementor_c4821d2\">    \t      \n  <div class=\"uc_container_text_box\">  \n  <div>\n                        <div class=\"uc_subtitle\">Les syst\u00e8mes industriels doivent communiquer<\/div>        <div class=\"uc_text\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83c\udf10<\/span>\n      <h3>Architectures de communication industrielle<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <p class=\"iiot-description\">\n        Les environnements de production modernes se composent rarement d'une seule machine ou d'un seul syst\u00e8me d'automatisation. Les syst\u00e8mes doivent \u00e9changer des informations de mani\u00e8re fiable \u00e0 tous les niveaux op\u00e9rationnels :\n      <\/p>\n\n      <!-- Horizontal System Integration Flow -->\n      <div class=\"iiot-horizontal-flow\">\n        <div class=\"iiot-node\">automates programmables<\/div>\n        <div class=\"iiot-arrow-right\">\u2192<\/div>\n\n        <div class=\"iiot-node\">Machines<\/div>\n        <div class=\"iiot-arrow-right\">\u2192<\/div>\n\n        <div class=\"iiot-node\">machines \u00e0 commande num\u00e9rique<\/div>\n        <div class=\"iiot-arrow-right\">\u2192<\/div>\n\n        <div class=\"iiot-node\">Robots<\/div>\n        <div class=\"iiot-arrow-right\">\u2192<\/div>\n\n        <div class=\"iiot-node\">SCADA<\/div>\n        <div class=\"iiot-arrow-right\">\u2192<\/div>\n\n        <div class=\"iiot-node\">Logiciels<\/div>\n        <div class=\"iiot-arrow-right\">\u2192<\/div>\n\n        <div class=\"iiot-node\">Syst\u00e8mes de donn\u00e9es<\/div>\n      <\/div>\n\n      <!-- Context Note Box -->\n      <div class=\"iiot-context-text\">\n        OPC UA et MQTT proposent diff\u00e9rents m\u00e9canismes pour connecter ces environnements. GPLG les utilise dans le cadre d'architectures de communication industrielle plus larges, en choisissant la technologie la plus adapt\u00e9e en fonction des \u00e9quipements, de l'application et du flux de donn\u00e9es requis.\n      <\/div>\n\n      <!-- Plain Footer Text Box (No Highlights) -->\n      <div class=\"iiot-footer-text\">\n        La communication est le fondement qui permet aux syst\u00e8mes industriels de fonctionner ensemble.\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-description {\n    color: inherit;\n    opacity: 0.9;\n    line-height: 1.6;\n    margin-bottom: 24px;\n    font-size: 0.98rem;\n    text-align: center;\n  }\n\n  \/* Horizontal Flowchart Styling *\/\n  .iiot-horizontal-flow {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 10px 0;\n    width: 100%;\n    flex-wrap: wrap;\n    margin-bottom: 24px;\n  }\n\n  .iiot-node {\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 12px 18px;\n    font-weight: 600;\n    color: inherit;\n    font-size: 0.88rem;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n    text-align: center;\n    box-sizing: border-box;\n    white-space: nowrap;\n  }\n\n  .iiot-node:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-arrow-right {\n    color: inherit;\n    opacity: 0.5;\n    font-size: 1.2rem;\n    line-height: 1;\n    padding: 0 2px;\n  }\n\n  \/* Context Text Box *\/\n  .iiot-context-text {\n    text-align: center;\n    font-size: 0.92rem;\n    line-height: 1.5;\n    color: inherit;\n    opacity: 0.85;\n    margin-bottom: 16px;\n    padding: 0 10px;\n  }\n\n  \/* Plain Footer Text Box (No Highlights) *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Mobile Responsiveness *\/\n  @media (max-width: 900px) {\n    .iiot-horizontal-flow {\n      flex-direction: column;\n    }\n\n    .iiot-node {\n      width: 100%;\n      max-width: 280px;\n      white-space: normal;\n    }\n\n    .iiot-arrow-right {\n      transform: rotate(90deg);\n      margin: 2px 0;\n    }\n  }\n<\/style><\/div>            <\/div>\n  <\/div>\n<\/div>\n<!-- end Transparent Split Hero -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-d9f195b e-con e-atomic-element e-flexbox-base e-d9f195b-4418ef9\" data-id=\"d9f195b\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"d9f195b\">\n    \t\t<div class=\"elementor-element elementor-element-ec7b245 elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"ec7b245\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_ec7b245 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_ec7b245 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_ec7b245 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_ec7b245 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_ec7b245 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_ec7b245:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_ec7b245:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_ec7b245:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_ec7b245:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_ec7b245\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">OPC UA<\/div>\t\n\t\t<div class=\"ue-text moveFromLeft\"><div class=\"iiot-card-container\">\n<p style=\"text-align: center;\"><!-- Header Bar --><\/p>\n\n<div class=\"iiot-card-header\">\n<div class=\"iiot-header-title\">\n\n<span class=\"iiot-icon\">\u2699\ufe0f<\/span>\n<h3>OPC UA pour la communication industrielle<\/h3>\n<\/div>\n<\/div>\n<!-- Content Area -->\n<div class=\"iiot-card-content\">\n<div class=\"iiot-content-inner\">\n<p class=\"iiot-description\">L'OPC UA (Open Platform Communications Unified Architecture) est un cadre de communication industrielle con\u00e7u pour permettre un \u00e9change d'informations fiable et structur\u00e9 entre les syst\u00e8mes et les appareils. Il offre aux applications industrielles un moyen normalis\u00e9 de communiquer avec les \u00e9quipements et les syst\u00e8mes d'automatisation.<\/p>\n<!-- Architecture Diagram & Use Cases Side-by-Side Grid -->\n<div class=\"iiot-layout-grid\">\n\n<!-- Typical Architecture Flowchart -->\n<div class=\"iiot-arch-box\">\n<div class=\"iiot-arch-title\">Architecture typique<\/div>\n<div class=\"iiot-vertical-flow\">\n<div class=\"iiot-node\">PLC<\/div>\n<div class=\"iiot-arrow-down\">\u2193<\/div>\n<div class=\"iiot-node\">Serveur OPC UA<\/div>\n<div class=\"iiot-arrow-down\">\u2193<\/div>\n<div class=\"iiot-node\">Client OPC UA<\/div>\n<div class=\"iiot-arrow-down\">\u2193<\/div>\n<!-- Split Clients Branch -->\n<div class=\"iiot-branch-row\">\n<div class=\"iiot-node iiot-node-sub\">SCADA<\/div>\n<div class=\"iiot-node iiot-node-sub\">Logiciels<\/div>\n<div class=\"iiot-node iiot-node-sub\">Base de donn\u00e9es<\/div>\n<\/div>\n<\/div>\n<\/div>\n<!-- OPC UA Use Cases Grid -->\n<div class=\"iiot-usecases-box\">\n<div class=\"iiot-arch-title\">Principales applications<\/div>\n<div class=\"iiot-usecase-grid\">\n<div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83d\udd0c<\/i> Communication entre automates programmables<\/div>\n<div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83d\udcca<\/i> Acquisition des donn\u00e9es machine<\/div>\n<div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83d\udda5\ufe0f<\/i> Int\u00e9gration SCADA<\/div>\n<div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83d\udcbb<\/i> Logiciels industriels<\/div>\n<div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83d\udd04<\/i> Communication entre machines et syst\u00e8mes<\/div>\n<div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83d\udcc8<\/i> \u00c9change de donn\u00e9es de production<\/div>\n<div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83c\udf10<\/i> Int\u00e9gration multisyst\u00e8me<\/div>\n<\/div>\n<\/div>\n<\/div>\n<!-- Footer Text Box -->\n<div class=\"iiot-footer-text\">OPC UA garantit une mod\u00e9lisation s\u00e9mantique des donn\u00e9es et une interop\u00e9rabilit\u00e9 s\u00e9curis\u00e9e de bout en bout entre les \u00e9quipements de diff\u00e9rents fabricants.<\/div>\n<\/div>\n<\/div>\n<\/div>\n<style>\n  \/* Full-Width Container Styling *\/<br \/>  .iiot-card-container {<br \/>    width: 100%;<br \/>    max-width: 100%;<br \/>    margin: 20px 0;<br \/>    border: 1px solid rgba(255, 255, 255, 0.2);<br \/>    border-radius: 10px;<br \/>    background-color: transparent;<br \/>    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;<br \/>    overflow: hidden;<br \/>    box-sizing: border-box;<br \/>  }<\/p>\n<p>  \/* Header Bar *\/<br \/>  .iiot-card-header {<br \/>    display: flex;<br \/>    align-items: center;<br \/>    padding: 18px 24px;<br \/>    background-color: rgba(13, 35, 58, 0.85);<br \/>    backdrop-filter: blur(5px);<br \/>    color: #ffffff;<br \/>  }<\/p>\n<p>  .iiot-header-title {<br \/>    display: flex;<br \/>    align-items: center;<br \/>    gap: 12px;<br \/>  }<\/p>\n<p>  .iiot-header-title h3 {<br \/>    margin: 0;<br \/>    font-size: 1.15rem;<br \/>    font-weight: 600;<br \/>    color: #ffffff !important;<br \/>  }<\/p>\n<p>  .iiot-icon {<br \/>    font-size: 1.2rem;<br \/>  }<\/p>\n<p>  \/* Content Area *\/<br \/>  .iiot-card-content {<br \/>    background-color: transparent;<br \/>  }<\/p>\n<p>  .iiot-content-inner {<br \/>    padding: 24px;<br \/>    border-top: 1px solid rgba(255, 255, 255, 0.1);<br \/>  }<\/p>\n<p>  .iiot-description {<br \/>    color: inherit;<br \/>    opacity: 0.9;<br \/>    line-height: 1.6;<br \/>    margin-bottom: 24px;<br \/>    font-size: 0.98rem;<br \/>    text-align: center;<br \/>  }<\/p>\n<p>  \/* Main Side-by-Side Layout Grid *\/<br \/>  .iiot-layout-grid {<br \/>    display: grid;<br \/>    grid-template-columns: 1fr 1fr;<br \/>    gap: 20px;<br \/>    margin-bottom: 24px;<br \/>    align-items: stretch;<br \/>  }<\/p>\n<p>  .iiot-arch-box,<br \/>  .iiot-usecases-box {<br \/>    background-color: rgba(255, 255, 255, 0.03);<br \/>    border: 1px solid rgba(255, 255, 255, 0.15);<br \/>    border-radius: 8px;<br \/>    padding: 20px;<br \/>    box-sizing: border-box;<br \/>    display: flex;<br \/>    flex-direction: column;<br \/>  }<\/p>\n<p>  .iiot-arch-title {<br \/>    font-size: 0.85rem;<br \/>    font-weight: 700;<br \/>    letter-spacing: 1.2px;<br \/>    text-transform: uppercase;<br \/>    opacity: 0.7;<br \/>    margin-bottom: 16px;<br \/>    text-align: center;<br \/>    color: inherit;<br \/>  }<\/p>\n<p>  \/* Vertical Architecture Flow *\/<br \/>  .iiot-vertical-flow {<br \/>    display: flex;<br \/>    flex-direction: column;<br \/>    align-items: center;<br \/>    gap: 8px;<br \/>    justify-content: center;<br \/>    flex: 1;<br \/>  }<\/p>\n<p>  .iiot-node {<br \/>    background-color: rgba(255, 255, 255, 0.05);<br \/>    border: 1px solid rgba(255, 255, 255, 0.25);<br \/>    backdrop-filter: blur(4px);<br \/>    border-radius: 6px;<br \/>    padding: 10px 16px;<br \/>    font-weight: 600;<br \/>    color: inherit;<br \/>    font-size: 0.88rem;<br \/>    text-align: center;<br \/>    box-sizing: border-box;<br \/>    width: 100%;<br \/>    max-width: 220px;<br \/>    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;<br \/>  }<\/p>\n<p>  .iiot-node-sub {<br \/>    max-width: none;<br \/>    flex: 1;<br \/>    font-size: 0.8rem;<br \/>    padding: 8px 10px;<br \/>  }<\/p>\n<p>  .iiot-node:hover {<br \/>    transform: translateY(-2px);<br \/>    border-color: rgba(255, 255, 255, 0.4);<br \/>    background-color: rgba(255, 255, 255, 0.1);<br \/>  }<\/p>\n<p>  .iiot-arrow-down {<br \/>    color: inherit;<br \/>    opacity: 0.5;<br \/>    font-size: 1.1rem;<br \/>    line-height: 1;<br \/>  }<\/p>\n<p>  .iiot-branch-row {<br \/>    display: flex;<br \/>    flex-direction: row;<br \/>    gap: 8px;<br \/>    width: 100%;<br \/>  }<\/p>\n<p>  \/* Use Cases Grid *\/<br \/>  .iiot-usecase-grid {<br \/>    display: flex;<br \/>    flex-direction: column;<br \/>    gap: 8px;<br \/>    justify-content: center;<br \/>    flex: 1;<br \/>  }<\/p>\n<p>  .iiot-usecase-pill {<br \/>    display: flex;<br \/>    align-items: center;<br \/>    gap: 10px;<br \/>    background-color: rgba(255, 255, 255, 0.05);<br \/>    border: 1px solid rgba(255, 255, 255, 0.2);<br \/>    border-radius: 6px;<br \/>    padding: 10px 14px;<br \/>    font-size: 0.88rem;<br \/>    font-weight: 500;<br \/>    color: inherit;<br \/>    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;<br \/>  }<\/p>\n<p>  .iiot-usecase-pill:hover {<br \/>    transform: translateX(4px);<br \/>    border-color: rgba(255, 255, 255, 0.4);<br \/>    background-color: rgba(255, 255, 255, 0.1);<br \/>  }<\/p>\n<p>  .iiot-pill-icon {<br \/>    font-style: normal;<br \/>    font-size: 0.95rem;<br \/>    line-height: 1;<br \/>  }<\/p>\n<p>  \/* Footer Text Box *\/<br \/>  .iiot-footer-text {<br \/>    text-align: center;<br \/>    font-weight: 500;<br \/>    font-size: 0.95rem;<br \/>    color: inherit;<br \/>    opacity: 0.9;<br \/>    padding: 14px 20px;<br \/>    border-radius: 6px;<br \/>    background-color: rgba(255, 255, 255, 0.05);<br \/>    border: 1px solid rgba(255, 255, 255, 0.15);<br \/>    max-width: 800px;<br \/>    margin: 0 auto;<br \/>  }<\/p>\n<p>  \/* Responsive Adjustments for Mobile \/ Small Screens *\/<br \/>  @media (max-width: 850px) {<br \/>    .iiot-layout-grid {<br \/>      grid-template-columns: 1fr;<br \/>    }<\/p>\n<p>    .iiot-branch-row {<br \/>      flex-direction: column;<br \/>      align-items: center;<br \/>    }<\/p>\n<p>    .iiot-node-sub {<br \/>      width: 100%;<br \/>      max-width: 220px;<br \/>    }<br \/>  }<br \/><\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-eacad2c e-con e-atomic-element e-flexbox-base e-988f483\" data-id=\"eacad2c\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"eacad2c\">\n    \t\t<div class=\"elementor-element elementor-element-8d93591 elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"8d93591\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_8d93591 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_8d93591 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_8d93591 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_8d93591 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_8d93591 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_8d93591:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_8d93591:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_8d93591:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_8d93591:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_8d93591\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">MQTT<\/div>\t\n\t\t<div class=\"ue-text moveFromRight\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\u26a1<\/span>\n      <h3>MQTT pour l'\u00e9change de donn\u00e9es industrielles<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <p class=\"iiot-description\">\n        MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie \u00ab publication\/abonnement \u00bb l\u00e9ger, con\u00e7u pour assurer une diffusion efficace des donn\u00e9es entre les appareils connect\u00e9s et les logiciels. En s'appuyant sur un courtier central, il \u00e9vite d'avoir \u00e0 maintenir des connexions directes de pair \u00e0 pair entre chaque composant du syst\u00e8me.\n      <\/p>\n\n      <!-- Architecture Diagram & Use Cases Side-by-Side Grid -->\n      <div class=\"iiot-layout-grid\">\n        \n        <!-- Typical Architecture Flowchart -->\n        <div class=\"iiot-arch-box\">\n          <div class=\"iiot-arch-title\">Architecture typique<\/div>\n          <div class=\"iiot-vertical-flow\">\n            <div class=\"iiot-node\">Machine \/ Automate programmable (PLC)<\/div>\n            <div class=\"iiot-arrow-down\">\u2193<\/div>\n            <div class=\"iiot-node\">\u00c9metteur MQTT<\/div>\n            <div class=\"iiot-arrow-down\">\u2193<\/div>\n            <div class=\"iiot-node\">Courtier MQTT<\/div>\n            <div class=\"iiot-arrow-down\">\u2193<\/div>\n            \n            <!-- Split Subscribers Branch -->\n            <div class=\"iiot-branch-row\">\n              <div class=\"iiot-node iiot-node-sub\">SCADA<\/div>\n              <div class=\"iiot-node iiot-node-sub\">Application<\/div>\n              <div class=\"iiot-node iiot-node-sub\">Analyse de donn\u00e9es<\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <!-- MQTT Use Cases Grid -->\n        <div class=\"iiot-usecases-box\">\n          <div class=\"iiot-arch-title\">Principales applications<\/div>\n          <div class=\"iiot-usecase-grid\">\n            <div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83c\udf10<\/i> IoT industriel<\/div>\n            <div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83d\udce1<\/i> Donn\u00e9es des capteurs<\/div>\n            <div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83d\udcca<\/i> T\u00e9l\u00e9m\u00e9trie des machines<\/div>\n            <div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83d\udd00<\/i> Syst\u00e8mes distribu\u00e9s<\/div>\n            <div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\u2699\ufe0f<\/i> Applications en p\u00e9riph\u00e9rie<\/div>\n            <div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\ud83d\udcc8<\/i> La Production de l'information<\/div>\n            <div class=\"iiot-usecase-pill\"><i class=\"iiot-pill-icon\">\u2601\ufe0f<\/i> Diffusion de donn\u00e9es \u00e0 distance<\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n\n      <!-- Plain Footer Text Box -->\n      <div class=\"iiot-footer-text\">\n        Le protocole MQTT r\u00e9duit la charge sur la bande passante r\u00e9seau et simplifie la mise \u00e0 l'\u00e9chelle dans les environnements de t\u00e9l\u00e9m\u00e9trie industrielle en temps r\u00e9el \u00e0 haute densit\u00e9.\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-description {\n    color: inherit;\n    opacity: 0.9;\n    line-height: 1.6;\n    margin-bottom: 24px;\n    font-size: 0.98rem;\n    text-align: center;\n  }\n\n  \/* Main Side-by-Side Layout Grid *\/\n  .iiot-layout-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 20px;\n    margin-bottom: 24px;\n    align-items: stretch;\n  }\n\n  .iiot-arch-box,\n  .iiot-usecases-box {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 20px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .iiot-arch-title {\n    font-size: 0.85rem;\n    font-weight: 700;\n    letter-spacing: 1.2px;\n    text-transform: uppercase;\n    opacity: 0.7;\n    margin-bottom: 16px;\n    text-align: center;\n    color: inherit;\n  }\n\n  \/* Vertical Architecture Flow *\/\n  .iiot-vertical-flow {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 8px;\n    justify-content: center;\n    flex: 1;\n  }\n\n  .iiot-node {\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 10px 16px;\n    font-weight: 600;\n    color: inherit;\n    font-size: 0.88rem;\n    text-align: center;\n    box-sizing: border-box;\n    width: 100%;\n    max-width: 220px;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-node-sub {\n    max-width: none;\n    flex: 1;\n    font-size: 0.8rem;\n    padding: 8px 10px;\n  }\n\n  .iiot-node:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-arrow-down {\n    color: inherit;\n    opacity: 0.5;\n    font-size: 1.1rem;\n    line-height: 1;\n  }\n\n  .iiot-branch-row {\n    display: flex;\n    flex-direction: row;\n    gap: 8px;\n    width: 100%;\n  }\n\n  \/* Use Cases Grid *\/\n  .iiot-usecase-grid {\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n    justify-content: center;\n    flex: 1;\n  }\n\n  .iiot-usecase-pill {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 6px;\n    padding: 10px 14px;\n    font-size: 0.88rem;\n    font-weight: 500;\n    color: inherit;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-usecase-pill:hover {\n    transform: translateX(4px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-pill-icon {\n    font-style: normal;\n    font-size: 0.95rem;\n    line-height: 1;\n  }\n\n  \/* Plain Footer Text Box *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 500;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Responsive Adjustments for Mobile \/ Small Screens *\/\n  @media (max-width: 850px) {\n    .iiot-layout-grid {\n      grid-template-columns: 1fr;\n    }\n\n    .iiot-branch-row {\n      flex-direction: column;\n      align-items: center;\n    }\n\n    .iiot-node-sub {\n      width: 100%;\n      max-width: 220px;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-d2ba5b2 e-con e-atomic-element e-flexbox-base e-f328369\" data-id=\"d2ba5b2\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"d2ba5b2\">\n    \t\t<div class=\"elementor-element elementor-element-bdb1f9b elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"bdb1f9b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_bdb1f9b {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_bdb1f9b .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_bdb1f9b .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_bdb1f9b .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_bdb1f9b .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_bdb1f9b:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_bdb1f9b:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_bdb1f9b:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_bdb1f9b:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_bdb1f9b\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">OPC UA vs MQTT<\/div>\t\n\t\t<div class=\"ue-text moveFromLeft\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\u2696\ufe0f<\/span>\n      <h3>Des technologies adapt\u00e9es \u00e0 chaque besoin<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n\n      <!-- Comparison Table -->\n      <div class=\"iiot-table-wrapper\">\n        <table class=\"iiot-comparison-table\">\n          <thead>\n            <tr>\n              <th>Fonctionnalit\u00e9<\/th>\n              <th>OPC UA<\/th>\n              <th>MQTT<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"iiot-feature-cell\">Objectif principal<\/td>\n              <td>Communication entre syst\u00e8mes industriels<\/td>\n              <td>Diffusion de messages\/donn\u00e9es<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"iiot-feature-cell\">Mod\u00e8le de communication<\/td>\n              <td>Client \/ Serveur<\/td>\n              <td>Publier \/ S'abonner<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"iiot-feature-cell\">Environnement type<\/td>\n              <td>Machines, automates programmables, SCADA<\/td>\n              <td>IoT, informatique en p\u00e9riph\u00e9rie et syst\u00e8mes distribu\u00e9s<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"iiot-feature-cell\">Structure de donn\u00e9es<\/td>\n              <td>Mod\u00e8le d'information industriel complet<\/td>\n              <td>Messages l\u00e9gers<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"iiot-feature-cell\">Utilisation courante<\/td>\n              <td>Int\u00e9gration de machines\/syst\u00e8mes<\/td>\n              <td>Diffusion des donn\u00e9es<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"iiot-feature-cell\">Architecture<\/td>\n              <td>Communication directe entre syst\u00e8mes<\/td>\n              <td>Communication via un courtier<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n\n      <!-- Footer Text Box -->\n      <div class=\"iiot-footer-text\">\n        OPC UA et MQTT ne sont pas n\u00e9cessairement des technologies concurrentes. Dans de nombreuses architectures industrielles, elles peuvent \u00eatre utilis\u00e9es conjointement.\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  \/* Table Styling *\/\n  .iiot-table-wrapper {\n    width: 100%;\n    overflow-x: auto;\n    margin-bottom: 24px;\n  }\n\n  .iiot-comparison-table {\n    width: 100%;\n    border-collapse: collapse;\n    text-align: left;\n    font-size: 0.9rem;\n    color: inherit;\n  }\n\n  .iiot-comparison-table th,\n  .iiot-comparison-table td {\n    padding: 14px 18px;\n    border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n  }\n\n  .iiot-comparison-table th {\n    background-color: rgba(255, 255, 255, 0.06);\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n    letter-spacing: 0.5px;\n  }\n\n  .iiot-comparison-table th:nth-child(2),\n  .iiot-comparison-table th:nth-child(3) {\n    width: 38%;\n  }\n\n  .iiot-comparison-table tr:hover {\n    background-color: rgba(255, 255, 255, 0.03);\n  }\n\n  .iiot-feature-cell {\n    font-weight: 600;\n    opacity: 0.85;\n    background-color: rgba(255, 255, 255, 0.02);\n  }\n\n  \/* Footer Text Box *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 500;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Mobile Responsive Adjustments *\/\n  @media (max-width: 768px) {\n    .iiot-comparison-table th,\n    .iiot-comparison-table td {\n      padding: 10px 12px;\n      font-size: 0.85rem;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-ccb9413 e-con e-atomic-element e-flexbox-base e-358e617\" data-id=\"ccb9413\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"ccb9413\">\n    \t\t<div class=\"elementor-element elementor-element-d2217cc elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"d2217cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-34eeb1b e-con e-atomic-element e-flexbox-base e-60bbc64\" data-id=\"34eeb1b\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"34eeb1b\">\n    \t\t<div class=\"elementor-element elementor-element-7d3e13d elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"7d3e13d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_7d3e13d {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_7d3e13d .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_7d3e13d .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_7d3e13d .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_7d3e13d .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_7d3e13d:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_7d3e13d:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_7d3e13d:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_7d3e13d:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_7d3e13d\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">OPC UA + MQTT<\/div>\t\n\t\t<div class=\"ue-text moveFromRight\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\u26a1<\/span>\n      <h3>Combiner OPC UA et MQTT<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n\n      <!-- Combined Architecture Flowchart -->\n      <div class=\"iiot-hybrid-arch\">\n        \n        <!-- Level 1: Factory Floor Equipment -->\n        <div class=\"iiot-arch-level\">\n          <div class=\"iiot-level-label\">Atelier de production<\/div>\n          <div class=\"iiot-equip-row\">\n            <div class=\"iiot-node iiot-node-equip\"><i class=\"iiot-pill-icon\">\ud83d\udd0c<\/i> PLC<\/div>\n            <div class=\"iiot-node iiot-node-equip\"><i class=\"iiot-pill-icon\">\u2699\ufe0f<\/i> CNC<\/div>\n            <div class=\"iiot-node iiot-node-equip\"><i class=\"iiot-pill-icon\">\ud83e\udd16<\/i> Robot<\/div>\n            <div class=\"iiot-node iiot-node-equip\"><i class=\"iiot-pill-icon\">\ud83d\udce1<\/i> Capteur<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Protocol Transition 1: OPC UA -->\n        <div class=\"iiot-protocol-connector\">\n          <div class=\"iiot-arrow-down\">\u2193<\/div>\n          <div class=\"iiot-protocol-badge iiot-badge-opcua\">OPC UA (communication OT structur\u00e9e)<\/div>\n          <div class=\"iiot-arrow-down\">\u2193<\/div>\n        <\/div>\n\n        <!-- Level 2: Edge Gateway -->\n        <div class=\"iiot-arch-level\">\n          <div class=\"iiot-node iiot-node-gateway\">\n            <span class=\"iiot-pill-icon\">\ud83d\udd00<\/span> Passerelle p\u00e9riph\u00e9rique\n          <\/div>\n        <\/div>\n\n        <!-- Protocol Transition 2: MQTT -->\n        <div class=\"iiot-protocol-connector\">\n          <div class=\"iiot-arrow-down\">\u2193<\/div>\n          <div class=\"iiot-protocol-badge iiot-badge-mqtt\">MQTT (distribution l\u00e9g\u00e8re de donn\u00e9es)<\/div>\n          <div class=\"iiot-arrow-down\">\u2193<\/div>\n        <\/div>\n\n        <!-- Level 3: Broker -->\n        <div class=\"iiot-arch-level\">\n          <div class=\"iiot-node iiot-node-broker\">\n            <span class=\"iiot-pill-icon\">\u2601\ufe0f<\/span> Courtier MQTT\n          <\/div>\n        <\/div>\n\n        <!-- Connector Arrow to Enterprise Apps -->\n        <div class=\"iiot-protocol-connector\">\n          <div class=\"iiot-arrow-down\">\u2193<\/div>\n        <\/div>\n\n        <!-- Level 4: Enterprise Applications -->\n        <div class=\"iiot-arch-level\">\n          <div class=\"iiot-level-label\">Entreprise et analyse de donn\u00e9es<\/div>\n          <div class=\"iiot-equip-row\">\n            <div class=\"iiot-node iiot-node-app\"><i class=\"iiot-pill-icon\">\ud83d\udcbb<\/i> Logiciels<\/div>\n            <div class=\"iiot-node iiot-node-app\"><i class=\"iiot-pill-icon\">\ud83d\udcca<\/i> Analyse de donn\u00e9es<\/div>\n            <div class=\"iiot-node iiot-node-app\"><i class=\"iiot-pill-icon\">\ud83c\udf10<\/i> Cloud<\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n\n      <!-- Description \/ Text Content -->\n      <div class=\"iiot-context-text\">\n        OPC UA permet de communiquer avec des \u00e9quipements industriels et des syst\u00e8mes d'automatisation, tandis que MQTT permet de diffuser certaines informations vers d'autres applications et syst\u00e8mes.\n      <\/div>\n\n      <!-- Plain Footer Text Box -->\n      <div class=\"iiot-footer-text\">\n        Cette combinaison permet de mettre en place une architecture flexible entre l'atelier de production et les syst\u00e8mes logiciels de niveau sup\u00e9rieur.\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  \/* Combined Hybrid Architecture Box *\/\n  .iiot-hybrid-arch {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 24px 20px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    margin-bottom: 24px;\n  }\n\n  .iiot-arch-level {\n    width: 100%;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 8px;\n  }\n\n  .iiot-level-label {\n    font-size: 0.75rem;\n    font-weight: 700;\n    letter-spacing: 1.5px;\n    text-transform: uppercase;\n    opacity: 0.6;\n    margin-bottom: 4px;\n  }\n\n  .iiot-equip-row {\n    display: flex;\n    flex-direction: row;\n    gap: 12px;\n    width: 100%;\n    justify-content: center;\n    flex-wrap: wrap;\n  }\n\n  .iiot-node {\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 10px 16px;\n    font-weight: 600;\n    color: inherit;\n    font-size: 0.88rem;\n    text-align: center;\n    box-sizing: border-box;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-node:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-node-equip {\n    flex: 1;\n    min-width: 100px;\n    max-width: 160px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n  }\n\n  .iiot-node-gateway {\n    width: 100%;\n    max-width: 320px;\n    padding: 12px 20px;\n    font-size: 0.95rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    background-color: rgba(255, 255, 255, 0.08);\n  }\n\n  .iiot-node-broker {\n    width: 100%;\n    max-width: 320px;\n    padding: 12px 20px;\n    font-size: 0.95rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    background-color: rgba(255, 255, 255, 0.08);\n  }\n\n  .iiot-node-app {\n    flex: 1;\n    min-width: 120px;\n    max-width: 200px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n  }\n\n  \/* Connectors & Badges *\/\n  .iiot-protocol-connector {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    margin: 8px 0;\n    gap: 4px;\n  }\n\n  .iiot-arrow-down {\n    color: inherit;\n    opacity: 0.5;\n    font-size: 1.1rem;\n    line-height: 1;\n  }\n\n  .iiot-protocol-badge {\n    padding: 4px 12px;\n    border-radius: 20px;\n    font-size: 0.75rem;\n    font-weight: 600;\n    letter-spacing: 0.5px;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    background-color: rgba(255, 255, 255, 0.06);\n    color: inherit;\n    opacity: 0.9;\n  }\n\n  .iiot-pill-icon {\n    font-style: normal;\n    font-size: 0.95rem;\n    line-height: 1;\n  }\n\n  \/* Context Text Box *\/\n  .iiot-context-text {\n    text-align: center;\n    font-size: 0.95rem;\n    line-height: 1.6;\n    color: inherit;\n    opacity: 0.88;\n    margin-bottom: 16px;\n    padding: 0 10px;\n  }\n\n  \/* Plain Footer Text Box *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Responsive Adjustments for Mobile \/ Small Screens *\/\n  @media (max-width: 768px) {\n    .iiot-equip-row {\n      flex-direction: column;\n      align-items: center;\n    }\n\n    .iiot-node-equip,\n    .iiot-node-app {\n      width: 100%;\n      max-width: 280px;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-8816317 e-con e-atomic-element e-flexbox-base e-be9d834\" data-id=\"8816317\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"8816317\">\n    \t\t<div class=\"elementor-element elementor-element-7d40e0c elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"7d40e0c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_7d40e0c {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_7d40e0c .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_7d40e0c .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_7d40e0c .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_7d40e0c .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_7d40e0c:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_7d40e0c:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_7d40e0c:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_7d40e0c:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_7d40e0c\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">ARCHITECTURE DE COMMUNICATION INDUSTRIELLE<\/div>\t\n\t\t<div class=\"ue-text moveFromLeft\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83d\udee0\ufe0f<\/span>\n      <h3>Conception de la couche de communication<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <p class=\"iiot-description\">\n        GPLG ne se contente pas d'installer un protocole. Nous \u00e9valuons d'abord les principales exigences architecturales avant de concevoir l'infrastructure de communication adapt\u00e9e :\n      <\/p>\n\n      <!-- Main Layout Grid: Design Considerations & Architecture Flowchart -->\n      <div class=\"iiot-layout-grid\">\n        \n        <!-- Key Requirements Checklist Grid -->\n        <div class=\"iiot-requirements-box\">\n          <div class=\"iiot-box-title\">Param\u00e8tres de conception<\/div>\n          <div class=\"iiot-checklist-grid\">\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udd17<\/i> Quels sont les syst\u00e8mes qui doivent communiquer entre eux ?<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udccb<\/i> Quelles informations doivent \u00eatre \u00e9chang\u00e9es ?<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udccd<\/i> D'o\u00f9 proviennent ces informations ?<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83c\udfaf<\/i> L\u00e0 o\u00f9 il faut qu'il aille<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\u26a1<\/i> Vitesse de communication requise<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83c\udf10<\/i> Architecture r\u00e9seau<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\u2699\ufe0f<\/i> Exigences en mati\u00e8re de fiabilit\u00e9<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udee1\ufe0f<\/i> Exigences en mati\u00e8re de s\u00e9curit\u00e9<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udcbb<\/i> Traitement local ou \u00e0 distance<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- System Architecture Vertical Flow -->\n        <div class=\"iiot-arch-box\">\n          <div class=\"iiot-box-title\">Architecture du syst\u00e8me<\/div>\n          <div class=\"iiot-vertical-flow\">\n            <div class=\"iiot-node\">Machines<\/div>\n            <div class=\"iiot-arrow-down\">\u2193<\/div>\n            <div class=\"iiot-node\">Automates programmables \/ Contr\u00f4leurs<\/div>\n            <div class=\"iiot-arrow-down\">\u2193<\/div>\n            <div class=\"iiot-node\">R\u00e9seau industriel<\/div>\n            <div class=\"iiot-arrow-down\">\u2193<\/div>\n            <div class=\"iiot-node iiot-node-highlight\">Couche de communication<\/div>\n            <div class=\"iiot-arrow-down\">\u2193<\/div>\n            <div class=\"iiot-node\">P\u00e9riph\u00e9rie \/ Passerelle<\/div>\n            <div class=\"iiot-arrow-down\">\u2193<\/div>\n            <div class=\"iiot-node\">Logiciels industriels<\/div>\n            <div class=\"iiot-arrow-down\">\u2193<\/div>\n            <div class=\"iiot-node\">SCADA \/ Donn\u00e9es \/ Applications<\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n\n      <!-- Footer Text Box -->\n      <div class=\"iiot-footer-text\">\n        Nous concevons ensuite l'architecture de communication adapt\u00e9e, con\u00e7ue sur mesure pour r\u00e9pondre pr\u00e9cis\u00e9ment aux besoins op\u00e9rationnels.\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-description {\n    color: inherit;\n    opacity: 0.9;\n    line-height: 1.6;\n    margin-bottom: 24px;\n    font-size: 0.98rem;\n    text-align: center;\n  }\n\n  \/* Main Side-by-Side Layout Grid *\/\n  .iiot-layout-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 20px;\n    margin-bottom: 24px;\n    align-items: stretch;\n  }\n\n  .iiot-requirements-box,\n  .iiot-arch-box {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 20px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .iiot-box-title {\n    font-size: 0.85rem;\n    font-weight: 700;\n    letter-spacing: 1.2px;\n    text-transform: uppercase;\n    opacity: 0.7;\n    margin-bottom: 16px;\n    text-align: center;\n    color: inherit;\n  }\n\n  \/* Design Parameters Checklist *\/\n  .iiot-checklist-grid {\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n    justify-content: center;\n    flex: 1;\n  }\n\n  .iiot-check-pill {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 6px;\n    padding: 9px 12px;\n    font-size: 0.85rem;\n    font-weight: 500;\n    color: inherit;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-check-pill:hover {\n    transform: translateX(4px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-pill-icon {\n    font-style: normal;\n    font-size: 0.95rem;\n    line-height: 1;\n  }\n\n  \/* Vertical Architecture Flowchart *\/\n  .iiot-vertical-flow {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 6px;\n    justify-content: center;\n    flex: 1;\n  }\n\n  .iiot-node {\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 8px 14px;\n    font-weight: 600;\n    color: inherit;\n    font-size: 0.85rem;\n    text-align: center;\n    box-sizing: border-box;\n    width: 100%;\n    max-width: 240px;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-node-highlight {\n    background-color: rgba(255, 255, 255, 0.12);\n    border-color: rgba(255, 255, 255, 0.4);\n  }\n\n  .iiot-node:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-arrow-down {\n    color: inherit;\n    opacity: 0.5;\n    font-size: 1rem;\n    line-height: 1;\n  }\n\n  \/* Footer Text Box *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Responsive Adjustments *\/\n  @media (max-width: 850px) {\n    .iiot-layout-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-453ee98 e-con e-atomic-element e-flexbox-base e-813058e\" data-id=\"453ee98\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"453ee98\">\n    \t\t<div class=\"elementor-element elementor-element-daff090 elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"daff090\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_daff090 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_daff090 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_daff090 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_daff090 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_daff090 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_daff090:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_daff090:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_daff090:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_daff090:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_daff090\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">IMPL\u00c9MENTATION D'OPC UA<\/div>\t\n\t\t<div class=\"ue-text moveFromRight\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83d\udd0c<\/span>\n      <h3>Int\u00e9gration d'OPC UA dans les syst\u00e8mes industriels<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <p class=\"iiot-description\">\n        GPLG met en \u0153uvre la communication OPC UA dans le cadre de projets d'int\u00e9gration de machines et d'automatisation. En fonction des \u00e9quipements, l'architecture d'int\u00e9gration peut comporter les composants cl\u00e9s et les phases d'ex\u00e9cution suivants :\n      <\/p>\n\n      <!-- 5-Card Grid Layout -->\n      <div class=\"iiot-pillar-grid\">\n        \n        <div class=\"iiot-pillar-card\">\n          <div class=\"iiot-pillar-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udda5\ufe0f<\/span>\n            <div class=\"iiot-pillar-title\">Serveur OPC UA<\/div>\n          <\/div>\n          <div class=\"iiot-pillar-desc\">Fournit des informations structur\u00e9es provenant d'un syst\u00e8me industriel.<\/div>\n        <\/div>\n\n        <div class=\"iiot-pillar-card\">\n          <div class=\"iiot-pillar-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udcbb<\/span>\n            <div class=\"iiot-pillar-title\">Client OPC UA<\/div>\n          <\/div>\n          <div class=\"iiot-pillar-desc\">Lit ou interagit avec les informations fournies par un serveur OPC UA.<\/div>\n        <\/div>\n\n        <div class=\"iiot-pillar-card\">\n          <div class=\"iiot-pillar-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\uddfa\ufe0f<\/span>\n            <div class=\"iiot-pillar-title\">Mappage des donn\u00e9es<\/div>\n          <\/div>\n          <div class=\"iiot-pillar-desc\">D\u00e9termine quelles variables et quelles informations doivent \u00eatre \u00e9chang\u00e9es.<\/div>\n        <\/div>\n\n        <div class=\"iiot-pillar-card\">\n          <div class=\"iiot-pillar-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udd17<\/span>\n            <div class=\"iiot-pillar-title\">L'int\u00e9gration<\/div>\n          <\/div>\n          <div class=\"iiot-pillar-desc\">Relie les donn\u00e9es au syst\u00e8me SCADA, \u00e0 un logiciel industriel ou \u00e0 d\u2019autres syst\u00e8mes.<\/div>\n        <\/div>\n\n        <div class=\"iiot-pillar-card iiot-card-span\">\n          <div class=\"iiot-pillar-header\">\n            <span class=\"iiot-pill-icon\">\u2705<\/span>\n            <div class=\"iiot-pillar-title\">Validation<\/div>\n          <\/div>\n          <div class=\"iiot-pillar-desc\">V\u00e9rifie que les donn\u00e9es sont correctement \u00e9chang\u00e9es et que le syst\u00e8me se comporte comme pr\u00e9vu.<\/div>\n        <\/div>\n\n      <\/div>\n\n      <!-- Footer Text Box -->\n      <div class=\"iiot-footer-text\">\n        Une mise en \u0153uvre de bout en bout garantissant des structures de donn\u00e9es fiables et une connectivit\u00e9 transparente avec les logiciels industriels.\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-description {\n    color: inherit;\n    opacity: 0.9;\n    line-height: 1.6;\n    margin-bottom: 24px;\n    font-size: 0.98rem;\n    text-align: center;\n  }\n\n  \/* Grid Layout for Integration Components *\/\n  .iiot-pillar-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 16px;\n    width: 100%;\n    margin-bottom: 24px;\n  }\n\n  .iiot-pillar-card {\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 18px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-pillar-card:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-card-span {\n    grid-column: span 2;\n  }\n\n  .iiot-pillar-header {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n\n  .iiot-pillar-title {\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n  }\n\n  .iiot-pill-icon {\n    font-style: normal;\n    font-size: 1rem;\n    line-height: 1;\n  }\n\n  .iiot-pillar-desc {\n    font-size: 0.88rem;\n    line-height: 1.45;\n    opacity: 0.85;\n    color: inherit;\n  }\n\n  \/* Plain Footer Text Box *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Responsive Adjustments for Mobile \/ Small Screens *\/\n  @media (max-width: 650px) {\n    .iiot-pillar-grid {\n      grid-template-columns: 1fr;\n    }\n\n    .iiot-card-span {\n      grid-column: span 1;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-81858bf e-con e-atomic-element e-flexbox-base e-6da2c0e\" data-id=\"81858bf\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"81858bf\">\n    \t\t<div class=\"elementor-element elementor-element-131403b ha-has-bg-overlay elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"131403b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_131403b {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_131403b .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_131403b .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_131403b .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_131403b .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_131403b:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_131403b:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_131403b:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_131403b:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_131403b\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">IMPL\u00c9MENTATION DE MQTT<\/div>\t\n\t\t<div class=\"ue-text moveFromLeft\"><div style=\"line-height: 1.4;\">\n\n    <h2 style=\"margin: 0 0 12px 0;\">Mise en \u0153uvre du protocole MQTT dans les environnements industriels<\/h2>\n\n    <p style=\"margin: 0 0 12px 0;\">\n        Les impl\u00e9mentations MQTT comprennent g\u00e9n\u00e9ralement :\n    <\/p>\n\n    <div style=\"        display: grid;        grid-template-columns: repeat(3, 1fr);        gap: 10px;        width: 100%;        margin-bottom: 14px;    \">\n\n        <div style=\"            border: 1px solid #aaa;            border-radius: 8px;            padding: 12px;            box-sizing: border-box;        \">\n            <strong>\u00c9diteurs<\/strong>\n            <p style=\"margin: 5px 0 0 0;\">\n                Appareils ou applications qui publient des informations.\n            <\/p>\n        <\/div>\n\n        <div style=\"            border: 1px solid #aaa;            border-radius: 8px;            padding: 12px;            box-sizing: border-box;        \">\n            <strong>Courtier<\/strong>\n            <p style=\"margin: 5px 0 0 0;\">\n                Le composant central charg\u00e9 de la r\u00e9ception et de la distribution des messages.\n            <\/p>\n        <\/div>\n\n        <div style=\"            border: 1px solid #aaa;            border-radius: 8px;            padding: 12px;            box-sizing: border-box;        \">\n            <strong>Abonn\u00e9s<\/strong>\n            <p style=\"margin: 5px 0 0 0;\">\n                Applications ou syst\u00e8mes qui re\u00e7oivent des informations sp\u00e9cifiques.\n            <\/p>\n        <\/div>\n\n    <\/div>\n\n    <p style=\"margin: 0 0 5px 0;\">\n        <strong>Th\u00e8mes<\/strong>\n    <\/p>\n\n    <p style=\"margin: 0 0 8px 0;\">\n        Canaux logiques utilis\u00e9s pour organiser les messages industriels.\n    <\/p>\n\n    <div style=\"        background: rgba(0,0,0,0.03);        border: 1px solid #ddd;        border-radius: 6px;        padding: 10px 14px;        font-family: monospace;        font-size: 13px;        line-height: 1.7;        overflow-x: auto;        margin-bottom: 14px;    \">\n        factory\/line01\/machine03\/status<br>\n        factory\/line01\/machine03\/temperature<br>\n        factory\/line01\/machine03\/production<br>\n        factory\/line01\/machine03\/alarm\n    <\/div>\n\n    <p style=\"margin: 0;\">\n        Cette structure permet de diffuser des informations sans avoir \u00e0 \u00e9tablir de connexions individuelles de type point \u00e0 point entre chaque syst\u00e8me.\n    <\/p>\n\n<\/div>\n\n<style>\n@media (max-width: 600px) {\n    .mqtt-components {\n        grid-template-columns: 1fr !important;\n    }\n}\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-ca70d6f e-con e-atomic-element e-flexbox-base e-bce09fc\" data-id=\"ca70d6f\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"ca70d6f\">\n    \t\t<div class=\"elementor-element elementor-element-9df4f51 ha-has-bg-overlay elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"9df4f51\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_9df4f51 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_9df4f51 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_9df4f51 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_9df4f51 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_9df4f51 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_9df4f51:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_9df4f51:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_9df4f51:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_9df4f51:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_9df4f51\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">FLUX DE DONN\u00c9ES INDUSTRIELLES<\/div>\t\n\t\t<div class=\"ue-text moveFromRight\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83d\udd04<\/span>\n      <h3>Du signal machine \u00e0 l'application logicielle<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n\n      <!-- Horizontal Flow Process -->\n      <div class=\"iiot-horizontal-flow\">\n        \n        <!-- Step 1 -->\n        <div class=\"iiot-flow-step\">\n          <div class=\"iiot-step-number\">01<\/div>\n          <div class=\"iiot-step-header\">\n            <span class=\"iiot-pill-icon\">\u2699\ufe0f<\/span>\n            <div class=\"iiot-step-title\">Machine<\/div>\n          <\/div>\n          <div class=\"iiot-step-desc\">Une machine g\u00e9n\u00e8re des informations op\u00e9rationnelles.<\/div>\n        <\/div>\n\n        <div class=\"iiot-flow-arrow\">\u2192<\/div>\n\n        <!-- Step 2 -->\n        <div class=\"iiot-flow-step\">\n          <div class=\"iiot-step-number\">02<\/div>\n          <div class=\"iiot-step-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udd0c<\/span>\n            <div class=\"iiot-step-title\">PLC<\/div>\n          <\/div>\n          <div class=\"iiot-step-desc\">Le syst\u00e8me de contr\u00f4le g\u00e8re et met \u00e0 disposition les variables de processus pertinentes.<\/div>\n        <\/div>\n\n        <div class=\"iiot-flow-arrow\">\u2192<\/div>\n\n        <!-- Step 3 -->\n        <div class=\"iiot-flow-step\">\n          <div class=\"iiot-step-number\">03<\/div>\n          <div class=\"iiot-step-header\">\n            <span class=\"iiot-pill-icon\">\ud83c\udf10<\/span>\n            <div class=\"iiot-step-title\">OPC UA<\/div>\n          <\/div>\n          <div class=\"iiot-step-desc\">Les informations industrielles structur\u00e9es sont mises \u00e0 la disposition de la couche de communication.<\/div>\n        <\/div>\n\n        <div class=\"iiot-flow-arrow\">\u2192<\/div>\n\n        <!-- Step 4 -->\n        <div class=\"iiot-flow-step\">\n          <div class=\"iiot-step-number\">04<\/div>\n          <div class=\"iiot-step-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udd00<\/span>\n            <div class=\"iiot-step-title\">P\u00e9riph\u00e9rie \/ Passerelle<\/div>\n          <\/div>\n          <div class=\"iiot-step-desc\">Les informations peuvent \u00eatre trait\u00e9es, filtr\u00e9es ou transform\u00e9es.<\/div>\n        <\/div>\n\n        <div class=\"iiot-flow-arrow\">\u2192<\/div>\n\n        <!-- Step 5 -->\n        <div class=\"iiot-flow-step\">\n          <div class=\"iiot-step-number\">05<\/div>\n          <div class=\"iiot-step-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udce1<\/span>\n            <div class=\"iiot-step-title\">MQTT<\/div>\n          <\/div>\n          <div class=\"iiot-step-desc\">Certaines informations sont diffus\u00e9es via l'infrastructure de messagerie.<\/div>\n        <\/div>\n\n        <div class=\"iiot-flow-arrow\">\u2192<\/div>\n\n        <!-- Step 6 -->\n        <div class=\"iiot-flow-step\">\n          <div class=\"iiot-step-number\">06<\/div>\n          <div class=\"iiot-step-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udcbb<\/span>\n            <div class=\"iiot-step-title\">Application<\/div>\n          <\/div>\n          <div class=\"iiot-step-desc\">Les syst\u00e8mes logiciels utilisent ces informations \u00e0 des fins de surveillance, d'analyse ou pour d'autres fonctions industrielles.<\/div>\n        <\/div>\n\n      <\/div>\n\n      <!-- Footer Text Box -->\n      <div class=\"iiot-footer-text\">\n        Un parcours op\u00e9rationnel de bout en bout qui transforme les signaux bruts provenant des \u00e9quipements en informations strat\u00e9giques de haut niveau pour l'entreprise.\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  \/* Horizontal Flow Container *\/\n  .iiot-horizontal-flow {\n    display: flex;\n    align-items: stretch;\n    justify-content: space-between;\n    gap: 8px;\n    overflow-x: auto;\n    padding-bottom: 12px;\n    margin-bottom: 24px;\n  }\n\n  \/* Flow Step Box *\/\n  .iiot-flow-step {\n    flex: 1;\n    min-width: 140px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 14px 12px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    gap: 6px;\n    position: relative;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-flow-step:hover {\n    transform: translateY(-3px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-step-number {\n    font-size: 0.75rem;\n    font-weight: 800;\n    opacity: 0.5;\n    letter-spacing: 0.5px;\n  }\n\n  .iiot-step-header {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n  }\n\n  .iiot-step-title {\n    font-weight: 600;\n    font-size: 0.9rem;\n    color: inherit;\n  }\n\n  .iiot-pill-icon {\n    font-style: normal;\n    font-size: 0.95rem;\n    line-height: 1;\n  }\n\n  .iiot-step-desc {\n    font-size: 0.8rem;\n    line-height: 1.35;\n    opacity: 0.85;\n    color: inherit;\n  }\n\n  \/* Connecting Arrow *\/\n  .iiot-flow-arrow {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 1.1rem;\n    font-weight: 700;\n    opacity: 0.4;\n    color: inherit;\n    padding: 0 2px;\n  }\n\n  \/* Footer Text Box *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Responsive Adjustments *\/\n  @media (max-width: 1024px) {\n    .iiot-horizontal-flow {\n      flex-direction: column;\n      gap: 12px;\n    }\n\n    .iiot-flow-step {\n      width: 100%;\n      min-width: unset;\n    }\n\n    .iiot-flow-arrow {\n      transform: rotate(90deg);\n      padding: 4px 0;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-88cbf1b e-con e-atomic-element e-flexbox-base e-f4cbbbd\" data-id=\"88cbf1b\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"88cbf1b\">\n    \t\t<div class=\"elementor-element elementor-element-d104a0a ha-has-bg-overlay elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"d104a0a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_d104a0a {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_d104a0a .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_d104a0a .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_d104a0a .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_d104a0a .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_d104a0a:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_d104a0a:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_d104a0a:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_d104a0a:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_d104a0a\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">CONNEXION D'\u00c9QUIPEMENTS ANCIENS<\/div>\t\n\t\t<div class=\"ue-text moveFromLeft\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83c\udfed<\/span>\n      <h3>Communication industrielle pour les machines existantes<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      \n      <p class=\"iiot-description\">\n        De nombreux environnements de production comprennent des \u00e9quipements provenant de diff\u00e9rents fabricants et de diff\u00e9rentes g\u00e9n\u00e9rations.<br> Une machine ne doit pas n\u00e9cessairement \u00eatre remplac\u00e9e simplement parce qu'elle ne prend pas en charge les technologies de communication modernes.<br> GPLG est en mesure d'\u00e9valuer les \u00e9quipements existants et de d\u00e9terminer comment les informations peuvent \u00eatre extraites et int\u00e9gr\u00e9es dans une architecture de communication moderne.\n      <\/p>\n\n      <!-- Assessment Criteria Section -->\n      <div class=\"iiot-assessment-box\">\n        <div class=\"iiot-box-title\">Crit\u00e8res d'\u00e9valuation pour l'int\u00e9gration des syst\u00e8mes existants<\/div>\n        <div class=\"iiot-checklist-grid\">\n          <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udcbb<\/i> Automate programmable existant<\/div>\n          <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\u2699\ufe0f<\/i> Contr\u00f4leur de machine<\/div>\n          <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udd0c<\/i> Ports de communication disponibles<\/div>\n          <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udce1<\/i> Protocoles existants<\/div>\n          <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udcca<\/i> Donn\u00e9es disponibles<\/div>\n          <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83c\udfaf<\/i> Informations obligatoires<\/div>\n          <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udd00<\/i> Exigences relatives \u00e0 la passerelle<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Highlighted Footer Statement -->\n      <div class=\"iiot-footer-text\">\n        Il est souvent possible d'int\u00e9grer des fonctionnalit\u00e9s de connectivit\u00e9 modernes sans pour autant remplacer la machine elle-m\u00eame.\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-description {\n    color: inherit;\n    opacity: 0.9;\n    line-height: 1.6;\n    margin-bottom: 24px;\n    font-size: 0.98rem;\n    text-align: center;\n  }\n\n  \/* Assessment Factors Container *\/\n  .iiot-assessment-box {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 20px;\n    box-sizing: border-box;\n    margin-bottom: 24px;\n  }\n\n  .iiot-box-title {\n    font-size: 0.85rem;\n    font-weight: 700;\n    letter-spacing: 1.2px;\n    text-transform: uppercase;\n    opacity: 0.7;\n    margin-bottom: 16px;\n    text-align: center;\n    color: inherit;\n  }\n\n  \/* Checklist Grid *\/\n  .iiot-checklist-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n    gap: 10px;\n  }\n\n  .iiot-check-pill {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 6px;\n    padding: 10px 14px;\n    font-size: 0.88rem;\n    font-weight: 500;\n    color: inherit;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-check-pill:hover {\n    transform: translateX(4px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-pill-icon {\n    font-style: normal;\n    font-size: 0.95rem;\n    line-height: 1;\n  }\n\n  \/* Footer Text Box *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Mobile Responsive Adjustments *\/\n  @media (max-width: 650px) {\n    .iiot-checklist-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-940a045 e-con e-atomic-element e-flexbox-base e-fd55c27\" data-id=\"940a045\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"940a045\">\n    \t\t<div class=\"elementor-element elementor-element-09d2f78 ha-has-bg-overlay elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"09d2f78\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_09d2f78 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_09d2f78 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_09d2f78 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_09d2f78 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_09d2f78 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_09d2f78:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_09d2f78:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_09d2f78:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_09d2f78:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_09d2f78\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">PLC et OPC UA<\/div>\t\n\t\t<div class=\"ue-text moveFromRight\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83d\udd17<\/span>\n      <h3>Connexion des syst\u00e8mes d'automates programmables (PLC) \u00e0 des applications de niveau sup\u00e9rieur<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <p class=\"iiot-description\">\n        OPC UA fournit une couche de communication structur\u00e9e entre les \u00e9quipements pilot\u00e9s par des automates programmables (PLC) et les plateformes logicielles de niveau sup\u00e9rieur.\n      <\/p>\n\n      <!-- Main Layout Grid: PLC Signals & Architecture Flow -->\n      <div class=\"iiot-layout-grid\">\n        \n        <!-- PLC Exposed Signals Box -->\n        <div class=\"iiot-signals-box\">\n          <div class=\"iiot-box-title\">Sources de donn\u00e9es des automates programmables (PLC)<\/div>\n          <div class=\"iiot-signal-list\">\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udcca<\/i> \u00c9tat de la machine<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udd22<\/i> Nombre d'unit\u00e9s produites<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\u23f1\ufe0f<\/i> Dur\u00e9e du cycle<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83c\udf21\ufe0f<\/i> Temp\u00e9rature<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\ud83d\udea8<\/i> Alarme<\/div>\n            <div class=\"iiot-check-pill\"><i class=\"iiot-pill-icon\">\u2699\ufe0f<\/i> Param\u00e8tres de processus<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Vertical Flow Architecture Box -->\n        <div class=\"iiot-flow-box\">\n          <div class=\"iiot-box-title\">Processus d'int\u00e9gration<\/div>\n          <div class=\"iiot-vertical-flow\">\n            <div class=\"iiot-node\">\n              <span class=\"iiot-pill-icon\">\ud83d\udd0c<\/span> PLC\n            <\/div>\n            <div class=\"iiot-arrow-down\">\u2193<\/div>\n            <div class=\"iiot-protocol-badge\">Couche OPC UA<\/div>\n            <div class=\"iiot-arrow-down\">\u2193<\/div>\n            <div class=\"iiot-node iiot-node-highlight\">\n              <span class=\"iiot-pill-icon\">\ud83d\udcbb<\/span> SCADA \/ Logiciels\n            <\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n\n      <!-- Footer Text Box -->\n      <div class=\"iiot-footer-text\">\n        Cela permet \u00e0 certaines informations provenant de l'automate programmable d'\u00eatre mises \u00e0 la disposition de syst\u00e8mes situ\u00e9s en dehors de la couche de commande directe de la machine.\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-description {\n    color: inherit;\n    opacity: 0.9;\n    line-height: 1.6;\n    margin-bottom: 24px;\n    font-size: 0.98rem;\n    text-align: center;\n  }\n\n  \/* Layout Grid *\/\n  .iiot-layout-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 20px;\n    margin-bottom: 24px;\n    align-items: stretch;\n  }\n\n  .iiot-signals-box,\n  .iiot-flow-box {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 20px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .iiot-box-title {\n    font-size: 0.85rem;\n    font-weight: 700;\n    letter-spacing: 1.2px;\n    text-transform: uppercase;\n    opacity: 0.7;\n    margin-bottom: 16px;\n    text-align: center;\n    color: inherit;\n  }\n\n  \/* Signal List Pills *\/\n  .iiot-signal-list {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 10px;\n    flex: 1;\n    align-content: center;\n  }\n\n  .iiot-check-pill {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 6px;\n    padding: 10px 12px;\n    font-size: 0.85rem;\n    font-weight: 500;\n    color: inherit;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-check-pill:hover {\n    transform: translateX(3px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-pill-icon {\n    font-style: normal;\n    font-size: 0.95rem;\n    line-height: 1;\n  }\n\n  \/* Flow Column *\/\n  .iiot-vertical-flow {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 10px;\n    justify-content: center;\n    flex: 1;\n  }\n\n  .iiot-node {\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 12px 20px;\n    font-weight: 600;\n    color: inherit;\n    font-size: 0.9rem;\n    text-align: center;\n    box-sizing: border-box;\n    width: 100%;\n    max-width: 240px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-node-highlight {\n    background-color: rgba(255, 255, 255, 0.1);\n    border-color: rgba(255, 255, 255, 0.4);\n  }\n\n  .iiot-node:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-protocol-badge {\n    padding: 6px 16px;\n    border-radius: 20px;\n    font-size: 0.8rem;\n    font-weight: 700;\n    letter-spacing: 0.5px;\n    border: 1px solid rgba(255, 255, 255, 0.3);\n    background-color: rgba(255, 255, 255, 0.08);\n    color: inherit;\n  }\n\n  .iiot-arrow-down {\n    color: inherit;\n    opacity: 0.5;\n    font-size: 1rem;\n    line-height: 1;\n  }\n\n  \/* Footer Text Box *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Responsive Adjustments *\/\n  @media (max-width: 850px) {\n    .iiot-layout-grid {\n      grid-template-columns: 1fr;\n    }\n\n    .iiot-signal-list {\n      grid-template-columns: 1fr;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-359a937 e-con e-atomic-element e-flexbox-base e-37c0c8f\" data-id=\"359a937\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"359a937\">\n    \t\t<div class=\"elementor-element elementor-element-2a69554 elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"2a69554\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_2a69554 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_2a69554 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_2a69554 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_2a69554 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_2a69554 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_2a69554:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_2a69554:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_2a69554:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_2a69554:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_2a69554\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">SCADA et OPC UA<\/div>\t\n\t\t<div class=\"ue-text moveFromLeft\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83d\udda5\ufe0f<\/span>\n      <h3>Supervision industrielle et \u00e9change de donn\u00e9es<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <p class=\"iiot-description\">\n        OPC UA constitue l'infrastructure de communication essentielle qui relie directement les machines industrielles aux logiciels de supervision.\n      <\/p>\n\n      <!-- Compact Linear Flow -->\n      <div class=\"iiot-compact-flow\">\n        <div class=\"iiot-node\"><span class=\"iiot-pill-icon\">\ud83d\udd0c<\/span> PLC<\/div>\n        <div class=\"iiot-arrow\">\u2192<\/div>\n        <div class=\"iiot-protocol-badge\">OPC UA<\/div>\n        <div class=\"iiot-arrow\">\u2192<\/div>\n        <div class=\"iiot-node iiot-node-highlight\"><span class=\"iiot-pill-icon\">\ud83d\udcca<\/span> SCADA<\/div>\n      <\/div>\n\n      <!-- Footer Text Box -->\n      <div class=\"iiot-footer-text\">\n        Permet aux applications SCADA d'acc\u00e9der directement aux informations structur\u00e9es provenant des \u00e9quipements connect\u00e9s.\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-description {\n    color: inherit;\n    opacity: 0.9;\n    line-height: 1.6;\n    margin-bottom: 20px;\n    font-size: 0.98rem;\n    text-align: center;\n  }\n\n  \/* Compact Horizontal Flow *\/\n  .iiot-compact-flow {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 12px;\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 16px 20px;\n    margin-bottom: 20px;\n    flex-wrap: wrap;\n  }\n\n  .iiot-node {\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 10px 18px;\n    font-weight: 600;\n    color: inherit;\n    font-size: 0.9rem;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-node-highlight {\n    background-color: rgba(255, 255, 255, 0.1);\n    border-color: rgba(255, 255, 255, 0.4);\n  }\n\n  .iiot-node:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-protocol-badge {\n    padding: 6px 16px;\n    border-radius: 20px;\n    font-size: 0.8rem;\n    font-weight: 700;\n    letter-spacing: 0.5px;\n    border: 1px solid rgba(255, 255, 255, 0.3);\n    background-color: rgba(255, 255, 255, 0.08);\n    color: inherit;\n  }\n\n  .iiot-arrow {\n    color: inherit;\n    opacity: 0.5;\n    font-size: 1.1rem;\n    font-weight: 700;\n  }\n\n  .iiot-pill-icon {\n    font-style: normal;\n    font-size: 0.95rem;\n    line-height: 1;\n  }\n\n  \/* Footer Text Box *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Mobile Responsive Adjustments *\/\n  @media (max-width: 600px) {\n    .iiot-compact-flow {\n      flex-direction: column;\n      gap: 8px;\n    }\n\n    .iiot-arrow {\n      transform: rotate(90deg);\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-52f94c4 e-con e-atomic-element e-flexbox-base e-5373a2c\" data-id=\"52f94c4\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"52f94c4\">\n    \t\t<div class=\"elementor-element elementor-element-3166dc1 elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"3166dc1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_3166dc1 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_3166dc1 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_3166dc1 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_3166dc1 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_3166dc1 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_3166dc1:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_3166dc1:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_3166dc1:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_3166dc1:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_3166dc1\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">MQTT et l'IoT industriel<\/div>\t\n\t\t<div class=\"ue-text moveFromRight\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83c\udf10<\/span>\n      <h3>Int\u00e9gration des donn\u00e9es industrielles aux architectures IoT<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <p class=\"iiot-description\">\n        Le protocole MQTT s'av\u00e8re particuli\u00e8rement utile lorsqu'il s'agit de diffuser efficacement des informations industrielles entre plusieurs logiciels ou composants IoT.\n      <\/p>\n\n      <!-- Horizontal Pipeline Architecture -->\n      <div class=\"iiot-pipeline-box\">\n        <div class=\"iiot-box-title\">Pipeline d'architecture<\/div>\n        <div class=\"iiot-horizontal-pipeline\">\n          \n          <div class=\"iiot-node\">\n            <span class=\"iiot-pill-icon\">\u2699\ufe0f<\/span>\n            <span>Machines<\/span>\n          <\/div>\n          <div class=\"iiot-arrow\">\u2192<\/div>\n\n          <div class=\"iiot-node\">\n            <span class=\"iiot-pill-icon\">\ud83d\udd0c<\/span>\n            <span>PLC<\/span>\n          <\/div>\n          <div class=\"iiot-arrow\">\u2192<\/div>\n\n          <div class=\"iiot-protocol-badge\">OPC UA<\/div>\n          <div class=\"iiot-arrow\">\u2192<\/div>\n\n          <div class=\"iiot-node\">\n            <span class=\"iiot-pill-icon\">\ud83d\udd00<\/span>\n            <span>Passerelle p\u00e9riph\u00e9rique<\/span>\n          <\/div>\n          <div class=\"iiot-arrow\">\u2192<\/div>\n\n          <div class=\"iiot-protocol-badge\">MQTT<\/div>\n          <div class=\"iiot-arrow\">\u2192<\/div>\n\n          <div class=\"iiot-node\">\n            <span class=\"iiot-pill-icon\">\u2601\ufe0f<\/span>\n            <span>Plateforme IoT<\/span>\n          <\/div>\n          <div class=\"iiot-arrow\">\u2192<\/div>\n\n          <div class=\"iiot-node iiot-node-highlight\">\n            <span class=\"iiot-pill-icon\">\ud83d\udcbb<\/span>\n            <span>Applications<\/span>\n          <\/div>\n\n        <\/div>\n      <\/div>\n\n      <!-- Layer Responsibilities Grid -->\n      <div class=\"iiot-layers-box\">\n        <div class=\"iiot-box-title\">Responsabilit\u00e9s par niveau<\/div>\n        <div class=\"iiot-layers-grid\">\n          \n          <div class=\"iiot-pillar-card\">\n            <div class=\"iiot-pillar-header\">\n              <span class=\"iiot-pill-icon\">\u2699\ufe0f<\/span>\n              <div class=\"iiot-pillar-title\">Machines et automates programmables<\/div>\n            <\/div>\n            <div class=\"iiot-pillar-desc\">Signaux op\u00e9rationnels g\u00e9n\u00e9r\u00e9s au niveau des \u00e9quipements et g\u00e9r\u00e9s par des syst\u00e8mes de contr\u00f4le en temps r\u00e9el.<\/div>\n          <\/div>\n\n          <div class=\"iiot-pillar-card\">\n            <div class=\"iiot-pillar-header\">\n              <span class=\"iiot-pill-icon\">\ud83d\udd0c<\/span>\n              <div class=\"iiot-pillar-title\">Couche OPC UA<\/div>\n            <\/div>\n            <div class=\"iiot-pillar-desc\">Organise les donn\u00e9es de l'usine en mod\u00e8les d'information standardis\u00e9s et riches en informations.<\/div>\n          <\/div>\n\n          <div class=\"iiot-pillar-card\">\n            <div class=\"iiot-pillar-header\">\n              <span class=\"iiot-pill-icon\">\ud83d\udd00<\/span>\n              <div class=\"iiot-pillar-title\">Passerelle p\u00e9riph\u00e9rique<\/div>\n            <\/div>\n            <div class=\"iiot-pillar-desc\">Filtre, agr\u00e8ge et transforme les donn\u00e9es pour une transmission l\u00e9g\u00e8re vers le cloud.<\/div>\n          <\/div>\n\n          <div class=\"iiot-pillar-card\">\n            <div class=\"iiot-pillar-header\">\n              <span class=\"iiot-pill-icon\">\ud83d\udce1<\/span>\n              <div class=\"iiot-pillar-title\">Plateforme MQTT et IoT<\/div>\n            <\/div>\n            <div class=\"iiot-pillar-desc\">Diffuse les donn\u00e9es de t\u00e9l\u00e9m\u00e9trie de mani\u00e8re transparente aux applications via des m\u00e9canismes de publication\/abonnement.<\/div>\n          <\/div>\n\n        <\/div>\n      <\/div>\n\n      <!-- Footer Text Box -->\n      <div class=\"iiot-footer-text\">\n        Cette architecture prend en charge les syst\u00e8mes industriels distribu\u00e9s dans lesquels diff\u00e9rentes applications doivent pouvoir acc\u00e9der \u00e0 certaines informations relatives aux machines.\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-description {\n    color: inherit;\n    opacity: 0.9;\n    line-height: 1.6;\n    margin-bottom: 24px;\n    font-size: 0.98rem;\n    text-align: center;\n  }\n\n  .iiot-box-title {\n    font-size: 0.85rem;\n    font-weight: 700;\n    letter-spacing: 1.2px;\n    text-transform: uppercase;\n    opacity: 0.7;\n    margin-bottom: 16px;\n    text-align: center;\n    color: inherit;\n  }\n\n  \/* Pipeline Box & Horizontal Flow *\/\n  .iiot-pipeline-box,\n  .iiot-layers-box {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 20px;\n    box-sizing: border-box;\n    margin-bottom: 24px;\n  }\n\n  .iiot-horizontal-pipeline {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 8px;\n    overflow-x: auto;\n    padding-bottom: 8px;\n  }\n\n  .iiot-node {\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 10px 14px;\n    font-weight: 600;\n    color: inherit;\n    font-size: 0.85rem;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    white-space: nowrap;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-node-highlight {\n    background-color: rgba(255, 255, 255, 0.1);\n    border-color: rgba(255, 255, 255, 0.4);\n  }\n\n  .iiot-node:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-protocol-badge {\n    padding: 6px 12px;\n    border-radius: 20px;\n    font-size: 0.75rem;\n    font-weight: 700;\n    letter-spacing: 0.5px;\n    border: 1px solid rgba(255, 255, 255, 0.3);\n    background-color: rgba(255, 255, 255, 0.08);\n    color: inherit;\n    white-space: nowrap;\n  }\n\n  .iiot-arrow {\n    color: inherit;\n    opacity: 0.5;\n    font-size: 1rem;\n    font-weight: 700;\n    padding: 0 2px;\n  }\n\n  \/* Layers Grid *\/\n  .iiot-layers-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n    gap: 12px;\n  }\n\n  .iiot-pillar-card {\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 12px 14px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    gap: 4px;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-pillar-card:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-pillar-header {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n\n  .iiot-pillar-title {\n    font-weight: 600;\n    font-size: 0.9rem;\n    color: inherit;\n  }\n\n  .iiot-pill-icon {\n    font-style: normal;\n    font-size: 0.95rem;\n    line-height: 1;\n  }\n\n  .iiot-pillar-desc {\n    font-size: 0.82rem;\n    line-height: 1.4;\n    opacity: 0.85;\n    color: inherit;\n  }\n\n  \/* Footer Text Box *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Responsive Adjustments *\/\n  @media (max-width: 850px) {\n    .iiot-horizontal-pipeline {\n      flex-direction: column;\n      gap: 8px;\n    }\n\n    .iiot-arrow {\n      transform: rotate(90deg);\n    }\n\n    .iiot-layers-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-8313c2d e-con e-atomic-element e-flexbox-base e-98d47d5\" data-id=\"8313c2d\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"8313c2d\">\n    \t\t<div class=\"elementor-element elementor-element-56dd831 elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"56dd831\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_56dd831 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_56dd831 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_56dd831 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_56dd831 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_56dd831 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_56dd831:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_56dd831:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_56dd831:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_56dd831:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_56dd831\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">S\u00c9CURIT\u00c9 DES COMMUNICATIONS<\/div>\t\n\t\t<div class=\"ue-text moveFromLeft\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83d\udee1\ufe0f<\/span>\n      <h3>La communication industrielle doit \u00eatre con\u00e7ue dans le respect de la s\u00e9curit\u00e9<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <p class=\"iiot-description\">\n        La connectivit\u00e9 industrielle ne doit pas se limiter \u00e0 la simple question de savoir si les donn\u00e9es peuvent \u00eatre \u00e9chang\u00e9es. GPLG prend en compte des facteurs architecturaux et op\u00e9rationnels cl\u00e9s afin de garantir une mise en \u0153uvre s\u00e9curis\u00e9e :\n      <\/p>\n\n      <!-- Professional Bullet List - 2 Columns -->\n      <div class=\"iiot-bullet-box\">\n        <ul class=\"iiot-professional-bullets\">\n          <li><strong>Segmentation du r\u00e9seau<\/strong> \u2014 Isoler les r\u00e9seaux de contr\u00f4le critiques des syst\u00e8mes de l'entreprise et des syst\u00e8mes externes.<\/li>\n          <li><strong>Authentification<\/strong> \u2014 V\u00e9rification de l'identit\u00e9 de tous les appareils, interm\u00e9diaires et syst\u00e8mes logiciels qui communiquent entre eux.<\/li>\n          <li><strong>Contr\u00f4le d'acc\u00e8s<\/strong> \u2014 Mettre en \u0153uvre des politiques de \u00ab privil\u00e8ge minimal \u00bb afin de limiter les capacit\u00e9s op\u00e9rationnelles de chaque syst\u00e8me.<\/li>\n          <li><strong>Chiffrement<\/strong> \u2014 Prot\u00e9ger les donn\u00e9es sensibles en transit et au repos, le cas \u00e9ch\u00e9ant.<\/li>\n          <li><strong>Exposition de l'appareil<\/strong> \u2014 R\u00e9duire au minimum les surfaces d'attaque et renforcer la s\u00e9curit\u00e9 des \u00e9quipements p\u00e9riph\u00e9riques contre tout acc\u00e8s non autoris\u00e9.<\/li>\n          <li><strong>S\u00e9curit\u00e9 des courtiers<\/strong> \u2014 Renforcer la s\u00e9curit\u00e9 des plateformes centrales de messagerie gr\u00e2ce \u00e0 des politiques rigoureuses et \u00e0 un suivi efficace.<\/li>\n          <li><strong>Droits d'utilisateur<\/strong> \u2014 Limiter les op\u00e9rations techniques et administratives au personnel habilit\u00e9 uniquement.<\/li>\n          <li><strong>Voies de communication<\/strong> \u2014 Contr\u00f4le et s\u00e9curisation des chemins de donn\u00e9es explicites de bout en bout.<\/li>\n          <li><strong>Architecture de r\u00e9seau industriel<\/strong> \u2014 Conception d\u2019une topologie r\u00e9siliente adapt\u00e9e aux environnements op\u00e9rationnels.<\/li>\n        <\/ul>\n      <\/div>\n\n      <!-- High-Priority Highlight Statement -->\n      <div class=\"iiot-footer-text\">\n        La connectivit\u00e9 ne doit en aucun cas compromettre la fiabilit\u00e9 ou la s\u00e9curit\u00e9 de l'environnement de contr\u00f4le industriel.\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-description {\n    color: inherit;\n    opacity: 0.9;\n    line-height: 1.6;\n    margin-bottom: 20px;\n    font-size: 0.98rem;\n  }\n\n  \/* Professional Bullet List Box *\/\n  .iiot-bullet-box {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 20px 24px;\n    box-sizing: border-box;\n    margin-bottom: 24px;\n  }\n\n  \/* Two-Column Grid Layout for Bullets *\/\n  .iiot-professional-bullets {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 16px 24px;\n  }\n\n  .iiot-professional-bullets li {\n    position: relative;\n    padding-left: 20px;\n    font-size: 0.92rem;\n    line-height: 1.5;\n    color: inherit;\n    opacity: 0.9;\n  }\n\n  .iiot-professional-bullets li::before {\n    content: \"\u2022\";\n    position: absolute;\n    left: 2px;\n    top: -1px;\n    font-size: 1.2rem;\n    opacity: 0.7;\n    color: inherit;\n  }\n\n  .iiot-professional-bullets li strong {\n    font-weight: 600;\n    opacity: 1;\n    color: inherit;\n  }\n\n  \/* Footer Text Box *\/\n  .iiot-footer-text {\n    text-align: center;\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n    opacity: 0.9;\n    padding: 14px 20px;\n    border-radius: 6px;\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* Responsive Adjustments: Single Column on Mobile *\/\n  @media (max-width: 768px) {\n    .iiot-professional-bullets {\n      grid-template-columns: 1fr;\n      gap: 12px;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-d386605 e-con e-atomic-element e-flexbox-base e-115d3c6\" data-id=\"d386605\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"d386605\">\n    \t\t<div class=\"elementor-element elementor-element-0c027b4 elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"0c027b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_0c027b4 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_0c027b4 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_0c027b4 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_0c027b4 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_0c027b4 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_0c027b4:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_0c027b4:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_0c027b4:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_0c027b4:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_0c027b4\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">\u00c9VALUATION DE LA COMMUNICATION<\/div>\t\n\t\t<div class=\"ue-text moveFromRight\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83d\udd0d<\/span>\n      <h3>Avant de mettre en \u0153uvre le protocole<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <p class=\"iiot-description\">\n        Nous \u00e9valuons tout d'abord l'environnement actuel selon plusieurs axes op\u00e9rationnels cl\u00e9s :\n      <\/p>\n\n      <!-- Professional Bullet List - 2 Columns -->\n      <div class=\"iiot-bullet-box\">\n        <ul class=\"iiot-professional-bullets\">\n          <li><strong>\u00c9quipements existants<\/strong> \u2014 Identification des machines, des automates programmables et des contr\u00f4leurs install\u00e9s.<\/li>\n          <li><strong>Moyens de communication disponibles<\/strong> \u2014 \u00c9valuation des protocoles et des interfaces disponibles.<\/li>\n          <li><strong>Exigences en mati\u00e8re de donn\u00e9es<\/strong> \u2014 D\u00e9finir les informations sp\u00e9cifiques qui doivent \u00eatre \u00e9chang\u00e9es.<\/li>\n          <li><strong>Destination<\/strong> \u2014 D\u00e9terminer les destinations vers lesquelles les donn\u00e9es doivent \u00eatre transmises.<\/li>\n          <li><strong>Performances<\/strong> \u2014 D\u00e9termination de la vitesse et de la fr\u00e9quence d'\u00e9change requises.<\/li>\n          <li><strong>Architecture<\/strong> \u2014 Choisir entre des mod\u00e8les directs, par l\u2019interm\u00e9diaire d\u2019un courtier, en p\u00e9riph\u00e9rie ou hybrides.<\/li>\n        <\/ul>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-description {\n    color: inherit;\n    opacity: 0.9;\n    line-height: 1.6;\n    margin-bottom: 20px;\n    font-size: 0.98rem;\n  }\n\n  \/* Professional Bullet List Box *\/\n  .iiot-bullet-box {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 20px 24px;\n    box-sizing: border-box;\n  }\n\n  \/* Two-Column Grid Layout for Bullets *\/\n  .iiot-professional-bullets {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 16px 24px;\n  }\n\n  .iiot-professional-bullets li {\n    position: relative;\n    padding-left: 20px;\n    font-size: 0.92rem;\n    line-height: 1.5;\n    color: inherit;\n    opacity: 0.9;\n  }\n\n  .iiot-professional-bullets li::before {\n    content: \"\u2022\";\n    position: absolute;\n    left: 2px;\n    top: -1px;\n    font-size: 1.2rem;\n    opacity: 0.7;\n    color: inherit;\n  }\n\n  .iiot-professional-bullets li strong {\n    font-weight: 600;\n    opacity: 1;\n    color: inherit;\n  }\n\n  \/* Responsive Adjustments: Single Column on Mobile *\/\n  @media (max-width: 768px) {\n    .iiot-professional-bullets {\n      grid-template-columns: 1fr;\n      gap: 12px;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-7444288 e-con e-atomic-element e-flexbox-base e-9b4358c\" data-id=\"7444288\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"7444288\">\n    \t\t<div class=\"elementor-element elementor-element-83e9605 elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"83e9605\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_83e9605 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_83e9605 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_83e9605 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_83e9605 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_83e9605 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_83e9605:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_83e9605:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_83e9605:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_83e9605:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_83e9605\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">LES TECHNOLOGIES QUE NOUS UTILISONS<\/div>\t\n\t\t<div class=\"ue-text moveFromLeft\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\u26a1<\/span>\n      <h3>Communication et int\u00e9gration industrielles<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <div class=\"iiot-tech-grid\">\n        \n        <!-- Category 1 -->\n        <div class=\"iiot-tech-category\">\n          <div class=\"iiot-category-label\">Communication industrielle<\/div>\n          <div class=\"iiot-badge-group\">\n            <span class=\"iiot-tech-badge\">OPC UA<\/span>\n            <span class=\"iiot-tech-badge\">MQTT<\/span>\n          <\/div>\n        <\/div>\n\n        <!-- Category 2 -->\n        <div class=\"iiot-tech-category\">\n          <div class=\"iiot-category-label\">API<\/div>\n          <div class=\"iiot-badge-group\">\n            <span class=\"iiot-tech-badge\">API REST<\/span>\n          <\/div>\n        <\/div>\n\n        <!-- Category 3 -->\n        <div class=\"iiot-tech-category\">\n          <div class=\"iiot-category-label\">Programmation<\/div>\n          <div class=\"iiot-badge-group\">\n            <span class=\"iiot-tech-badge\">C#<\/span>\n            <span class=\"iiot-tech-badge\">Python<\/span>\n          <\/div>\n        <\/div>\n\n        <!-- Category 4 -->\n        <div class=\"iiot-tech-category\">\n          <div class=\"iiot-category-label\">Automatisation<\/div>\n          <div class=\"iiot-badge-group\">\n            <span class=\"iiot-tech-badge\">PLC<\/span>\n            <span class=\"iiot-tech-badge\">SCADA<\/span>\n          <\/div>\n        <\/div>\n\n        <!-- Category 5 -->\n        <div class=\"iiot-tech-category\">\n          <div class=\"iiot-category-label\">Infrastructures<\/div>\n          <div class=\"iiot-badge-group\">\n            <span class=\"iiot-tech-badge\">Docker<\/span>\n            <span class=\"iiot-tech-badge\">Linux<\/span>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  \/* Tech Strip Grid Layout *\/\n  .iiot-tech-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n    gap: 16px;\n  }\n\n  .iiot-tech-category {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 16px;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: flex-start;\n    gap: 12px;\n    box-sizing: border-box;\n  }\n\n  .iiot-category-label {\n    font-size: 0.8rem;\n    font-weight: 700;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n    opacity: 0.75;\n    color: inherit;\n    text-align: center;\n  }\n\n  .iiot-badge-group {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n    justify-content: center;\n    align-items: center;\n  }\n\n  .iiot-tech-badge {\n    background-color: rgba(255, 255, 255, 0.08);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 6px 14px;\n    font-size: 0.88rem;\n    font-weight: 600;\n    color: inherit;\n    white-space: nowrap;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-tech-badge:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.45);\n    background-color: rgba(255, 255, 255, 0.15);\n  }\n\n  \/* Mobile Responsive *\/\n  @media (max-width: 600px) {\n    .iiot-tech-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-f8aa8f7 e-con e-atomic-element e-flexbox-base e-9f3d251\" data-id=\"f8aa8f7\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"f8aa8f7\">\n    \t\t<div class=\"elementor-element elementor-element-e7398b5 elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"e7398b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_e7398b5 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_e7398b5 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_e7398b5 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_e7398b5 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_e7398b5 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_e7398b5:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_e7398b5:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_e7398b5:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_e7398b5:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_e7398b5\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">APPLICATIONS<\/div>\t\n\t\t<div class=\"ue-text moveFromRight\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83d\udca1<\/span>\n      <h3>Dans quels contextes utilisons-nous OPC UA et MQTT ?<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <!-- 6-Card Grid Layout -->\n      <div class=\"iiot-six-cards-grid\">\n        \n        <!-- Card 1 -->\n        <div class=\"iiot-use-card\">\n          <div class=\"iiot-use-header\">\n            <span class=\"iiot-pill-icon\">\u2699\ufe0f<\/span>\n            <div class=\"iiot-use-title\">Int\u00e9gration des machines<\/div>\n          <\/div>\n          <div class=\"iiot-use-desc\">Connectez les machines et les automates \u00e0 l'aide d'un logiciel industriel.<\/div>\n        <\/div>\n\n        <!-- Card 2 -->\n        <div class=\"iiot-use-card\">\n          <div class=\"iiot-use-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udd0c<\/span>\n            <div class=\"iiot-use-title\">Acquisition de donn\u00e9es par automate programmable<\/div>\n          <\/div>\n          <div class=\"iiot-use-desc\">Acc\u00e9der aux informations pertinentes relatives aux processus \u00e0 partir des automates programmables (PLC).<\/div>\n        <\/div>\n\n        <!-- Card 3 -->\n        <div class=\"iiot-use-card\">\n          <div class=\"iiot-use-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udda5\ufe0f<\/span>\n            <div class=\"iiot-use-title\">Int\u00e9gration SCADA<\/div>\n          <\/div>\n          <div class=\"iiot-use-desc\">\u00c9changer des informations industrielles avec les syst\u00e8mes de supervision.<\/div>\n        <\/div>\n\n        <!-- Card 4 -->\n        <div class=\"iiot-use-card\">\n          <div class=\"iiot-use-header\">\n            <span class=\"iiot-pill-icon\">\ud83c\udf10<\/span>\n            <div class=\"iiot-use-title\">IoT industriel<\/div>\n          <\/div>\n          <div class=\"iiot-use-desc\">Connecter des machines et des sources de donn\u00e9es \u00e0 des architectures IoT.<\/div>\n        <\/div>\n\n        <!-- Card 5 -->\n        <div class=\"iiot-use-card\">\n          <div class=\"iiot-use-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udcca<\/span>\n            <div class=\"iiot-use-title\">Suivi de la production<\/div>\n          <\/div>\n          <div class=\"iiot-use-desc\">Mettre les informations de production \u00e0 la disposition des applications de surveillance.<\/div>\n        <\/div>\n\n        <!-- Card 6 -->\n        <div class=\"iiot-use-card\">\n          <div class=\"iiot-use-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udcbb<\/span>\n            <div class=\"iiot-use-title\">Logiciels industriels<\/div>\n          <\/div>\n          <div class=\"iiot-use-desc\">Assurer la communication entre les logiciels sur mesure et les syst\u00e8mes industriels.<\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  \/* 6-Card Grid Layout *\/\n  .iiot-six-cards-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 16px;\n  }\n\n  .iiot-use-card {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 18px 16px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-use-card:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.08);\n  }\n\n  .iiot-use-header {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n  }\n\n  .iiot-use-title {\n    font-weight: 600;\n    font-size: 0.95rem;\n    color: inherit;\n  }\n\n  .iiot-pill-icon {\n    font-style: normal;\n    font-size: 1.1rem;\n    line-height: 1;\n  }\n\n  .iiot-use-desc {\n    font-size: 0.85rem;\n    line-height: 1.5;\n    opacity: 0.85;\n    color: inherit;\n  }\n\n  \/* Responsive Adjustments *\/\n  @media (max-width: 900px) {\n    .iiot-six-cards-grid {\n      grid-template-columns: repeat(2, 1fr);\n    }\n  }\n\n  @media (max-width: 600px) {\n    .iiot-six-cards-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-78376d9 e-con e-atomic-element e-flexbox-base e-b62aedc\" data-id=\"78376d9\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"78376d9\">\n    \t\t<div class=\"elementor-element elementor-element-18eef01 elementor-widget elementor-widget-ucaddon_sliding_content_box\" data-id=\"18eef01\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ucaddon_sliding_content_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<!-- start Content Box Sliding Effect -->\n<style>\/* widget: Content Box Sliding Effect *\/\n\n#uc_sliding_content_box_elementor_18eef01 {\n\tbox-sizing: border-box;\n    overflow:hidden;\n}\n\n.ue-title\n{\n  font-size:21px;\n  width:100%;\n}\n\n.ue-text\n{\n  width:100%;\n}\n\n.ue-btn-wrapper\n{\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_18eef01 .ue-content-box-inner\n{\n  display:flex;\n  position:relative;\n}\n\n#uc_sliding_content_box_elementor_18eef01 .ue-overlay\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n}\n\n#uc_sliding_content_box_elementor_18eef01 .ue-content-box-wrapper\n{\n  position:relative;\n  width:100%;\n}\n\n#uc_sliding_content_box_elementor_18eef01 .ue-bg\n{\n  position:absolute;\n  top:0;\n  right:0;\n  left:0;\n  bottom:0;\n  transition:0.5s;\n}\n\n#uc_sliding_content_box_elementor_18eef01:hover .ue-bg\n{\n transform:scale(1.1,1.1);\n}\n\n\n#uc_sliding_content_box_elementor_18eef01:hover .moveFromLeft\n{\n  animation: moveFromLeft 0.5s;\n}\n\n#uc_sliding_content_box_elementor_18eef01:hover .moveFromRight\n{\n  animation: moveFromRight 0.5s;\n}\n\n#uc_sliding_content_box_elementor_18eef01:hover .moveFromBottom\n{\n  animation: moveFromBottom 0.5s;\n}\n\n@-webkit-keyframes moveFromLeft {\n from {\n -webkit-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromLeft {\n from {\n -moz-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromLeft {\n from {\n -ms-transform: translateX(-100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromRight {\n from {\n -webkit-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromRight {\n from {\n -moz-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromRight {\n from {\n -ms-transform: translateX(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateX(0%);\n opacity: 1;\n}\n}\n@-webkit-keyframes moveFromBottom {\n from {\n -webkit-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -webkit-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-moz-keyframes moveFromBottom {\n from {\n -moz-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -moz-transform: translateY(0%);\n opacity: 1;\n}\n}\n@-ms-keyframes moveFromBottom {\n from {\n -ms-transform: translateY(100%);\nopacity: 0;\n}\n to {\n -ms-transform: translateY(0%);\n opacity: 1;\n}\n}\n\n<\/style>\n\n<div class=\"ue-content-box\" id=\"uc_sliding_content_box_elementor_18eef01\">\n  \n  <div class=\"ue-content-box-inner\">\n    <div class=\"ue-bg\"><\/div>\n    <div class=\"ue-overlay\"><\/div>\n    \n     <div class=\"ue-content-box-wrapper\">\n\t\t<div class=\"ue-title moveFromBottom\">L'APPROCHE D'ING\u00c9NIERIE DE GPLG<\/div>\t\n\t\t<div class=\"ue-text moveFromLeft\"><div class=\"iiot-card-container\">\n  <!-- Header Bar -->\n  <div class=\"iiot-card-header\">\n    <div class=\"iiot-header-title\">\n      <span class=\"iiot-icon\">\ud83c\udfaf<\/span>\n      <h3>Une communication con\u00e7ue en fonction de l'application<\/h3>\n    <\/div>\n  <\/div>\n\n  <!-- Content Area -->\n  <div class=\"iiot-card-content\">\n    <div class=\"iiot-content-inner\">\n      <p class=\"iiot-description\">\n        Nous ne choisissons pas OPC UA ou MQTT simplement parce qu'il s'agit de technologies largement r\u00e9pandues. Le choix de chaque protocole d\u00e9pend des besoins r\u00e9els du syst\u00e8me industriel.\n      <\/p>\n\n      <!-- Decision Flow Box -->\n      <div class=\"iiot-pipeline-box\">\n        <div class=\"iiot-box-title\">Hi\u00e9rarchie d'\u00e9valuation<\/div>\n        <div class=\"iiot-horizontal-pipeline\">\n          \n          <div class=\"iiot-node\">\n            <span class=\"iiot-pill-icon\">\u2699\ufe0f<\/span>\n            <span>\u00c9quipement<\/span>\n          <\/div>\n          <div class=\"iiot-arrow\">\u2192<\/div>\n\n          <div class=\"iiot-node\">\n            <span class=\"iiot-pill-icon\">\ud83d\udcca<\/span>\n            <span>Donn\u00e9es<\/span>\n          <\/div>\n          <div class=\"iiot-arrow\">\u2192<\/div>\n\n          <div class=\"iiot-node\">\n            <span class=\"iiot-pill-icon\">\ud83c\udfd7\ufe0f<\/span>\n            <span>Architecture<\/span>\n          <\/div>\n          <div class=\"iiot-arrow\">\u2192<\/div>\n\n          <div class=\"iiot-node\">\n            <span class=\"iiot-pill-icon\">\ud83d\udcbb<\/span>\n            <span>Application<\/span>\n          <\/div>\n          <div class=\"iiot-arrow\">\u2192<\/div>\n\n          <div class=\"iiot-node iiot-node-highlight\">\n            <span class=\"iiot-pill-icon\">\ud83d\udccb<\/span>\n            <span>Conditions requises<\/span>\n          <\/div>\n\n        <\/div>\n      <\/div>\n\n      <!-- 3 Fit Scenarios Grid -->\n      <div class=\"iiot-scenarios-grid\">\n        \n        <div class=\"iiot-pillar-card\">\n          <div class=\"iiot-pillar-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udd0c<\/span>\n            <div class=\"iiot-pillar-title\">OPC UA primaire<\/div>\n          <\/div>\n          <div class=\"iiot-pillar-desc\">Id\u00e9al lorsque des mod\u00e8les d'information complexes et standardis\u00e9s ainsi qu'un contexte machine riche sont n\u00e9cessaires au niveau de l'usine.<\/div>\n        <\/div>\n\n        <div class=\"iiot-pillar-card\">\n          <div class=\"iiot-pillar-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udce1<\/span>\n            <div class=\"iiot-pillar-title\">MQTT principal<\/div>\n          <\/div>\n          <div class=\"iiot-pillar-desc\">Id\u00e9al pour la distribution l\u00e9g\u00e8re de donn\u00e9es t\u00e9l\u00e9m\u00e9triques selon le mod\u00e8le \u00ab publication\/abonnement \u00bb au sein de logiciels distribu\u00e9s et de plateformes IoT.<\/div>\n        <\/div>\n\n        <div class=\"iiot-pillar-card\">\n          <div class=\"iiot-pillar-header\">\n            <span class=\"iiot-pill-icon\">\ud83d\udd00<\/span>\n            <div class=\"iiot-pillar-title\">Synergie hybride<\/div>\n          <\/div>\n          <div class=\"iiot-pillar-desc\">Dans de nombreuses architectures, ces deux protocoles fonctionnent ensemble de mani\u00e8re transparente : OPC UA au niveau des syst\u00e8mes op\u00e9rationnels (OT) et MQTT vers le cloud.<\/div>\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Full-Width Container Styling *\/\n  .iiot-card-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    border: 1px solid rgba(255, 255, 255, 0.2);\n    border-radius: 10px;\n    background-color: transparent;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    overflow: hidden;\n    box-sizing: border-box;\n  }\n\n  \/* Header Bar *\/\n  .iiot-card-header {\n    display: flex;\n    align-items: center;\n    padding: 18px 24px;\n    background-color: rgba(13, 35, 58, 0.85);\n    backdrop-filter: blur(5px);\n    color: #ffffff;\n  }\n\n  .iiot-header-title {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .iiot-header-title h3 {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff !important;\n  }\n\n  .iiot-icon {\n    font-size: 1.2rem;\n  }\n\n  \/* Content Area *\/\n  .iiot-card-content {\n    background-color: transparent;\n  }\n\n  .iiot-content-inner {\n    padding: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-description {\n    color: inherit;\n    opacity: 0.9;\n    line-height: 1.6;\n    margin-bottom: 24px;\n    font-size: 0.98rem;\n    text-align: center;\n  }\n\n  .iiot-box-title {\n    font-size: 0.85rem;\n    font-weight: 700;\n    letter-spacing: 1.2px;\n    text-transform: uppercase;\n    opacity: 0.7;\n    margin-bottom: 16px;\n    text-align: center;\n    color: inherit;\n  }\n\n  \/* Pipeline Box & Horizontal Flow *\/\n  .iiot-pipeline-box {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 8px;\n    padding: 20px;\n    box-sizing: border-box;\n    margin-bottom: 20px;\n  }\n\n  .iiot-horizontal-pipeline {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 8px;\n    overflow-x: auto;\n    padding-bottom: 4px;\n  }\n\n  .iiot-node {\n    background-color: rgba(255, 255, 255, 0.05);\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    backdrop-filter: blur(4px);\n    border-radius: 6px;\n    padding: 10px 14px;\n    font-weight: 600;\n    color: inherit;\n    font-size: 0.88rem;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    white-space: nowrap;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-node-highlight {\n    background-color: rgba(255, 255, 255, 0.1);\n    border-color: rgba(255, 255, 255, 0.4);\n  }\n\n  .iiot-node:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .iiot-arrow {\n    color: inherit;\n    opacity: 0.5;\n    font-size: 1rem;\n    font-weight: 700;\n    padding: 0 2px;\n  }\n\n  \/* Scenarios Grid *\/\n  .iiot-scenarios-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 16px;\n  }\n\n  .iiot-pillar-card {\n    background-color: rgba(255, 255, 255, 0.03);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    backdrop-filter: blur(4px);\n    border-radius: 8px;\n    padding: 16px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    gap: 6px;\n    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;\n  }\n\n  .iiot-pillar-card:hover {\n    transform: translateY(-2px);\n    border-color: rgba(255, 255, 255, 0.4);\n    background-color: rgba(255, 255, 255, 0.08);\n  }\n\n  .iiot-pillar-header {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n\n  .iiot-pillar-title {\n    font-weight: 600;\n    font-size: 0.92rem;\n    color: inherit;\n  }\n\n  .iiot-pill-icon {\n    font-style: normal;\n    font-size: 1rem;\n    line-height: 1;\n  }\n\n  .iiot-pillar-desc {\n    font-size: 0.84rem;\n    line-height: 1.5;\n    opacity: 0.85;\n    color: inherit;\n  }\n\n  \/* Responsive Adjustments *\/\n  @media (max-width: 850px) {\n    .iiot-horizontal-pipeline {\n      flex-direction: column;\n      gap: 8px;\n    }\n\n    .iiot-arrow {\n      transform: rotate(90deg);\n    }\n\n    .iiot-scenarios-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n<\/style><\/div>       \n       \t     <\/div>\n  <\/div>\n<\/div>\n<!-- end Content Box Sliding Effect -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-7c40f63 e-con e-atomic-element e-flexbox-base e-910ecf2\" data-id=\"7c40f63\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"7c40f63\">\n    \t\t\t\t<div class=\"premium-shape-divider__shape-container\" id=\"premium-shape-divider-0c38c2c\" style=\"visibility:hidden; position: absolute; opacity:0;\">\n\t\t\t\t\t<svg preserveaspectratio='none' xmlns='http:\/\/www.w3.org\/2000\/svg' aria-hidden='true' viewbox='0 0 1000 100'><g fill='%23000000'><path opacity='.5' d='M0 51v15l724-43L0 51z'><\/path><path opacity='.3' d='M0 0v51l600-23L0 0z'><\/path><path d='M0 65v38l1000-3V0L0 65z'><\/path><\/g><\/svg>\t\t\t\t<\/div>\n\t\t\t<div data-ha-partstyle=\"default\" data-ha-partcolor=\"\" data-ha-partopacity=\"\" data-ha-partdirection=\"bottom\" class=\"elementor-element elementor-element-0c38c2c ha-particle-yes premium-shape-divider-yes premium-shape48 e-flex e-con-boxed ha-particle-adv-no premium-shape-divider__default premium-shape-divider-anime-yes premium-sh-no-stretch-yes e-con e-child\" data-id=\"0c38c2c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-49fb80d e-con-full e-flex e-con e-child\" data-id=\"49fb80d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e80b07c elementor-widget elementor-widget-heading\" data-id=\"e80b07c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Connectez vos syst\u00e8mes industriels<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f39b37a elementor-widget elementor-widget-text-editor\" data-id=\"f39b37a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Que vous ayez besoin de connecter un automate programmable \u00e0 un logiciel, d'int\u00e9grer des machines existantes, de mettre en place une architecture IoT industrielle ou d'\u00e9changer des donn\u00e9es entre plusieurs syst\u00e8mes industriels, GPLG peut concevoir et mettre en \u0153uvre la couche de communication adapt\u00e9e.<\/p><h3 data-section-id=\"15l2t7p\" data-start=\"12078\" data-end=\"12116\">Discuter d'un projet d'int\u00e9gration<\/h3>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4096af1 e-con-full e-flex e-con e-child\" data-id=\"4096af1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fc8dda0 elementor-widget elementor-widget-button\" data-id=\"fc8dda0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm elementor-animation-shrink\" href=\"https:\/\/gplg.pt\/contact\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"jltma-feather-icon jltma-feather-icon-arrow-up-right\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Contacter GPLG<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>skip render: ucaddon_sliding_content_box skip render: ucaddon_transparent_split_hero skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip render: ucaddon_sliding_content_box skip [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2199,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2304","page","type-page","status-publish","hentry"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":7}},"_links":{"self":[{"href":"https:\/\/gplg.pt\/fr\/wp-json\/wp\/v2\/pages\/2304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gplg.pt\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gplg.pt\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gplg.pt\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gplg.pt\/fr\/wp-json\/wp\/v2\/comments?post=2304"}],"version-history":[{"count":94,"href":"https:\/\/gplg.pt\/fr\/wp-json\/wp\/v2\/pages\/2304\/revisions"}],"predecessor-version":[{"id":5326,"href":"https:\/\/gplg.pt\/fr\/wp-json\/wp\/v2\/pages\/2304\/revisions\/5326"}],"up":[{"embeddable":true,"href":"https:\/\/gplg.pt\/fr\/wp-json\/wp\/v2\/pages\/2199"}],"wp:attachment":[{"href":"https:\/\/gplg.pt\/fr\/wp-json\/wp\/v2\/media?parent=2304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}