Exemple de création d'un client API Pégase en Python
- IDE pour développement Python
- Python >= 3.8 installé sur la machine
- Le nom de l'environnement Pégase sur lequel vous souhaitez travailler. Dans ce document, l'environnement est
bas-esup
. Il faudra changer cette valeur pour la faire correspondre à votre environnement.
- Visiter https://pegase-swagger-ui.bas-esup.pc-scol.fr
- Récupération token via curl :
curl -d "username=svc-api&password=???&token=true" \
-H "Content-Type: application/x-www-form-urlencoded" \
-X POST https://authn-app.bas-esup.pc-scol.fr/cas/v1/tickets
- Appel du endpoint "lecture d'un établissement par code pegase"
- (Optionnel) Appel du endpoint "création d'un nouvel établissement"
- (Optionnel) Exploration des autres APIs
- Explorer la page Github de l'outil
- Identifier la dernière version publiée de l'outil et modifier la version utilisée dans le document si besoin.
- Télécharger :
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.3.1/openapi-generator-cli-5.3.1.jar -O openapi-generator-cli.jar
- Créer un alias pour faciliter l'appel de la commande :
alias open-api-generator="java -jar $PWD/openapi-generator-cli.jar"
-
Explorer l'outil :
open-api-generator --help
open-api-generator help generate
open-api-generator list
− voir la documentation des générateurs disponiblesopen-api-generator config-help -g python
− voir la documentation des paramètres spécifiques à Python
-
Créer un alias pour faciliter la génération de clients Python
alias python-client-generator="open-api-generator generate -g python -c python-gen-config.json"
- Générer un client Python pour REF :
Vérifier au préalable de récupérer la dernière version de fichier open-api en consultant pegase-swagger-ui
python-client-generator -i https://pegase-swagger-ui.bas-esup.pc-scol.fr/fr.pcscol/ref-api/ref-api-2.2.0.yml -o generated/ref --package-name ref-client
- Générer un client Python pour MOF :
Vérifier au préalable de récupérer la dernière version de fichier open-api en consultant pegase-swagger-ui
python-client-generator -i https://pegase-swagger-ui.bas-esup.pc-scol.fr/fr.pcscol.mof-api/mof-application-api-v1/mof-application-api-v1-2.2.0.yml -o generated/mof --package-name mof-client --skip-validate-spec
> python3 -m venv .env
> source .env/bin/activate
> pip install -r requirements.txt
Dans le fichier conf.ini
à la racine du dépôt, ajuster les variables :
username
avec le nom du compte applicatif que vous souatez utiliserpassword
avec le mot de passe correspondant au compte applicatif mentionné ci-dessusname
avec le nom de votre environnement
Si nécessaire, ajuster les valeurs pour domain
et scheme
.
> source .env/bin/activate
> ./pegase --help
Usage: pegase [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
extractions
structure
> ./pegase structure --help
Usage: pegase structure [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
lire
liste
> ./pegase structure liste