{"id":204,"date":"2025-12-13T19:06:12","date_gmt":"2025-12-13T18:06:12","guid":{"rendered":"https:\/\/www.malisig.ml\/?page_id=204"},"modified":"2025-12-14T22:03:43","modified_gmt":"2025-12-14T21:03:43","slug":"ressource","status":"publish","type":"page","link":"https:\/\/www.malisig.ml\/index.php\/ressource\/","title":{"rendered":"R\u00e9ssources"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"204\" class=\"elementor elementor-204\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6506083 e-con-full e-flex e-con e-parent\" data-id=\"6506083\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5457dbb elementor-widget elementor-widget-malisig_resources\" data-id=\"5457dbb\" data-element_type=\"widget\" data-widget_type=\"malisig_resources.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"malisig-resources-widget\" id=\"malisig-resources-5457dbb\">\r\n\r\n            <!-- Header -->\r\n            <div class=\"malisig-widget-header\">\r\n                <h2 class=\"malisig-widget-title\">M\u00e9diath\u00e8que Institutionnelle<\/h2>\r\n                <p class=\"malisig-widget-desc\">Acc\u00e9dez \u00e0 tous les rapports, pr\u00e9sentations et documents officiels de Mali SIG.<\/p>\r\n            <\/div>\r\n\r\n            <div class=\"malisig-resources-container\">\r\n\r\n                <!-- Sidebar Filtres -->\r\n                <aside class=\"malisig-filters-sidebar\">\r\n                    <h3 class=\"filters-main-title\">Filtres<\/h3>\r\n\r\n                    <!-- Filtre Ann\u00e9e -->\r\n                    <div class=\"filter-group\">\r\n                        <div class=\"filter-group-header\">\r\n                            <span class=\"filter-group-title\">Ann\u00e9e<\/span>\r\n                            <span class=\"filter-toggle-icon dashicons dashicons-arrow-up-alt2\"><\/span>\r\n                        <\/div>\r\n                        <div class=\"filter-options\">\r\n                                                                                                <label class=\"filter-option\">\r\n                                        <input type=\"checkbox\" class=\"filter-checkbox year-filter\"\r\n                                            value=\"2024\">\r\n                                        2024                                    <\/label>\r\n                                                                    <label class=\"filter-option\">\r\n                                        <input type=\"checkbox\" class=\"filter-checkbox year-filter\"\r\n                                            value=\"2023\">\r\n                                        2023                                    <\/label>\r\n                                                                    <label class=\"filter-option\">\r\n                                        <input type=\"checkbox\" class=\"filter-checkbox year-filter\"\r\n                                            value=\"2022\">\r\n                                        2022                                    <\/label>\r\n                                                                    <label class=\"filter-option\">\r\n                                        <input type=\"checkbox\" class=\"filter-checkbox year-filter\"\r\n                                            value=\"2020\">\r\n                                        2020                                    <\/label>\r\n                                                                                    <\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Filtre Cat\u00e9gorie -->\r\n                    <div class=\"filter-group\">\r\n                        <div class=\"filter-group-header\">\r\n                            <span class=\"filter-group-title\">Cat\u00e9gorie<\/span>\r\n                            <span class=\"filter-toggle-icon dashicons dashicons-arrow-up-alt2\"><\/span>\r\n                        <\/div>\r\n                        <div class=\"filter-options\">\r\n                                                                                                <label class=\"filter-option\">\r\n                                        <input type=\"checkbox\" class=\"filter-checkbox category-filter\"\r\n                                            value=\"12\">\r\n                                        Articles                                    <\/label>\r\n                                                                    <label class=\"filter-option\">\r\n                                        <input type=\"checkbox\" class=\"filter-checkbox category-filter\"\r\n                                            value=\"9\">\r\n                                        PDF                                    <\/label>\r\n                                                                    <label class=\"filter-option\">\r\n                                        <input type=\"checkbox\" class=\"filter-checkbox category-filter\"\r\n                                            value=\"17\">\r\n                                        Photos                                    <\/label>\r\n                                                                    <label class=\"filter-option\">\r\n                                        <input type=\"checkbox\" class=\"filter-checkbox category-filter\"\r\n                                            value=\"16\">\r\n                                        Phototh\u00e8que                                    <\/label>\r\n                                                                    <label class=\"filter-option\">\r\n                                        <input type=\"checkbox\" class=\"filter-checkbox category-filter\"\r\n                                            value=\"11\">\r\n                                        Pr\u00e9sentations                                    <\/label>\r\n                                                                    <label class=\"filter-option\">\r\n                                        <input type=\"checkbox\" class=\"filter-checkbox category-filter\"\r\n                                            value=\"10\">\r\n                                        Vid\u00e9os                                    <\/label>\r\n                                                                                    <\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Bouton R\u00e9initialiser -->\r\n                    <button type=\"button\" class=\"reset-filters-btn\">R\u00e9initialiser les filtres<\/button>\r\n                <\/aside>\r\n\r\n                <!-- Main Content -->\r\n                <div class=\"malisig-resources-main\">\r\n\r\n                    <!-- View Toggle -->\r\n                    <div class=\"view-toggle-container\">\r\n                        <div class=\"view-toggle\">\r\n                            <button class=\"view-toggle-btn active\" data-view=\"list\">Liste<\/button>\r\n                            <button class=\"view-toggle-btn\" data-view=\"grid\">Grille<\/button>\r\n                        <\/div>\r\n                        <div class=\"results-count\">\r\n                            <span id=\"results-count-text\">Chargement...<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Grid -->\r\n                    <div class=\"malisig-resources-grid list-view\"\r\n                        data-nonce=\"76e72076c1\"\r\n                        data-limit=\"12\">\r\n                        <!-- AJAX Content -->\r\n                    <\/div>\r\n\r\n                    <!-- Loader -->\r\n                    <div class=\"loader hidden\" style=\"text-align:center; padding:20px;\">\r\n                        <i class=\"eicon-loading eicon-animation-spin\" style=\"font-size:30px; color:#D92323;\"><\/i>\r\n                    <\/div>\r\n\r\n                    <!-- No Results -->\r\n                    <div class=\"no-results hidden\" style=\"text-align:center; padding:40px; color:#6b7280;\">\r\n                        <p>Aucune ressource ne correspond \u00e0 vos crit\u00e8res.<\/p>\r\n                    <\/div>\r\n\r\n                    <!-- Pagination -->\r\n                    <div class=\"pagination-container\"><\/div>\r\n\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <style>\r\n            .malisig-resources-widget {\r\n                max-width: 1200px;\r\n                margin: 0 auto;\r\n                padding: 20px;\r\n            }\r\n\r\n            .malisig-widget-header {\r\n                text-align: center;\r\n                margin-bottom: 40px;\r\n            }\r\n\r\n            .malisig-widget-title {\r\n                font-size: 2.5rem;\r\n                font-weight: 700;\r\n                margin-bottom: 10px;\r\n            }\r\n\r\n            .malisig-widget-desc {\r\n                font-size: 1.1rem;\r\n                color: #666;\r\n            }\r\n\r\n            .malisig-resources-container {\r\n                display: grid;\r\n                grid-template-columns: 250px 1fr;\r\n                gap: 30px;\r\n            }\r\n\r\n            .malisig-filters-sidebar {\r\n                background: #f9f9f9;\r\n                padding: 20px;\r\n                border-radius: 8px;\r\n                height: fit-content;\r\n                position: sticky;\r\n                top: 20px;\r\n            }\r\n\r\n            .filters-main-title {\r\n                font-size: 1.3rem;\r\n                font-weight: 700;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .filter-group {\r\n                margin-bottom: 20px;\r\n                border-bottom: 1px solid #ddd;\r\n                padding-bottom: 15px;\r\n            }\r\n\r\n            .filter-group:last-child {\r\n                border-bottom: none;\r\n            }\r\n\r\n            .filter-group-header {\r\n                display: flex;\r\n                justify-content: space-between;\r\n                align-items: center;\r\n                cursor: pointer;\r\n                margin-bottom: 10px;\r\n            }\r\n\r\n            .filter-group-title {\r\n                font-weight: 600;\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .filter-toggle-icon {\r\n                transition: transform 0.3s;\r\n            }\r\n\r\n            .filter-group.collapsed .filter-toggle-icon {\r\n                transform: rotate(180deg);\r\n            }\r\n\r\n            .filter-group.collapsed .filter-options {\r\n                display: none;\r\n            }\r\n\r\n            .filter-options {\r\n                display: flex;\r\n                flex-direction: column;\r\n                gap: 8px;\r\n            }\r\n\r\n            .filter-option {\r\n                display: flex;\r\n                align-items: center;\r\n                gap: 8px;\r\n                cursor: pointer;\r\n                font-size: 0.95rem;\r\n            }\r\n\r\n            .filter-checkbox {\r\n                cursor: pointer;\r\n                accent-color: #D92323;\r\n            }\r\n\r\n            .reset-filters-btn {\r\n                width: 100%;\r\n                padding: 10px;\r\n                background: #D92323;\r\n                color: white;\r\n                border: none;\r\n                border-radius: 5px;\r\n                cursor: pointer;\r\n                font-weight: 600;\r\n                margin-top: 15px;\r\n            }\r\n\r\n            .reset-filters-btn:hover {\r\n                background: #b01d1d;\r\n            }\r\n\r\n            .view-toggle-container {\r\n                display: flex;\r\n                justify-content: space-between;\r\n                align-items: center;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .view-toggle {\r\n                display: flex;\r\n                gap: 5px;\r\n                background: #f0f0f0;\r\n                padding: 4px;\r\n                border-radius: 6px;\r\n            }\r\n\r\n            .view-toggle-btn {\r\n                padding: 8px 16px;\r\n                border: none;\r\n                background: transparent;\r\n                cursor: pointer;\r\n                border-radius: 4px;\r\n                font-weight: 500;\r\n            }\r\n\r\n            .view-toggle-btn.active {\r\n                background: white;\r\n                box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\r\n            }\r\n\r\n            .results-count {\r\n                color: #666;\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .malisig-resources-grid {\r\n                display: grid;\r\n                gap: 20px;\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .malisig-resources-grid.list-view {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .malisig-resources-grid.grid-view {\r\n                grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\r\n            }\r\n\r\n            .resource-card {\r\n                background: white;\r\n                border: 1px solid #e5e5e5;\r\n                border-radius: 8px;\r\n                padding: 20px;\r\n                transition: all 0.3s;\r\n            }\r\n\r\n            .resource-card:hover {\r\n                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\r\n                transform: translateY(-2px);\r\n            }\r\n\r\n            .resource-meta {\r\n                display: flex;\r\n                gap: 10px;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .resource-year,\r\n            .resource-category {\r\n                display: inline-block;\r\n                padding: 4px 10px;\r\n                background: #f0f0f0;\r\n                border-radius: 4px;\r\n                font-size: 0.85rem;\r\n                font-weight: 500;\r\n            }\r\n\r\n            .resource-category {\r\n                background: #D92323;\r\n                color: white;\r\n            }\r\n\r\n            .resource-title {\r\n                font-size: 1.1rem;\r\n                font-weight: 600;\r\n                margin-bottom: 10px;\r\n                color: #333;\r\n            }\r\n\r\n            .resource-excerpt {\r\n                color: #666;\r\n                font-size: 0.9rem;\r\n                margin-bottom: 15px;\r\n                line-height: 1.5;\r\n            }\r\n\r\n            .resource-actions {\r\n                display: flex;\r\n                gap: 10px;\r\n            }\r\n\r\n            .resource-view-btn,\r\n            .resource-download-btn {\r\n                flex: 1;\r\n                display: inline-flex;\r\n                align-items: center;\r\n                justify-content: center;\r\n                gap: 5px;\r\n                padding: 10px 15px;\r\n                text-decoration: none;\r\n                border-radius: 5px;\r\n                font-weight: 600;\r\n                transition: all 0.3s;\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .resource-view-btn {\r\n                background: white;\r\n                color: #D92323;\r\n                border: 2px solid #D92323;\r\n            }\r\n\r\n            .resource-view-btn:hover {\r\n                background: #D92323;\r\n                color: white;\r\n            }\r\n\r\n            .resource-download-btn {\r\n                background: #D92323;\r\n                color: white;\r\n                border: 2px solid #D92323;\r\n            }\r\n\r\n            .resource-download-btn:hover {\r\n                background: #b01d1d;\r\n                border-color: #b01d1d;\r\n            }\r\n\r\n            .resource-view-btn i,\r\n            .resource-download-btn i {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .malisig-hidden {\r\n                display: none;\r\n            }\r\n\r\n            .no-results {\r\n                text-align: center;\r\n                padding: 40px;\r\n                color: #6b7280;\r\n            }\r\n\r\n            .loader {\r\n                text-align: center;\r\n                padding: 20px;\r\n            }\r\n\r\n            .pagination-container {\r\n                display: flex;\r\n                justify-content: center;\r\n                gap: 10px;\r\n                margin-top: 30px;\r\n            }\r\n\r\n            .pagination-btn {\r\n                padding: 8px 16px;\r\n                border: 1px solid #ddd;\r\n                background: white;\r\n                cursor: pointer;\r\n                border-radius: 4px;\r\n            }\r\n\r\n            .pagination-btn:hover {\r\n                background: #f0f0f0;\r\n            }\r\n\r\n            .pagination-btn.active {\r\n                background: #D92323;\r\n                color: white;\r\n                border-color: #D92323;\r\n            }\r\n\r\n            .pagination-btn:disabled {\r\n                opacity: 0.5;\r\n                cursor: not-allowed;\r\n            }\r\n        <\/style>\r\n\r\n        <script>\r\n            jQuery(document).ready(function ($) {\r\n                var currentPage = 1;\r\n                var currentFilters = {\r\n                    years: [],\r\n                    categories: []\r\n                };\r\n\r\n                \/\/ Charger les ressources\r\n                function loadResources(page = 1) {\r\n                    var $grid = $('.malisig-resources-grid');\r\n                    var $loader = $('.loader');\r\n                    var $noResults = $('.no-results');\r\n\r\n                    $grid.empty();\r\n                    $loader.removeClass('malisig-hidden');\r\n                    $noResults.addClass('malisig-hidden');\r\n\r\n                    $.ajax({\r\n                        url: 'https:\/\/www.malisig.ml\/wp-admin\/admin-ajax.php',\r\n                        type: 'POST',\r\n                        data: {\r\n                            action: 'malisig_load_resources',\r\n                            nonce: $grid.data('nonce'),\r\n                            limit: $grid.data('limit'),\r\n                            page: page,\r\n                            filters: currentFilters\r\n                        },\r\n                        success: function (response) {\r\n                            $loader.addClass('malisig-hidden');\r\n\r\n                            if (response.success && response.data.html) {\r\n                                $grid.html(response.data.html);\r\n                                updateResultsCount(response.data.total);\r\n                                renderPagination(response.data.total, response.data.per_page, page);\r\n                            } else {\r\n                                $noResults.removeClass('malisig-hidden');\r\n                                updateResultsCount(0);\r\n                            }\r\n                        },\r\n                        error: function () {\r\n                            $loader.addClass('malisig-hidden');\r\n                            $noResults.removeClass('malisig-hidden');\r\n                        }\r\n                    });\r\n                }\r\n\r\n                \/\/ Mettre \u00e0 jour le compteur\r\n                function updateResultsCount(total) {\r\n                    $('#results-count-text').text(total + ' ressource(s) trouv\u00e9e(s)');\r\n                }\r\n\r\n                \/\/ Pagination\r\n                function renderPagination(total, perPage, currentPage) {\r\n                    var totalPages = Math.ceil(total \/ perPage);\r\n                    var $container = $('.pagination-container');\r\n                    $container.empty();\r\n\r\n                    if (totalPages <= 1) return;\r\n\r\n                    \/\/ Bouton Pr\u00e9c\u00e9dent\r\n                    $container.append('<button class=\"pagination-btn\" data-page=\"' + (currentPage - 1) + '\" ' + (currentPage === 1 ? 'disabled' : '') + '>\u00ab Pr\u00e9c\u00e9dent<\/button>');\r\n\r\n                    \/\/ Num\u00e9ros de page\r\n                    for (var i = 1; i <= totalPages; i++) {\r\n                        $container.append('<button class=\"pagination-btn ' + (i === currentPage ? 'active' : '') + '\" data-page=\"' + i + '\">' + i + '<\/button>');\r\n                    }\r\n\r\n                    \/\/ Bouton Suivant\r\n                    $container.append('<button class=\"pagination-btn\" data-page=\"' + (currentPage + 1) + '\" ' + (currentPage === totalPages ? 'disabled' : '') + '>Suivant \u00bb<\/button>');\r\n                }\r\n\r\n                \/\/ \u00c9v\u00e9nements pagination\r\n                $(document).on('click', '.pagination-btn:not(:disabled)', function () {\r\n                    var page = parseInt($(this).data('page'));\r\n                    currentPage = page;\r\n                    loadResources(page);\r\n                    $('html, body').animate({ scrollTop: $('.malisig-resources-grid').offset().top - 100 }, 500);\r\n                });\r\n\r\n                \/\/ Toggle filtres\r\n                $('.filter-group-header').on('click', function () {\r\n                    $(this).closest('.filter-group').toggleClass('collapsed');\r\n                });\r\n\r\n                \/\/ Filtres\r\n                $('.filter-checkbox').on('change', function () {\r\n                    currentPage = 1;\r\n\r\n                    \/\/ R\u00e9cup\u00e9rer les ann\u00e9es s\u00e9lectionn\u00e9es\r\n                    currentFilters.years = [];\r\n                    $('.year-filter:checked').each(function () {\r\n                        currentFilters.years.push($(this).val());\r\n                    });\r\n\r\n                    \/\/ R\u00e9cup\u00e9rer les cat\u00e9gories s\u00e9lectionn\u00e9es\r\n                    currentFilters.categories = [];\r\n                    $('.category-filter:checked').each(function () {\r\n                        currentFilters.categories.push($(this).val());\r\n                    });\r\n\r\n                    loadResources(1);\r\n                });\r\n\r\n                \/\/ R\u00e9initialiser filtres\r\n                $('.reset-filters-btn').on('click', function () {\r\n                    $('.filter-checkbox').prop('checked', false);\r\n                    currentFilters = { years: [], categories: [] };\r\n                    currentPage = 1;\r\n                    loadResources(1);\r\n                });\r\n\r\n                \/\/ Toggle vue\r\n                $('.view-toggle-btn').on('click', function () {\r\n                    var view = $(this).data('view');\r\n                    $('.view-toggle-btn').removeClass('active');\r\n                    $(this).addClass('active');\r\n                    $('.malisig-resources-grid').removeClass('list-view grid-view').addClass(view + '-view');\r\n                });\r\n\r\n                \/\/ Charger au d\u00e9marrage\r\n                loadResources(1);\r\n            });\r\n        <\/script>\r\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>M\u00e9diath\u00e8que Institutionnelle Acc\u00e9dez \u00e0 tous les rapports, pr\u00e9sentations et documents officiels de Mali SIG. Filtres Ann\u00e9e 2024 2023 2022 Type de M\u00e9dia Documents Vid\u00e9os Photos Sujet Liste Grille Aucune ressource ne correspond \u00e0 vos crit\u00e8res.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-204","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.malisig.ml\/index.php\/wp-json\/wp\/v2\/pages\/204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.malisig.ml\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.malisig.ml\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.malisig.ml\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.malisig.ml\/index.php\/wp-json\/wp\/v2\/comments?post=204"}],"version-history":[{"count":10,"href":"https:\/\/www.malisig.ml\/index.php\/wp-json\/wp\/v2\/pages\/204\/revisions"}],"predecessor-version":[{"id":534,"href":"https:\/\/www.malisig.ml\/index.php\/wp-json\/wp\/v2\/pages\/204\/revisions\/534"}],"wp:attachment":[{"href":"https:\/\/www.malisig.ml\/index.php\/wp-json\/wp\/v2\/media?parent=204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}