Commit 1167c4ca authored by Sli's avatar Sli

Beep + tuto + doc

parent dffc03dd
...@@ -94,6 +94,11 @@ Réception : ...@@ -94,6 +94,11 @@ Réception :
Il est possible d'accéder à /admin pour obtenir une liste de toutes les validations effectuées et d'annuler le passage d'un billet. Il est possible d'accéder à /admin pour obtenir une liste de toutes les validations effectuées et d'annuler le passage d'un billet.
# Application web
Ce serveur fournit une application web à /webscan
Cependant, due à une limitation de chrome (qui n'autorise le partage de la caméra que sur une connexion https), celle-ci ne fonctionne pleinement qu'avec Firefox.
# Installation du serveur sur une machine # Installation du serveur sur une machine
Le serveur a été testé sur un raspberry pi 2 modèle B. Le serveur a été testé sur un raspberry pi 2 modèle B.
......
keys.json keys.json
sqliteDB.db sqliteDB.db
gala.apk
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# @Author: Bartuccio Antoine (Sli) (klmp200) # @Author: Bartuccio Antoine (Sli) (klmp200)
# @Date: 2016-07-03 17:57:28 # @Date: 2016-07-03 17:57:28
# @Last Modified by: klmp200 # @Last Modified by: klmp200
# @Last Modified time: 2016-11-09 01:00:25 # @Last Modified time: 2016-11-10 00:43:04
from bottle import Bottle, static_file, request, template, redirect from bottle import Bottle, static_file, request, template, redirect
from bottle.ext import sqlite from bottle.ext import sqlite
...@@ -51,22 +51,6 @@ def serialize_table(table): ...@@ -51,22 +51,6 @@ def serialize_table(table):
return obj return obj
@app.route('/gala.apk')
def GetApp():
"""
Allow to download the gala
"""
return static_file("gala.apk", root="../data/")
@app.route('/scanner.apk')
def GetScan():
"""
Allow to download the qr code reader
"""
return static_file("scanner.apk", root="../data/")
@app.route('/') @app.route('/')
def HomePage(): def HomePage():
""" """
......
...@@ -16,26 +16,52 @@ ...@@ -16,26 +16,52 @@
<h2>Section de téléchargement</h2> <h2>Section de téléchargement</h2>
<div> <div>
<p> <p>
Application de scan version web : <a class="pure-button pure-button-primary" href="/webscan">Application web</a> Application de vérification : <a class="pure-button pure-button-primary" href="/media/apk/gala.apk">Gala de prestige</a>
</p>
<p>
Application de scan : <a class="pure-button pure-button-primary" href="/media/apk/scanner.apk">Barecode Reader</a>
</p> </p>
<p> <p>
Application de vérification : <a class="pure-button pure-button-primary" href="/gala.apk">Gala de prestige</a> Application de scan version web : <a class="pure-button pure-button-primary" href="/webscan">Application web</a>
</p> </p>
<p> <p>
Application de scan : <a class="pure-button pure-button-primary" href="/scanner.apk">Barecode Reader</a> Firefox : <a class="pure-button pure-button-primary" href="/media/apk/firefox.apk">Firefox</a>
</p> </p>
</div> </div>
<h2>Instructions d'installation</h2> <h2>Instructions d'installation de l'application mobile</h2>
<div> <div>
<p>Activez l'installation des applications de sources inconnues en allant dans paramètres -> sécurité -> sources inconnues (voir exemple suivant)</p> <p>Activez l'installation des applications de sources inconnues en allant dans paramètres -> sécurité -> sources inconnues (voir exemple suivant)</p>
<img src="/media/img/tuto1.png"> <img src="/media/img/tuto1.png">
<img src="/media/img/tuto2.png"> <img src="/media/img/tuto2.png">
<p>Téléchargez et installez l'application gala</p> <p>Téléchargez et installez l'application gala</p>
<p>
Application de vérification : <a class="pure-button pure-button-primary" href="/media/apk/gala.apk">Gala de prestige</a>
</p>
<p>Si aucun lecteur de qr code n'est installé, prenez celle fournie sur ce site</p> <p>Si aucun lecteur de qr code n'est installé, prenez celle fournie sur ce site</p>
<p>
Application de scan : <a class="pure-button pure-button-primary" href="/media/apk/scanner.apk">Barecode Reader</a>
</p>
</div> </div>
<h3>Fonctionnement</h3> <h3>Fonctionnement de l'application mobile</h3>
<div> <div>
Une fois que tout a été installé, il suffit de lancer l'application gala de prestige et y entrer les informations du serveur. <p>Une fois que tout a été installé, il suffit de lancer l'application gala de prestige et y entrer les informations du serveur.</p>
<p>Le nombre de places à valider correspond au nombre de personnes passant avec ce billet au moment de la validation. Il doit être rempli avant le scan et est de 1 par défaut.</p>
<img src="/media/img/tuto3.png">
<img src="/media/img/tuto4.png">
</div>
<h3>Fonctionnement de l'application web</h3>
<div>
À cause de certaines limitations imposées par google, l'application web n'est pleinement fonctionnelle que sur ordinateur (hors chrome) et téléphone Android avec Firefox (téléchargeable sur cette page).
<p>
Firefox : <a class="pure-button pure-button-primary" href="/media/apk/firefox.apk">Firefox</a>
</p>
Avec cette application, il suffit de passer le téléphone devant le code à scanner et d'attendre la confirmation visuelle et sonore.
L'application est accessible ici :
<p>
Application de scan version web : <a class="pure-button pure-button-primary" href="/webscan">Application web</a>
</p>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
<div class="pure-u-1-24 pure-u-md-1-12 pure-u-sm-1-24"></div> <div class="pure-u-1-24 pure-u-md-1-12 pure-u-sm-1-24"></div>
</div> </div>
<footer> <footer>
<audio auto src="/media/sound/beep.mp3" id="beep" enablejavascript="true"></audio>
<script type="text/javascript" src="/media/js/jquery.js"></script> <script type="text/javascript" src="/media/js/jquery.js"></script>
<script type="text/javascript" src="/media/js/jsqrcode-combined.min.js"></script> <script type="text/javascript" src="/media/js/jsqrcode-combined.min.js"></script>
<script type="text/javascript" src="/media/js/html5-qrcode.js"></script> <script type="text/javascript" src="/media/js/html5-qrcode.js"></script>
...@@ -57,7 +58,8 @@ ...@@ -57,7 +58,8 @@
$('#reader').html5_qrcode(function(data){ $('#reader').html5_qrcode(function(data){
// do something when code is read // do something when code is read
$('#code').val(data); $('#code').val(data);
$('#reader-status').empty().prepend("Lecture réusise").attr('class', 'alert alert-success'); $('#reader-status').empty().prepend("Lecture réussie").attr('class', 'alert alert-success');
document.getElementById("beep").play();
$('#validate').prop('disabled', true); $('#validate').prop('disabled', true);
$('#response').empty(); $('#response').empty();
$('#reader').attr('id', 'reader-off'); $('#reader').attr('id', 'reader-off');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment