Commit 1f9d6738 authored by Jean-Baptiste Oellers's avatar Jean-Baptiste Oellers
Browse files

pcru api

parent b0d8ff09
Loading
Loading
Loading
Loading
−3.11 KiB (172 KiB)
Loading image diff...
+118 KiB
Loading image diff...
+77.5 KiB
Loading image diff...

doc/pcru-api.md

0 → 100644
+67 −0
Original line number Diff line number Diff line
# Module PCRU - API

Ce document présente la configuration de la récupération des données des contrats et des référentiels via l'API mise à disposition par le CNRS.

Les étapes à suivre sont les suivantes :
 - l'établissement utilise son accès au site internet PCRU pour demander un accès à l'API PCRU permettant la récupération des données des contrats dans OSCAR,
 - l'administrateur OSCAR renseigne les informations de connexion à l'API PCRU dans la configuration (login et mot de passe),
 - l'administrateur OSCAR configure un CRON qui chaque jour va déclencher la récupération de toutes les données de contrats et de référentiels depuis l'API PCRU,
 - les gestionnaires peuvent consulter dans OSCAR les informations concernant les contrats PCRU.
 
## Récupération d'informations de connexion API sur le site web PCRU

![PCRU accueil](./images/pcru_accueil.png)

Allez sur la page d'accueil du site PCRU puis dans le menu à droite cliquez sur le lien "Votre Tutelle".

![PCRU tutelle](./images/pcru_tutelle.png)

Une fois sur la page concernant votre tutelle, cliquez à droite sur le bouton "Modifier".

![PCRU tutelle modifier API](./images/pcru_tutelle_modifier_api.png)

Une fois sur la page de modification de votre tutelle :
 - Dans le champ APIs PCRU > Adresses IP autorisées, renseignez l'adresse IP sortante de votre serveur OSCAR (celle qui sera visible par le serveur API PCRU quand il recevra une requête HTTP émanant de votre instance OSCAR) 
 - Cliquez sur le bouton "Réinitialiser le mot de passe". Ce bouton va indiquer aux équipes PCRU que vous souhaitez utiliser l'API. Toutefois la procédure n'est pas automatique. N'hésitez pas à contacter l'équipe PCRU directement. Vous devriez ensuite recevoir un email avec vos identifiants (login et mot de passe) de connexion à l'API.

Enfin, assurez vous que de votre côté aussi (infrastructure réseau de votre établissement), la connexion sortante est autorisée du serveur OSCAR vers le serveur de l'API PCRU :  https://pcru.dr14.cnrs.fr/API port 443.

Une fois que vous aurez reçu vos identifiants de connexion, vous pourrez tester à partir du serveur OSCAR que la connexion peut être établie, sans passer par OSCAR, directement en ligne de commande :

```bash
CLIENT_ID=identifiant_api_pcru CLIENT_SECRET=mot_de_passe_api_pcru ENCODED="$( echo -n $CLIENT_ID:$CLIENT_SECRET | base64 -w 0 )"; curl --request GET --url 'https://pcru.dr14.cnrs.fr/API/tutelles' --header "Authorization: Basic $ENCODED"
```

## Configuration du module PCRU dans OSCAR

### Configuration de la connexion au serveur API

Dans le menu Administration > Configuration et maintenance > Modules > PCRU, cliquez sur le bouton "Configurer" en haut à droite.

![PCRU configuration du module](./images/pcru-config2.png)

![PCRU API](./images/pcru_api.png)

Sur cette page on peut renseigner l'identifiant et le mot de passe obtenues de la part de PCRU et permettant à OSCAR de se connecter à l'API de PCRU. N'oubliez pas de cliquer sur le bouton "enregistrer" au bas de la page.

Une fois la configuration réalisée, on peut vérifier que la connexion fonctionne en lançant la commande `php bin/oscar.php check:config` ou en allant sur la page d'administration de vérification de la configuration.

### Gestion des privilèges

![PCRU gestion des privilèges](./images/pcru-droits.png)

De nouveaux droits sont à configurer dans la page *Gestion des privilèges*.

Pour permettre administrateurs d'accéder aux pages listant les référentiels, il faut ajouter le droit suivant :
 - Maintenance > Peut visualiser la liste des données PCRU

Pour permettre aux gestionnaires d'accéder à la page des contrats PCRU, il faut ajouter le droit suivant :
 - Activité de recherche > Permet d'afficher les informations PCRU de l'activité de recherche

### Configuration du CRON pour la récupération automatique des contrats et des référentiels depuis l'API PCRU

La commande oscar `php bin/oscar.php pcru:api-fetch-all` permet de récupérer toutes les informations disponibles via l'API PCRU et doit donc être configurée via un CRON pour s'exécuter régulièrement, par exemple une fois par jour, mais pas plus pour ne pas surcharger le serveur de PCRU.
Cette commande va vider toutes les tables contenant les informations retournées par l'API PCRU, puis les remplir à nouveau avec les informations fraîchement récupérées via les appels à l'API. Ce traitement peut prendre jusqu'à 5 minutes pour 2000 contrats par exemple.
Les tables en base de données concernées sont : pcruapireferentieldelegationsregionales, pcruapireferentielpolesdecompetitivite, pcruapireferentielsourcesfinancement, pcruapireferentieltutelles, pcruapireferentieltypesdecontrat, pcruapireferentielunites et pcruapicontrats.

Vous pouvez ensuite vérifier que des données ont bien été récupérées en allant via le menu sur la page Activités > Contrats PCRU.
+5 −1
Original line number Diff line number Diff line
# Module PCRU

Le module PCRU d'OSCAR permet d'automatiser la soumission des contrats de recherche depuis OSCAR vers les systèmes PCRU, afin d'éviter aux gestionnaires d'avoir à réaliser une double saisie.
Le module PCRU d'OSCAR permet d'automatiser :
 - la soumission des contrats de recherche depuis OSCAR vers les systèmes PCRU, afin d'éviter aux gestionnaires d'avoir à réaliser une double saisie,
 - la récupération des données des contrats et des référentiels via l'API mise à disposition par le CNRS.

Ce document présente la partie envoi des contrats depuis OSCAR vers PCRU. Pour la configuration de la récupération des contrats via l'API PCRU, voir le document [pcru-api.md](./pcru-api.md).

Le fonctionnement nominal est le suivant :
 - l'établissement utilise son accès au site internet PCRU pour récupérer un accès au serveur SFTP permettant le dépôt automatique de fichiers CSV par OSCAR,
Loading