This commit is contained in:
parent
522d975a3a
commit
48e7f21c71
37 changed files with 2595 additions and 1348 deletions
|
|
@ -1,55 +0,0 @@
|
|||
<?php
|
||||
|
||||
return function($page) {
|
||||
$config = kirby()->option('donorbox');
|
||||
$apiKey = $config['api_key'];
|
||||
$campaignSlug = $config['campaign_slug'];
|
||||
|
||||
// Valeurs par défaut
|
||||
$data = [
|
||||
'amount_raised' => 0,
|
||||
'donor_count' => 0,
|
||||
'goal_amount' => 20000, // Objectif par défaut
|
||||
'percentage' => 0,
|
||||
'campaign_url' => $config['campaign_url']
|
||||
];
|
||||
|
||||
// Si la clé API est configurée, récupérer les données en temps réel
|
||||
if (!empty($apiKey)) {
|
||||
try {
|
||||
$apiUrl = $config['api_base_url'] . '/campaigns/' . $campaignSlug;
|
||||
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $apiUrl);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||
'Authorization: Bearer ' . $apiKey,
|
||||
'Content-Type: application/json'
|
||||
]);
|
||||
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
curl_close($ch);
|
||||
|
||||
if ($httpCode === 200 && $response) {
|
||||
$campaignData = json_decode($response, true);
|
||||
|
||||
if ($campaignData) {
|
||||
$data['amount_raised'] = $campaignData['amount_raised'] ?? 0;
|
||||
$data['donor_count'] = $campaignData['donor_count'] ?? 0;
|
||||
$data['goal_amount'] = $campaignData['goal_amount'] ?? 20000;
|
||||
|
||||
// Calculer le pourcentage
|
||||
if ($data['goal_amount'] > 0) {
|
||||
$data['percentage'] = round(($data['amount_raised'] / $data['goal_amount']) * 100, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
// En cas d'erreur, on garde les valeurs par défaut
|
||||
// Optionnel : logger l'erreur
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
};
|
||||
|
|
@ -1,3 +1,63 @@
|
|||
<script src="<?= url('assets/js/script.js') ?>"></script>
|
||||
<footer id="site-footer">
|
||||
<div class="site-footer__container">
|
||||
<div class="footer__newsletter">
|
||||
<div class="logo" w3-include-html="/assets/index-logo.svg"></div>
|
||||
<p>
|
||||
Recevez les dernières enquêtes et actualités d’Index directement
|
||||
dans votre boîte mail.
|
||||
</p>
|
||||
<p>Inscrivez-vous à la newsletter</p>
|
||||
|
||||
<form class="form__newsletter">
|
||||
<input
|
||||
type="email"
|
||||
name="email"
|
||||
placeholder="Votre adresse e-mail"
|
||||
required
|
||||
/>
|
||||
<button class="btn--newletter" type="submit" aria-label="s’inscrire">
|
||||
<span class="txt">S’inscrire</span>
|
||||
<span class="icon">
|
||||
<svg
|
||||
clip-rule="evenodd"
|
||||
fill-rule="evenodd"
|
||||
stroke-linejoin="round"
|
||||
stroke-miterlimit="2"
|
||||
viewBox="0 0 24 24"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="m14.523 18.787s4.501-4.505 6.255-6.26c.146-.146.219-.338.219-.53s-.073-.383-.219-.53c-1.753-1.754-6.255-6.258-6.255-6.258-.144-.145-.334-.217-.524-.217-.193 0-.385.074-.532.221-.293.292-.295.766-.004 1.056l4.978 4.978h-14.692c-.414 0-.75.336-.75.75s.336.75.75.75h14.692l-4.979 4.979c-.289.289-.286.762.006 1.054.148.148.341.222.533.222.19 0 .378-.072.522-.215z"
|
||||
fill-rule="nonzero"
|
||||
/>
|
||||
</svg>
|
||||
</span>
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<p class="p__small">
|
||||
En vous inscrivant, vous acceptez les
|
||||
<a target="_blank" href="https://www.index.ngo/mentions-legales/"
|
||||
>conditions d’utilisation</a
|
||||
>
|
||||
d’Index qui vous informent notamment des droits dont vous disposez
|
||||
sur vos données personnelles.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="footer__socials">
|
||||
<p>Suivez Index sur les réseaux sociaux</p>
|
||||
<div class="container" w3-include-html="/components/socials.html"></div>
|
||||
</div>
|
||||
|
||||
<div class="footer__mentions">
|
||||
<p>
|
||||
© 2025 Index Investigation |
|
||||
<a target="_blank" href="https://www.index.ngo/mentions-legales/">Mentions légales</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -13,17 +13,48 @@
|
|||
</title>
|
||||
|
||||
<script src="<?= url('assets/js/script.js') ?>"></script>
|
||||
|
||||
<script>
|
||||
window.SnipcartSettings = {
|
||||
publicApiKey: 'Y2QwMmJiZGItMDFiYi00MTg2LTg2ODItOWNlNTIyNGIzYWY5NjM4OTQ0ODU4NDY5NDcyNTU0',
|
||||
loadStrategy: 'on-user-interaction',
|
||||
modalStyle: "side",
|
||||
templatesUrl: "<?= url('assets/html/snipcart-templates.html') ?>",
|
||||
};
|
||||
|
||||
(()=>{var c,d;(d=(c=window.SnipcartSettings).version)!=null||(c.version="3.0");var s,S;(S=(s=window.SnipcartSettings).timeoutDuration)!=null||(s.timeoutDuration=2750);var l,p;(p=(l=window.SnipcartSettings).domain)!=null||(l.domain="cdn.snipcart.com");var w,u;(u=(w=window.SnipcartSettings).protocol)!=null||(w.protocol="https");var f=window.SnipcartSettings.version.includes("v3.0.0-ci")||window.SnipcartSettings.version!="3.0"&&window.SnipcartSettings.version.localeCompare("3.4.0",void 0,{numeric:!0,sensitivity:"base"})===-1,m=["focus","mouseover","touchmove","scroll","keydown"];window.LoadSnipcart=o;document.readyState==="loading"?document.addEventListener("DOMContentLoaded",r):r();function r(){window.SnipcartSettings.loadStrategy?window.SnipcartSettings.loadStrategy==="on-user-interaction"&&(m.forEach(t=>document.addEventListener(t,o)),setTimeout(o,window.SnipcartSettings.timeoutDuration)):o()}var a=!1;function o(){if(a)return;a=!0;let t=document.getElementsByTagName("head")[0],e=document.querySelector("#snipcart"),i=document.querySelector(`src[src^="${window.SnipcartSettings.protocol}://${window.SnipcartSettings.domain}"][src$="snipcart.js"]`),n=document.querySelector(`link[href^="${window.SnipcartSettings.protocol}://${window.SnipcartSettings.domain}"][href$="snipcart.css"]`);e||(e=document.createElement("div"),e.id="snipcart",e.setAttribute("hidden","true"),document.body.appendChild(e)),v(e),i||(i=document.createElement("script"),i.src=`${window.SnipcartSettings.protocol}://${window.SnipcartSettings.domain}/themes/v${window.SnipcartSettings.version}/default/snipcart.js`,i.async=!0,t.appendChild(i)),n||(n=document.createElement("link"),n.rel="stylesheet",n.type="text/css",n.href=`${window.SnipcartSettings.protocol}://${window.SnipcartSettings.domain}/themes/v${window.SnipcartSettings.version}/default/snipcart.css`,t.prepend(n)),m.forEach(g=>document.removeEventListener(g,o))}function v(t){!f||(t.dataset.apiKey=window.SnipcartSettings.publicApiKey,window.SnipcartSettings.addProductBehavior&&(t.dataset.configAddProductBehavior=window.SnipcartSettings.addProductBehavior),window.SnipcartSettings.modalStyle&&(t.dataset.configModalStyle=window.SnipcartSettings.modalStyle),window.SnipcartSettings.currency&&(t.dataset.currency=window.SnipcartSettings.currency),window.SnipcartSettings.templatesUrl&&(t.dataset.templatesUrl=window.SnipcartSettings.templatesUrl))}})();
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body data-template="<?= $page->template() ?>">
|
||||
<?php snippet('nav') ?>
|
||||
<header id="site-header">
|
||||
<div class="site-header__inner">
|
||||
<h1 id="site-title">
|
||||
<a
|
||||
href="https://www.index.ngo/"
|
||||
aria-label="Retour à l’accueil"
|
||||
title="aller au site d'Index"
|
||||
>
|
||||
<?= svg('assets/images/index-logo.svg') ?>
|
||||
</a>
|
||||
</h1>
|
||||
|
||||
<!-- Note: toujours mettre .title-page (j’en ai besoin pour la mise en forme) mais le laisser vide sur la plupart des pages sauf les pages enquêtes -->
|
||||
<p class="title-page">L’exécution de Nidal et Khaled ‘Amirah à Naplouse</p>
|
||||
|
||||
<nav id="nav-highlight">
|
||||
<ul>
|
||||
<li><a href="#">Enquêtes</a></li>
|
||||
<li><a href="#">Impact</a></li>
|
||||
<li class="soutenir"><a targer="_blank" href="https://soutenir.index.ngo/">Soutenez-nous</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<button id="theme-toggle">
|
||||
<svg style="fill: var(--color-txt)" class="switch" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M22 41C32.4934 41 41 32.4934 41 22C41 11.5066 32.4934 3 22
|
||||
3C11.5066 3 3 11.5066 3 22C3 32.4934 11.5066 41 22 41ZM7 22C7
|
||||
13.7157 13.7157 7 22 7V37C13.7157 37 7 30.2843 7 22Z"></path>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<div id="lang-toggle">
|
||||
<button disabled>FR</button>
|
||||
<button><a href="/en">EN</a></button>
|
||||
</div>
|
||||
|
||||
<button id="menu-toggle">
|
||||
<span class="open"><?= svg('assets/icons/menu.svg') ?></span>
|
||||
<span class="close"><?= svg('assets/icons/close.svg') ?></span>
|
||||
</button>
|
||||
</div>
|
||||
</header>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,10 @@
|
|||
<?php snippet('header') ?>
|
||||
<script type="text/javascript"
|
||||
defer=""
|
||||
src="https://donorbox.org/install-popup-button.js"
|
||||
id="donorbox-popup-button-installer">
|
||||
</script>
|
||||
<a class="dbox-donation-button" id="preview_inline_popup_button" href="https://donorbox.org/soutenir-index-en-2024?amount=15&default_interval=m" style="margin-bottom: 2rem; background: rgb(0, 0, 0); color: rgb(255, 255, 255); text-decoration: none; font-family: Verdana, sans-serif; display: flex; gap: 8px; width: fit-content; font-size: 16px; border-radius: 5px; line-height: 24px; padding: 8px 24px;"><img src="https://donorbox.org/images/white_logo.svg">
|
||||
Donner 15€ mensuellement
|
||||
</a>
|
||||
<a class="dbox-donation-button" id="preview_inline_popup_button" href="https://donorbox.org/soutenir-index-en-2024?amount=20&default_interval=o" style="background: rgb(0, 0, 0); color: rgb(255, 255, 255); text-decoration: none; font-family: Verdana, sans-serif; display: flex; gap: 8px; width: fit-content; font-size: 16px; border-radius: 5px; line-height: 24px; padding: 8px 24px;"><img src="https://donorbox.org/images/white_logo.svg">
|
||||
Donner 10€ ponctuellement
|
||||
</a>
|
||||
<main>
|
||||
<p>
|
||||
L’objet central de notre action est de concourir à la manifestation de la vérité dans des affaires où celle-ci est entravée par des intérêts de pouvoir.
|
||||
Nos enquêtes portent principalement principalement sur les cas de violences policières, en France comme à l'international, ainsi que sur les violations des droits humains au sens large. Nous intervenons également dans les situations où nos techniques d'investigation numérique peuvent permettre d'établir les faits autour d'une controverse d'intérêt public, qu'elle soit historique ou contemporaine.
|
||||
Notre champ d’action est avant tout public. Nos enquêtes et rapports d’expertise sont souvent publiés en partenariat avec d'autres médias d'information et sont régulièrement utilisés dans les procédures judiciaires sur les affaires concernées, contribuant ainsi à l'établissement des faits.
|
||||
Nous œuvrons également à la diffusion des techniques et des méthodes de l’investigation en sources ouvertes (OSINT) au sein de la société civile. Dans le cadre de notre programme de formation, nous animons des ateliers avec des collectifs citoyens, des ONG, des universités et le grand public. Enfin, nous intervenons régulièrement dans la sphère publique pour présenter nos travaux et notre approche.
|
||||
</p>
|
||||
</main>
|
||||
<?php snippet('footer') ?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue