Portfolio BUT2
Intégration entreprise

Trace 10 - Import BOAMP et mapping marchés publics

Récupération et pré-remplissage de données de marchés publics.

Exploitation et traitement de données volumineuses

Compréhension des besoins métier et utilisateurs

Adaptation à un environnement logiciel existant

Trace 10

Pré-remplir un marché à partir de données BOAMP

Trace 10 - Interface où l'utilisateur peut importer des données de marché public.

La Trace 10 ci-contre est une copie d'écran de l'interface d'import

BOAMP. Elle correspond au nouveau sujet commencé pendant le stage : faciliter la création de marchés et fournisseurs pour les écoles en récupérant des informations déjà disponibles sur une source officielle française. Dans la Trace 10, avant de penser uniquement à l'appel technique, il fallait identifier ce qui doit être automatisé.

Les zones de l'interface représentent le lien entre une donnée externe et le formulaire de l'application. L'objectif n'était pas seulement d'appeler une API, mais de pré-remplir correctement les champs utiles, de réutiliser les valeurs existantes quand elles existent déjà et de préparer la création des valeurs manquantes quand c'est nécessaire. Cela revient à transformer une source externe en champs applicatifs tout en respectant les contraintes du formulaire existant. C'est aussi un travail d'ajouter une fonctionnalité dans une application existante, car l'import doit suivre les listes et les usages déjà en place.

  1. Création d'une route Symfony pour récupérer les données d'un marché.
  2. Mapping des champs simples : libellé, numéro, description, dates, critères.
  3. Préparation du mapping plus complexe : CPV, type de marché, procédure, regroupement et création si inexistant.

Mapping préparé

Donnée BOAMPChamp applicationTraitement
objetLibelléauto-rempli
idwebNuméro du marchéauto-rempli
description / OBJET_COMPLETDescriptionauto-rempli
critères d'attributionDescription du choix de l'offreauto-rempli si trouvé
dateparutionDate de publicationauto-rempli
datelimitereponseDate limite de dépôtauto-rempli
AwardDateDate d'attributionauto-rempli si trouvé
CPVCode CPVréutilisé ou créé
type_marcheType de marchéréutilisé ou créé
procedure_libelléProcédureréutilisé ou créé
nomacheteur / organismeRegroupementréutilisé ou créé
type_marche = SERVICESMarché de serviceauto-rempli

La première étape a été d'identifier les champs simples, comme le numéro du marché, le libellé, les dates ou la description. Ces champs peuvent être pré-remplis assez directement. La difficulté arrive ensuite avec les champs qui dépendent de listes métier, comme le CPV, le type de marché, la procédure ou le regroupement. Pour ces données, il ne suffit pas de copier une valeur : il faut vérifier si elle existe déjà dans l'application, la réutiliser si possible ou prévoir sa création.

L'import doit respecter les listes déjà présentes, réutiliser les codes existants et créer les données manquantes seulement quand c'est nécessaire. La fonctionnalité doit donc s'intégrer dans les usages et les données déjà en place.

On this page