diff --git a/README.md b/README.md index 53821cd..381e409 100644 --- a/README.md +++ b/README.md @@ -3,50 +3,96 @@ ## Présentation ## -TODO +Objectif du module : +- Récupérer l'ensemble des notices HAL (France) pour une période de temps donnée. +Ce module a quelques spécificités : +- Un seul docObject factice en entrée, le rôle est d'initialiser les traitements. +- Un seul docObject en sortie également. Ce docObject de sortie a une structure permettant d'enchaîner les traitements avec le module li-carto. + ### Fonctionnement ### -TODO +Le module effectue les opérations suivantes : -## Utilisation ## +- Récupération en entrée d'un `docObject`, ainsi que d'une callback `cb`. +- Vérifier si un moissonnage avec les mêmes paramètres été déjà effectué. +- Construire le query de recherche dans l’API Hal a partir du fichier query.json. +- Appels à l'API pour l'interrogation/parcours des résultats. +- Vérification des résultats et écriture sur disque des fichiers TEI-HAL. +- Scroller les résultats de l’API Hal si le nombre des résultats est supérieur à 10K. +- Gestion du backpressure durant l’écriture sur disque. +- Gestion des erreurs. (quand l’API ne répond pas par exemple). ### Installation ### -Dépendances système : - * NodeJS 4.0.0+ - Commande d'Installation : ```bash npm install ``` ### Vérification du fonctionnement ### + Commande d'exécution des tests unitaires : ```bash npm test ``` -### Exécution ### +## Exemple d'un docObject accepté en entrée ### -TODO +``` +{ +corpusName: "hal", +cartoType: "conditor:pubmed", +corpusResources: "/applis/corhal/loadistex/corpus-resources", +corpusOutput: "/applis/corhal/corpusOutput" +} +``` -## Annexes ## +## Exemple d'un docObject accepté en sortie ### + +``` +{ +corpusName: "hal", +cartoType: "conditor:pubmed", +corpusResources: "/applis/corhal/loadistex/corpus-resources", +corpusOutput: "/applis/corhal/corpusOutput", +corpusRoot: "/data/hal-20211121-to-20211121" +} +``` ### Arborescence ### ``` . -├── index.js // Point d'entrée, contenant la fonction doTheJob() -├── node_modules // Modules NPM -│   ├── ... -├── package.json // No comment -├── README.md -└── test // Fichiers nécessaires aux TU - ├── dataset // rép de données de tests - └── run.js // point d'entrée des TU +├── node_modules +│ └── ... +├── config/ +│ ├── conf.json // Fichier de configuration, du proxy et url de l'api +│ │ +│ └── query.json // Les paramètres de recherche de query +├── lib/ +│ └── utils.js // Des fonctions 'utils' utilisées dans index.js +├── test +│ ├── dataset // Ensemble des docObjects utilisés pour les tests +│ │ └── ... +│ └── run.js // Ensemble des tests à effectuer +├── .eslintrc.json // Configuration pour eslint +├── .gitignore +├── README.md // Le fichier que vous lisez actuellement +├── index.js // Script principal contenant la méthode doTheJob +└── package.json // Fichier contenant les dépendances NPM ``` +## Le fichier query.json ### +TODO + +## Le fichier conf.json ### +TODO + ### Codes d'erreur ### -TODO +| Code | Signification | Note(s) | +| -------- | ------------------------------------------------------| ------- | +| 1 | Harvest folder already exist. | +| 2 | API-HAL request error. | +| 3 | No result found. |