Problème
Des données officielles difficiles à interroger
Le jeu de données officiel contient les identifiants et dates nécessaires pour vérifier un rappel, mais sa structure n’est pas adaptée à une recherche rapide ni à des filtres combinés.
Étude de cas
Une interface publique de recherche dans les notices françaises RappelConso. Elle importe les données officielles dans PostgreSQL et conserve un lien direct vers chaque notice source.
Problème
Le jeu de données officiel contient les identifiants et dates nécessaires pour vérifier un rappel, mais sa structure n’est pas adaptée à une recherche rapide ni à des filtres combinés.
Mon travail
J’ai implémenté la récupération et la validation des données, la persistance PostgreSQL, les upserts répétables, les requêtes de recherche et de filtrage, les routes d’API en lecture seule, les pages rendues côté serveur, la configuration de déploiement et les tests.
Implémentation
L’importeur télécharge le jeu de données officiel, normalise ses champs variables et valide les dates de publication. Les notices sont mises à jour selon leur identifiant officiel. L’API et l’interface interrogent la copie locale et renvoient toujours vers la notice source.
Modèle de lecture local
PostgreSQL permet de combiner rapidement recherche, filtres exacts et pagination sans dépendre du service amont à chaque page. La contrepartie est claire : AlerteConso devient responsable de la répétabilité des imports et de la communication sur la fraîcheur des sources.
Imports idempotents
Les imports utilisent ON CONFLICT (id) DO UPDATE. Relancer un import actualise une notice existante au lieu de la dupliquer. Les URL officielles et dates de publication restent des champs de premier ordre.
Gestion des erreurs
Une notice dont la date de publication est invalide est ignorée et comptée comme erreur, tandis que les notices valides continuent. Si la requête amont échoue, l’import s’arrête avant toute écriture. Le service n’affiche pas encore la dernière date de synchronisation : un résultat vide ne prouve jamais qu’un produit est sûr.
Vérification