You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

2.5 KiB

CrossApp

Application Django pour l’enregistrement des temps de courses des coureurs.

Fonctionnalités principales

  • Gestion des courses (création, historique, vue course)
  • Scan QR code (html5-qrcode)
  • Génération de dossards PDF
  • Export des résultats/stats customisés en CSV/PDF
  • Module admin Django

Installation

  1. Créez et activez un environnement virtuel Python
  2. Installez les dépendances :
    pip install -r requirements.txt
    
  3. Appliquez les migrations :
    python manage.py makemigrations main
    python manage.py migrate
    
  4. Créez un superutilisateur :
    python manage.py createsuperuser
    
  5. Lancez le serveur :
    python manage.py runserver 0.0.0.0:8000
    
  6. Accès à l'interface admin depuis :
    https://USER:PORT/admin
    

Tester en HTTPS en local avec Daphne

ATTENTION ! L'utilisation de la caméra pour scanner les QR codes nécessite que le site soit servi en HTTPS. Pour tester en local, vous pouvez générer un certificat autosigné et lancer Daphne avec TLS comme expliqué ci-dessous. Le certificat autosigné n'est pas destiné à un usage en production.

  1. Générez un certificat autosigné pour localhost :
    mkdir -p certs
    openssl req -x509 -newkey rsa:2048 -nodes -keyout certs/localhost.key -out certs/localhost.crt -days 365 -subj "/CN=localhost" -addext "subjectAltName=DNS:localhost,IP:127.0.0.1"
    
  2. Si vous utilisez la connexion ou l'administration, ajoutez cette origine dans conf.env afin que la protection CSRF accepte les requêtes HTTPS :
    DJANGO_CSRF_TRUSTED_ORIGINS=https://localhost,https://127.0.0.1
    
  3. Collectez les fichiers statiques puis lancez Daphne avec TLS :
    python manage.py collectstatic --noinput
    daphne -e ssl:8443:interface=0.0.0.0:privateKey=certs/localhost.key:certKey=certs/localhost.crt crossapp.asgi:application
    
  4. Ouvrez https://localhost:8443. Le navigateur affichera un avertissement car le certificat est autosigné ; c'est attendu pour un test local.

Les certificats sont ignorés par Git. Ce certificat convient à localhost et 127.0.0.1 ; pour tester depuis un autre appareil ou avec une adresse IP différente, générez un certificat contenant cette adresse dans subjectAltName et ajoutez son origine HTTPS à DJANGO_CSRF_TRUSTED_ORIGINS.

Fonctionnalités interface admin

  • Gestion des coureurs (ajout, modification, suppression)
  • Import en masse des coureurs dans la rubrique "Coureurs" via CSV ou depuis export Pronote