Un projet développé à Tours, France.
Toutes les fonctionnalitées notées ci dessous ne sont pas forcement encore disponibles pour l'instant mais seront ajoutées au fur et à mesure du temps.
- Création d'espaces collaboratifs avec différents utilisateurs.
- Ajout de flux RSS dans des catégories spécifiques.
- Prise en charge des fluxs RSS 2.0 et Atom, des chaînes YouTube, Google News, etc.
- Recommandations de fluxs RSS et d'articles entre utilisateurs.
- Taux de rafraîchissement des articles inférieur à 5 minutes.
- Export des articles aux formats xlsx, csv, json, ...
MyRSS s'appuie sur plusieurs projets open source pour fonctionner efficacement :
- moment.js - Une bibliothèque JavaScript pour l'analyse, la validation, la manipulation et le formatage des dates.
- SimpleAntiBruteForce - Une petite bibliothèque PHP codé par moi même pour l'occasion afin de gérer les tentatives de connexion erronées sur le formulaire de connexion
MyRSS fonctionne actuellement sous Docker 27.2.0 avec PHP 8.3.9 et MySQL 9 (testé également sous Ubuntu 24.04 avec PHP 8.3.6 et MySQL 8.0.36-2ubuntu3)
- Guide d'installation pour Docker (fortement recommandé)
- Guide d'installation pour XAMPP
- Guide d'installation pour Ubuntu
La structure de MyRSS est organisée selon une architecture MVC (Modèle-Vue-Contrôleur), ce qui permet une séparation claire des responsabilités entre les différentes parties de l'application. Cette organisation facilite le développement, la maintenance et l'évolution du projet. Voici un aperçu détaillé des différents répertoires et de leur contenu :
.
├───docs # Fichiers utiles à la documentation du projet
│ ├───img
│ └───mcd
├───lib # Librairies PHP utiles au projet
├───public
│ └───api # Endpoints API appelés depuis le JS côté client
│ └───admin # Endpoints API réservés à l'admin
│ ├───css
│ ├───img
│ └───js
│ ├───classes
│ └───lib # Librairies tierces utilisés dans le JS
├───scripts # Scripts qui seront executés à l'aide d'un cronjob.
├───src
│ ├───classes
│ └───model # Regroupement des fonctions interrogeant la db
└───views # Templates HTML
└───components # Composants HTML ré-utilisés
Le MLD (Modèle Logique des Données) détaille de manière précise et spécifique la structure de la base de données, en traduisant les concepts abstraits du MCD (Modèle Conceptuel des Données) en termes concrets de tables, de colonnes et de contraintes. Il s'agit d'une représentation technique qui définit comment les données seront stockées, organisées et interconnectées dans le système de gestion de base de données. Le MLD de MyRSS a été réalisé sur le site https://drawsql.app et est accesible en ligne à cette adresse.
L'environnement de développement nécessite une version de Docker récente (Ex: Docker version <27.0.0). Pour démarrer l'environnement de développement, éxecuter le script ./start-dev.sh
. Le site sera ensuite disponible à l'adresse http://rss.localhost
.
Toute contribution sur le projet est la bienvenue ! Vous trouverez tous les renseingments nécessaires dans le fichier CONTRIBUTING.md
MyRSS est distribué sous la licence GPLv3.
-
https://github.com/Ileriayo/markdown-badges : fournisseur des badges présents dans le readme
-
https://www.looping-mcd.fr/ - Logiciel de modélisation conceptuelle utilisé pour réaliser le mcd puis mld