diff --git a/README.md b/README.md index c35acf4..878c8ef 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,66 @@ -web-services -=============== -Les web services de l'Inist \ No newline at end of file +# Les web services TDM de l'Inist + +## Contribuer + +(...) + +## Convention de nommage + +Chaque instance sur l'[[ezmaster]] de la machine aura un nom en trois parties: + +1. texte (domaine) +2. texte (spécialité) +3. numéro (version) + +La troisième partie du champ ne doit pas être communiquée à l'extérieur, +c'est un numéro de version (si plusieurs instances ont les mêmes +deux premiers champs, c'est la dernière version qui est exposée quand on +n'utilise pas de numéro de version, ce qui sera le cas). + +Le numéro de version permet la mise à jour de l'image docker associée au webservice. + + +### Nom de l'instance + +Les champs textuels sont obligatoirement en minuscules, et sans accent (mais +peuvent contenir des chiffres) et donc de préférence en anglais. +Ils ne doivent pas contenir un nom de personne. + +La première partie décrit le **domaine** d'application du webservice. +Exemple : affiliation, text, classification, nlp, etc. + +La seconde partie décrit une **spécialité** du domaine. +Cette spécificité est principalement liée à une image docker différente, +comme c'est le cas, si les différents web service d'un domaine utilisent des langages différents (C++, python, nodejs, etc.) + + +### Nom des répertoires + +Chaque instance donne accès à une arborescence de webservices. +Le nom de route dépend du nom des répertoires. +Les noms des répertoires doivent donc être choisis dans cette optique. + +Il convient donc de respecter les pratiques communément admises dans la définition d'API de type REST. +En utilisant des noms de répertoires en minuscules, sans accent (mais +peuvent contenir des chiffres) et de préférence en anglais. + +Si le premier niveau caractérise obligatoirement la version, les suivants peuvent être adaptés selon le besoin. +On veillera à créer un répertoire si et seulement si il propose plusieurs sous-répertoire ou fichiers. + + + +1. Version des APIs (v1, v2, v3, etc.) +2. Nom de l'algorithme ou de la ressource utilisés ou de la langue +3. Nom de l'action ou de l'algorithme caractérisant le traitement +4. (...) + +Exemple : + +- /v1/test/analyse +- /v2/istex/expand +- /v1/en/stemmer/analyse + + + +