2025-09-14 11:28:43 +04:00
2025-07-21 13:33:23 +04:00
2025-04-08 06:23:51 +04:00
2025-07-20 13:33:55 +04:00
2025-09-07 22:11:08 +04:00
2025-09-07 22:12:44 +04:00
2025-09-07 22:12:44 +04:00
2025-09-07 22:12:44 +04:00
2025-04-07 13:09:47 +04:00
2025-09-07 22:12:44 +04:00
2025-09-14 11:28:43 +04:00
2025-09-07 22:12:44 +04:00

🎬 kaubuntu.re - Plateforme Multimédia

🌍 Une plateforme multimédia indépendante au service de la vision panafricaniste et indépendantiste réunionnaise

📖 Description

kaubuntu.re 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 koze.kaubuntu.re (Mastodon). Développée par le mouvement politique 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.

🎯 Mission : Offrir une alternative libre et décentralisée aux plateformes vidéo traditionnelles, en phase avec les valeurs dindépendance et de souveraineté numérique défendues par Ka-Ubuntu.

Fonctionnalités

  • 🎥 Affichage des vidéos à la une et récentes

  • 📚 Navigation par catégories

  • ▶️ Lecture de vidéos

  • 🔍 Recherche de contenu

  • 📱 Interface responsive (mobile et desktop)

  • 🔗 Intégration avec une instance PeerTube

  • 📲 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)

🛠️ Technologies utilisées

  • 📄 HTML5

  • 🎨 CSS3 avec Media Queries pour le responsive design

  • 🐘 PHP pour le backend

  • JavaScript pour les interactions côté client

  • 🔧 Service Worker pour le cache offline et PWA

  • 📋 Web App Manifest pour linstallation native

  • 📦 Bibliothèques externes via CDN:

    • 🎯 Font Awesome (icônes)

    • 📊 Plausible Analytics (statistiques respectueuses de la vie privée)

📁 Structure du projet

├── css/
│   ├── styles.css
│   ├── video-page.css
│   ├── categories.css
│   └── search.css
├── img/
│   ├── categories/
│   ├── video-thumbnails/
│   └── channels/
├── js/
│   └── main.js
├── includes/
│   ├── header.php
│   ├── footer.php
│   ├── mobile-menu.php
│   ├── featured-videos.php
│   ├── recent-videos.php
│   ├── categories.php
│   ├── pwa-init.php
│   └── config.local.php.sample     # Exemple de configuration locale
├── conf/
│   ├── .htaccess.sample            # Configuration Apache sécurisée
│   └── nginx.conf.sample           # Configuration Nginx sécurisée
├── index.php
├── video.php
├── categories.php
├── search.php
├── sw.js                           # Service Worker pour PWA
├── site.webmanifest.sample         # Exemple de manifest PWA
├── browserconfig.xml               # Configuration Windows
├── sitemap.xml.sample              # Exemple de sitemap
├── robots.txt.sample               # Exemple de robots.txt
├── mentions-legales.php.sample     # Exemple de mentions légales
└── README.adoc

🚀 Installation

  1. 📥 Clonez ce dépôt

  2. 🔧 Configurez votre serveur web (Apache, Nginx, etc.) pour pointer vers le répertoire racine

  3. 🔒 Important : Assurez-vous que votre serveur supporte HTTPS (requis pour PWA)

  4. 🛡️ Configuration serveur sécurisée : Copiez le fichier de configuration approprié depuis conf/

⚙️ Configuration

Le site utilise un système de configuration en deux parties :

  • 📋 includes/config.php : La configuration de base (versionnée)

  • 🔧 includes/config.local.php : Votre configuration locale (non versionnée)

Pour configurer votre environnement local :

  1. Copiez le fichier dexemple vers le fichier local :

    cp includes/config.local.php.sample includes/config.local.php
  2. Modifiez includes/config.local.php selon vos besoins :

    • URL de linstance PeerTube

    • Clé API

    • Catégories à afficher

    • Nombre de vidéos par section

    • etc.

Les modifications apportées à config.local.php ne seront pas suivies par Git, ce qui vous permet de personnaliser votre instance sans affecter le code source principal.

🏷️ Personnalisation des catégories

Pour personnaliser les catégories affichées sur la page daccueil, modifiez la constante PRIORITY_CATEGORIES dans votre fichier config.local.php :

define('PRIORITY_CATEGORIES', [
    11 => 'Actualité & Politique',
    14 => 'Activisme',
    15 => 'Science & Technologie',
    1 => 'Musique',
    // Ajoutez d'autres catégories selon vos besoins
]);
  • Les clés sont les IDs des catégories dans PeerTube

  • Les valeurs sont les noms personnalisés que vous souhaitez afficher

  • Lordre dans le tableau détermine lordre daffichage sur la page

🎨 Personnalisation

Vous pouvez personnaliser lapparence de la plateforme en modifiant les fichiers CSS dans le dossier css/. Pour changer le logo et les couleurs principales:

  1. 🖼️ Remplacez le fichier img/logo.png par votre propre logo

  2. 🎨 Modifiez les couleurs dans css/styles.css

📝 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 (kaubuntu.re). Pour les adapter à votre domaine :

  1. Copiez les fichiers samples pour créer vos propres versions :

    cp sitemap.xml.sample sitemap.xml
    cp robots.txt.sample robots.txt
    cp site.webmanifest.sample site.webmanifest
    cp mentions-legales.php.sample mentions-legales.php
  2. Remplacez les placeholders par vos informations réelles :

    • VOTRE-DOMAINE par votre nom de domaine

    • 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.

🛡️ Configuration de sécurité Apache

Le fichier conf/.htaccess.sample fourni inclut des règles de sécurité importantes pour protéger votre installation :

Protections incluses :

  • 🚫 Blocage des fichiers de configuration : Empêche laccès direct aux fichiers .php, .config, etc.

  • 🔒 Protection des répertoires sensibles : Bloque laccès aux dossiers /includes/, /cache/, /docs/

  • 🗂️ Désactivation de lexploration : Empêche la liste des fichiers dans les répertoires

  • 🔐 Blocage des fichiers cachés : Protège les fichiers commençant par .

  • 📄 Blocage des fichiers temporaires : Empêche laccès aux .sample, .bak, .log, etc.

Installation :

cp conf/.htaccess.sample .htaccess
Warning
Cette configuration est essentielle pour la sécurité de votre installation. Ne pas lutiliser expose vos fichiers de configuration aux visiteurs.

🛡️ Configuration de sécurité Nginx

Pour les serveurs Nginx, utilisez le fichier conf/nginx.conf.sample qui inclut les mêmes protections :

Protections incluses :

  • 🚫 Blocage des fichiers de configuration : Empêche laccès direct aux fichiers sensibles

  • 🔒 Protection des répertoires sensibles : Bloque laccès aux dossiers critiques

  • 🗂️ Désactivation de lexploration : autoindex off

  • 🔐 Blocage des fichiers cachés : Protection des fichiers commençant par .

  • 📄 Optimisations : Cache, compression gzip, headers de sécurité

Installation :

# Adaptez les chemins dans conf/nginx.conf.sample puis :
sudo cp conf/nginx.conf.sample /etc/nginx/sites-available/votre-site
sudo ln -s /etc/nginx/sites-available/votre-site /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

📱 Progressive Web App (PWA)

Cette plateforme est une PWA complète offrant :

Fonctionnalités PWA

  • 📲 Installation native : Bouton dinstallation automatique dans linterface

  • 🌐 Mode hors ligne : Cache intelligent des pages et ressources visitées

  • 📡 Détection d’état : Indicateur visuel en cas de perte de connexion

  • Performance : Chargement instantané des ressources en cache

  • 📱 Responsive : Interface adaptée pour lutilisation en application mobile

📥 Comment installer lapplication

  1. 🔄 Automatique : Un bouton "Installer" apparaît dans le header lors de la première visite

  2. 🔧 Manuel :

    • 🌐 Chrome/Edge : Menu → "Installer kaubuntu.re"

    • 🍎 Safari iOS : Partager → "Ajouter à l’écran daccueil"

    • 🦊 Firefox Android : Menu → "Installer"

🌐 Compatibilité PWA

  • Chrome/Edge (Android/Desktop)

  • Safari (iOS 11.3+)

  • Firefox (Android)

  • Samsung Internet

📄 Fichiers PWA

  • 🔧 sw.js : Service Worker gérant le cache et mode offline

  • 📋 site.webmanifest : Configuration de lapplication (nom, icônes, etc.)

  • 🪟 browserconfig.xml : Support des tuiles Windows

🚀 Déploiement

Pour déployer sur un serveur mutualisé:

  1. 🐘 Assurez-vous que votre hébergeur supporte PHP (version 7.0 minimum recommandée)

  2. 🔒 Configurez HTTPS (obligatoire pour les fonctionnalités PWA)

  3. 📤 Transférez tous les fichiers via FTP dans le répertoire racine de votre site

  4. 🔧 Vérifiez que les permissions des fichiers sont correctement définies (644 pour les fichiers, 755 pour les dossiers)

  5. 🌐 Configurez votre domaine pour pointer vers le dossier où vous avez installé lapplication

  6. 🧪 Testez linstallation PWA via les outils de développement du navigateur

👨‍💻 Développement

Si vous souhaitez contribuer au développement:

  1. 🌿 Créez une branche pour vos modifications: git checkout -b ma-nouvelle-fonctionnalité

  2. 💾 Committez vos changements: git commit -m 'Ajout dune nouvelle fonctionnalité'

  3. 📤 Poussez vers la branche: git push origin ma-nouvelle-fonctionnalité

  4. 🔀 Soumettez une pull request

📜 License

Copyright © 2025 Cédric Famibelle-Pronzola & Ka-Ubuntu

Note
Ka-Ubuntu est un parti politique panafricaniste et indépendantiste réunionnais, œuvrant pour la souveraineté numérique et technologique de La Réunion dans une perspective panafricaniste.

🇫🇷 FR

Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la licence publique générale GNU Affero publiée par la Free Software Foundation, soit la version 3 de la licence, soit (à votre choix) toute version ultérieure.

Ce programme est distribué dans lespoir quil sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou dADAPTATION À UN USAGE PARTICULIER. Voir la licence publique générale GNU Affero pour plus de détails.

Vous devriez avoir reçu une copie de la licence publique générale GNU Affero avec ce programme. Si ce nest pas le cas, consultez https://www.gnu.org/licenses/.

🇺🇸 EN

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

📊 Analytics et Statistiques

🔒 Respect de la vie privée

Cette plateforme utilise Plausible Analytics, une solution danalyse web respectueuse de la vie privée qui :

  • Sans cookies : Aucun cookie de suivi nest installé

  • Conforme RGPD : Respecte les réglementations européennes sur la protection des données

  • Open Source : Code source ouvert et auditable

  • Données anonymes : Aucune donnée personnelle collectée

  • Sans collecte inter-sites : Pas de profilage des utilisateurs

📈 Données collectées

Plausible collecte uniquement des statistiques anonymes :

  • 📍 Pages visitées

  • 🌍 Pays dorigine (basé sur lIP, sans stockage)

  • 📱 Type dappareil (mobile, desktop, tablette)

  • 🌐 Navigateur utilisé

  • 📊 Temps passé sur le site

⚙️ Configuration

Les analytics sont automatiquement activés via le script Plausible intégré dans le <head> de chaque page. La configuration est gérée dans includes/security.php avec les autorisations CSP appropriées.

📞 Contact

Pour toute question ou suggestion concernant cette plateforme, veuillez nous contacter à multimedia@kaubuntu.re.


🌍 Ka-Ubuntu - Pour une Réunion libre et souveraine dans lunité panafricaniste ✊🏿

S
Description
Hub multimédia PHP agrégeant YouTube, Instagram, TikTok et WordPress pour Ka-Ubuntu.
https://kaubuntu.re
Readme AGPL-3.0 3.7 MiB
Languages
PHP 58.1%
CSS 34.3%
JavaScript 7.6%