2025-04-11 13:32:23 +04:00
<? php
/**
2026-07-23 04:17:49 +04:00
* Configuration par défaut d'ANNU KUTE CED
2025-07-18 09:31:03 +04:00
*
2025-04-11 13:32:23 +04:00
* Ce fichier contient les paramètres de configuration par défaut.
* Il est utilisé pour initialiser les variables non définies dans config.local.php.
*/
2026-07-24 19:54:00 +04:00
if ( ! defined ( 'APP_HOST_NAME' )) define ( 'APP_HOST_NAME' , 'example.com' );
2025-10-17 12:20:17 +04:00
2026-07-23 04:17:49 +04:00
if ( ! defined ( 'ORGANIZATION_SHORT_NAME' )) define ( 'ORGANIZATION_SHORT_NAME' , 'ANNU KUTE CED' );
if ( ! defined ( 'ORGANIZATION_NAME' )) define ( 'ORGANIZATION_NAME' , 'ANNU KUTE CED' );
2025-04-11 13:32:23 +04:00
// Configuration de base - ces valeurs seront utilisées si elles ne sont pas définies dans config.local.php
2025-10-17 12:20:17 +04:00
if ( ! defined ( 'PEERTUBE_URL' )) define ( 'PEERTUBE_URL' , 'https://gade.o-k-i.net' );
if ( ! defined ( 'PEERTUBE_DISPLAY_NAME' )) define ( 'PEERTUBE_DISPLAY_NAME' , 'gade.o-k-i.net' );
2025-04-11 13:32:23 +04:00
if ( ! defined ( 'API_KEY' )) define ( 'API_KEY' , '' );
if ( ! defined ( 'TAG_INDEPENDENCE' )) define ( 'TAG_INDEPENDENCE' , 'indépendance' );
2025-10-17 12:20:17 +04:00
if ( ! defined ( 'SHORTS_MAX_DURATION' )) define ( 'SHORTS_MAX_DURATION' , 180 ); // 3 minutes max pour les shorts
2025-04-11 13:32:23 +04:00
// Pagination et affichage
if ( ! defined ( 'COUNT_VIDEO_SEARCH' )) define ( 'COUNT_VIDEO_SEARCH' , 20 );
if ( ! defined ( 'VIDEOS_PER_PAGE' )) define ( 'VIDEOS_PER_PAGE' , 12 );
if ( ! defined ( 'FEATURED_VIDEOS_COUNT' )) define ( 'FEATURED_VIDEOS_COUNT' , 6 );
if ( ! defined ( 'RECENT_VIDEOS_COUNT' )) define ( 'RECENT_VIDEOS_COUNT' , 6 );
if ( ! defined ( 'SHORTS_COUNT' )) define ( 'SHORTS_COUNT' , 6 );
if ( ! defined ( 'SHORTS_COUNT_SEARCH' )) define ( 'SHORTS_COUNT_SEARCH' , 100 );
if ( ! defined ( 'TRENDING_VIDEOS_COUNT' )) define ( 'TRENDING_VIDEOS_COUNT' , 6 );
if ( ! defined ( 'INDEPENDENCE_VIDEOS_COUNT' )) define ( 'INDEPENDENCE_VIDEOS_COUNT' , 6 );
if ( ! defined ( 'CATEGORY_VIDEOS_COUNT' )) define ( 'CATEGORY_VIDEOS_COUNT' , 6 );
if ( ! defined ( 'LOAD_MORE_COUNT' )) define ( 'LOAD_MORE_COUNT' , 6 );
2025-10-17 12:20:17 +04:00
// Affichage des métadonnées vidéo
if ( ! defined ( 'SHOW_VIDEO_VIEWS' )) define ( 'SHOW_VIDEO_VIEWS' , false ); // Masquer le nombre de vues par défaut
2025-04-11 13:32:23 +04:00
// Catégories prioritaires avec noms personnalisés (dans l'ordre d'affichage souhaité)
// format: [ID catégorie => Nom personnalisé]
if ( ! defined ( 'PRIORITY_CATEGORIES' )) {
define ( 'PRIORITY_CATEGORIES' , [
2026-07-25 15:19:36 +04:00
10 => 'Divertissement' ,
15 => 'Science et Technologie'
2025-04-11 13:32:23 +04:00
]);
}
// =========================================
// Configuration Mastodon
// =========================================
2026-07-08 07:00:59 +04:00
if ( ! defined ( 'MASTODON_INSTANCE_URL' )) define ( 'MASTODON_INSTANCE_URL' , 'https://bokante.o-k-i.net' );
2025-04-11 13:32:23 +04:00
if ( ! defined ( 'MASTODON_DATE_FORMAT' )) define ( 'MASTODON_DATE_FORMAT' , 'fr-FR' );
if ( ! defined ( 'MASTODON_BTN_SEE_MORE' )) define ( 'MASTODON_BTN_SEE_MORE' , 'Voir plus de post' );
if ( ! defined ( 'MASTODON_BTN_RELOAD' )) define ( 'MASTODON_BTN_RELOAD' , 'Rafraichir' );
if ( ! defined ( 'MASTODON_MAX_POST_FETCH' )) define ( 'MASTODON_MAX_POST_FETCH' , '10' );
if ( ! defined ( 'MASTODON_MAX_POST_SHOW' )) define ( 'MASTODON_MAX_POST_SHOW' , '10' );
2025-09-29 18:58:14 +04:00
// URL du stockage S3 pour les médias Mastodon (laissez vide pour désactiver)
// Format: https://votre-bucket.s3.region.provider.com
2025-10-17 12:20:17 +04:00
// if (!defined('MASTODON_S3_MEDIA_URL')) define('MASTODON_S3_MEDIA_URL', 'https://s3.eu-central-003.backblazeb2.com');
2025-09-29 18:58:14 +04:00
2025-04-11 13:32:23 +04:00
// Informations du site
2026-07-23 04:17:49 +04:00
if ( ! defined ( 'SITE_NAME' )) define ( 'SITE_NAME' , 'ANNU KUTE CED' );
if ( ! defined ( 'SITE_DESCRIPTION' )) define ( 'SITE_DESCRIPTION' , 'Hub multimédia du podcast ANNU KUTE CED' );
2025-04-11 13:32:23 +04:00
if ( ! defined ( 'SITE_LOGO' )) define ( 'SITE_LOGO' , 'img/logo.png' );
if ( ! defined ( 'SITE_FAVICON' )) define ( 'SITE_FAVICON' , 'img/favicon.png' );
2025-10-08 20:52:40 +04:00
// Configuration du fuseau horaire par défaut
// Liste des fuseaux disponibles : https://www.php.net/manual/fr/timezones.php
2025-10-17 12:20:17 +04:00
if ( ! defined ( 'DEFAULT_TIMEZONE' )) define ( 'DEFAULT_TIMEZONE' , 'America/Guadeloupe' );
2025-10-08 20:52:40 +04:00
2025-04-11 13:32:23 +04:00
// Réseaux sociaux
if ( ! defined ( 'FACEBOOK_URL' )) define ( 'FACEBOOK_URL' , '#' );
if ( ! defined ( 'X_URL' )) define ( 'X_URL' , '#' );
if ( ! defined ( 'INSTAGRAM_URL' )) define ( 'INSTAGRAM_URL' , '#' );
if ( ! defined ( 'YOUTUBE_URL' )) define ( 'YOUTUBE_URL' , '#' );
if ( ! defined ( 'TIKTOK_URL' )) define ( 'TIKTOK_URL' , '#' );
2026-07-23 04:17:49 +04:00
if ( ! defined ( 'MASTODON_URL' )) define ( 'MASTODON_URL' , 'https://bokante.o-k-i.net/@cedric' );
2025-04-11 13:32:23 +04:00
// Contacts
2026-07-23 04:17:49 +04:00
if ( ! defined ( 'CONTACT_EMAIL' )) define ( 'CONTACT_EMAIL' , 'kontak@o-k-i.net' );
2025-04-11 13:32:23 +04:00
// Mentions légales
2026-07-23 04:17:49 +04:00
if ( ! defined ( 'LEGAL_COPYRIGHT' )) define ( 'LEGAL_COPYRIGHT' , 'ANNU KUTE CED' );
2025-04-11 13:32:23 +04:00
if ( ! defined ( 'LEGAL_WEBMASTER_NAME' )) define ( 'LEGAL_WEBMASTER_NAME' , 'Cédric Famibelle-Pronzola' );
2025-07-18 09:51:36 +04:00
if ( ! defined ( 'LEGAL_WEBMASTER_EMAIL' )) define ( 'LEGAL_WEBMASTER_EMAIL' , 'contact@cedric-pronzola.dev' );
2025-04-11 13:32:23 +04:00
if ( ! defined ( 'LEGAL_HOST_NAME' )) define ( 'LEGAL_HOST_NAME' , 'o2Switch' );
if ( ! defined ( 'LEGAL_HOST_COMPANY' )) define ( 'LEGAL_HOST_COMPANY' , 'société au capital de 100 000 €' );
if ( ! defined ( 'LEGAL_HOST_RCS' )) define ( 'LEGAL_HOST_RCS' , 'immatriculée au RCS de Clermont-Ferrand sous le numéro 510 909 807' );
if ( ! defined ( 'LEGAL_HOST_ADDRESS' )) define ( 'LEGAL_HOST_ADDRESS' , '222 boulevard Gustave Flaubert, 63000 Clermont-Ferrand, France' );
2025-10-17 12:20:17 +04:00
if ( ! defined ( 'LEGAL_CONTACT_EMAIL' )) define ( 'LEGAL_CONTACT_EMAIL' , 'kontak@o-k-i.net' );
2025-04-11 13:32:23 +04:00
if ( ! defined ( 'LEGAL_LICENSE' )) define ( 'LEGAL_LICENSE' , 'GNU Affero General Public License version 3 (AGPL-V3)' );
if ( ! defined ( 'LEGAL_LICENSE_URL' )) define ( 'LEGAL_LICENSE_URL' , 'https://www.gnu.org/licenses/agpl-3.0.html' );
2026-07-23 04:17:49 +04:00
if ( ! defined ( 'LEGAL_SOURCE_CODE_URL' )) define ( 'LEGAL_SOURCE_CODE_URL' , 'https://labola.o-k-i.net/cedric/annu-kute-ced' );
if ( ! defined ( 'LEGAL_SERVICE_DESCRIPTION' )) define ( 'LEGAL_SERVICE_DESCRIPTION' , 'est le hub multimédia du podcast ANNU KUTE CED.' );
2025-04-11 13:32:23 +04:00
// Fonctionnalités
define ( 'ENABLE_SEARCH' , true );
if ( ! defined ( 'ENABLE_USER_ACCOUNTS' )) define ( 'ENABLE_USER_ACCOUNTS' , false );
// Cache
2026-07-24 20:55:35 +04:00
// Activé par défaut : indispensable pour Castopod (rate limit strict sur les
// flux RSS) et Funkwhale. Sans cache, une requête part à chaque chargement.
if ( ! defined ( 'CACHE_ENABLED' )) define ( 'CACHE_ENABLED' , true );
2025-04-11 13:32:23 +04:00
if ( ! defined ( 'CACHE_DURATION' )) define ( 'CACHE_DURATION' , 3600 ); // En secondes (1 heure)
2026-07-26 18:44:05 +04:00
// Clé secrète utilisée pour signer les tokens CSRF stateless.
// À remplacer impérativement dans config.local.php par une valeur aléatoire
// propre à l'instance (ex. bin2hex(random_bytes(32))).
2026-07-27 01:55:04 +04:00
// Si cette valeur par défaut est conservée, getCsrfSecret() (security.php)
// enregistre un avertissement critique et génère un secret éphémère propre
// au processus : les tokens sont invalidés à chaque redémarrage.
2026-07-26 18:44:05 +04:00
if ( ! defined ( 'CSRF_SECRET' )) {
2026-07-27 01:55:04 +04:00
define ( 'CSRF_SECRET' , CSRF_SECRET_PLACEHOLDER );
2026-07-26 18:44:05 +04:00
}
2025-10-17 12:20:17 +04:00
// =========================================
// Configuration de la section Hero (bannière d'accueil)
// =========================================
// Type de contenu à afficher dans la section hero
2025-10-17 14:23:31 +04:00
// Options: 'live' (direct PeerTube), 'playlist' (playlist audio/vidéo), 'video' (vidéo unique), 'none' (masquer)
2026-07-23 06:56:36 +04:00
if ( ! defined ( 'HERO_TYPE' )) define ( 'HERO_TYPE' , 'video' );
2025-10-17 12:20:17 +04:00
// Configuration pour le direct (HERO_TYPE = 'live')
2026-07-23 04:17:49 +04:00
if ( ! defined ( 'LIVE_ACCOUNT_NAME' )) define ( 'LIVE_ACCOUNT_NAME' , 'annu_kute_ced' );
2025-04-11 13:32:23 +04:00
2025-10-17 14:23:31 +04:00
// Configuration pour une vidéo unique (HERO_TYPE = 'video')
2026-07-23 06:56:06 +04:00
if ( ! defined ( 'HERO_VIDEO_ID' )) define ( 'HERO_VIDEO_ID' , 'fDE6tvQMXRuBpE4eDDS7kj' );
2025-10-17 14:23:31 +04:00
if ( ! defined ( 'HERO_VIDEO_TITLE' )) define ( 'HERO_VIDEO_TITLE' , 'Vidéo de présentation' );
2025-10-17 12:20:17 +04:00
// Configuration pour les playlists (HERO_TYPE = 'playlist')
// Type de plateforme: 'peertube', 'funkwhale', 'castopod'
if ( ! defined ( 'PLAYLIST_PLATFORM' )) define ( 'PLAYLIST_PLATFORM' , 'peertube' );
// URL de base de la plateforme de playlist
if ( ! defined ( 'PLAYLIST_INSTANCE_URL' )) define ( 'PLAYLIST_INSTANCE_URL' , '' );
// ID de la playlist à afficher
if ( ! defined ( 'PLAYLIST_ID' )) define ( 'PLAYLIST_ID' , '' );
// Titre de la playlist (optionnel, sinon récupéré via API)
if ( ! defined ( 'PLAYLIST_TITLE' )) define ( 'PLAYLIST_TITLE' , '' );
// Description de la playlist (optionnel)
if ( ! defined ( 'PLAYLIST_DESCRIPTION' )) define ( 'PLAYLIST_DESCRIPTION' , '' );
2025-10-17 17:38:16 +04:00
// =========================================
// Configuration Castopod
// =========================================
// Activer l'affichage des podcasts Castopod
if ( ! defined ( 'CASTOPOD_ENABLED' )) define ( 'CASTOPOD_ENABLED' , true );
// URL de l'instance Castopod
if ( ! defined ( 'CASTOPOD_URL' )) define ( 'CASTOPOD_URL' , 'https://kute.o-k-i.net' );
// Liste des slugs de podcasts à afficher (tableau)
// Format: ['slug1', 'slug2', 'slug3']
// Les épisodes de tous les podcasts seront mélangés et triés par date
if ( ! defined ( 'CASTOPOD_PODCAST_SLUGS' )) {
2026-07-23 04:17:49 +04:00
define ( 'CASTOPOD_PODCAST_SLUGS' , [ 'annu_kute_cedric' ]);
2025-10-17 17:38:16 +04:00
}
// Nombre d'épisodes à afficher (total, tous podcasts confondus)
if ( ! defined ( 'CASTOPOD_EPISODES_COUNT' )) define ( 'CASTOPOD_EPISODES_COUNT' , 5 );
2025-10-17 21:10:20 +04:00
// =========================================
// Configuration Funkwhale
// =========================================
// Activer l'affichage des morceaux Funkwhale
if ( ! defined ( 'FUNKWHALE_ENABLED' )) define ( 'FUNKWHALE_ENABLED' , false );
// URL de l'instance Funkwhale
if ( ! defined ( 'FUNKWHALE_URL' )) define ( 'FUNKWHALE_URL' , 'https://mizik.o-k-i.net' );
// Nombre de morceaux à afficher
if ( ! defined ( 'FUNKWHALE_TRACKS_COUNT' )) define ( 'FUNKWHALE_TRACKS_COUNT' , 10 );
2025-04-11 13:32:23 +04:00
// Tags pour filtrer les vidéos selon les catégories
if ( ! defined ( 'TAG_SHORT' )) define ( 'TAG_SHORT' , 'short' );
// Hashtags importants à afficher dans la sidebar, footer et menu mobile
if ( ! defined ( 'IMPORTANT_TAGS' )) {
define ( 'IMPORTANT_TAGS' , [
2026-07-25 15:19:36 +04:00
'ANNUKUTECED'
2025-04-11 13:32:23 +04:00
]);
}
// Hashtags populaires à afficher sur la page d'accueil
if ( ! defined ( 'POPULAR_TAGS' )) {
define ( 'POPULAR_TAGS' , [
2026-07-25 15:19:36 +04:00
'ANNUKUTECED'
2025-04-11 13:32:23 +04:00
]);
}
2025-09-14 11:18:58 +04:00
// =========================================
// Système de compte à rebours / maintenance
// =========================================
// Activer le mode compte à rebours (true/false) - valeur par défaut
if ( ! defined ( 'COUNTDOWN_ENABLED' )) define ( 'COUNTDOWN_ENABLED' , false );
// Date de fin du compte à rebours par défaut (format: Y-m-d H:i:s)
if ( ! defined ( 'COUNTDOWN_TARGET_DATE' )) define ( 'COUNTDOWN_TARGET_DATE' , '2025-10-11 00:00:00' );
// Territoires et fuseaux horaires par défaut pour la page de compte à rebours
if ( ! defined ( 'COUNTDOWN_TIMEZONES' )) {
define ( 'COUNTDOWN_TIMEZONES' , [
2025-09-14 14:38:58 +04:00
'Martinique / Guadeloupe' => 'America/Martinique' ,
2025-09-14 11:18:58 +04:00
'Guyane' => 'America/Cayenne' ,
'France' => 'Europe/Paris' ,
'Ma\'ohi Nui' => 'Pacific/Tahiti' ,
'Kanaky' => 'Pacific/Noumea'
]);
}
2025-09-17 22:30:09 +04:00
// =========================================
// Intégration WordPress par défaut
// =========================================
// URL du site WordPress par défaut
if ( ! defined ( 'WORDPRESS_URL' )) define ( 'WORDPRESS_URL' , '' );
// Nombre d'articles WordPress à afficher par défaut
if ( ! defined ( 'WORDPRESS_POSTS_COUNT' )) define ( 'WORDPRESS_POSTS_COUNT' , 6 );
// Activation des articles WordPress par défaut
if ( ! defined ( 'WORDPRESS_ENABLED' )) define ( 'WORDPRESS_ENABLED' , false );
2025-09-28 20:39:47 +04:00
// =========================================
// Système de dons par défaut
// =========================================
// Activation du système de dons par défaut
2026-07-25 20:24:39 +04:00
// Par défaut les dons sont activés et pointent vers les comptes de l'association
// ORGANISATION KA INTERNATIONALE (OKI), mainteneur de l'application.
// Modifiez ces valeurs dans config.local.php pour utiliser vos propres comptes.
if ( ! defined ( 'DONATIONS_ENABLED' )) define ( 'DONATIONS_ENABLED' , true );
2025-09-28 20:39:47 +04:00
2025-10-17 12:20:17 +04:00
// URLs des plateformes de don
2026-07-25 20:24:39 +04:00
if ( ! defined ( 'LIBERAPAY_URL' )) define ( 'LIBERAPAY_URL' , 'https://liberapay.com/OKI/donate' );
2026-07-25 21:52:17 +04:00
if ( ! defined ( 'KOFI_URL' )) define ( 'KOFI_URL' , 'https://ko-fi.com/J3J5TOZPI' ); // Ex: https://ko-fi.com/votre-compte
2025-10-17 12:20:17 +04:00
if ( ! defined ( 'STRIPE_ENABLED' )) define ( 'STRIPE_ENABLED' , false );
2026-07-25 20:24:39 +04:00
// Message de transparence affiché sur la page de dons.
// Renseignez ce texte lorsque les liens pointent vers les comptes d'une organisation
// tierce (par exemple OKI) afin d'expliquer aux visiteurs pourquoi.
2026-07-25 21:42:54 +04:00
// Les URLs présentes dans ce texte sont automatiquement transformées en liens cliquables.
2026-07-25 20:24:39 +04:00
if ( ! defined ( 'DONATIONS_OKI_DISCLAIMER' )) {
2026-07-25 21:42:54 +04:00
define ( 'DONATIONS_OKI_DISCLAIMER' , 'Les liens ci-dessous pointent vers les comptes de donation de l\'association ORGANISATION KA INTERNATIONALE (OKI) — o-k-i.net. Pour soutenir spécifiquement OKI : o-k-i.net/dons. Pour adapter cette page à votre propre instance, voir la documentation (lien "Code Source" en bas de la page)' );
2026-07-25 20:24:39 +04:00
}
2025-10-17 12:20:17 +04:00
// Configuration Stripe
if ( ! defined ( 'STRIPE_ONE_TIME_LINKS' )) {
define ( 'STRIPE_ONE_TIME_LINKS' , [
2026-07-25 20:24:39 +04:00
1 => 'https://don.o-k-i.net/b/aEUdTw5SD3SH7m0bII' , // Lien pour don de 1€
5 => 'https://don.o-k-i.net/b/4gw6r480L1Kz5dScMO' , // Lien pour don de 5€
10 => 'https://don.o-k-i.net/b/5kA02G1Cn4WLbCgeUV' , // Lien pour don de 10€
20 => 'https://don.o-k-i.net/b/fZebLo94PfBpayc5kn' , // Lien pour don de 20€
50 => 'https://don.o-k-i.net/b/6oE5n05SDdth49O004' , // Lien pour don de 50€
'custom' => 'https://don.o-k-i.net/b/6oE2aO94P88X9u8eV4' // Lien pour montant personnalisé
2025-10-17 12:20:17 +04:00
]);
}
if ( ! defined ( 'STRIPE_MONTHLY_LINKS' )) {
define ( 'STRIPE_MONTHLY_LINKS' , [
2026-07-25 20:24:39 +04:00
1 => 'https://don.o-k-i.net/b/7sI9Dgch14WL7m0fZ3' , // Lien pour don mensuel de 1€
5 => 'https://don.o-k-i.net/b/8wM4iW4Ozbl95dS6ow' , // Lien pour don mensuel de 5€
10 => 'https://don.o-k-i.net/b/8wM2aO80L74TcGk3ci' , // Lien pour don mensuel de 10€
20 => 'https://don.o-k-i.net/b/00g7v894P88XgWAfZ7' , // Lien pour don mensuel de 20€
50 => 'https://don.o-k-i.net/b/4gw8zc6WHgFtcGkbIP' , // Lien pour don mensuel de 50€
2025-10-17 12:20:17 +04:00
]);
}
2025-09-28 20:39:47 +04:00
// Montants de dons suggérés par défaut
2025-10-17 12:20:17 +04:00
if ( ! defined ( 'DONATION_AMOUNTS' )) define ( 'DONATION_AMOUNTS' , [ 1 , 5 , 10 , 20 , 50 ]);
2025-09-28 20:39:47 +04:00
// Devise par défaut
if ( ! defined ( 'DONATION_CURRENCY' )) define ( 'DONATION_CURRENCY' , 'EUR' );
2025-10-08 17:00:40 +04:00
// =========================================
// Annonce du prochain live
// =========================================
// Activer/désactiver l'annonce du prochain live par défaut
if ( ! defined ( 'NEXT_LIVE_ENABLED' )) define ( 'NEXT_LIVE_ENABLED' , false );
// Titre de l'annonce du prochain live
if ( ! defined ( 'NEXT_LIVE_TITLE' )) define ( 'NEXT_LIVE_TITLE' , 'Prochain live' );
// Description de l'annonce du prochain live
if ( ! defined ( 'NEXT_LIVE_DESCRIPTION' )) define ( 'NEXT_LIVE_DESCRIPTION' , 'Rejoignez-nous pour notre prochain live !' );
// Date du prochain live (format: Y-m-d H:i:s)
if ( ! defined ( 'NEXT_LIVE_DATE' )) define ( 'NEXT_LIVE_DATE' , '' );
// Chemin vers l'image d'annonce du prochain live (relatif à la racine du site)
// Exemple: 'uploads/next-live.jpg'
if ( ! defined ( 'NEXT_LIVE_IMAGE' )) define ( 'NEXT_LIVE_IMAGE' , 'uploads/next-live.jpg' );