Technologies utilisées ======================= Langage et framework -------------------- Le projet utilise les technologies principales suivantes : * Python 3.7 ; * Django 3.0 ; * HTML et CSS pour les modèles de pages ; * SQLite comme base de données. Qualité du code et tests ------------------------ Les outils suivants sont utilisés pour vérifier la qualité du projet : * ``flake8`` pour le contrôle du style du code ; * le test runner intégré à Django pour exécuter les tests ; * ``coverage`` pour mesurer la couverture des tests ; * un seuil minimal de couverture fixé à 80 % dans la CI. Configuration et surveillance ----------------------------- Le projet utilise également : * ``python-dotenv`` pour charger les variables d'environnement ; * Sentry pour la surveillance des erreurs et la journalisation ; * ``gunicorn`` comme serveur WSGI en production ; * WhiteNoise pour servir les fichiers statiques. Conteneurisation et déploiement ------------------------------- Le déploiement repose sur : * Docker pour construire l'image de l'application ; * Docker Hub pour stocker l'image ; * GitHub Actions pour exécuter la CI/CD ; * Render pour héberger l'application. Documentation ------------- La documentation est construite avec : * Sphinx ; * le thème ``sphinx_rtd_theme`` ; * Read the Docs pour la publication en ligne.