{"id":1876,"date":"2026-08-01T21:04:56","date_gmt":"2026-08-01T21:04:56","guid":{"rendered":"https:\/\/stc-tu.com\/le-blog\/"},"modified":"2026-08-04T15:20:49","modified_gmt":"2026-08-04T15:20:49","slug":"le-blog","status":"publish","type":"page","link":"https:\/\/stc-tu.com\/fr\/le-blog\/","title":{"rendered":"Le blog"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1876\" class=\"elementor elementor-1876 elementor-1785\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e765274 e-con-full e-flex e-con e-parent\" data-id=\"e765274\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-5fed3ef e-flex e-con-boxed e-con e-child\" data-id=\"5fed3ef\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-95e1cd5 elementor-widget elementor-widget-heading\" data-id=\"95e1cd5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Le blog<\/h1>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-88e9f5d e-con-full e-flex e-con e-child\" data-id=\"88e9f5d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-db2aaaf elementor-widget elementor-widget-jkit_button\" data-id=\"db2aaaf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"jkit_button.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-button  icon-position-after jeg_module___6ace828495edc\" ><a href=\"https:\/\/stc-tu.com\/fr\/\" class=\"jkit-button-wrapper\">Accueil<svg viewbox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z\"><\/path><\/svg><\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-904db4f elementor-widget elementor-widget-heading\" data-id=\"904db4f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">Le blog<\/h6>\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\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5bf15c5 e-con-full e-flex e-con e-parent\" data-id=\"5bf15c5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0610bd3 elementor-widget elementor-widget-html\" data-id=\"0610bd3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ========================================\r\n   STC \u2013 Articles Archive\r\n======================================== *\/\r\n\r\n.stc-articles {\r\n    --stc-articles-gold: #d7b476;\r\n    --stc-articles-gold-light: #efd39d;\r\n    --stc-articles-bg: #080808;\r\n    --stc-articles-card: #11110f;\r\n    --stc-articles-card-hover: #151512;\r\n    --stc-articles-border: rgba(215, 180, 118, 0.2);\r\n    --stc-articles-text: rgba(255, 255, 255, 0.68);\r\n\r\n    position: relative;\r\n    width: 100%;\r\n    overflow: hidden;\r\n    padding: 55px 0 95px;\r\n    background:\r\n        radial-gradient(\r\n            circle at 92% 6%,\r\n            rgba(215, 180, 118, 0.07),\r\n            transparent 28%\r\n        ),\r\n        radial-gradient(\r\n            circle at 7% 92%,\r\n            rgba(215, 180, 118, 0.045),\r\n            transparent 27%\r\n        ),\r\n        var(--stc-articles-bg);\r\n}\r\n\r\n.stc-articles,\r\n.stc-articles * {\r\n    box-sizing: border-box;\r\n}\r\n\r\n.stc-articles__container {\r\n    width: min(1200px, calc(100% - 48px));\r\n    margin-inline: auto;\r\n}\r\n\r\n\/* Compact heading \u2014 not a hero *\/\r\n.stc-articles__heading {\r\n    display: flex;\r\n    align-items: flex-end;\r\n    justify-content: space-between;\r\n    gap: 35px;\r\n    margin-bottom: 36px;\r\n    padding-bottom: 30px;\r\n    border-bottom: 1px solid rgba(215, 180, 118, 0.16);\r\n}\r\n\r\n.stc-articles__heading-content {\r\n    max-width: 720px;\r\n}\r\n\r\n.stc-articles__eyebrow {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n    margin-bottom: 13px;\r\n    color: var(--stc-articles-gold);\r\n    font-size: 13px;\r\n    font-weight: 700;\r\n}\r\n\r\n.stc-articles__eyebrow::before {\r\n    content: \"\";\r\n    width: 28px;\r\n    height: 1px;\r\n    background: var(--stc-articles-gold);\r\n}\r\n\r\n.stc-articles__title {\r\n    margin: 0 0 13px;\r\n    color: #ffffff;\r\n    font-size: clamp(32px, 4vw, 48px) !important;\r\n    font-weight: 800 !important;\r\n    line-height: 1.3;\r\n}\r\n\r\n.stc-articles__title span {\r\n    color: var(--stc-articles-gold);\r\n}\r\n\r\n.stc-articles__description {\r\n    max-width: 680px;\r\n    margin: 0;\r\n    color: rgba(255, 255, 255, 0.62);\r\n    font-size: 16px;\r\n    line-height: 1.9;\r\n}\r\n\r\n\/* Article count *\/\r\n.stc-articles__counter {\r\n    flex: 0 0 auto;\r\n    padding: 14px 17px;\r\n    color: rgba(255, 255, 255, 0.57);\r\n    background: rgba(215, 180, 118, 0.045);\r\n    border: 1px solid rgba(215, 180, 118, 0.16);\r\n    border-radius: 7px;\r\n    font-size: 13px;\r\n    white-space: nowrap;\r\n}\r\n\r\n.stc-articles__counter strong {\r\n    color: var(--stc-articles-gold-light);\r\n    font-size: 18px;\r\n}\r\n\r\n\/* Search and filters *\/\r\n.stc-articles__toolbar {\r\n    display: grid;\r\n    grid-template-columns: minmax(260px, 0.36fr) minmax(0, 0.64fr);\r\n    gap: 18px;\r\n    margin-bottom: 35px;\r\n}\r\n\r\n.stc-articles-search {\r\n    position: relative;\r\n}\r\n\r\n.stc-articles-search__icon {\r\n    position: absolute;\r\n    top: 50%;\r\n    inset-inline-start: 17px;\r\n    width: 19px;\r\n    height: 19px;\r\n    color: var(--stc-articles-gold);\r\n    transform: translateY(-50%);\r\n    pointer-events: none;\r\n}\r\n\r\n.stc-articles-search__icon svg {\r\n    display: block;\r\n    width: 100%;\r\n    height: 100%;\r\n    fill: none;\r\n    stroke: currentColor;\r\n    stroke-width: 1.8;\r\n    stroke-linecap: round;\r\n    stroke-linejoin: round;\r\n}\r\n\r\n.stc-articles-search__input {\r\n    display: block;\r\n    width: 100%;\r\n    height: 54px;\r\n    padding-inline-start: 49px;\r\n    padding-inline-end: 16px;\r\n    color: #ffffff !important;\r\n    background: var(--stc-articles-card) !important;\r\n    border: 1px solid var(--stc-articles-border) !important;\r\n    border-radius: 7px !important;\r\n    outline: none !important;\r\n    font-family: inherit;\r\n    font-size: 14px;\r\n    transition:\r\n        border-color 0.25s ease,\r\n        box-shadow 0.25s ease;\r\n}\r\n\r\n.stc-articles-search__input::placeholder {\r\n    color: rgba(255, 255, 255, 0.35);\r\n}\r\n\r\n.stc-articles-search__input:focus {\r\n    border-color: var(--stc-articles-gold) !important;\r\n    box-shadow: 0 0 0 3px rgba(215, 180, 118, 0.08) !important;\r\n}\r\n\r\n\/* Categories *\/\r\n.stc-articles__categories-wrap {\r\n    min-width: 0;\r\n    overflow-x: auto;\r\n    scrollbar-width: thin;\r\n}\r\n\r\n.stc-articles__categories {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 9px;\r\n    min-width: max-content;\r\n    min-height: 54px;\r\n}\r\n\r\n.stc-articles-category {\r\n    min-height: 42px;\r\n    padding: 9px 16px;\r\n    color: rgba(255, 255, 255, 0.58);\r\n    background: rgba(255, 255, 255, 0.025);\r\n    border: 1px solid rgba(215, 180, 118, 0.14);\r\n    border-radius: 50px;\r\n    cursor: pointer;\r\n    font-family: inherit;\r\n    font-size: 13px;\r\n    font-weight: 700;\r\n    white-space: nowrap;\r\n    transition:\r\n        color 0.25s ease,\r\n        background-color 0.25s ease,\r\n        border-color 0.25s ease;\r\n}\r\n\r\n.stc-articles-category:hover {\r\n    color: #ffffff;\r\n    border-color: rgba(215, 180, 118, 0.42);\r\n}\r\n\r\n.stc-articles-category.is-active {\r\n    color: #090909;\r\n    background: var(--stc-articles-gold);\r\n    border-color: var(--stc-articles-gold);\r\n}\r\n\r\n\/* Status *\/\r\n.stc-articles__status {\r\n    min-height: 24px;\r\n    margin-bottom: 18px;\r\n    color: rgba(255, 255, 255, 0.45);\r\n    font-size: 13px;\r\n}\r\n\r\n\/* Articles grid *\/\r\n.stc-articles__grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, minmax(0, 1fr));\r\n    gap: 23px;\r\n}\r\n\r\n.stc-article-card {\r\n    position: relative;\r\n    display: flex;\r\n    flex-direction: column;\r\n    min-width: 0;\r\n    overflow: hidden;\r\n    background:\r\n        linear-gradient(\r\n            145deg,\r\n            rgba(255, 255, 255, 0.025),\r\n            transparent\r\n        ),\r\n        var(--stc-articles-card);\r\n    border: 1px solid var(--stc-articles-border);\r\n    border-radius: 11px;\r\n    transition:\r\n        transform 0.3s ease,\r\n        border-color 0.3s ease,\r\n        box-shadow 0.3s ease,\r\n        background-color 0.3s ease;\r\n}\r\n\r\n.stc-article-card:hover {\r\n    transform: translateY(-7px);\r\n    background-color: var(--stc-articles-card-hover);\r\n    border-color: rgba(215, 180, 118, 0.5);\r\n    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.3);\r\n}\r\n\r\n\/* Image *\/\r\n.stc-article-card__image-link {\r\n    position: relative;\r\n    display: block;\r\n    height: 225px;\r\n    overflow: hidden;\r\n    background: #151512;\r\n}\r\n\r\n.stc-article-card__image {\r\n    display: block;\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n    transition: transform 0.55s ease;\r\n}\r\n\r\n.stc-article-card:hover .stc-article-card__image {\r\n    transform: scale(1.045);\r\n}\r\n\r\n.stc-article-card__image-overlay {\r\n    position: absolute;\r\n    inset: 0;\r\n    background:\r\n        linear-gradient(\r\n            to top,\r\n            rgba(7, 7, 7, 0.78),\r\n            transparent 58%\r\n        );\r\n    pointer-events: none;\r\n}\r\n\r\n.stc-article-card__category {\r\n    position: absolute;\r\n    z-index: 2;\r\n    inset-inline-start: 17px;\r\n    bottom: 16px;\r\n    max-width: calc(100% - 34px);\r\n    overflow: hidden;\r\n    padding: 7px 11px;\r\n    color: var(--stc-articles-gold-light);\r\n    background: rgba(8, 8, 8, 0.78);\r\n    border: 1px solid rgba(215, 180, 118, 0.3);\r\n    border-radius: 50px;\r\n    font-size: 11px;\r\n    font-weight: 700;\r\n    text-overflow: ellipsis;\r\n    white-space: nowrap;\r\n    backdrop-filter: blur(7px);\r\n}\r\n\r\n\/* Card body *\/\r\n.stc-article-card__body {\r\n    display: flex;\r\n    flex: 1;\r\n    flex-direction: column;\r\n    padding: 25px 23px 22px;\r\n}\r\n\r\n.stc-article-card__meta {\r\n    display: flex;\r\n    align-items: center;\r\n    flex-wrap: wrap;\r\n    gap: 9px 15px;\r\n    margin-bottom: 13px;\r\n    color: rgba(255, 255, 255, 0.4);\r\n    font-size: 11px;\r\n}\r\n\r\n.stc-article-card__meta-item {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n}\r\n\r\n.stc-article-card__meta-item svg {\r\n    width: 15px;\r\n    height: 15px;\r\n    fill: none;\r\n    stroke: var(--stc-articles-gold);\r\n    stroke-width: 1.7;\r\n    stroke-linecap: round;\r\n    stroke-linejoin: round;\r\n}\r\n\r\n.stc-article-card__title {\r\n    margin: 0 0 14px;\r\n    color: #ffffff;\r\n    font-size: 20px !important;\r\n    font-weight: 700 !important;\r\n    line-height: 1.65;\r\n}\r\n\r\n.stc-article-card__title a {\r\n    color: inherit !important;\r\n    text-decoration: none !important;\r\n}\r\n\r\n.stc-article-card__excerpt {\r\n    display: -webkit-box;\r\n    overflow: hidden;\r\n    margin: 0 0 22px;\r\n    color: rgba(255, 255, 255, 0.58);\r\n    font-size: 14px;\r\n    line-height: 1.9;\r\n    -webkit-box-orient: vertical;\r\n    -webkit-line-clamp: 3;\r\n}\r\n\r\n.stc-article-card__footer {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    gap: 15px;\r\n    margin-top: auto;\r\n    padding-top: 18px;\r\n    border-top: 1px solid rgba(255, 255, 255, 0.07);\r\n}\r\n\r\n.stc-article-card__link {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    color: var(--stc-articles-gold) !important;\r\n    font-size: 13px;\r\n    font-weight: 800;\r\n    text-decoration: none !important;\r\n    transition:\r\n        gap 0.25s ease,\r\n        color 0.25s ease;\r\n}\r\n\r\n.stc-article-card__link:hover {\r\n    gap: 12px;\r\n    color: var(--stc-articles-gold-light) !important;\r\n}\r\n\r\n.stc-article-card__arrow {\r\n    display: inline-block;\r\n    font-size: 18px;\r\n    line-height: 1;\r\n    transition: transform 0.25s ease;\r\n}\r\n\r\n.stc-articles[data-direction=\"rtl\"]\r\n.stc-article-card__link:hover\r\n.stc-article-card__arrow {\r\n    transform: translateX(-3px);\r\n}\r\n\r\n.stc-articles[data-direction=\"ltr\"]\r\n.stc-article-card__link:hover\r\n.stc-article-card__arrow {\r\n    transform: translateX(3px);\r\n}\r\n\r\n\/* Fallback image *\/\r\n.stc-article-card__fallback {\r\n    display: grid;\r\n    place-items: center;\r\n    width: 100%;\r\n    height: 100%;\r\n    color: rgba(215, 180, 118, 0.35);\r\n    background:\r\n        radial-gradient(\r\n            circle at center,\r\n            rgba(215, 180, 118, 0.09),\r\n            transparent 55%\r\n        ),\r\n        #11110f;\r\n    font-size: 56px;\r\n    font-weight: 800;\r\n}\r\n\r\n\/* Skeleton *\/\r\n.stc-article-skeleton {\r\n    min-height: 500px;\r\n    overflow: hidden;\r\n    background: var(--stc-articles-card);\r\n    border: 1px solid rgba(215, 180, 118, 0.12);\r\n    border-radius: 11px;\r\n}\r\n\r\n.stc-article-skeleton__image,\r\n.stc-article-skeleton__line {\r\n    background:\r\n        linear-gradient(\r\n            90deg,\r\n            rgba(255, 255, 255, 0.025),\r\n            rgba(255, 255, 255, 0.07),\r\n            rgba(255, 255, 255, 0.025)\r\n        );\r\n    background-size: 220% 100%;\r\n    animation: stcArticleSkeleton 1.4s linear infinite;\r\n}\r\n\r\n.stc-article-skeleton__image {\r\n    height: 225px;\r\n}\r\n\r\n.stc-article-skeleton__content {\r\n    padding: 25px 23px;\r\n}\r\n\r\n.stc-article-skeleton__line {\r\n    height: 13px;\r\n    margin-bottom: 14px;\r\n    border-radius: 5px;\r\n}\r\n\r\n.stc-article-skeleton__line--small {\r\n    width: 42%;\r\n}\r\n\r\n.stc-article-skeleton__line--title {\r\n    width: 90%;\r\n    height: 20px;\r\n}\r\n\r\n.stc-article-skeleton__line--medium {\r\n    width: 72%;\r\n}\r\n\r\n@keyframes stcArticleSkeleton {\r\n    from {\r\n        background-position: 100% 0;\r\n    }\r\n\r\n    to {\r\n        background-position: -120% 0;\r\n    }\r\n}\r\n\r\n\/* Empty and error states *\/\r\n.stc-articles__empty {\r\n    grid-column: 1 \/ -1;\r\n    padding: 55px 25px;\r\n    text-align: center;\r\n    background: rgba(215, 180, 118, 0.035);\r\n    border: 1px solid rgba(215, 180, 118, 0.16);\r\n    border-radius: 10px;\r\n}\r\n\r\n.stc-articles__empty-icon {\r\n    display: grid;\r\n    place-items: center;\r\n    width: 58px;\r\n    height: 58px;\r\n    margin: 0 auto 17px;\r\n    color: var(--stc-articles-gold);\r\n    background: rgba(215, 180, 118, 0.07);\r\n    border: 1px solid rgba(215, 180, 118, 0.2);\r\n    border-radius: 50%;\r\n    font-size: 24px;\r\n}\r\n\r\n.stc-articles__empty-title {\r\n    margin: 0 0 8px;\r\n    color: #ffffff;\r\n    font-size: 20px;\r\n}\r\n\r\n.stc-articles__empty-text {\r\n    margin: 0;\r\n    color: rgba(255, 255, 255, 0.5);\r\n    font-size: 14px;\r\n    line-height: 1.8;\r\n}\r\n\r\n\/* Load more *\/\r\n.stc-articles__load-more-wrap {\r\n    display: flex;\r\n    justify-content: center;\r\n    margin-top: 38px;\r\n}\r\n\r\n.stc-articles__load-more {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 10px;\r\n    min-width: 190px;\r\n    min-height: 52px;\r\n    padding: 12px 24px;\r\n    color: #090909 !important;\r\n    background: var(--stc-articles-gold) !important;\r\n    border: 1px solid var(--stc-articles-gold) !important;\r\n    border-radius: 5px !important;\r\n    cursor: pointer;\r\n    font-family: inherit;\r\n    font-size: 14px;\r\n    font-weight: 900;\r\n    transition:\r\n        transform 0.25s ease,\r\n        background-color 0.25s ease,\r\n        opacity 0.25s ease;\r\n}\r\n\r\n.stc-articles__load-more:hover {\r\n    transform: translateY(-3px);\r\n    background: var(--stc-articles-gold-light) !important;\r\n}\r\n\r\n.stc-articles__load-more:disabled {\r\n    cursor: not-allowed;\r\n    opacity: 0.58;\r\n    transform: none;\r\n}\r\n\r\n.stc-articles__load-more[hidden] {\r\n    display: none !important;\r\n}\r\n\r\n.stc-articles__spinner {\r\n    width: 17px;\r\n    height: 17px;\r\n    border: 2px solid rgba(9, 9, 9, 0.28);\r\n    border-top-color: #090909;\r\n    border-radius: 50%;\r\n    animation: stcArticleSpin 0.7s linear infinite;\r\n}\r\n\r\n@keyframes stcArticleSpin {\r\n    to {\r\n        transform: rotate(360deg);\r\n    }\r\n}\r\n\r\n\/* Tablet *\/\r\n@media (max-width: 1024px) {\r\n    .stc-articles {\r\n        padding: 45px 0 80px;\r\n    }\r\n\r\n    .stc-articles__toolbar {\r\n        grid-template-columns: 1fr;\r\n    }\r\n\r\n    .stc-articles__grid {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    }\r\n}\r\n\r\n\/* Mobile *\/\r\n@media (max-width: 767px) {\r\n    .stc-articles {\r\n        padding: 35px 0 65px;\r\n    }\r\n\r\n    .stc-articles__container {\r\n        width: calc(100% - 32px);\r\n    }\r\n\r\n    .stc-articles__heading {\r\n        align-items: flex-start;\r\n        flex-direction: column;\r\n        gap: 18px;\r\n        margin-bottom: 27px;\r\n        padding-bottom: 24px;\r\n    }\r\n\r\n    .stc-articles__title {\r\n        font-size: 31px !important;\r\n    }\r\n\r\n    .stc-articles__description {\r\n        font-size: 15px;\r\n    }\r\n\r\n    .stc-articles__counter {\r\n        align-self: stretch;\r\n        text-align: center;\r\n    }\r\n\r\n    .stc-articles__toolbar {\r\n        gap: 12px;\r\n        margin-bottom: 27px;\r\n    }\r\n\r\n    .stc-articles__categories-wrap {\r\n        margin-inline: -16px;\r\n        padding-inline: 16px;\r\n    }\r\n\r\n    .stc-articles__grid {\r\n        grid-template-columns: 1fr;\r\n        gap: 17px;\r\n    }\r\n\r\n    .stc-article-card__image-link {\r\n        height: 220px;\r\n    }\r\n\r\n    .stc-article-card__body {\r\n        padding: 22px 20px 20px;\r\n    }\r\n\r\n    .stc-article-card__title {\r\n        font-size: 19px !important;\r\n    }\r\n\r\n    .stc-articles__load-more {\r\n        width: 100%;\r\n    }\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n    .stc-article-card,\r\n    .stc-article-card__image,\r\n    .stc-article-card__link,\r\n    .stc-article-card__arrow,\r\n    .stc-articles__load-more {\r\n        transition: none;\r\n    }\r\n\r\n    .stc-article-skeleton__image,\r\n    .stc-article-skeleton__line {\r\n        animation: none;\r\n    }\r\n}\r\n<\/style>\r\n\r\n<section\r\n    class=\"stc-articles\"\r\n    id=\"stcArticlesArchive\"\r\n    data-direction=\"rtl\"\r\n    data-language=\"fr\"\r\n    aria-labelledby=\"stc-articles-title\"\r\n>\r\n    <div class=\"stc-articles__container\">\r\n\r\n        <header class=\"stc-articles__heading\">\r\n            <div class=\"stc-articles__heading-content\">\r\n                <div class=\"stc-articles__eyebrow\" id=\"stcArticlesEyebrow\">\r\n                    \u0645\u0631\u0643\u0632 \u0627\u0644\u0645\u0639\u0631\u0641\u0629\r\n                <\/div>\r\n\r\n                <h1 class=\"stc-articles__title\" id=\"stc-articles-title\">\r\n                    \u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a <span>\u0648\u0627\u0644\u0631\u0624\u0649<\/span>\r\n                <\/h1>\r\n\r\n                <p class=\"stc-articles__description\" id=\"stcArticlesDescription\">\r\n                    \u0645\u062d\u062a\u0648\u0649 \u0645\u062a\u062e\u0635\u0635 \u062d\u0648\u0644 \u0642\u0637\u0627\u0639 \u0627\u0644\u062a\u0639\u062f\u064a\u0646 \u0648\u0627\u0644\u062c\u0628\u0633 \u0648\u0627\u0644\u062e\u0627\u0645\u0627\u062a \u0627\u0644\u0635\u0646\u0627\u0639\u064a\u0629.\r\n                <\/p>\r\n            <\/div>\r\n\r\n            <div class=\"stc-articles__counter\" id=\"stcArticlesCounter\" aria-live=\"polite\">\r\n                <strong>0<\/strong>\r\n                <span>\u0645\u0642\u0627\u0644<\/span>\r\n            <\/div>\r\n        <\/header>\r\n\r\n        <div class=\"stc-articles__toolbar\">\r\n            <div class=\"stc-articles-search\">\r\n                <span class=\"stc-articles-search__icon\" aria-hidden=\"true\">\r\n                    <svg viewBox=\"0 0 24 24\">\r\n                        <circle cx=\"11\" cy=\"11\" r=\"7\"><\/circle>\r\n                        <path d=\"M16 16l5 5\"><\/path>\r\n                    <\/svg>\r\n                <\/span>\r\n\r\n                <input\r\n                    class=\"stc-articles-search__input\"\r\n                    id=\"stcArticlesSearch\"\r\n                    type=\"search\"\r\n                    placeholder=\"\u0627\u0628\u062d\u062b \u0641\u064a \u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a...\"\r\n                    autocomplete=\"off\"\r\n                >\r\n            <\/div>\r\n\r\n            <div class=\"stc-articles__categories-wrap\">\r\n                <div\r\n                    class=\"stc-articles__categories\"\r\n                    id=\"stcArticlesCategories\"\r\n                    role=\"group\"\r\n                    aria-label=\"\u062a\u0635\u0646\u064a\u0641\u0627\u062a \u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a\"\r\n                ><\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"stc-articles__status\" id=\"stcArticlesStatus\" aria-live=\"polite\"><\/div>\r\n        <div class=\"stc-articles__grid\" id=\"stcArticlesGrid\"><\/div>\r\n\r\n        <div class=\"stc-articles__load-more-wrap\">\r\n            <button\r\n                class=\"stc-articles__load-more\"\r\n                id=\"stcArticlesLoadMore\"\r\n                type=\"button\"\r\n                hidden\r\n            >\r\n                <span id=\"stcArticlesLoadMoreText\">\u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0645\u0632\u064a\u062f<\/span>\r\n            <\/button>\r\n        <\/div>\r\n\r\n    <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function () {\r\n    \"use strict\";\r\n\r\n    function initializeArticlesArchive() {\r\n        const section = document.getElementById(\"stcArticlesArchive\");\r\n\r\n        if (!section || section.dataset.initialized === \"true\") {\r\n            return;\r\n        }\r\n\r\n        section.dataset.initialized = \"true\";\r\n\r\n        const elements = {\r\n            grid: document.getElementById(\"stcArticlesGrid\"),\r\n            categories: document.getElementById(\"stcArticlesCategories\"),\r\n            search: document.getElementById(\"stcArticlesSearch\"),\r\n            loadMore: document.getElementById(\"stcArticlesLoadMore\"),\r\n            loadMoreText: document.getElementById(\"stcArticlesLoadMoreText\"),\r\n            status: document.getElementById(\"stcArticlesStatus\"),\r\n            counter: document.getElementById(\"stcArticlesCounter\"),\r\n            eyebrow: document.getElementById(\"stcArticlesEyebrow\"),\r\n            title: document.getElementById(\"stc-articles-title\"),\r\n            description: document.getElementById(\"stcArticlesDescription\")\r\n        };\r\n\r\n        if (Object.values(elements).some(function (element) { return !element; })) {\r\n            return;\r\n        }\r\n\r\n        const translations = {\r\n            ar: {\r\n                direction: \"rtl\",\r\n                locale: \"ar-EG\",\r\n                apiLanguage: \"ar\",\r\n                eyebrow: \"\u0645\u0631\u0643\u0632 \u0627\u0644\u0645\u0639\u0631\u0641\u0629\",\r\n                title: '\u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a <span>\u0648\u0627\u0644\u0631\u0624\u0649<\/span>',\r\n                description: \"\u0645\u062d\u062a\u0648\u0649 \u0645\u062a\u062e\u0635\u0635 \u062d\u0648\u0644 \u0642\u0637\u0627\u0639 \u0627\u0644\u062a\u0639\u062f\u064a\u0646 \u0648\u0627\u0644\u062c\u0628\u0633 \u0648\u0627\u0644\u062e\u0627\u0645\u0627\u062a \u0627\u0644\u0635\u0646\u0627\u0639\u064a\u0629\u060c \u064a\u0642\u062f\u0651\u0645 \u0631\u0624\u0649 \u0641\u0646\u064a\u0629 \u0648\u062a\u062c\u0627\u0631\u064a\u0629 \u062a\u0633\u0627\u0639\u062f \u0639\u0644\u0649 \u0641\u0647\u0645 \u0627\u0644\u0623\u0633\u0648\u0627\u0642 \u0648\u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u062a\u0648\u0631\u064a\u062f.\",\r\n                search: \"\u0627\u0628\u062d\u062b \u0641\u064a \u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a...\",\r\n                categoriesLabel: \"\u062a\u0635\u0646\u064a\u0641\u0627\u062a \u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a\",\r\n                all: \"\u0643\u0644 \u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a\",\r\n                article: \"\u0645\u0642\u0627\u0644\",\r\n                articles: \"\u0645\u0642\u0627\u0644\u0627\u062a\",\r\n                loading: \"\u062c\u0627\u0631\u064a \u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a...\",\r\n                showing: \"\u064a\u062a\u0645 \u0639\u0631\u0636\",\r\n                results: \"\u0646\u062a\u0627\u0626\u062c\",\r\n                readArticle: \"\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0642\u0627\u0644\",\r\n                minute: \"\u062f\u0642\u064a\u0642\u0629 \u0642\u0631\u0627\u0621\u0629\",\r\n                minutes: \"\u062f\u0642\u0627\u0626\u0642 \u0642\u0631\u0627\u0621\u0629\",\r\n                loadMore: \"\u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0645\u0632\u064a\u062f\",\r\n                loadingMore: \"\u062c\u0627\u0631\u064a \u0627\u0644\u062a\u062d\u0645\u064a\u0644...\",\r\n                noResultsTitle: \"\u0644\u0627 \u062a\u0648\u062c\u062f \u0645\u0642\u0627\u0644\u0627\u062a \u0645\u0637\u0627\u0628\u0642\u0629\",\r\n                noResultsText: \"\u062c\u0631\u0651\u0628 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0643\u0644\u0645\u0629 \u0628\u062d\u062b \u0623\u062e\u0631\u0649 \u0623\u0648 \u0627\u062e\u062a\u064a\u0627\u0631 \u062a\u0635\u0646\u064a\u0641 \u0645\u062e\u062a\u0644\u0641.\",\r\n                errorTitle: \"\u062a\u0639\u0630\u0631 \u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a\",\r\n                errorText: \"\u062d\u062f\u062b \u062e\u0637\u0623 \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0645\u0648\u0642\u0639. \u0623\u0639\u062f \u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0635\u0641\u062d\u0629 \u0648\u062d\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649.\",\r\n                arrow: \"\u2190\"\r\n            },\r\n            en: {\r\n                direction: \"ltr\",\r\n                locale: \"en-US\",\r\n                apiLanguage: \"en\",\r\n                eyebrow: \"Knowledge Center\",\r\n                title: 'Articles and <span>Insights<\/span>',\r\n                description: \"Specialized content covering mining, gypsum and industrial minerals, with technical and commercial insights into markets and supply requirements.\",\r\n                search: \"Search articles...\",\r\n                categoriesLabel: \"Article categories\",\r\n                all: \"All Articles\",\r\n                article: \"Article\",\r\n                articles: \"Articles\",\r\n                loading: \"Loading articles...\",\r\n                showing: \"Showing\",\r\n                results: \"results\",\r\n                readArticle: \"Read Article\",\r\n                minute: \"min read\",\r\n                minutes: \"min read\",\r\n                loadMore: \"Load More\",\r\n                loadingMore: \"Loading...\",\r\n                noResultsTitle: \"No matching articles\",\r\n                noResultsText: \"Try another search term or select a different category.\",\r\n                errorTitle: \"Unable to load articles\",\r\n                errorText: \"An error occurred while connecting to the website. Please refresh the page and try again.\",\r\n                arrow: \"\u2192\"\r\n            },\r\n            fr: {\r\n                direction: \"ltr\",\r\n                locale: \"fr-FR\",\r\n                apiLanguage: \"fr\",\r\n                eyebrow: \"Centre de connaissances\",\r\n                title: 'Articles et <span>analyses<\/span>',\r\n                description: \"Des contenus sp\u00e9cialis\u00e9s sur le secteur minier, le gypse et les min\u00e9raux industriels, avec des perspectives techniques et commerciales sur les march\u00e9s et l\u2019approvisionnement.\",\r\n                search: \"Rechercher un article...\",\r\n                categoriesLabel: \"Cat\u00e9gories d\u2019articles\",\r\n                all: \"Tous les articles\",\r\n                article: \"Article\",\r\n                articles: \"Articles\",\r\n                loading: \"Chargement des articles...\",\r\n                showing: \"Affichage de\",\r\n                results: \"r\u00e9sultats\",\r\n                readArticle: \"Lire l\u2019article\",\r\n                minute: \"min de lecture\",\r\n                minutes: \"min de lecture\",\r\n                loadMore: \"Afficher plus\",\r\n                loadingMore: \"Chargement...\",\r\n                noResultsTitle: \"Aucun article correspondant\",\r\n                noResultsText: \"Essayez un autre mot-cl\u00e9 ou choisissez une autre cat\u00e9gorie.\",\r\n                errorTitle: \"Impossible de charger les articles\",\r\n                errorText: \"Une erreur est survenue lors de la connexion au site. Actualisez la page et r\u00e9essayez.\",\r\n                arrow: \"\u2192\"\r\n            },\r\n            \"zh-hant\": {\r\n                direction: \"ltr\",\r\n                locale: \"zh-TW\",\r\n                apiLanguage: \"zh-hant\",\r\n                eyebrow: \"\u77e5\u8b58\u4e2d\u5fc3\",\r\n                title: '\u6587\u7ae0\u8207<span>\u5c08\u696d\u89c0\u9ede<\/span>',\r\n                description: \"\u63d0\u4f9b\u7926\u696d\u3001\u77f3\u818f\u53ca\u5de5\u696d\u7926\u7269\u9818\u57df\u7684\u5c08\u696d\u5167\u5bb9\uff0c\u5354\u52a9\u8b80\u8005\u4e86\u89e3\u5e02\u5834\u8da8\u52e2\u3001\u6280\u8853\u6a19\u6e96\u8207\u4f9b\u61c9\u9700\u6c42\u3002\",\r\n                search: \"\u641c\u5c0b\u6587\u7ae0...\",\r\n                categoriesLabel: \"\u6587\u7ae0\u5206\u985e\",\r\n                all: \"\u6240\u6709\u6587\u7ae0\",\r\n                article: \"\u7bc7\u6587\u7ae0\",\r\n                articles: \"\u7bc7\u6587\u7ae0\",\r\n                loading: \"\u6b63\u5728\u8f09\u5165\u6587\u7ae0...\",\r\n                showing: \"\u76ee\u524d\u986f\u793a\",\r\n                results: \"\u7b46\u7d50\u679c\",\r\n                readArticle: \"\u95b1\u8b80\u6587\u7ae0\",\r\n                minute: \"\u5206\u9418\u95b1\u8b80\",\r\n                minutes: \"\u5206\u9418\u95b1\u8b80\",\r\n                loadMore: \"\u8f09\u5165\u66f4\u591a\",\r\n                loadingMore: \"\u8f09\u5165\u4e2d...\",\r\n                noResultsTitle: \"\u627e\u4e0d\u5230\u7b26\u5408\u7684\u6587\u7ae0\",\r\n                noResultsText: \"\u8acb\u5617\u8a66\u5176\u4ed6\u641c\u5c0b\u95dc\u9375\u5b57\u6216\u9078\u64c7\u4e0d\u540c\u7684\u5206\u985e\u3002\",\r\n                errorTitle: \"\u7121\u6cd5\u8f09\u5165\u6587\u7ae0\",\r\n                errorText: \"\u9023\u7dda\u7db2\u7ad9\u6642\u767c\u751f\u932f\u8aa4\uff0c\u8acb\u91cd\u65b0\u6574\u7406\u9801\u9762\u5f8c\u518d\u8a66\u3002\",\r\n                arrow: \"\u2192\"\r\n            }\r\n        };\r\n\r\n        function detectLanguage() {\r\n            const forcedLanguage = String(section.dataset.language || \"\").toLowerCase();\r\n\r\n            if (Object.prototype.hasOwnProperty.call(translations, forcedLanguage)) {\r\n                return forcedLanguage;\r\n            }\r\n\r\n            const htmlLanguage = String(document.documentElement.lang || \"\").toLowerCase();\r\n            const path = window.location.pathname.toLowerCase();\r\n\r\n            if (htmlLanguage.startsWith(\"zh\") || path.includes(\"\/zh-hant\/\") || path.includes(\"\/zh\/\")) {\r\n                return \"zh-hant\";\r\n            }\r\n\r\n            if (htmlLanguage.startsWith(\"fr\") || path.includes(\"\/fr\/\")) {\r\n                return \"fr\";\r\n            }\r\n\r\n            if (htmlLanguage.startsWith(\"en\") || path.includes(\"\/en\/\")) {\r\n                return \"en\";\r\n            }\r\n\r\n            return \"ar\";\r\n        }\r\n\r\n        const language = detectLanguage();\r\n        const text = translations[language] || translations.ar;\r\n\r\n        section.lang = language === \"zh-hant\" ? \"zh-Hant\" : language;\r\n        section.dir = text.direction;\r\n        section.dataset.direction = text.direction;\r\n\r\n        elements.eyebrow.textContent = text.eyebrow;\r\n        elements.title.innerHTML = text.title;\r\n        elements.description.textContent = text.description;\r\n        elements.search.placeholder = text.search;\r\n        elements.categories.setAttribute(\"aria-label\", text.categoriesLabel);\r\n        elements.loadMoreText.textContent = text.loadMore;\r\n\r\n        const state = {\r\n            currentPage: 1,\r\n            totalPages: 1,\r\n            totalPosts: 0,\r\n            category: 0,\r\n            search: \"\",\r\n            perPage: 9,\r\n            requestId: 0\r\n        };\r\n\r\n        const apiBase = window.location.origin + \"\/wp-json\/wp\/v2\";\r\n\r\n        function escapeHtml(value) {\r\n            return String(value || \"\")\r\n                .replace(\/&\/g, \"&amp;\")\r\n                .replace(\/<\/g, \"&lt;\")\r\n                .replace(\/>\/g, \"&gt;\")\r\n                .replace(\/\\\"\/g, \"&quot;\")\r\n                .replace(\/'\/g, \"&#039;\");\r\n        }\r\n\r\n        function decodeHtml(value) {\r\n            const textarea = document.createElement(\"textarea\");\r\n            textarea.innerHTML = value || \"\";\r\n            return textarea.value;\r\n        }\r\n\r\n        function stripHtml(value) {\r\n            const temporary = document.createElement(\"div\");\r\n            temporary.innerHTML = value || \"\";\r\n            return String(temporary.textContent || temporary.innerText || \"\")\r\n                .replace(\/\\s+\/g, \" \")\r\n                .trim();\r\n        }\r\n\r\n        function formatDate(dateValue) {\r\n            try {\r\n                return new Intl.DateTimeFormat(text.locale, {\r\n                    year: \"numeric\",\r\n                    month: \"long\",\r\n                    day: \"numeric\"\r\n                }).format(new Date(dateValue));\r\n            } catch (error) {\r\n                return dateValue || \"\";\r\n            }\r\n        }\r\n\r\n        function calculateReadingTime(post) {\r\n            const content = stripHtml(post.content && post.content.rendered ? post.content.rendered : \"\");\r\n            let minutes = 1;\r\n\r\n            if (language === \"zh-hant\") {\r\n                minutes = Math.max(1, Math.ceil(content.replace(\/\\s\/g, \"\").length \/ 500));\r\n            } else {\r\n                const wordCount = content.split(\/\\s+\/).filter(Boolean).length;\r\n                minutes = Math.max(1, Math.ceil(wordCount \/ 200));\r\n            }\r\n\r\n            return minutes + \" \" + (minutes === 1 ? text.minute : text.minutes);\r\n        }\r\n\r\n        function getFeaturedImage(post) {\r\n            try {\r\n                const media = post._embedded[\"wp:featuredmedia\"][0];\r\n                const sizes = media.media_details && media.media_details.sizes\r\n                    ? media.media_details.sizes\r\n                    : {};\r\n\r\n                if (sizes.medium_large && sizes.medium_large.source_url) {\r\n                    return sizes.medium_large.source_url;\r\n                }\r\n\r\n                if (sizes.large && sizes.large.source_url) {\r\n                    return sizes.large.source_url;\r\n                }\r\n\r\n                return media.source_url || \"\";\r\n            } catch (error) {\r\n                return \"\";\r\n            }\r\n        }\r\n\r\n        function getCategory(post) {\r\n            try {\r\n                const termGroups = post._embedded[\"wp:term\"] || [];\r\n                const categoryGroup = termGroups.find(function (group) {\r\n                    return Array.isArray(group) && group.some(function (term) {\r\n                        return term.taxonomy === \"category\";\r\n                    });\r\n                });\r\n\r\n                const category = categoryGroup && categoryGroup.find(function (term) {\r\n                    return term.taxonomy === \"category\";\r\n                });\r\n\r\n                return category ? decodeHtml(category.name) : \"\";\r\n            } catch (error) {\r\n                return \"\";\r\n            }\r\n        }\r\n\r\n        function createSkeletons(count) {\r\n            let output = \"\";\r\n\r\n            for (let index = 0; index < count; index += 1) {\r\n                output += `\r\n                    <div class=\"stc-article-skeleton\" aria-hidden=\"true\">\r\n                        <div class=\"stc-article-skeleton__image\"><\/div>\r\n                        <div class=\"stc-article-skeleton__content\">\r\n                            <div class=\"stc-article-skeleton__line stc-article-skeleton__line--small\"><\/div>\r\n                            <div class=\"stc-article-skeleton__line stc-article-skeleton__line--title\"><\/div>\r\n                            <div class=\"stc-article-skeleton__line stc-article-skeleton__line--medium\"><\/div>\r\n                            <div class=\"stc-article-skeleton__line\"><\/div>\r\n                            <div class=\"stc-article-skeleton__line stc-article-skeleton__line--medium\"><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                `;\r\n            }\r\n\r\n            elements.grid.innerHTML = output;\r\n        }\r\n\r\n        function createEmptyState(type) {\r\n            const isError = type === \"error\";\r\n\r\n            elements.grid.innerHTML = `\r\n                <div class=\"stc-articles__empty\">\r\n                    <div class=\"stc-articles__empty-icon\" aria-hidden=\"true\">${isError ? \"!\" : \"\u2315\"}<\/div>\r\n                    <h3 class=\"stc-articles__empty-title\">${escapeHtml(isError ? text.errorTitle : text.noResultsTitle)}<\/h3>\r\n                    <p class=\"stc-articles__empty-text\">${escapeHtml(isError ? text.errorText : text.noResultsText)}<\/p>\r\n                <\/div>\r\n            `;\r\n        }\r\n\r\n        function buildArticleCard(post) {\r\n            const title = decodeHtml(post.title && post.title.rendered ? post.title.rendered : \"\");\r\n            const contentExcerpt = post.excerpt && post.excerpt.rendered\r\n                ? stripHtml(post.excerpt.rendered)\r\n                : \"\";\r\n            const excerpt = contentExcerpt || stripHtml(post.content && post.content.rendered ? post.content.rendered : \"\").slice(0, 180);\r\n            const image = getFeaturedImage(post);\r\n            const category = getCategory(post);\r\n            const url = post.link || \"#\";\r\n\r\n            const imageMarkup = image\r\n                ? `<img class=\"stc-article-card__image\" src=\"${escapeHtml(image)}\" alt=\"${escapeHtml(title)}\" loading=\"lazy\" decoding=\"async\">`\r\n                : `<div class=\"stc-article-card__fallback\" aria-hidden=\"true\">STC<\/div>`;\r\n\r\n            const categoryMarkup = category\r\n                ? `<span class=\"stc-article-card__category\">${escapeHtml(category)}<\/span>`\r\n                : \"\";\r\n\r\n            return `\r\n                <article class=\"stc-article-card\">\r\n                    <a class=\"stc-article-card__image-link\" href=\"${escapeHtml(url)}\" aria-label=\"${escapeHtml(title)}\">\r\n                        ${imageMarkup}\r\n                        <span class=\"stc-article-card__image-overlay\" aria-hidden=\"true\"><\/span>\r\n                        ${categoryMarkup}\r\n                    <\/a>\r\n\r\n                    <div class=\"stc-article-card__body\">\r\n                        <div class=\"stc-article-card__meta\">\r\n                            <span class=\"stc-article-card__meta-item\">\r\n                                <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n                                    <rect x=\"3\" y=\"5\" width=\"18\" height=\"16\" rx=\"2\"><\/rect>\r\n                                    <path d=\"M16 3v4M8 3v4M3 10h18\"><\/path>\r\n                                <\/svg>\r\n                                ${escapeHtml(formatDate(post.date))}\r\n                            <\/span>\r\n\r\n                            <span class=\"stc-article-card__meta-item\">\r\n                                <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n                                    <circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle>\r\n                                    <path d=\"M12 7v5l3 2\"><\/path>\r\n                                <\/svg>\r\n                                ${escapeHtml(calculateReadingTime(post))}\r\n                            <\/span>\r\n                        <\/div>\r\n\r\n                        <h2 class=\"stc-article-card__title\">\r\n                            <a href=\"${escapeHtml(url)}\">${escapeHtml(title)}<\/a>\r\n                        <\/h2>\r\n\r\n                        <p class=\"stc-article-card__excerpt\">${escapeHtml(excerpt)}<\/p>\r\n\r\n                        <div class=\"stc-article-card__footer\">\r\n                            <a class=\"stc-article-card__link\" href=\"${escapeHtml(url)}\">\r\n                                ${escapeHtml(text.readArticle)}\r\n                                <span class=\"stc-article-card__arrow\" aria-hidden=\"true\">${text.arrow}<\/span>\r\n                            <\/a>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/article>\r\n            `;\r\n        }\r\n\r\n        function updateCounter() {\r\n            const label = state.totalPosts === 1 ? text.article : text.articles;\r\n            elements.counter.innerHTML = `<strong>${state.totalPosts}<\/strong> <span>${escapeHtml(label)}<\/span>`;\r\n        }\r\n\r\n        function getDisplayedArticleCount() {\r\n            return elements.grid.querySelectorAll(\".stc-article-card\").length;\r\n        }\r\n\r\n        function updateStatus() {\r\n            if (!state.totalPosts) {\r\n                elements.status.textContent = \"\";\r\n                return;\r\n            }\r\n\r\n            elements.status.textContent = text.showing + \" \" + getDisplayedArticleCount() + \" \" + text.results;\r\n        }\r\n\r\n        function buildApiUrl(endpoint, extraParameters) {\r\n            const params = new URLSearchParams(extraParameters || {});\r\n            params.set(\"lang\", text.apiLanguage);\r\n            return apiBase + endpoint + \"?\" + params.toString();\r\n        }\r\n\r\n        async function requestJson(url) {\r\n            const response = await fetch(url, { credentials: \"same-origin\" });\r\n\r\n            if (!response.ok) {\r\n                throw new Error(\"HTTP status \" + response.status);\r\n            }\r\n\r\n            return response;\r\n        }\r\n\r\n        async function loadPosts(options) {\r\n            const append = Boolean(options && options.append);\r\n            const requestId = ++state.requestId;\r\n\r\n            if (!append) {\r\n                createSkeletons(6);\r\n                elements.status.textContent = text.loading;\r\n            } else {\r\n                elements.loadMore.disabled = true;\r\n                elements.loadMoreText.innerHTML = '<span class=\"stc-articles__spinner\" aria-hidden=\"true\"><\/span>' + escapeHtml(text.loadingMore);\r\n            }\r\n\r\n            const parameters = {\r\n                _embed: \"1\",\r\n                per_page: String(state.perPage),\r\n                page: String(state.currentPage),\r\n                orderby: \"date\",\r\n                order: \"desc\"\r\n            };\r\n\r\n            if (state.category) {\r\n                parameters.categories = String(state.category);\r\n            }\r\n\r\n            if (state.search) {\r\n                parameters.search = state.search;\r\n            }\r\n\r\n            try {\r\n                const response = await requestJson(buildApiUrl(\"\/posts\", parameters));\r\n                const posts = await response.json();\r\n\r\n                if (requestId !== state.requestId) {\r\n                    return;\r\n                }\r\n\r\n                state.totalPages = parseInt(response.headers.get(\"X-WP-TotalPages\"), 10) || 1;\r\n                state.totalPosts = parseInt(response.headers.get(\"X-WP-Total\"), 10) || 0;\r\n\r\n                const markup = posts.map(buildArticleCard).join(\"\");\r\n\r\n                if (append) {\r\n                    elements.grid.insertAdjacentHTML(\"beforeend\", markup);\r\n                } else {\r\n                    elements.grid.innerHTML = markup;\r\n                }\r\n\r\n                if (!posts.length && !append) {\r\n                    createEmptyState(\"empty\");\r\n                }\r\n\r\n                updateCounter();\r\n                updateStatus();\r\n                elements.loadMore.hidden = state.currentPage >= state.totalPages || !posts.length;\r\n            } catch (error) {\r\n                if (requestId !== state.requestId) {\r\n                    return;\r\n                }\r\n\r\n                if (!append) {\r\n                    createEmptyState(\"error\");\r\n                }\r\n\r\n                elements.status.textContent = \"\";\r\n                elements.loadMore.hidden = true;\r\n            } finally {\r\n                if (requestId === state.requestId) {\r\n                    elements.loadMore.disabled = false;\r\n                    elements.loadMoreText.textContent = text.loadMore;\r\n                }\r\n            }\r\n        }\r\n\r\n        async function loadCategories() {\r\n            const parameters = {\r\n                per_page: \"100\",\r\n                hide_empty: \"true\",\r\n                orderby: \"count\",\r\n                order: \"desc\"\r\n            };\r\n\r\n            let categories = [];\r\n\r\n            try {\r\n                const response = await requestJson(buildApiUrl(\"\/categories\", parameters));\r\n                categories = await response.json();\r\n            } catch (error) {\r\n                categories = [];\r\n            }\r\n\r\n            let output = `\r\n                <button class=\"stc-articles-category is-active\" type=\"button\" data-category-id=\"0\">\r\n                    ${escapeHtml(text.all)}\r\n                <\/button>\r\n            `;\r\n\r\n            categories.forEach(function (category) {\r\n                output += `\r\n                    <button class=\"stc-articles-category\" type=\"button\" data-category-id=\"${Number(category.id) || 0}\">\r\n                        ${escapeHtml(decodeHtml(category.name))}\r\n                    <\/button>\r\n                `;\r\n            });\r\n\r\n            elements.categories.innerHTML = output;\r\n        }\r\n\r\n        elements.categories.addEventListener(\"click\", function (event) {\r\n            const button = event.target.closest(\".stc-articles-category\");\r\n\r\n            if (!button) {\r\n                return;\r\n            }\r\n\r\n            elements.categories.querySelectorAll(\".stc-articles-category\").forEach(function (item) {\r\n                item.classList.remove(\"is-active\");\r\n            });\r\n\r\n            button.classList.add(\"is-active\");\r\n            state.category = parseInt(button.dataset.categoryId, 10) || 0;\r\n            state.currentPage = 1;\r\n            loadPosts({ append: false });\r\n        });\r\n\r\n        let searchTimer = null;\r\n\r\n        elements.search.addEventListener(\"input\", function () {\r\n            window.clearTimeout(searchTimer);\r\n\r\n            searchTimer = window.setTimeout(function () {\r\n                state.search = elements.search.value.trim();\r\n                state.currentPage = 1;\r\n                loadPosts({ append: false });\r\n            }, 450);\r\n        });\r\n\r\n        elements.loadMore.addEventListener(\"click\", function () {\r\n            if (state.currentPage >= state.totalPages || elements.loadMore.disabled) {\r\n                return;\r\n            }\r\n\r\n            state.currentPage += 1;\r\n            loadPosts({ append: true });\r\n        });\r\n\r\n        loadCategories();\r\n        loadPosts({ append: false });\r\n    }\r\n\r\n    if (document.readyState === \"loading\") {\r\n        document.addEventListener(\"DOMContentLoaded\", initializeArticlesArchive, { once: true });\r\n    } else {\r\n        initializeArticlesArchive();\r\n    }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n    <div class=\"xs_social_share_widget xs_share_url after_content \t\tmain_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content\">\n\n\t\t\n        <ul>\n\t\t\t        <\/ul>\n    <\/div> \n","protected":false},"excerpt":{"rendered":"<p>Le blog Accueil Le blog \u0645\u0631\u0643\u0632 \u0627\u0644\u0645\u0639\u0631\u0641\u0629 \u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a \u0648\u0627\u0644\u0631\u0624\u0649 \u0645\u062d\u062a\u0648\u0649 \u0645\u062a\u062e\u0635\u0635 \u062d\u0648\u0644 \u0642\u0637\u0627\u0639 \u0627\u0644\u062a\u0639\u062f\u064a\u0646 \u0648\u0627\u0644\u062c\u0628\u0633 \u0648\u0627\u0644\u062e\u0627\u0645\u0627\u062a \u0627\u0644\u0635\u0646\u0627\u0639\u064a\u0629. 0 \u0645\u0642\u0627\u0644 \u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0645\u0632\u064a\u062f<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-1876","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/stc-tu.com\/fr\/wp-json\/wp\/v2\/pages\/1876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stc-tu.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/stc-tu.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/stc-tu.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/stc-tu.com\/fr\/wp-json\/wp\/v2\/comments?post=1876"}],"version-history":[{"count":4,"href":"https:\/\/stc-tu.com\/fr\/wp-json\/wp\/v2\/pages\/1876\/revisions"}],"predecessor-version":[{"id":1885,"href":"https:\/\/stc-tu.com\/fr\/wp-json\/wp\/v2\/pages\/1876\/revisions\/1885"}],"wp:attachment":[{"href":"https:\/\/stc-tu.com\/fr\/wp-json\/wp\/v2\/media?parent=1876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}