Slippi Stats Web

De LeFrenchMelee
Révision datée du 19 août 2020 à 11:00 par Couka (discussion | contributions) (Création de la page)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

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 .

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 suivant mysql://<MYSQL_USER>:<MYSQL_PASSWORD>@db/<MYSQL_DATABASE> ; donc si vous n'avez changé que le mot de passe dans le premier fichier de configuration production.env, ça devrait être mysql://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.