Retour
BoardGameGeek

BoardGameGeek

TP BTS SIO 2ème année — marketplace de jeux de société exploitant l'API publique de BoardGameGeek (BGG) pour la recherche et la fiche détaillée des jeux. Vente entre vendeurs avec rôle superviseur.

Description

Application web PHP/MySQL permettant à des vendeurs de mettre en vente leurs jeux de société. La recherche et la fiche détaillée (image, description, type) sont récupérées en temps réel via l'API XML publique de BoardGameGeek (xmlapi2). Chaque vendeur gère son catalogue (ajout, mise en vente avec prix et état) ; un rôle superviseur permet de consulter tous les vendeurs et leurs jeux. Architecture MVC, sessions PHP avec gestion des rôles, requêtes PDO préparées, et système de logs applicatifs.

Technologies utilisées

PHP MySQL MVC API REST/XML Bootstrap jQuery

Compétences BTS SIO

B1 Gérer le patrimoine informatique
B1.3 Mettre en place et vérifier les niveaux d'habilitation associés à un service

L'application distingue deux niveaux d'habilitation sur la base d'un champ « super » en table utilisateur : un rôle vendeur (peut consulter et gérer uniquement son propre catalogue) et un rôle superviseur (accès à la liste de tous les vendeurs et à leurs catalogues respectifs). L'authentification se fait par identifiant / mot de passe, avec persistance via session PHP. Chaque page sensible vérifie au démarrage que l'utilisateur est connecté (isLoggedOn) puis aiguille vers la vue adaptée selon le rôle, ce qui empêche un vendeur d'accéder aux données d'autres vendeurs.

B3 Développer la présence en ligne de l'organisation
B3.3 Participer à l'évolution d'un site Web exploitant les données de l'organisation

Le site web exploite deux sources de données : l'API publique BoardGameGeek pour la recherche et la fiche détaillée des jeux (nom, image, description, type), et la base MySQL locale pour persister les vendeurs, leur catalogue et leurs ventes. Les contenus affichés évoluent dynamiquement en fonction des données saisies et des réponses de l'API.

Informations

Type Open Source
Repository GitHub