docs: rebrand fork for ANNU KUTE CED podcast hub

This commit is contained in:
2026-07-23 04:17:49 +04:00
parent 62d4d99bfb
commit eaacd23702
9 changed files with 191 additions and 137 deletions
+76 -34
View File
@@ -1,30 +1,41 @@
= 🎬 FEDIVERSE OKI - ORGANISATION KA INTERNATIONALE
= 🎙️ ANNU KUTE CED - Hub multimédia du podcast
:toc: left
:toc-title: Sommaire
:toclevels: 3
🌍 *Une plateforme multimédia indépendante*
🌍 *Hub multimédia du podcast ANNU KUTE CED*
== 📖 Description
**FEDIVERSE OKI** est une interface web responsive qui permet de consulter et rechercher des vidéos hébergées sur une instance PeerTube. Il est également possible de suivre le fil du réseau social Mastodon. C'est le fork de https://codeberg.org/Ka-Ubuntu/kaubuntu.re[kaubuntu.re], développée par le mouvement politique *https://kaubuntu.com[Ka-Ubuntu]*. Cette plateforme est conçue pour être légère, facilement déployable sur un serveur mutualisé, et optimisée pour les appareils mobiles et desktop.
**ANNU KUTE CED** est une interface web responsive dédiée au podcast *ANNU KUTE CED*. Elle regroupe en un seul lieu la chaîne PeerTube du podcast, son compte Castopod et sa timeline Mastodon, offrant ainsi un point d'entrée unique pour suivre l'ensemble de ses contenus.
🎯 *Mission* : Offrir une alternative libre et décentralisée aux plateformes vidéo traditionnelles.
Cette plateforme est un *fork* de **FEDIVERSE OKI** (https://labola.o-k-i.net/ORGANISATION-KA-INTERNATIONALE/FEDIVERSE-OKI[FEDIVERSE-OKI^]), développée par l'https://o-k-i.net[ORGANISATION KA INTERNATIONALE (OKI)^]. Le présent dépôt est hébergé sur LaBola : `git@labola.o-k-i.net:cedric/annu-kute-ced.git`.
OKI continue de gérer l'application ; ce fork est porté par le propriétaire du dépôt *cedric* (Cédric Famibelle-Pronzola). Le code source reste disponible et le projet respecte la licence d'origine (GNU Affero General Public License v3 ou ultérieure).
🎯 *Mission* : Offrir un hub libre et décentralisé pour découvrir, écouter et suivre le podcast ANNU KUTE CED sans dépendre des grandes plateformes propriétaires.
== 🔗 Sources et instances utilisées
Le hub est configuré par défaut pour agréger les sources suivantes du podcast ANNU KUTE CED :
- 🎥 *Chaîne PeerTube (GADE)* : https://gade.o-k-i.net/c/annu_kute_ced/videos
- 🎙️ *Compte Castopod (KUTE)* : https://kute.o-k-i.net/@annu_kute_cedric
- 📡 *Timeline Mastodon (BOKANTE)* : https://bokante.o-k-i.net/@cedric
== ✨ Fonctionnalités
- 🎥 Affichage des vidéos à la une et récentes
- 🎥 Affichage des vidéos à la une et récentes depuis PeerTube
- 📚 Navigation par catégories
- ▶️ Lecture de vidéos
- 🔍 Recherche de contenu
- 📱 Interface responsive (mobile et desktop)
- 🔗 Intégration avec une instance PeerTube
- 🔗 Intégration avec l'instance PeerTube GADE
- 📲 Progressive Web App (PWA) avec installation native
- 🌐 Mode hors ligne avec cache intelligent
- 📡 Détection automatique d'état de connexion
- 📊 Analytics intégré avec Plausible (respectueux de la vie privée)
- 📰 *Intégration WordPress* : Affichage des articles depuis un site WordPress via REST API
- 🎙️ *Intégration Castopod* : Affichage des derniers épisodes de podcast via flux RSS
- 🎙️ *Intégration Castopod* : Affichage des derniers épisodes du podcast via flux RSS
- 💝 *Système de dons* : Support multi-plateformes (LiberaPay, Ko-fi, Stripe) avec dons ponctuels et récurrents
- ⏰ *Système de countdown* : Page de lancement configurable avec compte à rebours multi-fuseaux
- 📺 *Annonce du prochain live* : Affichage dynamique avec multi-fuseaux horaires et image personnalisable
@@ -119,7 +130,12 @@ php -m | grep intl
== 🚀 Installation
. 📥 Clonez ce dépôt
. 📥 Clonez ce dépôt :
+
[source,bash]
----
git clone git@labola.o-k-i.net:cedric/annu-kute-ced.git
----
. 📦 *Vérifiez les prérequis :* Assurez-vous que toutes les extensions PHP requises sont installées
. 🔧 Configurez votre serveur web (Apache, Nginx, etc.) pour pointer vers le répertoire racine
. 🔒 *Important :* Assurez-vous que votre serveur supporte HTTPS (requis pour PWA)
@@ -142,7 +158,9 @@ cp includes/config.local.php.sample includes/config.local.php
----
. Modifiez `includes/config.local.php` selon vos besoins :
* URL de l'instance PeerTube
* URL de l'instance PeerTube (par défaut : https://gade.o-k-i.net)
* Compte Castopod à afficher (par défaut : `@annu_kute_cedric` sur https://kute.o-k-i.net)
* Compte Mastodon à suivre (par défaut : `@cedric` sur https://bokante.o-k-i.net)
* Clé API
* Catégories à afficher
* Nombre de vidéos par section
@@ -153,7 +171,7 @@ Les modifications apportées à `config.local.php` ne seront pas suivies par Git
=== Configuration du fuseau horaire
Par défaut, le site utilise le fuseau horaire `Indian/Reunion`. Vous pouvez le changer en définissant la constante `DEFAULT_TIMEZONE` dans votre `config.local.php` :
Par défaut, le site utilise le fuseau horaire `America/Guadeloupe`. Vous pouvez le changer en définissant la constante `DEFAULT_TIMEZONE` dans votre `config.local.php` :
[source,php]
----
@@ -197,7 +215,7 @@ Vous pouvez personnaliser l'apparence de la plateforme en modifiant les fichiers
== 📝 Personnalisation du sitemap, robots.txt, webmanifest et mentions légales
Les fichiers `sitemap.xml`, `robots.txt`, `site.webmanifest` et `mentions-legales.php` contiennent des données spécifiques au domaine (`bokante.o-k-i.net`). Pour les adapter à votre domaine :
Les fichiers `sitemap.xml`, `robots.txt`, `site.webmanifest` et `mentions-legales.php` contiennent des données spécifiques au domaine (`annukuteced.buzz`). Pour les adapter à votre domaine :
. Copiez les fichiers samples pour créer vos propres versions :
+
@@ -210,14 +228,14 @@ cp mentions-legales.php.sample mentions-legales.php
----
. Remplacez les placeholders par vos informations réelles :
* `VOTRE-DOMAINE` par votre nom de domaine
* `VOTRE-DOMAINE` par `annukuteced.buzz`
* `VOTRE-DATE-MAJ` par la date de dernière mise à jour des mentions légales
Ces fichiers sont listés dans le `.gitignore` afin que vos modifications ne soient pas suivies par Git, ce qui vous permet de personnaliser votre instance sans affecter le code source principal.
== 📺 Section Hero : Direct, Vidéo et Playlists
FEDIVERSE OKI propose une section hero flexible et configurable en haut de la page d'accueil, pouvant afficher soit un direct PeerTube, soit une vidéo unique, soit une playlist audio/vidéo (PeerTube, Funkwhale, Castopod), soit être masquée complètement.
ANNU KUTE CED propose une section hero flexible et configurable en haut de la page d'accueil, pouvant afficher soit un direct PeerTube, soit une vidéo unique, soit une playlist audio/vidéo (PeerTube, Funkwhale, Castopod), soit être masquée complètement.
=== 🎯 Modes disponibles
@@ -239,7 +257,7 @@ Ajoutez dans votre `config.local.php` :
define('HERO_TYPE', 'video');
// === Configuration pour HERO_TYPE = 'live' ===
define('LIVE_ACCOUNT_NAME', 'admin');
define('LIVE_ACCOUNT_NAME', 'annu_kute_ced');
// === Configuration pour HERO_TYPE = 'video' ===
@@ -261,7 +279,7 @@ define('PLAYLIST_INSTANCE_URL', 'https://gade.o-k-i.net');
define('PLAYLIST_ID', 'b0f923b5-f8f6-4b5c-b167-6c4f0e04fd42');
// Titre de la playlist (optionnel)
define('PLAYLIST_TITLE', 'Sélection OKI');
define('PLAYLIST_TITLE', 'Sélection ANNU KUTE CED');
// Description de la playlist (optionnel)
define('PLAYLIST_DESCRIPTION', 'Notre sélection de vidéos');
@@ -275,7 +293,7 @@ define('PLAYLIST_DESCRIPTION', 'Notre sélection de vidéos');
----
define('HERO_TYPE', 'video');
define('HERO_VIDEO_ID', '1aJ2u9euwF9fWKQhFxwFio');
define('HERO_VIDEO_TITLE', 'Présentation du mouvement');
define('HERO_VIDEO_TITLE', 'Présentation du podcast');
----
L'URL de la vidéo sera : `https://gade.o-k-i.net/w/1aJ2u9euwF9fWKQhFxwFio`
@@ -305,8 +323,8 @@ define('PLAYLIST_ID', '12345');
[source,php]
----
define('PLAYLIST_PLATFORM', 'castopod');
define('PLAYLIST_INSTANCE_URL', 'https://podcast.example.com');
define('PLAYLIST_ID', '@nom-du-podcast');
define('PLAYLIST_INSTANCE_URL', 'https://kute.o-k-i.net');
define('PLAYLIST_ID', '@annu_kute_cedric');
----
=== 📺 Annonce du prochain live (mode `HERO_TYPE = 'live'`)
@@ -336,7 +354,7 @@ define('NEXT_LIVE_ENABLED', true);
define('NEXT_LIVE_TITLE', 'Prochain live');
// Description (l'heure sera ajoutée automatiquement)
define('NEXT_LIVE_DESCRIPTION', 'Constitution du futur état réunionnais & Hommage à Thomas Sankara.');
define('NEXT_LIVE_DESCRIPTION', 'Enregistrement du prochain épisode ANNU KUTE CED.');
// Date du prochain live au format Y-m-d H:i:s
define('NEXT_LIVE_DATE', '2025-10-11 10:00:00');
@@ -376,7 +394,7 @@ L'heure de référence (La Guadeloupe, UTC-04:00) est affichée dans le badge pr
== 💝 Système de dons
FEDIVERSE OKI intègre un système de dons moderne et flexible supportant plusieurs plateformes de paiement.
ANNU KUTE CED intègre un système de dons moderne et flexible supportant plusieurs plateformes de paiement.
=== ✨ Fonctionnalités
@@ -444,7 +462,7 @@ cp dons.php.sample dons.php
. Personnalisez le contenu directement dans `dons.php` :
* Modifiez les textes dans les sections `<!-- PERSONNALISEZ -->`
* Adaptez les objectifs listés à votre organisation
* Adaptez les objectifs listés au podcast
* Ajustez les cartes d'information selon vos besoins
=== 🎯 Interface utilisateur
@@ -484,7 +502,7 @@ Le système intègre plusieurs protections :
== 🎙️ Intégration Castopod (Podcasts)
FEDIVERSE OKI peut afficher les derniers épisodes d'un podcast Castopod directement sur la page d'accueil, à côté de la timeline Mastodon et des articles WordPress.
ANNU KUTE CED peut afficher les derniers épisodes du podcast Castopod directement sur la page d'accueil, à côté de la timeline Mastodon.
=== ✨ Fonctionnalités
@@ -508,15 +526,13 @@ define('CASTOPOD_ENABLED', true);
// URL de l'instance Castopod
define('CASTOPOD_URL', 'https://kute.o-k-i.net');
// Liste des slugs de podcasts à afficher
// Les épisodes de tous les podcasts seront mélangés et triés par date
// Slug du podcast ANNU KUTE CED
// Le feed RSS est accessible à : https://kute.o-k-i.net/@annu_kute_cedric/feed
define('CASTOPOD_PODCAST_SLUGS', [
'joukawouve',
'cspcc',
'radyobokaz'
'annu_kute_cedric'
]);
// Nombre d'épisodes à afficher (total, tous podcasts confondus)
// Nombre d'épisodes à afficher
define('CASTOPOD_EPISODES_COUNT', 5);
// IMPORTANT : Activer le cache pour éviter le rate limiting
@@ -524,9 +540,9 @@ define('CACHE_ENABLED', true);
define('CACHE_DURATION', 3600); // 1 heure recommandé
----
WARNING: *Rate Limiting* : Castopod applique un rate limit strict sur les requêtes RSS. Pour afficher plusieurs podcasts, le système ajoute un délai de 5 secondes entre chaque requête. *Le cache est fortement recommandé* pour éviter ces délais à chaque chargement de page.
WARNING: *Rate Limiting* : Castopod applique un rate limit strict sur les requêtes RSS. *Le cache est fortement recommandé* pour éviter ces délais à chaque chargement de page.
TIP: Pour un seul podcast, vous pouvez utiliser une chaîne : `define('CASTOPOD_PODCAST_SLUGS', ['joukawouve']);`
TIP: Pour un seul podcast, vous pouvez utiliser une chaîne : `define('CASTOPOD_PODCAST_SLUGS', ['annu_kute_cedric']);`
=== 📋 Prérequis
@@ -580,6 +596,25 @@ Les styles sont définis dans `css/castopod-podcasts.css` :
- `.castopod-episode-thumb` : Miniature avec effet hover
- `.castopod-play-icon` : Icône de lecture au survol
== 📡 Intégration Mastodon
La page d'accueil affiche la timeline publique du compte Mastodon du podcast.
=== ⚙️ Configuration
[source,php]
----
// URL de l'instance Mastodon
define('MASTODON_INSTANCE_URL', 'https://bokante.o-k-i.net');
// URL publique du compte (utilisée pour les liens "Voir plus")
define('MASTODON_URL', 'https://bokante.o-k-i.net/@cedric');
// Nombre maximum de posts à récupérer et afficher
define('MASTODON_MAX_POST_FETCH', '10');
define('MASTODON_MAX_POST_SHOW', '10');
----
== 🛡️ Configuration de sécurité Apache
Le fichier `conf/.htaccess.sample` fourni inclut des règles de sécurité importantes pour protéger votre installation :
@@ -639,7 +674,7 @@ Cette plateforme est une PWA complète offrant :
. 🔄 *Automatique* : Un bouton "Installer" apparaît dans le header lors de la première visite
. 🔧 *Manuel* :
* 🌐 *Chrome/Edge* : Menu → "Installer bokante.o-k-i.net"
* 🌐 *Chrome/Edge* : Menu → "Installer annukuteced.buzz"
* 🍎 *Safari iOS* : Partager → "Ajouter à l'écran d'accueil"
* 🦊 *Firefox Android* : Menu → "Installer"
@@ -664,7 +699,7 @@ Pour déployer sur un serveur mutualisé:
. 🔒 *Configurez HTTPS* (obligatoire pour les fonctionnalités PWA)
. 📤 Transférez tous les fichiers via FTP dans le répertoire racine de votre site
. 🔧 Vérifiez que les permissions des fichiers sont correctement définies (644 pour les fichiers, 755 pour les dossiers)
. 🌐 Configurez votre domaine pour pointer vers le dossier où vous avez installé l'application
. 🌐 Configurez votre domaine `annukuteced.buzz` pour pointer vers le dossier où vous avez installé l'application
. 🧪 Testez l'installation PWA via les outils de développement du navigateur
== 👨‍💻 Développement
@@ -676,7 +711,14 @@ Si vous souhaitez contribuer au développement:
. 📤 Poussez vers la branche: `git push origin ma-nouvelle-fonctionnalité`
. 🔀 Soumettez une pull request
== 📜 License
== 📜 Origine et licence
**ANNU KUTE CED** est un fork de **FEDIVERSE OKI**, une application développée par l'https://o-k-i.net[ORGANISATION KA INTERNATIONALE (OKI)^] sous licence GNU Affero General Public License v3 ou ultérieure.
- *Dépôt upstream* : https://labola.o-k-i.net/ORGANISATION-KA-INTERNATIONALE/FEDIVERSE-OKI
- *Dépôt du fork* : `git@labola.o-k-i.net:cedric/annu-kute-ced.git`
- *Gestion* : L'application est maintenue par OKI ; ce fork est porté par le propriétaire du dépôt *cedric* (Cédric Famibelle-Pronzola).
- *Licence* : Le projet continue d'être distribué sous https://www.gnu.org/licenses/agpl-3.0.html[GNU Affero General Public License version 3 (AGPL-V3)^] ou toute version ultérieure, conformément à la licence d'origine.
Copyright (C) 2025 Cédric Famibelle-Pronzola & *ORGANISATION KA INTERNATIONALE*