Il est possible d'extraire des données extraites de HAL à des formats variés, et en appliquant des filtres et tris de manière personnalisée en utilisant l'API HAL. Cette page vous propose une séance de travaux pratiques visant à prendre en main cette API.

La documentation sur l'API

Le principe de l'API est d'obtenir les données voulues en entrant une adresse de page web qui contient l'ensemble des paramètres qui décrivent la recherche de données effectuées et le format souhaité pour les résultats obtenus.

A vous de jouer !

Pour voir la solution de chacun des défis ci-dessous, il suffit de sélectionner la ligne qui suit le défi : elle est écrite en blanc, et se dévoilera donc en blanc sur fond bleu quand elle sera sélectionnée !

 

Défi 1

Faites la liste au format XML de tous les auteurs de dépôts avec fichier de la collection IRG, par date de publication décroissante, sur les années 2013 et plus :

api.archives-ouvertes.fr/search/?q=collCode_s:IRG%20AND%20submitType_s:file&fq=producedDateY_i:[2013%20TO%20*]&wt=xml&sort=producedDate_s%20desc&rows=2000&fl=authFullName_s

 

Défi 2

Faites la liste de tous les dépôts de 2013 et après tamponnés par la collection IRG, au format CSV (document ouvrable par un logiciel de tableur) :

http://api.archives-ouvertes.fr/search/?q=collCode_s:IRG&fq=producedDateY_i:[2013%20TO%20*]&wt=csv&sort=producedDate_s%20desc&rows=2000&fl=authFullName_s,classification_s,halId_s,label_s,title_s,docType_s,producedDateY_i

 

Défi 3

Faites la liste de toutes les thèses de doctorat d'Université Paris-Est (identifiant HAL, date de soutenance, auteur, école doctorale, acronyme du laboratoire, titre) au format CSV (document ouvrable par un logiciel de tableur) :

http://api.archives-ouvertes.fr/search/?q=docType_s:THESE%20AND%20authorityInstitution_s:%22Université Paris-Est%22&wt=csv&sort=producedDate_s%20desc&rows=2000&fl=halId_s,defenseDate_s,authFullName_s,thesisSchool_s,labStructAcronym_s,instStructAcronym_s,title_s,label_s
Remarque : il est possible que cette liste contienne des doublons, que le CCSD peut fusionner. Pour les identifier, il est possible d'utiliser le fichier CSV ainsi obtenu. Il s'agit de l'ouvrir par exemple dans Open Office Spreadsheet, de le trier par titre (la colonne G), puis d'insérer une nouvelle colonne C juste à droite de la colonne B et d'y insérer dans la cellule C2 la formule suivante : =SI(B2=B1;CONCATENER(A2;" et ";A1);""). En la recopiant vers le bas, on obtient en colonne C la liste de toutes les paires de doublons.
 

Défi 4

Créez un fichier tableur au format CSV contenant la liste de tous les auteurs HAL ayant créé leur CV HAL, triée par ordre alphabétique des noms, et contenant leur IdHAL (numérique et textuel), leur prénom et leur nom (attention il ne faut pas utiliser la base des publications mais le référentiel des auteurs) :
http://api.archives-ouvertes.fr/ref/author/?q=hasCV_bool:true&rows=10000&sort=lastName_s%20asc&fl=idHal_s,idHal_i,lastName_s,firstName_s&wt=csv
 
Remarque : il est possible de créer une page web contenant tous les CV HAL à partir du fichier tableur créé grâce à la requête ci-dessus. Pour cela, ouvrez le fichier dans Open Office Spreadsheet, et ajoutez dans la cellule E2 la formule suivante : =CONCATENER("<li><a href=""http://cv.archives-ouvertes.fr/";A2;""">";D2;" ";C2;"</a></li>"). En la recopiant vers le bas, on obtient un code HTML qui contient la liste des CV HAL.
 

Défi 5

Récupérez au format XML la liste triée par ordre de dépôt décroissante des dépôts tamponnés par la collection LIGM_A3SI qui ne sont pas tamponnés par la collection LIGM_SIGNAL (récupérer leur identifiant HAL, leur adresse, leur titre, la liste des auteurs et la date de dépôt) :
http://api.archives-ouvertes.fr/search/?q=collCode_s:(LIGM_A3SI%20AND%20NOT%20LIGM_SIGNAL)&wt=xml&sort=submittedDate_s%20desc&rows=2000&fl=halId_s,uri_s,title_s,authFullName_s,submittedDate_s

Défi 6

Récupérez au format CSV la liste, triée par ordre de dépôt décroissante des dépôts, des articles publiées en revue, tamponnés par la collection LABURBA, avec pour chacun la liste des auteurs, l'année de publication, le nom de la revue, ainsi que toutes les informations de RoMEO/SHERPA à propos de la politique éditoriale de la revue :
http://api.archives-ouvertes.fr/search/?q=collCode_s:LABURBA%20AND%20docType_s:ART&wt=csv&sort=producedDate_s%20desc&rows=2000&fl=authFullName_s,journalTitle_s,submitType_s,journalSherpaColor_s,journalSherpaCondition_s,journalSherpaDate_s,journalSherpaPostPrint_s,journalSherpaPostRest_s,journalSherpaPrePrint_s,journalSherpaPreRest_s,producedDateY_i

Défi 7

Récupérez au format CSV la liste, triée par ordre croissant d'acronyme, des structures qui dépendent de l'UPEM, avec pour chacune son nom, son acronyme, son code unité, son identifiant HAL, son adresse postale, son URL et le code de son pays :
http://api.archives-ouvertes.fr/ref/structure/?wt=csv&q=parentDocid_i:%22301243%22&rows=2000&fl=name_s,acronym_s,code_s,docid,address_s,url_s,country_s&sort=acronym_s%20asc
 

Défi 8

Créez le flux RSS des derniers dépôts de la collection LAMA_UMR8050 :
http://api.archives-ouvertes.fr/search/?q=collCode_s:LAMA_UMR8050&wt=rss&rows=100
 
D'autres exemples de requêtes sont fournis sur la page http://bibliopedia.fr/wiki/AdminHAL