Ce dépôt contient le service personnes e-NDP, qui se décline de la manière suivante :
- la base de données (données intiales comprises) pour les personnes;
- l'interface d'administration pour la BD des personnes;
- l'API (+ documentation Swagger) pour interroger la BD des personnes.
En local, cloner le dépôt GitHub :
git clone git@github.com:chartes/endp-api.gitPuis exécuter les commandes suivantes :
virualenv --python=python3.8 venv
source venv/bin/activate
pip install -r requirements.txtLes tâches courantes sont réalisées avec le script run.sh.
Pour une première initialisation de la base de données ou pour la recréer et lancer l'application :
./run.sh dev -dbPour lancer l'application seule (ignorer l'argument -db) :
./run.sh devPour contrôler le bon fonctionnement de l'application :
- la documentation de l'API se trouve à l'adresse : http://localhost:8888/endp-person/api/docs
- l'interface d'administration se trouve à l'adresse : http://localhost:8888/endp-person/admin/
Identifiants par défaut pour l'authentification à l'interface d'administration pour le développement et les tests :
- username :
admin - password :
admin
Warning
Les identifiants par défaut ne sont pas sécurisés, il est recommandé de les modifier en dev ou en prod.
- Ajouter ou supprimer un utilisateur
- Modifier un mot de passe
Ces actions sont disponibles dans l'interface d'administration de l'application, si la connexion s'effectue avec un compte ayant les droits d'administration.
- Ajouter des utilisateurs :
python3 manage.py create-user --username <username> --email <email> --password <password>- Modifier un mdp :
python3 manage.py reset-password -u <username> -p <new_password> La qualité du code et les tests unitaires sont réalisés via la CI GitHub Actions. Cependant, pour lancer les tests en local :
cd tests/
# 1. lancer le contrôle de la qualité du code
# rendre le scripts exécutable (si nécessaire)
chmod +x linter.sh
./linter.sh
# 2. lancer les tests unitaires
pytest
# 3. lancer la couverture de code
pytest --cov