Aller au contenu
Business Agile
Réalisations
IA · Sécurité alimentaire et nutrition (B2B) · oct. 2025

ScienceProtect

API, pipelines de données et graphe de connaissances pour suivre la science de l'alimentation.

scienceprotect.com
Page d'accueil du site ScienceProtect, veille scientifique pour la sécurité alimentaire

En chiffres

d'études suivies (chiffre publié par le client)40 millions
tests automatisés sur l'API Who's Who (équipe)607
des commits de PubMed API sont les miens68 %
début de ma collaboration, toujours en cours2024

ScienceProtect aide l'industrie agroalimentaire à suivre ce que la recherche publie sur les substances, les aliments et leurs effets sur la santé. Le client le résume sur son site : transformer 40 millions d'études scientifiques évaluées par les pairs en signaux exploitables pour la sécurité alimentaire et la nutrition. Je travaille sur ce produit depuis 2024, au sein de l'équipe technique de CheckTheNet, la société qui l'édite. C'est un travail d'équipe, et cette fiche dit précisément ce que j'y ai construit.

En images

scienceprotect.com
Version anglaise du site vitrine ScienceProtect
Le site vitrine bilingue réalisé avec l'équipe : une adresse par langue, des pages rendues côté serveur.
Version française du site ScienceProtect sur mobile
La version française sur mobile, sous sa propre adresse.

Le projet en détail

En 2024, j'ai écrit la majeure partie de l'API de la première plateforme, en Django REST Framework sur PostgreSQL : substances, aliments, publications, comptes utilisateurs et suivi de veille. Elle alimente une application Next.js dont l'interface a été développée par un autre développeur de l'équipe, avec qui j'ai travaillé sur l'intégration.

En 2025, j'ai conçu et développé PubMed API, un service FastAPI entièrement asynchrone placé devant l'API publique de PubMed. Il regroupe les requêtes par lots, met les résultats en cache dans Redis et limite son débit sous le quota du service public, pour que le reste de la plateforme puisse interroger la littérature scientifique sans risque de blocage. Le service expose 25 routes et j'en signe environ deux tiers des commits.

Je contribue ensuite au cœur du produit, Who's Who, un GraphRAG construit en équipe : un graphe de connaissances Memgraph relie substances, maladies, aliments, publications, experts et panels de l'EFSA, l'Autorité européenne de sécurité des aliments. Des pipelines TaskIQ récupèrent les publications de chaque substance, les rattachent aux maladies, puis des agents LLM écrits avec pydantic-ai classent le domaine d'étude, la méthodologie et l'effet observé. Les consignes des agents sont versionnées : quand l'une change, seules les publications concernées sont retraitées. J'ai écrit environ un tiers des commits de ce dépôt, dont les scrapers qui collectent les experts et les avis de l'EFSA.

J'ai aussi réalisé, avec l'équipe, le site vitrine bilingue du client en TanStack Start (pages rendues côté serveur, une URL par langue, données structurées) et la petite API FastAPI qui relaie son formulaire de contact par Brevo.

Deux bibliothèques open source sont nées de ce projet : fastapi-object-pagination, pour paginer des réponses FastAPI typées, et async-factory-boy, pour générer des données de test asynchrones. J'ai également contribué en amont à neontology, la bibliothèque Python qui fait le lien entre Pydantic et les bases graphe.

Ce qui a été fait

  1. 01

    API Django REST Framework de la première plateforme, écrite en grande partie par moi

  2. 02

    Proxy PubMed asynchrone en FastAPI : lots, cache Redis, respect des quotas

  3. 03

    Participation au GraphRAG Who's Who sur Memgraph, avec agents pydantic-ai

  4. 04

    Scrapers des experts et des avis de l'EFSA

  5. 05

    Site vitrine bilingue en TanStack Start et API de contact Brevo

  6. 06

    Deux bibliothèques open source extraites du projet

Questions fréquentes

Qu'est-ce qu'un GraphRAG et pourquoi l'utiliser pour de la veille scientifique ?

Un GraphRAG combine un graphe de connaissances et un modèle de langage : le modèle répond en s'appuyant sur des relations explicites (une substance, une maladie, une publication, un expert) plutôt que sur des extraits de texte isolés. Pour ScienceProtect, cela permet de relier chaque réponse aux publications qui la fondent.

Comment interroger PubMed à grande échelle sans être bloqué ?

En passant par un service intermédiaire qui regroupe les requêtes par lots, met les résultats en cache et limite le débit sous le quota du service public. C'est le rôle de PubMed API, développé en FastAPI asynchrone avec Redis et TaskIQ.

Business Agile peut-il rejoindre une équipe technique déjà en place ?

Oui. Sur ScienceProtect, je travaille au sein de l'équipe technique du client : je prends en charge des services entiers (API, proxy PubMed, scrapers) et je contribue aux dépôts partagés avec les mêmes conventions, revues de code et intégration continue que le reste de l'équipe.

Autres réalisations

Un projet ? Parlons-en cette semaine.

Un brief court, une réponse sous 48 h, une estimation ferme après cadrage.

Décrire mon projet