Au cours de mon premier stage au CNRS, du 22 mai au 30 juin 2023, deux tâches m'ont été confiées :

  • Mettre en place des chaînes de traitement en Python, visant à fournir à la porteuse de projets, des extractions d'informations sur certaines entités de la base de données RSPA (Répertoire des sources philosophiques antiques)
  • Créer une interface web en PHP et HTML qui permettra à un utilisateur lambda de récupérer simplement les informations souhaitées, en important un fichier d'identifiants qui correspondent aux entités recherchées. Ces identifiants sont trouvables sur le site rspa.ups2259.vjf.cnrs.fr du CNRS.

Ces réalisations m'ont permis d'une part, de mettre en pratique et d'approfondir mes connaissances, notamment en SQL, en Python et en langages WEB (PHP, HTML, CSS, JS), et d'autre part, de me familiariser avec des librairies telles que SQLAlchemy et Pandas.


Information sur l'entreprise
  • Nom : Centre National de la Recherche Scientifique (CNRS)
  • Activité : Recherche
  • Forme juridique : EPST (Établissement Public à caractère Scientifique et Technologique)
  • Adresse : Campus de Villejuif (7 Rue Guy Môquet, 94800 Villejuif)
  • Effectif à l'adresse : De 1 000 à 4 999 employés
  • Effectif sur l'ensemble du CNRS : plus de 33.000 agents

Information sur mon service d'accueil
  • Unité Ardis (Appui à la Recherche et Diffusion des Savoirs) : Une unité qui comporte 4 équipes, dont une équipe informatique
  • Activités de l'équipe informatique : Prestations web, gestion de bases de données, administration des serveurs, dépannage des machines présentes sur le site

Expression des besoins

Le projet a pour but de remplacer l'interface actuelle, jugée complexe et peu maniable, par une nouvelle interface plus simple et ergonomique. L'objectif principal était d'aider la porteuse de projets à préparer la migration des données du RSPA vers la base IPHIS en lui fournissant un outil d'aide au dédoublonnage des entités (en particulier les auteurs antiques).
La création de ce site permettrait à la porteuse de projets un grand gain de temps. Actuellement, elle fournit à ma tutrice un fichier Excel contenant une liste d'identifiants d'auteurs nécessitant des informations supplémentaires. Ensuite, ma tutrice exécute des scripts Python pour générer des fichiers CSV, qu'elle convertit ensuite en Excel.


Cahier des charges
  • Ma tutrice m'a d'abord demandé de mettre à jour 2 fichiers Python en vue de la migration de la base de données du RSPA. Je devais donc faire en sorte que les 2 fichiers renvoient les mêmes résultats.
  • Concernant le premier fichier, il contenait 2 requêtes SQL brutes sur 4, qu'il fallait donc compléter
  • Concernant le second, il fallait utiliser la libraire SQLAlchemy (librairie Python qui permet de faciliter la manipulation et l'interaction avec les bases de données relationnelles en Python).
  • Ma seconde mission a été de réaliser un site web permettant la gestion et la visualisation de la base de données de réferences bibliographiques

Ressources matérielles et logicielles mises à disposition
  • Un PC portable HP avec :
  • Windows 11 Professionnel
  • Intel Core i7
  • 16 Go de RAM
  • Les IDE JetBrains IntelliJ IDEA et PhpStorm
  • Un serveur Web local WampServer
  • PhpMyAdmin pour la gestion du SGBD MySQL
  • Microsoft Excel

J'ai développé une interface web en PHP et HTML (voir les captures d'écran ci-dessous) qui simplifie la récupération d'informations pour les utilisateurs.
Elle leur permet d'importer un fichier contenant des identifiants d'entités et d'obtenir les données correspondantes sous forme de tableau.
L'objectif principal de cette interface est d'éliminer la nécessité d'exécuter manuellement des scripts ou de manipuler des requêtes SQL complexes.
Elle offre une approche intuitive et simplifiée pour récupérer les informations souhaitées, évitant ainsi aux utilisateurs de naviguer dans la structure très complexe de la base de données.