Récupérer une liste de résultats via l'API⚓
L’API de theses.fr a fait l’objet d’une documentation complète et d’un dépôt sur le site api.gouv.fr
L’URL d’accès de l’API de recherche de theses.fr est : https://theses.fr/api/v1/theses/recherche/
Les paramètres et la syntaxe de la requête⚓
Les différents paramètres de l’API sont :
?q= : lancement de la requête
debut= : numéro de la première thèse du lot de thèse à afficher ou exporter
nombre= : nombre de thèses contenues dans le lot à exporter
tri= : la façon dont sont triés les résultats
- pertinence
- dateAsc = date croissante
- dateDesc = date décroissante
- auteursAsc = auteurs A-Z
- auteursDesc = auteurs Z-A
- disciplineAsc = discipline A-Z
- disciplineDesc = discipline Z-A
- personnesAsc = personnes A-Z
- personnesDesc = personnes Z-A
filtres=[] : paramétrage des filtres (apparaît uniquement lorsque des filtres ont été activés dans l’interface de theses.fr)
Les paramètres sont articulés entre eux par le symbole &.
Exemple : Exemples⚓
https://theses.fr/api/v1/theses/recherche/?q=technologie : la requête renvoie l’ensemble des thèses qui contiennent le mot « technologie » dans leurs métadonnées descriptives
https://theses.fr/api/v1/theses/recherche/?q=technologie&tri=dateDesc : la requête renvoie l’ensemble des thèses qui contiennent le mot « technologie » dans leurs métadonnées descriptives, classées par ordre décroissant de date de soutenance ou d’inscription
https://theses.fr/api/v1/theses/recherche/?q=technologie&tri=dateDesc&debut=500&nombre=1000 : la requête renvoie l’ensemble des thèses qui contiennent le mot « technologie » dans leurs métadonnées descriptives, classées par ordre décroissant de date de soutenance ou d’inscription, à partir du numéro 500 dans la liste de résultats, jusqu’au numéro 1499 (1000 résultats récupérés).
Utiliser le paramètre query (q)⚓
Dans le paramètre query (q=), vous pouvez interroger les champs de recherche listés sur la page : Les champs interrogeables.
A l’intérieur d’une même requête, vous pouvez interroger simultanément plusieurs champs de l’index. Les champs sont articulés entre eux par des opérateurs booléens AND, OR ou AND NOT, encadrés par des espaces encodés (%20).
Exemple : Exemples⚓
La requête renvoie l’ensemble des thèses qui contiennent le terme « technologie » dans le champ « titre » ou dans les « mots-clés libres ».
Vous pouvez également articuler plusieurs éléments de recherche dans un même champ (au sein d’une même parenthèse), toujours à l’aide des opérateurs booléens AND, OR ou AND NOT encadrés par des espaces encodés (%20).
La requête renvoie l’ensemble des thèses qui contiennent soit, dans le champ « titre », le terme « technologie » ou « plasma », soit, dans le champ « mots-clés libres », le terme « technologie » ou « plasma ».
La requête renvoie l’ensemble des thèses qui contiennent les termes « Tourisme » ou « Hôtellerie » ou « Loisir » ou « Evènementiel », qui sont en statut « soutenue », avec une date de soutenance située en 2005.
Si vous souhaitez effectuer une recherche sur une période donnée, la syntaxe du champ date est la suivante : dateSoutenance:(%5BAAAA-MM-JJ%20TO%20AAAA-MM-JJ%5D) ou dateSoutenance:([AAAA-MM-JJ TO AAAA-MM-JJ])
https://theses.fr/api/v1/theses/recherche/?q=(Tourisme%20OR%20Hôtellerie%20OR%20Loisir%20OR%20Évènementiel)%20AND%20status:(soutenue) %20AND%20dateSoutenance:(%5B2020-01-01%20TO%202024-01-31%5D) : la requête renvoie l’ensemble des thèses qui contiennent les termes « Tourisme » ou « Hôtellerie » ou « Loisir » ou « Evènementiel », qui sont en statut « soutenue », avec une date de soutenance comprise entre le 01/01/2020 et le 31/01/2024.
La requête renvoie toutes les thèses mises à jour dans l’index entre le 15/03/2014 et le 31/03/2014
Caractères à échapper⚓
Le moteur de recherche Elastic Search utilise les caractères suivants comme caractères signifiants : + - && || ! ( ) { } [ ] ^ " ~ * ? : \
Si vous saisissez ces caractères dans les valeurs des différents champs de recherche ou des filtres, votre requête ne pourra pas être comprise. Vous devrez au préalable les échapper, en les faisant précéder du caractère spécial \ (%5C).
Exemple :
https:// theses.fr/api/v1/theses/recherche/?q=Ursula%20%5C(1969%5C)&debut=0&nombre=10&tri=pertinence
La requête renvoie l’ensemble des thèses qui contiennent le mot « Ursula » et le terme « (1969) ». Les parenthèses sont échappées pour ne pas perturber la requête.
Les champs interrogeables⚓
Données relatives au statut de la thèse⚓
status:(*) = toutes les thèses
status:(soutenue) = uniquement les thèses soutenues
accessible:oui = les thèses accessibles en ligne
status:(enCours) = uniquement les thèses en cours
Paramètres de date⚓
datePremiereInscriptionDoctorat:() : date de première inscription en doctorat
dateSoutenance:() : date de soutenance
dateInsertionDansES:() : date de dernière mise à jour des données de la thèse dans l’index
Les dates sont enregistrées entre parenthèses sous la forme :
pour une année donnée : AAAA. Cette requête fonctionne uniquement pour les thèses imprimées, dont la date de soutenance est enregistrée sous la forme AAAA-01-01 dans la base de données (seule l’année de soutenance est connue)
pour une date donnée : AAAA-MM-JJ
pour une période donnée : [AAAA-MM-JJ TO AAAA-MM-JJ]
Description bibliographique de la thèse⚓
titrePrincipal:(XXX) : titre principal de la thèse
sujetsLibelle:(XXX) : mots-clés libres par libellé
sujetsRameauLibelle:(XXX) : mots-clés contrôlés par libellé
sujetsRameauPpn:(XXX) : mots-clés contrôlés par identifiant
resumes.\*:(XXX) : résumés. Il est possible de spécifier la langue des résumés dans lesquels la recherche doit être effectuée, sous la forme resumes.XX:() où XX correspond au code ISO 639-1 de la langue concernée.
discipline:(XXX) : discipline
Description des personnes⚓
auteursNP:(XXX) : nom et/ou prénom de l’auteur(s)
auteursPpn:(XXX) : identifiant de l’auteur(s)
directeursNP:(XXX) : nom et/ou prénom du/des directeur(s)
directeursPpn:(XXX) : identifiant du/des directeur(s)
presidentJuryNP:(XXX) : nom et/ou prénom du président du jury
presidentJuryPpn:(XXX) : identifiant du président du jury
rapporteursNP:(XXX) : nom et/ou prénom du/des rapporteur(s)
rapporteursPpn:(XXX) : identifiant du/des rapporteur(s)
membresJuryNP:(XXX) : nom et/ou prénom du/des examinateurs
membresJuryPpn:(XXX) : identifiant du/des examinateurs
Description des structures⚓
etabSoutenanceN:(XXX) : nom de l’établissement de soutenance
etabSoutenancePpn:(XXX) : identifiant de l’établissement de soutenance par identifiant
etabsCotutelleN:(XXX) : nom de l’établissement de cotutelle
etabsCotutellePpn:(XXX) : : identifiant de l’établissement de cotutelle
ecolesDoctoralesN:(XXX) : nom de l’école(s) doctorale(s)
ecolesDoctoralesPpn:(XXX) : : identifiant de la ou les école(s) doctorale(s)
partenairesRechercheN:(XXX) : nom du ou des partenaire(s) de recherche
partenairesRecherchePpn:(XXX) : : identifiant du/des partenaire(s) de recherche
Autres paramètres⚓
nnt:(XXXXXXXXXXXX) : numéro national de la thèse, sur 12 caractères
numSujet:(sXXXXX) : identifiant du projet de thèse dans la base de données STEP, avec le préfixe s
numSujetSansS:(XXXXX) : identifiant du projet de thèse dans la base de données STEP, sans le préfixe s
codeEtab:(XXXX) : code court de l’établissement, sur 4 caractères. Voir la liste des codes courts : /sudoc/regles/CodesUnivEtab.htm
oaiSetNames:(XXXXXXXX) : domaine thématique de la thèse, correspondant à l’une des valeurs de la liste : https://theses.fr/schemas/tef/recommandation/tef_oai_setSpec.html
langues:(XX) : langue de la thèse, sur deux caractères composant le code ISO 639-1 de la langue sélectionnée.