Refonte de theses.fr : éclairage sur les choix informatiques

La nouvelle version de theses.fr a été mise en ligne jeudi 14 mars 2024. Consulter le billet Fil’Abes

Conduit selon la méthode SCRUM, le projet de refonte de theses.fr illustre parfaitement les concepts de la politique de développement de l’Abes. Il est l’aboutissement de 19 mois de travail pour l’équipe constituée d’une Product Owner, de cinq développeurs – dont un en prestation externe – et d’un devops.

Fidèle à la résolution de l’Abes qui, depuis 2019, publie les codes sources de ses applications sur Github, le projet est entièrement open source. Ses différents modules sont répartis dans plusieurs dépôts, tous hébergés dans l’organisation Github de l’Abes.

L’interface du site

Un premier dépôt contient le code de l’interface de l’application réalisée avec le framework Nuxt, surcouche au framework VueJs. VueJs a été choisi par les développeurs de l’Abes pour sa courbe d’apprentissage jugée plus rapide que pour ses concurrents React ou Angular.

La surcouche Nuxt assure une meilleure indexation du site par les moteurs de recherche du web, notamment grâce au Server Side Rendering, qui permet de préparer, côté serveur, une partie du code client qui sera exécuté dans le navigateur et ainsi le rendre immédiatement lisible par les moteurs d’indexation. De plus, Nuxt propose et préconfigure par défaut un certain nombre de fonctionnalités indispensables, comme le routage qui fournit les URLs de l’application, la gestion des erreurs ou encore la récupération des données depuis les API.

L’accès à l’interface via différents types de terminaux est également facilité par le framework VueJS : une navigation aisée sur mobile est une des nouveautés du site.

Une attention toute particulière a été portée par les développeurs sur l’accessibilité de l’interface, qui respecte les règles édictées dans le Référentiel général d’amélioration de l’accessibilité (RGAA) : polices appropriées, choix des couleurs, contraste, mise en forme de la page et utilisation de balises ARIA pour introduire la sémantique des éléments dans le code HTML.

Une intégration continue

L’intégration continue du projet est assurée par des actions Github, programmes qui se déclenchent à chaque fois qu’un développeur pousse (publie) du code sur une branche (qui propose une fonctionnalité) du projet : le code est alors compilé et, si la compilation et les tests réussissent, la branche en question peut alors être publiée comme image sur la plateforme Dockerhub. Ces images sont alors disponibles pour déploiement sur nos machines de développement, test ou production. A noter que le code de l’intégration continue est versionné sur le même dépôt que le projet, au plus près de ce dernier pour en faciliter la maintenance.

Les API

Côté back-office, theses.fr est composé de trois API, ensemble de services utilisés par l’interface VueJs mais qui peuvent également être appelés depuis des programmes externes.  Ces API, programmées en Java Spring et documentées selon la norme OpenAPI, sont publiées à cette adresse : https://api.gouv.fr/les-api/api-export-donnees-these

Ces services recouvrent trois thématiques :

  • La recherche dans les métadonnées : il est possible d’interroger les données en passant directement une chaine de recherche du langage de requête du moteur d’indexation Elastic Search via l’URL. Les réponses sont renvoyées au format JSON.
  • La diffusion des documents : cette API fournit à la fois les boutons à afficher dans l’interface pour chacune des thèses et les liens avers les documents eux-mêmes, ou des liens vers des ressources externes décrivant les documents, comme les notices du catalogue Sudoc. Les accès aux documents sont contrôlés : il n’est pas possible de visualiser une thèse confidentielle et la récupération d’une thèse sous embargo est soumis à authentification.
  • L’export des métadonnées : les métadonnées des thèses sont fournies dans des formats BIBTEX et RIS qui permettent d’échanger ou d’intégrer facilement la thèse comme référence bibliographique. Elles sont aussi disponibles en RDF, format du web sémantique qui facilite leur intégration dans le Linked Open Data cloud

Le moteur Elastic Search

Les données sont indexées dans le moteur Elastic Search, le choix s’étant porté sur cet outil à la fois pour sa popularité et sa présence dans la pile logicielle Elastic Search – LogStash – Kibana, déjà installée dans  le système d’information de l’Abes.

Elastic Search assure les fonctionnalités essentielles telles que filtres, agrégations, pondération ou encore calcul de pertinence lors de l’exécution des requêtes tout en maintenant un haut niveau de performance en termes de délai de réponse.

Consulter :  https://collection-numerique.amue.fr/numero-27/13.html

Fédération d’identité

Si les thèses en accès restreint ne sont pas disponibles pour le grand public, leur diffusion étant par exemple limitée par un embargo, elles doivent cependant être accessibles aux membres de l’Enseignement Supérieur et de la Recherche. Donner accès à ces thèses constitue donc une des principales nouveautés du nouveau theses.fr.

L’implémentation de cette fonctionnalité a été réalisée grâce à l’inscription de theses.fr en tant que fournisseur de services dans la fédération d’identité RENATER. L’authentification des utilisateurs est ainsi déléguée à cette fédération d’identité qui s’assurera que toute personne disposant d’un compte chez un fournisseur d’identités pourra accéder aux thèses en accès restreint.

Le système, qui repose sur le protocole SAML2, requiert l’installation et la configuration de briques logicielles : à cette fin, nous avons mis en place un proxy Apache chargé de rediriger les URLs des thèses en accès restreint vers une page demandant à l’utilisateur de choisir son fournisseur d’identité afin de s’authentifier pour pouvoir accéder à la ressource.

Cet article a 2 commentaires

Laisser un commentaire

Aller au contenu principal