{"id":8215,"date":"2025-11-07T03:19:24","date_gmt":"2025-11-07T03:19:24","guid":{"rendered":"https:\/\/sivih.org\/?page_id=8215"},"modified":"2025-12-07T05:34:10","modified_gmt":"2025-12-07T05:34:10","slug":"autres-cagnottes","status":"publish","type":"page","link":"https:\/\/sivih.org\/en\/autres-cagnottes\/","title":{"rendered":"Autres Cagnottes"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8215\" class=\"elementor elementor-8215\">\n\t\t\t\t<div class=\"elementor-element elementor-element-500fa68 e-flex e-con-boxed e-con e-parent\" data-id=\"500fa68\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e377d39 elementor-widget elementor-widget-shortcode\" data-id=\"e377d39\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><style>\r\n.all-campaigns-page {\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n    padding: 40px 20px;\r\n    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\r\n}\r\n\r\n.page-header {\r\n    text-align: center;\r\n    margin-bottom: 50px;\r\n}\r\n\r\n.page-header h1 {\r\n    font-size: 2.8rem;\r\n    margin-bottom: 15px;\r\n    background: linear-gradient(135deg, #FF7E00, #F33F5E);\r\n    -webkit-background-clip: text;\r\n    -webkit-text-fill-color: transparent;\r\n    background-clip: text;\r\n}\r\n\r\n.page-header p {\r\n    font-size: 1.2rem;\r\n    color: #666;\r\n    max-width: 600px;\r\n    margin: 0 auto;\r\n}\r\n\r\n\/* Style pour la cagnotte vedette (derni\u00e8re) *\/\r\n.featured-campaign {\r\n    background: white;\r\n    border-radius: 20px;\r\n    overflow: hidden;\r\n    box-shadow: 0 15px 50px rgba(0,0,0,0.1);\r\n    margin-bottom: 50px;\r\n    position: relative;\r\n}\r\n\r\n.featured-badge {\r\n    position: absolute;\r\n    top: 20px;\r\n    left: 20px;\r\n    background: linear-gradient(135deg, #FF7E00, #F33F5E);\r\n    color: white;\r\n    padding: 10px 20px;\r\n    border-radius: 25px;\r\n    font-weight: 700;\r\n    font-size: 0.9rem;\r\n    z-index: 2;\r\n}\r\n\r\n.featured-content {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    min-height: 400px;\r\n}\r\n\r\n.featured-image {\r\n    position: relative;\r\n    overflow: hidden;\r\n}\r\n\r\n.featured-image img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n}\r\n\r\n.featured-image .default-image {\r\n    width: 100%;\r\n    height: 100%;\r\n    background: linear-gradient(135deg, #FF7E00, #F33F5E);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    color: white;\r\n    font-size: 1.5rem;\r\n    font-weight: bold;\r\n}\r\n\r\n.featured-details {\r\n    padding: 40px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n}\r\n\r\n.featured-category {\r\n    display: inline-block;\r\n    background: #f8f9fa;\r\n    color: #FF7E00;\r\n    padding: 8px 20px;\r\n    border-radius: 20px;\r\n    font-size: 0.9rem;\r\n    font-weight: 600;\r\n    margin-bottom: 20px;\r\n}\r\n\r\n.featured-title {\r\n    font-size: 2.2rem;\r\n    font-weight: 700;\r\n    margin-bottom: 20px;\r\n    color: #333;\r\n    line-height: 1.2;\r\n}\r\n\r\n.featured-description {\r\n    font-size: 1.1rem;\r\n    line-height: 1.6;\r\n    color: #666;\r\n    margin-bottom: 30px;\r\n    display: -webkit-box;\r\n    -webkit-line-clamp: 4;\r\n    -webkit-box-orient: vertical;\r\n    overflow: hidden;\r\n}\r\n\r\n.featured-stats {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 20px;\r\n    margin-bottom: 25px;\r\n}\r\n\r\n.featured-stat {\r\n    text-align: center;\r\n    padding: 15px;\r\n    background: #f8f9fa;\r\n    border-radius: 10px;\r\n}\r\n\r\n.featured-stat-value {\r\n    font-size: 1.5rem;\r\n    font-weight: 700;\r\n    color: #FF7E00;\r\n    margin-bottom: 5px;\r\n}\r\n\r\n.featured-stat-label {\r\n    font-size: 0.8rem;\r\n    color: #666;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.5px;\r\n}\r\n\r\n.featured-progress {\r\n    margin-bottom: 25px;\r\n}\r\n\r\n.progress-bar {\r\n    height: 10px;\r\n    background: #f0f0f0;\r\n    border-radius: 5px;\r\n    overflow: hidden;\r\n    margin-bottom: 10px;\r\n}\r\n\r\n.progress {\r\n    height: 100%;\r\n    background: linear-gradient(135deg, #FF7E00, #F33F5E);\r\n    border-radius: 5px;\r\n    transition: width 0.5s ease;\r\n}\r\n\r\n.progress-text {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    font-size: 0.9rem;\r\n    font-weight: 600;\r\n    color: #333;\r\n}\r\n\r\n.featured-actions {\r\n    display: flex;\r\n    gap: 15px;\r\n}\r\n\r\n.btn-primary {\r\n    background: linear-gradient(135deg, #FF7E00, #F33F5E);\r\n    color: white;\r\n    border: none;\r\n    padding: 15px 30px;\r\n    border-radius: 25px;\r\n    font-weight: 600;\r\n    cursor: pointer;\r\n    text-decoration: none;\r\n    display: inline-block;\r\n    text-align: center;\r\n    flex: 1;\r\n    transition: all 0.3s;\r\n}\r\n\r\n.btn-primary:hover {\r\n    transform: translateY(-2px);\r\n    box-shadow: 0 5px 15px rgba(255, 126, 0, 0.3);\r\n}\r\n\r\n.btn-secondary {\r\n    background: transparent;\r\n    color: #FF7E00;\r\n    border: 2px solid #FF7E00;\r\n    padding: 13px 30px;\r\n    border-radius: 25px;\r\n    font-weight: 600;\r\n    cursor: pointer;\r\n    text-decoration: none;\r\n    display: inline-block;\r\n    text-align: center;\r\n    flex: 1;\r\n    transition: all 0.3s;\r\n}\r\n\r\n.btn-secondary:hover {\r\n    background: #FF7E00;\r\n    color: white;\r\n}\r\n\r\n\/* Style pour la grille des autres cagnottes *\/\r\n.other-campaigns-section {\r\n    margin-top: 60px;\r\n}\r\n\r\n.section-title {\r\n    font-size: 2rem;\r\n    font-weight: 700;\r\n    margin-bottom: 30px;\r\n    color: #333;\r\n    text-align: center;\r\n}\r\n\r\n.campaigns-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));\r\n    gap: 30px;\r\n}\r\n\r\n.campaign-card {\r\n    background: white;\r\n    border-radius: 16px;\r\n    overflow: hidden;\r\n    box-shadow: 0 5px 20px rgba(0,0,0,0.08);\r\n    transition: all 0.3s ease;\r\n    position: relative;\r\n}\r\n\r\n.campaign-card:hover {\r\n    transform: translateY(-5px);\r\n    box-shadow: 0 10px 30px rgba(0,0,0,0.15);\r\n}\r\n\r\n.campaign-status {\r\n    position: absolute;\r\n    top: 15px;\r\n    right: 15px;\r\n    padding: 6px 12px;\r\n    border-radius: 15px;\r\n    font-size: 0.75rem;\r\n    font-weight: 600;\r\n    z-index: 2;\r\n}\r\n\r\n.status-active {\r\n    background: #28a745;\r\n    color: white;\r\n}\r\n\r\n.status-closed {\r\n    background: #6c757d;\r\n    color: white;\r\n}\r\n\r\n.status-urgent {\r\n    background: #dc3545;\r\n    color: white;\r\n}\r\n\r\n.campaign-image {\r\n    width: 100%;\r\n    height: 200px;\r\n    background: linear-gradient(135deg, #FF7E00, #F33F5E);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    color: white;\r\n    font-weight: bold;\r\n    position: relative;\r\n}\r\n\r\n.campaign-image img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n}\r\n\r\n.campaign-content {\r\n    padding: 25px;\r\n}\r\n\r\n.campaign-category {\r\n    display: inline-block;\r\n    background: #f8f9fa;\r\n    color: #FF7E00;\r\n    padding: 4px 12px;\r\n    border-radius: 12px;\r\n    font-size: 0.75rem;\r\n    font-weight: 600;\r\n    margin-bottom: 12px;\r\n}\r\n\r\n.campaign-title {\r\n    font-size: 1.2rem;\r\n    font-weight: 700;\r\n    margin-bottom: 12px;\r\n    color: #333;\r\n    line-height: 1.3;\r\n    height: 2.6em;\r\n    overflow: hidden;\r\n    display: -webkit-box;\r\n    -webkit-line-clamp: 2;\r\n    -webkit-box-orient: vertical;\r\n}\r\n\r\n.campaign-description {\r\n    color: #666;\r\n    margin-bottom: 20px;\r\n    line-height: 1.5;\r\n    display: -webkit-box;\r\n    -webkit-line-clamp: 3;\r\n    -webkit-box-orient: vertical;\r\n    overflow: hidden;\r\n    height: 4.5em;\r\n}\r\n\r\n.campaign-stats {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 12px;\r\n    margin-bottom: 20px;\r\n}\r\n\r\n.campaign-stat {\r\n    text-align: center;\r\n    padding: 10px;\r\n    background: #f8f9fa;\r\n    border-radius: 8px;\r\n}\r\n\r\n.stat-value {\r\n    font-size: 1rem;\r\n    font-weight: 700;\r\n    color: #FF7E00;\r\n    margin-bottom: 4px;\r\n}\r\n\r\n.stat-label {\r\n    font-size: 0.7rem;\r\n    color: #666;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.5px;\r\n}\r\n\r\n.campaign-progress {\r\n    margin-bottom: 20px;\r\n}\r\n\r\n.campaign-actions {\r\n    display: flex;\r\n    gap: 10px;\r\n}\r\n\r\n.btn-small {\r\n    padding: 10px 20px;\r\n    border-radius: 20px;\r\n    font-weight: 600;\r\n    cursor: pointer;\r\n    text-decoration: none;\r\n    display: inline-block;\r\n    text-align: center;\r\n    flex: 1;\r\n    font-size: 0.85rem;\r\n    transition: all 0.3s;\r\n    border: none;\r\n}\r\n\r\n.btn-small.primary {\r\n    background: linear-gradient(135deg, #FF7E00, #F33F5E);\r\n    color: white;\r\n}\r\n\r\n.btn-small.primary:hover {\r\n    transform: translateY(-1px);\r\n    box-shadow: 0 3px 10px rgba(255, 126, 0, 0.3);\r\n}\r\n\r\n.btn-small.secondary {\r\n    background: transparent;\r\n    color: #FF7E00;\r\n    border: 1px solid #FF7E00;\r\n}\r\n\r\n.btn-small.secondary:hover {\r\n    background: #FF7E00;\r\n    color: white;\r\n}\r\n\r\n\/* \u00c9tats de chargement et vides *\/\r\n.loading {\r\n    text-align: center;\r\n    padding: 60px 20px;\r\n    color: #666;\r\n    font-size: 1.1rem;\r\n    grid-column: 1 \/ -1;\r\n}\r\n\r\n.loading-spinner {\r\n    border: 4px solid #f3f3f3;\r\n    border-top: 4px solid #FF7E00;\r\n    border-radius: 50%;\r\n    width: 40px;\r\n    height: 40px;\r\n    animation: spin 1s linear infinite;\r\n    margin: 0 auto 20px;\r\n}\r\n\r\n@keyframes spin {\r\n    0% { transform: rotate(0deg); }\r\n    100% { transform: rotate(360deg); }\r\n}\r\n\r\n.empty-state {\r\n    text-align: center;\r\n    padding: 80px 20px;\r\n    color: #666;\r\n    grid-column: 1 \/ -1;\r\n}\r\n\r\n.empty-state h3 {\r\n    margin-bottom: 15px;\r\n    color: #333;\r\n    font-size: 1.5rem;\r\n}\r\n\r\n.empty-state p {\r\n    margin-bottom: 25px;\r\n    font-size: 1.1rem;\r\n}\r\n\r\n\/* === STYLES POUR LES DEVISES (NOUVEAU) === *\/\r\n.devise-fcfa, .fcfa-symbol {\r\n    font-weight: bold;\r\n}\r\n\r\n.devise-euro, .euro-symbol {\r\n    font-weight: bold;\r\n}\r\n\r\n.campaign-devise {\r\n    font-size: 0.9em;\r\n    margin-left: 2px;\r\n    font-weight: bold;\r\n}\r\n\r\n.devise-badge {\r\n    padding: 2px 8px;\r\n    border-radius: 12px;\r\n    font-size: 12px;\r\n    display: inline-block;\r\n    margin-left: 5px;\r\n}\r\n\r\n.devise-badge.fcfa {\r\n    background: #d4edda;\r\n    color: #155724;\r\n    border: 1px solid #c3e6cb;\r\n}\r\n\r\n.devise-badge.euro {\r\n    background: #cce5ff;\r\n    color: #004085;\r\n    border: 1px solid #b8daff;\r\n}\r\n\r\n\/* Badge de devise sur les cartes *\/\r\n.card-devise-badge {\r\n    position: absolute;\r\n    top: 15px;\r\n    left: 15px;\r\n    padding: 4px 10px;\r\n    border-radius: 12px;\r\n    font-size: 0.7rem;\r\n    font-weight: 600;\r\n    z-index: 2;\r\n}\r\n\r\n.card-devise-badge.fcfa {\r\n    background: #d4edda;\r\n    color: #155724;\r\n    border: 1px solid #c3e6cb;\r\n}\r\n\r\n.card-devise-badge.euro {\r\n    background: #cce5ff;\r\n    color: #004085;\r\n    border: 1px solid #b8daff;\r\n}\r\n\r\n\/* Badge de devise sur la cagnotte vedette *\/\r\n.featured-devise-badge {\r\n    position: absolute;\r\n    top: 20px;\r\n    right: 20px;\r\n    padding: 6px 14px;\r\n    border-radius: 20px;\r\n    font-size: 0.8rem;\r\n    font-weight: 600;\r\n    z-index: 2;\r\n}\r\n\r\n.featured-devise-badge.fcfa {\r\n    background: #d4edda;\r\n    color: #155724;\r\n    border: 1px solid #c3e6cb;\r\n}\r\n\r\n.featured-devise-badge.euro {\r\n    background: #cce5ff;\r\n    color: #004085;\r\n    border: 1px solid #b8daff;\r\n}\r\n\r\n\/* Indicateur de chargement de devise *\/\r\n.devise-loading {\r\n    display: inline-block;\r\n    width: 12px;\r\n    height: 12px;\r\n    border: 2px solid #f3f3f3;\r\n    border-top: 2px solid #FF7E00;\r\n    border-radius: 50%;\r\n    animation: spin-small 1s linear infinite;\r\n    margin-left: 5px;\r\n    vertical-align: middle;\r\n}\r\n\r\n@keyframes spin-small {\r\n    0% { transform: rotate(0deg); }\r\n    100% { transform: rotate(360deg); }\r\n}\r\n\r\n\/* Responsive *\/\r\n@media (max-width: 968px) {\r\n    .featured-content {\r\n        grid-template-columns: 1fr;\r\n    }\r\n    \r\n    .featured-image {\r\n        height: 300px;\r\n    }\r\n    \r\n    .featured-title {\r\n        font-size: 1.8rem;\r\n    }\r\n}\r\n\r\n@media (max-width: 768px) {\r\n    .campaigns-grid {\r\n        grid-template-columns: 1fr;\r\n    }\r\n    \r\n    .page-header h1 {\r\n        font-size: 2.2rem;\r\n    }\r\n    \r\n    .featured-stats {\r\n        grid-template-columns: 1fr;\r\n    }\r\n    \r\n    .featured-actions {\r\n        flex-direction: column;\r\n    }\r\n    \r\n    .campaign-actions {\r\n        flex-direction: column;\r\n    }\r\n    \r\n    .card-devise-badge {\r\n        top: 10px;\r\n        left: 10px;\r\n        font-size: 0.6rem;\r\n        padding: 3px 8px;\r\n    }\r\n    \r\n    .featured-devise-badge {\r\n        top: 15px;\r\n        right: 15px;\r\n        font-size: 0.7rem;\r\n        padding: 4px 10px;\r\n    }\r\n}\r\n<\/style>\r\n\r\n<div class=\"all-campaigns-page\">\r\n    <div class=\"page-header\">\r\n        <h1>\ud83c\udfaf Cagnottes Solidaires<\/h1>\r\n        <p>D\u00e9couvrez et soutenez les projets de notre communaut\u00e9. Chaque contribution fait la diff\u00e9rence !<\/p>\r\n    <\/div>\r\n\r\n    <div id=\"featuredCampaign\">\r\n        <div class=\"loading\">\r\n            <div class=\"loading-spinner\"><\/div>\r\n            Chargement des cagnottes...\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"other-campaigns-section\">\r\n        <h2 class=\"section-title\" id=\"sectionTitle\">Autres Cagnottes \u00e0 Soutenir<\/h2>\r\n        <div class=\"campaigns-grid\" id=\"otherCampaigns\">\r\n            <!-- Les autres cagnottes seront charg\u00e9es ici -->\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\n\/\/ URL de participation\r\nconst PARTICIPATE_URL = 'https:\/\/sivih.org\/service-de-collecte\/';\r\n\r\n\/\/ Variable pour stocker l'intervalle de mise \u00e0 jour\r\nlet refreshInterval;\r\n\r\n\/\/ Variable pour stocker toutes les cagnottes avec leurs devises\r\nlet allCampaignsWithDevise = [];\r\n\r\n\/\/ Cache pour les devises d\u00e9j\u00e0 r\u00e9cup\u00e9r\u00e9es\r\nconst deviseCache = new Map();\r\n\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    loadAllCampaignsForDisplay();\r\n    startAutoRefresh();\r\n});\r\n\r\n\/\/ D\u00e9marrer la mise \u00e0 jour automatique\r\nfunction startAutoRefresh() {\r\n    \/\/ Mise \u00e0 jour toutes les 30 secondes (UNIQUEMENT LA VEDETTE)\r\n    refreshInterval = setInterval(() => {\r\n        console.log('\ud83d\udd04 Mise \u00e0 jour automatique de la cagnotte vedette...');\r\n        refreshFeaturedCampaignOnly();\r\n    }, 30000); \/\/ 30 secondes\r\n    \r\n    \/\/ Ajouter un indicateur visuel\r\n    addRefreshIndicator();\r\n}\r\n\r\n\/\/ Fonction pour mettre \u00e0 jour uniquement la cagnotte vedette\r\nasync function refreshFeaturedCampaignOnly() {\r\n    try {\r\n        console.log('\ud83d\udd04 Mise \u00e0 jour de la cagnotte vedette uniquement...');\r\n        \r\n        const response = await fetch('\/wp-json\/campaigns\/v1\/all-active?t=' + new Date().getTime());\r\n        \r\n        if (!response.ok) {\r\n            throw new Error('Erreur de chargement');\r\n        }\r\n        \r\n        const campaigns = await response.json();\r\n        \r\n        if (campaigns.length === 0) {\r\n            return;\r\n        }\r\n        \r\n        \/\/ Prendre la premi\u00e8re cagnotte (la plus r\u00e9cente)\r\n        const latestCampaign = campaigns[0];\r\n        \r\n        \/\/ R\u00e9cup\u00e9rer la devise IMM\u00c9DIATEMENT\r\n        const devise = await getCampaignDevise(latestCampaign.id);\r\n        \r\n        \/\/ V\u00e9rifier si c'est une nouvelle cagnotte\r\n        const currentFeatured = document.querySelector('.featured-campaign');\r\n        if (currentFeatured) {\r\n            const currentId = currentFeatured.getAttribute('data-campaign-id');\r\n            if (currentId && currentId === latestCampaign.id.toString()) {\r\n                \/\/ M\u00eame cagnotte, juste mettre \u00e0 jour les stats\r\n                updateFeaturedStats(latestCampaign, devise);\r\n            } else {\r\n                \/\/ Nouvelle cagnotte, tout remplacer\r\n                displayFeaturedCampaign(latestCampaign, devise);\r\n            }\r\n        }\r\n        \r\n    } catch (error) {\r\n        console.error('Erreur mise \u00e0 jour vedette:', error);\r\n    }\r\n}\r\n\r\n\/\/ Mettre \u00e0 jour seulement les statistiques de la cagnotte vedette\r\nfunction updateFeaturedStats(campaign, devise) {\r\n    const progress = calculateProgress(campaign);\r\n    const daysLeft = getDaysLeft(campaign.deadline_date);\r\n    const deviseClass = devise === 'F CFA' ? 'devise-fcfa' : 'devise-euro';\r\n    const badgeClass = devise === 'F CFA' ? 'fcfa' : 'euro';\r\n    \r\n    \/\/ Mettre \u00e0 jour les \u00e9l\u00e9ments si ils existent\r\n    const goalElement = document.querySelector('.featured-stat-value:first-child');\r\n    const raisedElement = document.querySelectorAll('.featured-stat-value')[1];\r\n    const contributorsElement = document.querySelectorAll('.featured-stat-value')[2];\r\n    const progressElement = document.querySelectorAll('.featured-stat-value')[3];\r\n    const progressBar = document.querySelector('.featured-progress .progress');\r\n    const progressTextElements = document.querySelectorAll('.featured-progress .progress-text span');\r\n    const amountsText = progressTextElements.length > 1 ? progressTextElements[1] : null;\r\n    \r\n    if (goalElement) {\r\n        goalElement.innerHTML = formatCurrency(campaign.goal_amount) + \r\n            ' <span class=\"campaign-devise ' + deviseClass + '\">' + devise + '<\/span>';\r\n    }\r\n    \r\n    if (raisedElement) {\r\n        raisedElement.innerHTML = formatCurrency(campaign.current_amount) + \r\n            ' <span class=\"campaign-devise ' + deviseClass + '\">' + devise + '<\/span>';\r\n    }\r\n    \r\n    if (contributorsElement) contributorsElement.textContent = campaign.contributors;\r\n    if (progressElement) progressElement.textContent = progress + '%';\r\n    if (progressBar) progressBar.style.width = progress + '%';\r\n    if (progressTextElements[0]) progressTextElements[0].textContent = progress + '% atteint';\r\n    \r\n    if (amountsText) {\r\n        amountsText.innerHTML = formatCurrency(campaign.current_amount) + ' \/ ' + \r\n            formatCurrency(campaign.goal_amount) + \r\n            ' <span class=\"campaign-devise ' + deviseClass + '\">' + devise + '<\/span>';\r\n    }\r\n    \r\n    \/\/ Mettre \u00e0 jour le badge urgent si besoin\r\n    if (daysLeft <= 3 && daysLeft > 0) {\r\n        const badge = document.querySelector('.featured-badge');\r\n        if (badge) {\r\n            badge.innerHTML = '\ud83d\udd25 URGENT - ' + daysLeft + ' jour' + (daysLeft > 1 ? 's' : '') + ' restant' + (daysLeft > 1 ? 's' : '');\r\n            badge.style.background = 'linear-gradient(135deg, #dc3545, #F33F5E)';\r\n        }\r\n    }\r\n}\r\n\r\n\/\/ Arr\u00eater la mise \u00e0 jour automatique\r\nfunction stopAutoRefresh() {\r\n    if (refreshInterval) {\r\n        clearInterval(refreshInterval);\r\n        console.log('\u23f9\ufe0f Mise \u00e0 jour automatique arr\u00eat\u00e9e');\r\n    }\r\n}\r\n\r\n\/\/ Indicateur visuel de mise \u00e0 jour\r\nfunction addRefreshIndicator() {\r\n    const header = document.querySelector('.page-header');\r\n    if (header) {\r\n        header.innerHTML += `\r\n            <div style=\"margin-top: 10px; font-size: 0.9rem; color: #666;\">\r\n                <span id=\"refreshStatus\">\ud83d\udfe2 Mise \u00e0 jour automatique (vedette uniquement)<\/span>\r\n                <button onclick=\"toggleAutoRefresh()\" style=\"margin-left: 10px; padding: 2px 8px; background: #f8f9fa; border: 1px solid #ddd; border-radius: 3px; cursor: pointer; font-size: 0.8rem;\">\r\n                    \u23f8\ufe0f Pause\r\n                <\/button>\r\n            <\/div>\r\n        `;\r\n    }\r\n}\r\n\r\n\/\/ Basculer entre play\/pause\r\nfunction toggleAutoRefresh() {\r\n    const statusElement = document.getElementById('refreshStatus');\r\n    const button = document.querySelector('button[onclick=\"toggleAutoRefresh()\"]');\r\n    \r\n    if (refreshInterval) {\r\n        stopAutoRefresh();\r\n        statusElement.innerHTML = '\ud83d\udd34 Mise \u00e0 jour automatique d\u00e9sactiv\u00e9e';\r\n        button.innerHTML = '\u25b6\ufe0f Reprendre';\r\n    } else {\r\n        startAutoRefresh();\r\n        statusElement.innerHTML = '\ud83d\udfe2 Mise \u00e0 jour automatique (vedette uniquement)';\r\n        button.innerHTML = '\u23f8\ufe0f Pause';\r\n    }\r\n}\r\n\r\n\/\/ ============================================\r\n\/\/ NOUVELLE APPROCHE : R\u00c9CUP\u00c9RER TOUT EN UNE FOIS\r\n\/\/ ============================================\r\n\r\n\/\/ Fonction principale de chargement (initial)\r\nasync function loadAllCampaignsForDisplay() {\r\n    try {\r\n        \/\/ Afficher un indicateur de chargement\r\n        showLoadingState();\r\n        \r\n        \/\/ 1. R\u00e9cup\u00e9rer toutes les cagnottes\r\n        const response = await fetch('\/wp-json\/campaigns\/v1\/all-active?t=' + new Date().getTime());\r\n        \r\n        if (!response.ok) {\r\n            throw new Error('Erreur de chargement');\r\n        }\r\n        \r\n        const campaigns = await response.json();\r\n        \r\n        if (campaigns.length === 0) {\r\n            showNoCampaigns();\r\n            return;\r\n        }\r\n        \r\n        \/\/ 2. R\u00e9cup\u00e9rer les devises POUR TOUTES les cagnottes EN PARALL\u00c8LE\r\n        const campaignsWithDevise = await Promise.all(\r\n            campaigns.map(async (campaign) => {\r\n                const devise = await getCampaignDevise(campaign.id);\r\n                return { ...campaign, devise };\r\n            })\r\n        );\r\n        \r\n        \/\/ Stocker pour r\u00e9utilisation\r\n        allCampaignsWithDevise = campaignsWithDevise;\r\n        \r\n        \/\/ 3. Afficher avec les devises d\u00e9j\u00e0 connues\r\n        const featuredCampaign = campaignsWithDevise[0];\r\n        const otherCampaigns = campaignsWithDevise.slice(1);\r\n        \r\n        displayFeaturedCampaign(featuredCampaign, featuredCampaign.devise);\r\n        displayOtherCampaigns(otherCampaigns);\r\n        \r\n        \/\/ 4. Mettre \u00e0 jour le compteur\r\n        updateCampaignsCount(campaigns.length);\r\n        \r\n    } catch (error) {\r\n        console.error('Erreur:', error);\r\n        showErrorState();\r\n    }\r\n}\r\n\r\n\/\/ FONCTION AM\u00c9LIOR\u00c9E POUR R\u00c9CUP\u00c9RER LA DEVISE\r\nasync function getCampaignDevise(campaignId) {\r\n    \/\/ V\u00e9rifier le cache d'abord\r\n    if (deviseCache.has(campaignId)) {\r\n        return deviseCache.get(campaignId);\r\n    }\r\n    \r\n    try {\r\n        \/\/ R\u00e9cup\u00e9rer la devise depuis l'API\r\n        const response = await fetch(`\/wp-json\/campaigns\/v1\/devise?campaign_id=${campaignId}&t=${new Date().getTime()}`);\r\n        \r\n        if (!response.ok) {\r\n            throw new Error('API devise non disponible');\r\n        }\r\n        \r\n        const data = await response.json();\r\n        const devise = data.devise || '\u20ac';\r\n        \r\n        \/\/ Mettre en cache\r\n        deviseCache.set(campaignId, devise);\r\n        \r\n        return devise;\r\n        \r\n    } catch (error) {\r\n        console.error(`\u274c Erreur r\u00e9cup\u00e9ration devise cagnotte ${campaignId}:`, error);\r\n        \r\n        \/\/ Fallback : utiliser SIVIH si disponible (via l'utilisateur)\r\n        try {\r\n            \/\/ R\u00e9cup\u00e9rer l'ID utilisateur de la cagnotte\r\n            const campaignResponse = await fetch(`\/wp-json\/campaigns\/v1\/get\/${campaignId}`);\r\n            if (campaignResponse.ok) {\r\n                const campaign = await campaignResponse.json();\r\n                if (campaign.user_id) {\r\n                    \/\/ Essayer de r\u00e9cup\u00e9rer via SIVIH\r\n                    const sivihResponse = await fetch(`\/wp-json\/sivih\/v1\/devise?user_id=${campaign.user_id}`);\r\n                    if (sivihResponse.ok) {\r\n                        const sivihData = await sivihResponse.json();\r\n                        const devise = sivihData.devise || '\u20ac';\r\n                        deviseCache.set(campaignId, devise);\r\n                        return devise;\r\n                    }\r\n                }\r\n            }\r\n        } catch (fallbackError) {\r\n            console.error('Erreur fallback:', fallbackError);\r\n        }\r\n        \r\n        \/\/ Dernier recours\r\n        const defaultDevise = '\u20ac';\r\n        deviseCache.set(campaignId, defaultDevise);\r\n        return defaultDevise;\r\n    }\r\n}\r\n\r\n\/\/ Afficher l'\u00e9tat de chargement\r\nfunction showLoadingState() {\r\n    const featuredContainer = document.getElementById('featuredCampaign');\r\n    const otherContainer = document.getElementById('otherCampaigns');\r\n    \r\n    if (featuredContainer && !featuredContainer.querySelector('.loading')) {\r\n        featuredContainer.innerHTML = `\r\n            <div class=\"loading\">\r\n                <div class=\"loading-spinner\"><\/div>\r\n                Chargement des cagnottes et des devises...\r\n            <\/div>\r\n        `;\r\n    }\r\n}\r\n\r\n\/\/ Afficher l'\u00e9tat d'erreur\r\nfunction showErrorState() {\r\n    const featuredContainer = document.getElementById('featuredCampaign');\r\n    if (featuredContainer) {\r\n        featuredContainer.innerHTML = `\r\n            <div class=\"empty-state\">\r\n                <h3>\u26a0\ufe0f Erreur de chargement<\/h3>\r\n                <p>Impossible de charger les cagnottes. V\u00e9rifiez votre connexion.<\/p>\r\n                <button onclick=\"loadAllCampaignsForDisplay()\" class=\"btn-primary\">\r\n                    \ud83d\udd04 R\u00e9essayer\r\n                <\/button>\r\n            <\/div>\r\n        `;\r\n    }\r\n}\r\n\r\n\/\/ Mettre \u00e0 jour le compteur de cagnottes\r\nfunction updateCampaignsCount(count) {\r\n    const sectionTitle = document.getElementById('sectionTitle');\r\n    if (sectionTitle) {\r\n        sectionTitle.textContent = `Autres Cagnottes \u00e0 Soutenir (${count - 1})`;\r\n    }\r\n}\r\n\r\n\/\/ Afficher la cagnotte vedette AVEC DEVISE\r\nfunction displayFeaturedCampaign(campaign, devise) {\r\n    const container = document.getElementById('featuredCampaign');\r\n    const progress = calculateProgress(campaign);\r\n    const daysLeft = getDaysLeft(campaign.deadline_date);\r\n    const isActive = campaign.status !== 'closed' && daysLeft > 0;\r\n    \r\n    let badgeText = '\u2b50 NOUVELLE CAGNOTTE';\r\n    let badgeStyle = 'linear-gradient(135deg, #FF7E00, #F33F5E)';\r\n    \r\n    if (daysLeft <= 3 && daysLeft > 0) {\r\n        badgeText = '\ud83d\udd25 URGENT - ' + daysLeft + ' jour' + (daysLeft > 1 ? 's' : '') + ' restant' + (daysLeft > 1 ? 's' : '');\r\n        badgeStyle = 'linear-gradient(135deg, #dc3545, #F33F5E)';\r\n    }\r\n    \r\n    const deviseClass = devise === 'F CFA' ? 'devise-fcfa' : 'devise-euro';\r\n    \r\n    container.innerHTML = `\r\n        <div class=\"featured-campaign\" data-campaign-id=\"${campaign.id}\">\r\n            <div class=\"featured-badge\" style=\"background: ${badgeStyle};\">${badgeText}<\/div>\r\n            \r\n            <div class=\"featured-content\">\r\n                <div class=\"featured-image\">\r\n                    ${campaign.featured_image ? \r\n                        `<img decoding=\"async\" src=\"${campaign.featured_image}?t=${new Date().getTime()}\" alt=\"${campaign.title}\">` : \r\n                        `<div class=\"default-image\">${campaign.category_text}<\/div>`\r\n                    }\r\n                <\/div>\r\n                \r\n                <div class=\"featured-details\">\r\n                    <div class=\"featured-category\">${campaign.category_text}<\/div>\r\n                    <h2 class=\"featured-title\">${campaign.title}<\/h2>\r\n                    <p class=\"featured-description\">${campaign.description}<\/p>\r\n                    \r\n                    <div class=\"featured-stats\">\r\n                        <div class=\"featured-stat\">\r\n                            <div class=\"featured-stat-value\">${formatCurrency(campaign.goal_amount)} <span class=\"campaign-devise ${deviseClass}\">${devise}<\/span><\/div>\r\n                            <div class=\"featured-stat-label\">Objectif<\/div>\r\n                        <\/div>\r\n                        <div class=\"featured-stat\">\r\n                            <div class=\"featured-stat-value\">${formatCurrency(campaign.current_amount)} <span class=\"campaign-devise ${deviseClass}\">${devise}<\/span><\/div>\r\n                            <div class=\"featured-stat-label\">Collect\u00e9s<\/div>\r\n                        <\/div>\r\n                        <div class=\"featured-stat\">\r\n                            <div class=\"featured-stat-value\">${campaign.contributors}<\/div>\r\n                            <div class=\"featured-stat-label\">Participants<\/div>\r\n                        <\/div>\r\n                        <div class=\"featured-stat\">\r\n                            <div class=\"featured-stat-value\">${progress}%<\/div>\r\n                            <div class=\"featured-stat-label\">Progression<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"featured-progress\">\r\n                        <div class=\"progress-bar\">\r\n                            <div class=\"progress\" style=\"width: ${progress}%\"><\/div>\r\n                        <\/div>\r\n                        <div class=\"progress-text\">\r\n                            <span>${progress}% atteint<\/span>\r\n                            <span>${formatCurrency(campaign.current_amount)} \/ ${formatCurrency(campaign.goal_amount)} <span class=\"campaign-devise ${deviseClass}\">${devise}<\/span><\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    ${daysLeft > 0 ? `\r\n                        <div style=\"text-align: center; margin-bottom: 20px; padding: 10px; background: #fff3cd; border-radius: 8px; border-left: 4px solid #ffc107;\">\r\n                            <strong>\u23f3 ${daysLeft} jour${daysLeft > 1 ? 's' : ''} restant${daysLeft > 1 ? 's' : ''}<\/strong>\r\n                        <\/div>\r\n                    ` : ''}\r\n                    \r\n                    <div class=\"featured-actions\">\r\n                        <button class=\"btn-primary\" onclick=\"participateInCampaign()\">\r\n                            \ud83d\ude4b Je participe\r\n                        <\/button>\r\n                        <button class=\"btn-secondary\" onclick=\"viewCampaign(${campaign.id}, true)\">\r\n                            \ud83d\udc41\ufe0f Voir les d\u00e9tails\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    `;\r\n}\r\n\r\n\/\/ Afficher les autres cagnottes AVEC LEURS DEVISES\r\nfunction displayOtherCampaigns(campaigns) {\r\n    const container = document.getElementById('otherCampaigns');\r\n    \r\n    if (campaigns.length === 0) {\r\n        container.innerHTML = `\r\n            <div class=\"empty-state\">\r\n                <h3>\u2728 Aucune autre cagnotte pour le moment<\/h3>\r\n                <p>Soyez le premier \u00e0 lancer la prochaine cagnotte !<\/p>\r\n                <a href=\"\/creer-une-cagnotte\" class=\"btn-primary\" style=\"display: inline-block; text-decoration: none;\">Cr\u00e9er une cagnotte<\/a>\r\n            <\/div>\r\n        `;\r\n        return;\r\n    }\r\n    \r\n    container.innerHTML = campaigns.map(campaign => {\r\n        const progress = calculateProgress(campaign);\r\n        const daysLeft = getDaysLeft(campaign.deadline_date);\r\n        const isActive = campaign.status !== 'closed' && daysLeft > 0;\r\n        const isUrgent = daysLeft <= 3 && isActive;\r\n        \r\n        const devise = campaign.devise || '\u20ac';\r\n        const deviseClass = devise === 'F CFA' ? 'devise-fcfa' : 'devise-euro';\r\n        \r\n        let statusBadge = '';\r\n        if (!isActive) {\r\n            statusBadge = '<div class=\"campaign-status status-closed\">Termin\u00e9e<\/div>';\r\n        } else if (isUrgent) {\r\n            statusBadge = '<div class=\"campaign-status status-urgent\">Urgent<\/div>';\r\n        }\r\n        \r\n        return `\r\n        <div class=\"campaign-card\" data-campaign-id=\"${campaign.id}\">\r\n            ${statusBadge}\r\n            \r\n            <div class=\"campaign-image\">\r\n                ${campaign.featured_image ? \r\n                    `<img decoding=\"async\" src=\"${campaign.featured_image}?t=${new Date().getTime()}\" alt=\"${campaign.title}\">` : \r\n                    `<span>${campaign.category_text}<\/span>`\r\n                }\r\n            <\/div>\r\n            \r\n            <div class=\"campaign-content\">\r\n                <div class=\"campaign-category\">${campaign.category_text}<\/div>\r\n                <h3 class=\"campaign-title\">${campaign.title}<\/h3>\r\n                <p class=\"campaign-description\">${campaign.description}<\/p>\r\n                \r\n                <div class=\"campaign-stats\">\r\n                    <div class=\"campaign-stat\">\r\n                        <div class=\"stat-value\">${formatCurrency(campaign.goal_amount)} <span class=\"campaign-devise ${deviseClass}\">${devise}<\/span><\/div>\r\n                        <div class=\"stat-label\">Objectif<\/div>\r\n                    <\/div>\r\n                    <div class=\"campaign-stat\">\r\n                        <div class=\"stat-value\">${campaign.contributors}<\/div>\r\n                        <div class=\"stat-label\">Participants<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <div class=\"campaign-progress\">\r\n                    <div class=\"progress-bar\">\r\n                        <div class=\"progress\" style=\"width: ${progress}%\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"progress-text\">\r\n                        <span>${progress}%<\/span>\r\n                        <span>${formatCurrency(campaign.current_amount)} <span class=\"campaign-devise ${deviseClass}\">${devise}<\/span><\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <div class=\"campaign-actions\">\r\n                    ${isActive ? \r\n                        `<button class=\"btn-small primary\" onclick=\"participateInCampaign()\">\r\n                            \ud83d\ude4b Je participe\r\n                        <\/button>` :\r\n                        `<button class=\"btn-small secondary\" onclick=\"viewCampaign(${campaign.id}, true)\">\r\n                            \ud83d\udc41\ufe0f Voir\r\n                        <\/button>`\r\n                    }\r\n                    <button class=\"btn-small secondary\" onclick=\"viewCampaign(${campaign.id}, true)\">\r\n                        \ud83d\udccb D\u00e9tails\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        `;\r\n    }).join('');\r\n}\r\n\r\n\/\/ Fonctions utilitaires\r\nfunction participateInCampaign() {\r\n    \/\/ Toujours ouvrir dans un nouvel onglet\r\n    window.open(PARTICIPATE_URL, '_blank');\r\n}\r\n\r\nfunction viewCampaign(campaignId, newTab = false) {\r\n    const url = `\/ma-cagnotte?id=${campaignId}`;\r\n    \r\n    if (newTab) {\r\n        \/\/ Ouvrir dans un nouvel onglet\r\n        window.open(url, '_blank');\r\n    } else {\r\n        \/\/ Ouvrir dans le m\u00eame onglet (comportement par d\u00e9faut)\r\n        window.location.href = url;\r\n    }\r\n}\r\n\r\nfunction calculateProgress(campaign) {\r\n    const raised = campaign.current_amount || 0;\r\n    const goal = campaign.goal_amount || 1;\r\n    return Math.min(100, Math.round((raised \/ goal) * 100));\r\n}\r\n\r\nfunction getDaysLeft(deadline) {\r\n    if (!deadline) return 0;\r\n    const today = new Date();\r\n    const deadlineDate = new Date(deadline);\r\n    const diffTime = deadlineDate - today;\r\n    const diffDays = Math.ceil(diffTime \/ (1000 * 60 * 60 * 24));\r\n    return Math.max(0, diffDays);\r\n}\r\n\r\nfunction formatCurrency(amount) {\r\n    return parseInt(amount).toLocaleString('fr-FR');\r\n}\r\n\r\nfunction showNoCampaigns() {\r\n    document.getElementById('featuredCampaign').innerHTML = `\r\n        <div class=\"empty-state\">\r\n            <h3>\ud83d\ude80 Aucune cagnotte pour le moment<\/h3>\r\n            <p>Soyez le premier \u00e0 lancer une cagnotte solidaire !<\/p>\r\n            <a href=\"\/creer-une-cagnotte\" class=\"btn-primary\" style=\"display: inline-block; text-decoration: none;\">Lancer ma cagnotte<\/a>\r\n        <\/div>\r\n    `;\r\n    document.getElementById('otherCampaigns').innerHTML = '';\r\n}\r\n\r\n\/\/ Nettoyer \u00e0 la fermeture de la page\r\nwindow.addEventListener('beforeunload', () => {\r\n    stopAutoRefresh();\r\n});\r\n<\/script><\/div>\n\t\t\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","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-8215","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Autres Cagnottes - Sivih<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sivih.org\/en\/autres-cagnottes\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Autres Cagnottes - Sivih\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sivih.org\/en\/autres-cagnottes\/\" \/>\n<meta property=\"og:site_name\" content=\"Sivih\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/web.facebook.com\/profile.php?viewas=100000686899395&amp;id=100087996591441\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-07T05:34:10+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sivih.org\/autres-cagnottes\/\",\"url\":\"https:\/\/sivih.org\/autres-cagnottes\/\",\"name\":\"Autres Cagnottes - Sivih\",\"isPartOf\":{\"@id\":\"https:\/\/sivih.org\/#website\"},\"datePublished\":\"2025-11-07T03:19:24+00:00\",\"dateModified\":\"2025-12-07T05:34:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/sivih.org\/autres-cagnottes\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sivih.org\/autres-cagnottes\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sivih.org\/autres-cagnottes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/sivih.org\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Autres Cagnottes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sivih.org\/#website\",\"url\":\"https:\/\/sivih.org\/\",\"name\":\"Sivih\",\"description\":\"Assistance Communautaire\",\"publisher\":{\"@id\":\"https:\/\/sivih.org\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sivih.org\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/sivih.org\/#organization\",\"name\":\"Community organization\",\"url\":\"https:\/\/sivih.org\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/sivih.org\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/sivih.org\/wp-content\/uploads\/2024\/11\/cropped-logo-de-navigation.png\",\"contentUrl\":\"https:\/\/sivih.org\/wp-content\/uploads\/2024\/11\/cropped-logo-de-navigation.png\",\"width\":512,\"height\":512,\"caption\":\"Community organization\"},\"image\":{\"@id\":\"https:\/\/sivih.org\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/web.facebook.com\/profile.php?viewas=100000686899395&id=100087996591441\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Autres Cagnottes - Sivih","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sivih.org\/en\/autres-cagnottes\/","og_locale":"en_GB","og_type":"article","og_title":"Autres Cagnottes - Sivih","og_url":"https:\/\/sivih.org\/en\/autres-cagnottes\/","og_site_name":"Sivih","article_publisher":"https:\/\/web.facebook.com\/profile.php?viewas=100000686899395&id=100087996591441","article_modified_time":"2025-12-07T05:34:10+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sivih.org\/autres-cagnottes\/","url":"https:\/\/sivih.org\/autres-cagnottes\/","name":"Autres Cagnottes - Sivih","isPartOf":{"@id":"https:\/\/sivih.org\/#website"},"datePublished":"2025-11-07T03:19:24+00:00","dateModified":"2025-12-07T05:34:10+00:00","breadcrumb":{"@id":"https:\/\/sivih.org\/autres-cagnottes\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sivih.org\/autres-cagnottes\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/sivih.org\/autres-cagnottes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/sivih.org\/"},{"@type":"ListItem","position":2,"name":"Autres Cagnottes"}]},{"@type":"WebSite","@id":"https:\/\/sivih.org\/#website","url":"https:\/\/sivih.org\/","name":"Sivih","description":"Community Support","publisher":{"@id":"https:\/\/sivih.org\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sivih.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/sivih.org\/#organization","name":"Community organisation","url":"https:\/\/sivih.org\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/sivih.org\/#\/schema\/logo\/image\/","url":"https:\/\/sivih.org\/wp-content\/uploads\/2024\/11\/cropped-logo-de-navigation.png","contentUrl":"https:\/\/sivih.org\/wp-content\/uploads\/2024\/11\/cropped-logo-de-navigation.png","width":512,"height":512,"caption":"Community organization"},"image":{"@id":"https:\/\/sivih.org\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/web.facebook.com\/profile.php?viewas=100000686899395&id=100087996591441"]}]}},"_links":{"self":[{"href":"https:\/\/sivih.org\/en\/wp-json\/wp\/v2\/pages\/8215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sivih.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sivih.org\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sivih.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sivih.org\/en\/wp-json\/wp\/v2\/comments?post=8215"}],"version-history":[{"count":22,"href":"https:\/\/sivih.org\/en\/wp-json\/wp\/v2\/pages\/8215\/revisions"}],"predecessor-version":[{"id":9705,"href":"https:\/\/sivih.org\/en\/wp-json\/wp\/v2\/pages\/8215\/revisions\/9705"}],"wp:attachment":[{"href":"https:\/\/sivih.org\/en\/wp-json\/wp\/v2\/media?parent=8215"}],"curies":[{"name":"There are no reviews for this movie on this website.","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}