JB

Project / 2022 - 2026

Jophy

Projet en cours d'agrégation des données de joueurs et de plateformes de jeux, avec un backend NestJS et un client Next.js.

À la fin des années 1990 et au début des années 2000, le jeu vidéo sur PC connaît une forte expansion. Pour jouer, il suffit alors d’acheter un jeu au format CD et de l’installer sur son ordinateur.

En 2003, Steam transforme le modèle avec une plateforme de distribution entièrement numérique. De nouveaux usages se développent alors : succès, communautés, collections de jeux et profils personnalisables.

Au fil du temps, d’autres plateformes ont suivi, notamment Xbox Live, PlayStation Network, EA Origin, Uplay et Epic Games. Elles proposent des fonctionnalités similaires, mais leurs données restent cloisonnées.

Un joueur présent sur une plateforme ne peut donc pas facilement comparer son profil à celui d’un ami utilisant une autre plateforme. Ce constat m’a conduit à développer Jophy, un projet en cours conçu pour agréger les données issues de différentes plateformes de jeux au sein d’un modèle cohérent.

Chaque utilisateur peut ainsi obtenir une vue d’ensemble de son profil, suivre ses performances et se comparer à la communauté au sein d’une interface unifiée.

Le principal défi ne réside pas dans l’interface, mais dans la collecte des données. Les plateformes ne proposant pas toujours d’API publique, le projet doit combiner web scraping, analyse des requêtes réseau et gestion de l’authentification.

La première intégration concerne Steam, avec la collecte des données des joueurs et de leurs succès. Le modèle de données est conçu de manière générique afin de pouvoir intégrer à terme d’autres plateformes comme le PlayStation Network, Xbox ou EA.

Le backend NestJS est organisé en deux parties : une API et un scanner chargé de collecter les données. Le client Next.js avec TailwindCSS permet d’afficher son profil et de naviguer dans ses jeux et ses succès.

Le projet est déployé avec une CI/CD auto-hébergée basée sur Gitea Actions, Traefik et Komo.do.

Jophy 1
Projet suivantScaleflyt