Flux-Gaming

Illustration du projet Illustration du projet
Publié le

Version

  1. v.1.0 (07/2023)

Statut

Archivé

Contexte du projet

À l’origine, ce projet était un exercice de groupe réalisé à trois dans le cadre de la formation Développeur web et web mobile en 2022. En sortie d’étude, j’ai décidé de le reproduire seule pour mieux comprendre les mécaniques de récupération de données via les flux RSS.

Ce fut aussi l’occasion de refondre complètement le code que je trouvais initialement confus, en raison des contraintes de temps et des nouvelles notions abordées. J’ai également repensé le design. Finalement, du projet de groupe, seul le nom du site, que nous avions choisi ensemble, a été conservé.

Gallerie

Capture d'écran du projet
Page d'accueil
Capture d'écran du projet
Page des articles
Capture d'écran du projet
Page des paramètres
Capture d'écran du projet
Page d'accueil (mode sombre)

Fonctionnalités

  • Récupération des flux RSS : Collecte des flux RSS provenant de sites spécialisés dans les jeux vidéo.
  • Filtrage par plateforme : L’utilisateur peut choisir de filtrer les sujets affichés par plateforme (PC, PS5, XBOX, Switch, Mobile).
  • Choix du nombre d’articles : L’utilisateur a la possibilité de sélectionner le nombre d’articles à afficher (6, 9 ou 12).
  • Personnalisation du thème : L’utilisateur peut personnaliser le thème de couleur du site selon ses préférences.

Stack Technique

Pour cette refonte, j’ai choisi de réutiliser les technologies initiales. La formation étant principalement axée sur PHP pour la gestion côté serveur et sur Bootstrap pour la création d’interfaces responsive, le projet s’est donc naturellement structuré autour de ces deux éléments.

Bien que je préfère aujourd’hui Tailwind CSS (et de très loin !), il faut reconnaître que Bootstrap présentait l’avantage d’une prise en main facile, sans nécessiter de configuration particulière.

PHP, malgré l’émergence de nombreuses alternatives, reste une solution de choix pour la création de sites web dynamique et continue d’être largement utilisé. C’est le grand dinosaure du web.

Comme la formation n’enseignait que l’usage du langage natif, aucun framework back-end n’a donc été utilisé pour ce projet. Toutefois au vu de la légèreté du site, cela n’aurait de toute façon pas été pertinent.


Organisation du code

L’organisation suit le modèle MVC (Modèle-Vue-Contrôleur) pour garantir une séparation claire des responsabilités et une maintenabilité optimale du code. La structure du projet est la suivante :

Nom du namespace Responsabilité
Config Centralise les configurations du site.
Controllers Comporte la logique du site.
Views Regroupe les vues du site.
Models Définit la classe Subject pour la gestion des sujets et la définition de la méthode d'extraction des flux RSS.
Public Contient les ressources statiques (images, CSS, JavaScript) dans un sous dossier Assets.
Helpers Contient une fonction utilitaire pour la réeécriture d'URLs.

Étant donné que ce projet est assez ancien, il ne respecte pas toujours les bonnes pratiques de développement, que ce soit en termes d’exploitation du langage, de documentation ou de gestion des erreurs. Il doit donc être vu avant tout comme un projet d’apprentissage, notamment dans le cadre de la découverte et de l’intégration des flux RSS.