Technologies et langages
Ce projet utilise un ensemble de technologies et de langages spécifiques pour fonctionner correctement. Assurez-vous que ces éléments sont installés et configurés correctement sur votre machine.
Technologies
Django : Django est un framework web open source en Python. Il a pour but de rendre le développement d’applications web simple et basé sur la réutilisation de code. [1] Voir la documentation Django pour la version 3.0 pour plus de détails.
Flake8 : un outil pour l’application du guide de style en python. Voir la documentation Flake8 pour plus de détails.
Pytest : Pytest est un framework de test Python issu du projet PyPy. Il peut être utilisé pour écrire différents types de tests logiciels. Voir la documentation Pytest pour les aides.
Coverage.py : Coverage.py est un outil permettant de mesurer la couverture du code des programmes Python. Il surveille votre programme, notant quelles parties du code ont été exécutées, puis analyse la source pour identifier le code qui aurait pu être exécuté mais qui ne l’a pas été. Voir documentation Coverage.py pour les détails.
GitHub : GitHub (entreprise GitHub, Inc.) est un service web d’hébergement et de gestion de développement de logiciels, utilisant le logiciel de gestion de versions Git. [3] Voir la documentation GitHub pour créer un compte.
CircleCI : CircleCI est une plate-forme d’intégration continue et de livraison continue qui peut être utilisée pour mettre en œuvre des pratiques Devops. [4]
Docker : Docker est une plateforme permettant de lancer certaines applications dans des conteneurs logiciels. [5] Voici le lien vers la documentation Docker.
DockerHub : L’endroit public où de nombreuses images Docker sont publiées et mises à jour régulièrement. [5] Pour créer un compte voir le manuel de DockerHub.
WhiteNoise : WhiteNoise est un outil qui permet de servir les fichiers statiques d’une application web Python, en particulier avec Django. Voir la documentation WhiteNoise pour plus de détails.
Gunicorn : Gunicorn est un serveur HTTP pur Python pour les applications WSGI. Il vous permet d’exécuter n’importe quelle application Python simultanément en exécutant plusieurs processus Python au sein d’un seul banc. Il offre un équilibre parfait entre performances, flexibilité et simplicité de configuration (voir la documentation Gunicorn).
Heroku : Heroku est une entreprise créant des logiciels pour serveur qui permettent le déploiement d’applications web. [6] Voir la documentation Heroku pour les détails. Pour l’accès de ce projet voyez demander à votre administration (voir la documentation Heroku sur ce sujet).
Sentry : Sentry est une plateforme de suivi des erreurs et de surveillance des performances. Pour avoir l’accès sur le dashboard voyez demander à votre administration (voir la documentation Sentry sur ce sujet). Pour plus de détails voir la documentation Sentry.
Read the Docs : Read the Docs est une plateforme d’hébergement de documentation de logiciels gratuits et open source.
Sphinx : Sphinx est un générateur de documentation libre. [7]
Langages
Python : pour l’application principale.
Le langage de gabarit de Django : pour la partie templating voir la documentation official pour plus de détails.
CSS : pour décrire la présentation des documents HTML.
JavaScript : pour l’interactivité avec la page web.