You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Grégory Lebreton fe2ff1bc43 | 7 months ago | |
---|---|---|
app | 7 months ago | |
.gitignore | 7 months ago | |
Dockerfile | 7 months ago | |
README.md | 7 months ago | |
ajout_citations.sh | 7 months ago | |
docker-compose.yml | 7 months ago | |
requirements.txt | 7 months ago | |
wsgi.py | 7 months ago |
README.md
PYTHON API WITH FLASK
Base for create an API for french quotes in flask with SQL Alchemy for backend
CONFIGURATION 🔧
- In app/app.py configure admin_api_key and user_api_key
UTILISATION 🏁
- créer un evironnement virtuel:
sudo apt install python3-venv
python3 -m venv venv
- Installation des dépendances
pip install -r requirements.txt
cd app
flask run
Récupérer l'api_key admin qui s'affiche dans le terminal
- Ajouter les deux citations test:
curl -X POST -H "Content-Type: application/json; charset=utf-8" -H "API-Key: <admin_api_key>" -d '{"auteur": "François de La Rochefoucauld", "citation": "Il est plus aisé d’etre sage pour les autres que de l’etre pour soi-même."}' http://localhost:5000/api/citations/add
curl -X POST -H "Content-Type: application/json; charset=utf-8" -H "API-Key: <admin_api_key>" -d '{"auteur": "Pierre De Montesquieu", "citation": "On ne justifie pas une injustice par une autre."}' http://localhost:5000/api/citations/add
- Ajouter une liste de citations:
curl -X POST -H "Content-Type: application/json; charset=utf-8" -H "API-Key: <admin_api_key>" -d '{
"citations": [
{"auteur": "Auteur1", "citation": "Citation1"},
{"auteur": "Auteur2", "citation": "Citation2"},
{"auteur": "Auteur3", "citation": "Citation3"}
]
}' http://localhost:5000/api/citations/add_list
- API admin:
curl -H "API-Key: <admin_api_key>" http://localhost:5000/api/citations/all | jq
curl -H "API-Key: <admin_api_key>" http://localhost:5000/api/citations/random | jq
- Ajouter un utilisateur non admin:
curl -X POST -H "Content-Type: application/json; charset=utf-8" -H "API-Key: <admin_api_key>" -d '{"username": "nouvel_utilisateur", "is_admin": false}' http://localhost:5000/api/users/add
- Supprimer un utilisateur:
curl -X DELETE -H "Content-Type: application/json; charset=utf-8" -H "Api-Key: <admin_api_key>" -d '{"username": "nom_utilisateur_a_supprimer"}' http://localhost:5000/api/users/delete
Récupérer l'api_key qui s'affiche pour le nouvel utilisateur
- API user:
curl -H "API-Key: <nouvel_utilisateur_api_key>" http://localhost:5000/api/citations/random | jq
💡 Utiliser le script ajout_citations.sh pour ajouter plusieurs citations en une fois
DOCKER 🐳
- Construire l'image Docker et démarrer un conteneur:
docker build -t api:1.0 .
docker run -d -p 8000:8000 api:1.0
DOCKER COMPOSE
- Démarrer l'API:
docker-compose up -d
CLIENT ANDROID 📱
TO DO 📑
- fonction check si citation existe deja
- fonction add user
- test added user
- fonction ajout_citations(list)
- tester Docker
- gérer l'UTF8
- endpoint del user