# 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 : ```bash pip install -r requirements.txt ``` 3. Appliquez les migrations : ```bash python manage.py makemigrations main python manage.py migrate ``` 4. Créez un superutilisateur : ```bash python manage.py createsuperuser ``` 5. Lancez le serveur : ```bash python manage.py runserver 0.0.0.0:8000 ``` 6. Accès à l'interface admin depuis : ```bash https://USER:PORT/admin ``` ## Tester en HTTPS en local avec Daphne Depuis la racine du projet, après avoir activé l'environnement virtuel : 1. Générez un certificat autosigné pour `localhost` : ```bash 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 : ```env DJANGO_CSRF_TRUSTED_ORIGINS=https://localhost,https://127.0.0.1 ``` 3. Collectez les fichiers statiques puis lancez Daphne avec TLS : ```bash 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](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