Tous les tutoriels
R

Tutoriel

RSSDI-Web

Mis à jour le 7 octobre 2026

RSSDI-Web est un site statique qui présente le service RSSDI, permettant de relayer des flux RSS, YouTube, Reddit et GitHub vers Discord. Le tutoriel explique comment installer le site localement avec Docker, le générer avec Python et le lancer. Il couvre également la mise à jour du catalogue et les premiers pas dans le navigateur.

Ce qu'il faut

  • Docker et Docker Compose installés
  • Python 3.8+ installé
  • Accès à un terminal (Linux, macOS ou Windows avec WSL)
  • Connexion internet pour télécharger les images Docker

Installation

Installation locale avec Docker

  1. 1Cloner le dépôt RSSDI-Web depuis le dépôt officiel
  2. 2Se placer dans le répertoire racine du projet
  3. 3Lancer la commande `docker compose up -d --build`
  4. 4Attendre que Docker télécharge les images et construise le conteneur nginx
  5. 5Vérifier que le conteneur est en cours d'exécution avec `docker ps`

Génération des pages statiques

  1. 1Installer les dépendances Python avec `pip install -r requirements.txt` si le fichier existe
  2. 2Exécuter `python build.py` pour générer les pages HTML à la racine et le fichier sitemap.xml
  3. 3Confirmer que les fichiers .html ont bien été créés dans le répertoire du projet

Premier lancement

  1. 1Ouvrir un navigateur web et accéder à http://127.0.0.1:3041
  2. 2Naviguer parmi les pages d’accueil, fonctionnalités, catalogue, etc.
  3. 3Vérifier que le menu et le pied de page s’affichent correctement

Configurer le catalogue RSSDI

Le catalogue contient les flux indexés par le service.

  1. 1Placer le fichier `app/data/feed_catalog.json` dans le répertoire `data/` du projet
  2. 2Renommer le fichier en `catalogue.json` si nécessaire
  3. 3Redémarrer le conteneur annuaire avec `docker restart rssdi-annuaire`

Mettre à jour le catalogue automatiquement

Le conteneur `rssdi-annuaire` rafraîchit le catalogue chaque semaine.

  1. 1Vérifier les logs du conteneur avec `docker logs -f rssdi-annuaire`
  2. 2Exécuter les tests unitaires avec `cd annuaire && python test_annuaire.py`
  3. 3Publier manuellement le nouveau catalogue si besoin avec `docker exec rssdi-annuaire python annuaire.py publier`

Personnaliser le contenu des pages

Les pages sont éditables dans le répertoire `src/`.

  1. 1Ouvrir le fichier `src/<page>.html` correspondant à la page à modifier
  2. 2Modifier le titre, la description ou le texte du corps
  3. 3Enregistrer les modifications et relancer `python build.py` pour les appliquer

Sécuriser l’accès via Nginx

Les en‑têtes de sécurité et la politique CSP sont définies dans la configuration Nginx.

  1. 1Ouvrir le fichier `nginx.conf` ou `headers.inc` dans le répertoire du projet
  2. 2Vérifier les directives `add_header` et `Content‑Security‑Policy`
  3. 3Redémarrer le service nginx avec `docker compose restart`

Accéder aux données du catalogue depuis le navigateur

Le catalogue est servi sous le chemin `/data/`.

  1. 1Naviguer vers http://127.0.0.1:3041/data/catalogue.json
  2. 2Inspecter le contenu JSON pour vérifier la présence des flux
  3. 3Utiliser la fonction de recherche du catalogue depuis la page Catalogue du site

Arrêter et nettoyer l’installation

Libérer les ressources Docker lorsqu’elles ne sont plus nécessaires.

  1. 1Arrêter les conteneurs avec `docker compose down`
  2. 2Supprimer les images locales avec `docker image prune -f`
  3. 3Supprimer le répertoire du projet si vous ne souhaitez plus le conserver

Astuces

  • Utilisez `docker compose logs -f` pour suivre en temps réel les messages du serveur nginx.
  • Conservez une copie du fichier `catalogue.json` avant chaque mise à jour manuelle.
  • Si le site ne se charge pas, vérifiez que le port 3041 n’est pas déjà utilisé par une autre application.

Questions fréquentes

Le site ne s’affiche pas après le démarrage du conteneur.

Vérifiez que le conteneur nginx est bien en cours d’exécution (`docker ps`) et que le port 3041 n’est pas bloqué par un pare‑feu.

Comment ajouter un nouveau flux au catalogue.

Ajoutez l’URL du flux dans le fichier `app/data/feed_catalog.json`, regénérez le catalogue avec `python build.py` puis republiez avec le conteneur annuaire.

Le conteneur annuaire ne démarre pas.

Consultez les logs (`docker logs rssdi-annuaire`) pour identifier les erreurs de dépendances ou de permissions, puis corrigez le problème avant de relancer.

Tutoriel rédigé automatiquement à partir de la documentation du projet, mis à jour à chaque évolution.