Version 0.1 du 23 août 2017

# OpenBackloggery

Logiciel web permettant de :

  * lister sa collection de jeux vidéos
  * connaître sa progression sur chacun des jeux (jamais joué, terminé, complété, etc.)
  * avoir une liste de jeux souhaités
  * savoir à quel jeu nous jouons actuellement
  * garder un historique de quand nous avons acquis le jeu, quand nous l'avons terminé, etc.

[![Python 3.6](https://img.shields.io/badge/python-3.6-green.svg)](http://python.org/)
[![Django 1.11](https://img.shields.io/badge/django-1.11-green.svg)](http://djangoproject.com/)
[![SQLite 3](https://img.shields.io/badge/SQLite-3-green.svg)](http://sqlite.org/)
[![django REST framework 3](https://img.shields.io/badge/django_REST_framework-3-green.svg)](http://www.django-rest-framework.org/)

# Installation

Choisissez l'une des méthodes suivantes : 

  * en utilisant **pip**, le gestionnaire de paquets Python. À utiliser en local ou en utilisant les [fameux environnements virtuels Python](http://sametmax.com/les-environnement-virtuels-python-virtualenv-et-virtualenvwrapper/)
  * ou en s'appuyant sur [Docker](https://www.docker.com/)

## En utilisant pip

Vous devez disposer de **pip** sur votre machine, par exemple sur Debian/Ubuntu, il suffit de lancer la commande suivante : 

```bash
sudo apt install python3-pip
```

Ensuite on utilise les dépendances Python propres au projet : 

```bash
cd openbackloggery
pip install -r requirements.txt
```

On génère la base de données et on la rempli : 

```bash
cd collection
python3 manage.py migrate
python3 manage.py loaddata initial
python3 manage.py createsuperuser --user=superadmin --email=superadmin@domaine.tld
```

Remplacez **superadmin** par un identifiant que vous souhaiteriez avoir. Et mettez l'adresse courriel que vous voulez (car pour l'instant l'application n'utilise pas le courriel).

Il ne vous reste plus qu'à lancer l'application : 

```bash
python3 manage.py runserver
```

et d'y accéder à l'adresse suivante : http://127.0.0.1:8000/admin/.

Pensez à jouer quand même ! ^_^

## En utilisant Docker

Avec Docker nous allons procéder en plusieurs étapes : 

Nous appelerons notre image Docker **openbackloggery**. Nous considéréons que l'application se trouver dans un dossier nommé **openbackloggery** dans lequel se trouve un fichier *Dockerfile*.

```bash
cd openbackloggery
docker build -t openbackloggery:0.1 .
```

Actuellement nous utilisons SQLite3 comme base de données car les fonctionnalités et la quantité de données ne requièrent pas un gestionnaire de base de données plus conséquent.

```bash
mkdir /openbackloggery_db
docker run -it --rm -v /openbackloggery_db:/opt/apps/db openbackloggery:0.1 python3 manage.py migrate
docker run -it --rm -v /openbackloggery_db:/opt/apps/db openbackloggery:0.1 python3 manage.py loaddata initial
```

*loaddata initial* permet de charger quelques données initiales comme une liste de plateformes par exemple.

Adaptez la ligne en remplaçant **admin** par le nom d'utilisateur que vous voulez et **admin@domaine.tld** par l'adresse courriel de votre choix (qu'elle existe ou non importe peu pour l'instant car elle n'est pas utilisée).

```bash
docker run -it --rm -v /openbackloggery_db:/opt/apps/db openbackloggery:0.1 python3 manage.py createsuperuser --user=admin --email=admin@domaine.tld
```

Le service se lancera sur le **port 8282** et aura pour clé secrète **abcdefghijk** : 

```bash
docker run -d -e SECRET_KEY='abcdefghijk' -v /openbackloggery_db:/opt/apps/db -p 8282:8000 openbackloggery:0.1
```

Veillez à modifier la clé secrète par une chaîne de caractère aléatoire assez longue et parsemée de majuscules, minuscules, ponctuation, etc.

Une fois le conteneur Docker lancé, il suffit d'ouvrir un navigateur Internet et d'y taper l'adresse suivante : http://127.0.0.1:8282/admin/.

# Adresses réticulaires disponibles

Les adresses à connaître : 

  * '/admin/' : Interface d'administration
  * '/api/v1/' : Adresse de l'API RESTful
  * '/api/v1/docs' : documentation de l'API

# Licence

Ce logiciel est concédé sous [licence EUPL, version 1.2 uniquement](https://joinup.ec.europa.eu/community/eupl/og_page/eupl-text-11-12).

# Contact

Le projet est disponible sur [la forge de Papa Ogre](https://forge.o9.re/olivier/openbackloggery/).

Ou alors vous pouvez [contacter l'auteur par courriel](mailto:git@dossmann.net).
