Slippi Stats Web
Slippi Stats Web est un projet visant à visualiser des données extraites depuis les fichiers replays de Slippi (.slp) dans une interface web. Le projet est hébergé sur Gitlab.
Une instance de démonstration est accessible sur https://slippi.mickaelgillot.xyz
Installation
Pré-requis
Il est vivement recommandé d'utiliser Docker et Docker Compose pour installer l'application. En effet, le projet a besoin d'une configuration sur l'environnement pour fonctionner correctement (base de données MySQL, compilateur SCSS, Nodejs, Python, Flask, etc). Cette configuration est automatiquement faite en utilisant Docker et Docker Compose.
Bien entendu, il reste cependant possible de configurer manuellement l'environnement avec toutes ces dépendances pour faire fonctionner Slippi Stats Web.
Installation avec Docker et Docker Compose
Dans un premier temps, il faut récupérer les sources du projet. Pour cela, on peut cloner le dépôt git
$ git clone git@gitlab.com:Coukaratcha/slippi-stats-web.git
ou télécharger une archive du projet ici.
Ensuite, il faut générer plusieurs fichiers de configuration. Pour cela, il faut copier les fichiers avec les extensions .sample en supprimant l'extension.
On commence avec production.env.sample
qu'on copie vers production.env
.
Il faut ensuite le modifier pour renseigner les valeurs manquantes :
MYSQL_ROOT_PASSWORD
MYSQL_PASSWORD
Pour cela, il est conseillé d'utiliser des mots de passe forts. On peut s'aider de générateurs de mot de passe ici ou là.
On continue la même chose pour cron/script/conf/database.json.sample
en remplaçant le champ password
avec la valeur de MYSQL_PASSWORD
.
Même opération pour web/app/slippi_stats_web/prod.cfg.sample
. Ici, il y a 3 champs à renseigner :
SQLALCHEMY_DATABASE_URI
: L'URI doit suivre le format suivantmysql://<MYSQL_USER>:<MYSQL_PASSWORD>@db/<MYSQL_DATABASE>
; donc si vous n'avez changé que le mot de passe dans le premier fichier de configurationproduction.env
, ça devrait êtremysql://slippi-stats:<MYSQL_PASSWORD>@db/slippi-stats
.PLAYER_CODE
: Il s'agit de votre code sur Slippi. Il doit ressembler àXXXX#123
SECRET_KEY
: Remplissez ce champ avec un nouveau mot de passe.
Enfin, copier juste web/production.env.sample
vers web/production.env
. Pour ce fichier, aucune modification n'est nécessaire.
Maintenant que tous les fichiers de configuration sont correctement créés, il ne reste plus qu'à créer les deux répertoires dont aura besoin Slippi Stats Web :
data/
: Ce répertoire contiendra les fichiers de la base de données qui sera créé. Ces données persisteront après l'arrêt du service.replays/
: Ce répertoire contiendra les fichiers.slp
que vous voudrez analyser. Toutes les 15mn, Slippi Stats Web analysera ce répertoire pour analyser les nouveaux fichiers et extraire les données avant de les insérer dans la base de données.
Voilà, tout est prêt !
Vous pouvez donc lancer le service avec la commande suivante :
$ docker-compose up -d
Une fois la commande terminée, vous devriez pouvoir accéder à l'interface web en ouvrant un navigateur web puis en vous rendant sur http://localhost:5000.