115 lines
4.3 KiB
Markdown
115 lines
4.3 KiB
Markdown
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).
|