diff --git a/README.md b/README.md index 2094593..fb6e520 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Les web services TDM de l'Inist -## Web services en Python +## Web services en Python Créer un web service en Python consiste à créer un script Python capable de traiter un fichier JSON fourni via l'entrée standard (sdtin) et de produire un fichier JSON similaire dans la sortie standard (stdout) @@ -25,9 +25,10 @@ #### Exemple de fichier .ini - ```ini # OpenAPI Documentation - JSON format (dot notation) +mimeType = application/json + post.responses.default.description = Return all objects with enrich fields post.responses.default.content.application/json.schema.$ref = #/components/schemas/JSONStream post.summary = Enrich one field of each Object with a Python function @@ -63,9 +64,9 @@ L'installation de paquet Python spécifique est possible en déclarant les paquests à installer à la racine de son web service dans un ficher `requirements.txt` -### Exemple de fichier requirements.txt +### Exemple de fichier requirements.txt -``` +```txt spacy==2.3.5 pytextrank==2.0.1 pycld3 @@ -73,20 +74,17 @@ fr-core-news-sm @ https://github.com/explosion/spacy-models/releases/download/fr_core_news_sm-2.3.0/fr_core_news_sm-2.3.0.tar.gz ``` - - ## Développer Il est possible de tester localement (sur son poste) son webservice, dans un enviornement identique à celui de production, pour cela : -### en Python +### en Python ```bash make python ./mon_repertoire ``` -### en NodeJS - +### en NodeJS ```bash make nodejs ./base-line @@ -159,7 +157,6 @@ }] ``` - ## Déclarer la documentation Swagger Le répertoire `www-home` contient le HTML de la page d'accueil @@ -223,11 +220,37 @@ - `/v2/istex/expand` - `/v1/en/stemmer/analyse` +### Fichier d'exemple -### Fichier d'exemple - -Chaque répertoire dédié à une instance contiendra au moins un fichier `examples.http` +Chaque répertoire dédié à une instance contiendra au moins un fichier `examples.http`. Ce fichier permet d'exécuter rapidement et simplement des exemples simples d'utilisation des webservices à travers VSCode -ou restcli (en ligne de commande) -Le format du fichier est celui précisé dans la documentation vscode https://github.com/Huachao/vscode-restclient#usage +ou `restcli` (en ligne de commande). +Le format du fichier est celui précisé dans la documentation vscode . +Voir aussi [Tester](#tester). + +## Créer une version + +Afin de faciliter le déploiement (et de le limiter à un répertoire), on peut +utiliser les *helpers* du Makefile (`make version-major`, `make version-minor`, +`make version-patch`). + +Ils se chargent de mettre un tag sur répertoire et de le pousser sur le dépôt. +Leur seul paramètre est le nom du répertoire. + +Exemple: + +```bash +$ make version-major terms-extraction +Décompte des objets: 1, fait. +Écriture des objets: 100% (1/1), 185 bytes | 185.00 KiB/s, fait. +Total 1 (delta 0), reused 0 (delta 0) +remote: Updating references: 100% (1/1) +To ssh://gitbucket.inist.fr:22222/tdm/web-services.git + * [new tag] terms-extraction@1.0.0 -> terms-extraction@1.0.0 +Nouvelle version créée: terms-extraction@1.0.0 +URL à utiliser: https://gitbucket.inist.fr/tdm/web-services/archive/terms-extraction/terms-extraction@1.0.0.zip +``` + +L'URL fournie sert à la configuration de l'instance, et permet la mise à jour du +programme.