PHP dynamique + cache JSON, nettoyage CSS/HTML, CI Forgejo

- Renommage classes/IDs (BEM cohérent, anglais, noms sémantiques)
- Correction HTML : h3→h2 FAQ, button>a→a[role=button] CTA mobile
- Conversion index.html → index.php (FR/EN) avec cache JSON depuis API Kirby
- Pages merci/thanks converties en PHP dynamique
- Ajout includes/cache.php + includes/config.php (cache TTL 5min)
- Ajout CI Forgejo (deploy FTP via lftp)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
isUnknown 2026-04-12 08:00:58 +02:00
parent 119c98edab
commit 322d9136b6
29 changed files with 917 additions and 1485 deletions

View file

@ -74,7 +74,7 @@
function initTabs() {
const tabButtons = document.querySelectorAll('.nav--tabs__btn');
const containers = document.querySelectorAll('.btn--donation__container');
const containers = document.querySelectorAll('.donation-grid');
tabButtons.forEach((button, index) => {
button.addEventListener('click', () => {
@ -91,9 +91,9 @@
function initDonationButtons() {
const oneOffContainer = document.querySelector(
'[data-donnation="one-off"]'
'[data-donation="one-off"]'
);
const oneOffButtons = oneOffContainer.querySelectorAll('.btn--donation');
const oneOffButtons = oneOffContainer.querySelectorAll('.donation-btn');
oneOffButtons.forEach((button, index) => {
if (index < AMOUNTS.oneOff.length) {
@ -118,9 +118,9 @@
});
const monthlyContainer = document.querySelector(
'[data-donnation="monthly"]'
'[data-donation="monthly"]'
);
const monthlyButtons = monthlyContainer.querySelectorAll('.btn--donation');
const monthlyButtons = monthlyContainer.querySelectorAll('.donation-btn');
monthlyButtons.forEach((button, index) => {
if (index < AMOUNTS.monthly.length) {