Aller au contenu principal

Diagramme UML de la base de données - Référentiel UBSI 2026

Ce diagramme représente la structure de la base de données PostgreSQL de l'app Référentiel.


Cartographie des flux de données - Référentiel

1. Données reçues par Référentiel

SourceDonnées reçuesUtilisationStockageJustification / Finalité
AchatDemandes de création/modification de fiches fournisseurs : nom légal, code fournisseur, SIRET, adresse, contacts, documents contractuelsCréer ou mettre à jour les fiches fournisseurs dans le référentielOui (table fournisseurs)Centralisation des informations contractuelles et légales des partenaires commerciaux
Demandes de création/modification de fiches produits : EAN, nom, description, photos, catégorie, marque, caractéristiques techniques, prixCréer ou mettre à jour les fiches produits dans le catalogueOui (table produits)Référentiel centralisé du catalogue produits Fnac/Darty
Relations fournisseur-produit : prix fournisseur, délais de livraison, quantités minimales, références fournisseurEnregistrer les conditions d'approvisionnement par couple fournisseur-produitOui (table fournisseur_produits)Gestion des conditions commerciales et optimisation des achats
LogistiqueDemandes de création/modification d'entrepôts : nom, adresse, capacités de stockage/logistique, zones desservies, rôlesCréer ou mettre à jour les fiches entrepôtsOui (table entrepots)Cartographie du réseau logistique et optimisation des flux
Demandes de mise à jour statut entrepôt : opérationnel, maintenance, fermé, en constructionMettre à jour le statut opérationnel des entrepôtsOui (champ statut dans entrepots)Suivi en temps réel de la disponibilité du réseau logistique
Informations sur les stocks produits : quantités disponibles, seuils d'alerte, dates de réapprovisionnementMettre à jour les informations de disponibilité produitsOui (champs quantiteMin, dateFinReapprovisionnement dans produits)Pilotage des niveaux de stock et planification des commandes
Gestion des magasinsDemandes de création/modification de magasins : nom, adresse, type, surface, services disponibles, horairesCréer ou mettre à jour les fiches magasinsOui (table magasins)Référentiel centralisé du réseau de distribution Fnac/Darty
Demandes de mise à jour statut magasin : ouvert, fermé, rénovation, fermeture temporaireMettre à jour le statut des points de venteOui (champ statut dans magasins)Visibilité en temps réel sur l'état du réseau de vente
Retours terrain sur produits : problèmes qualité, retours clients, demandes d'informationsEnrichir les fiches produits et ajuster les statutsOui (champs statutProduit, description dans produits)Amélioration continue de la qualité des données produits

2. Données envoyées par Référentiel

DestinationDonnées envoyéesUtilisation par le destinataireStockage côté RéférentielFinalité
E-CommerceCatalogue produits complet : EAN, nom, description, photos, catégories, prix de vente, caractéristiques, statut, disponibilitéAfficher les produits sur le site web et l'application mobileOui (table produits + cache)Mise à disposition du catalogue en ligne avec informations à jour
Liste des fournisseurs et conditions : nom fournisseur, prix, délais de livraison par produitCalculer les délais de livraison et optimiser les approvisionnementsOui (tables fournisseurs + fournisseur_produits)Promesses de livraison fiables et gestion des stocks web
Gestion des magasinsFiches produits : EAN, nom, description, prix de vente, catégorie, marque, caractéristiques, photosConsulter les informations produits en caisse et en rayonOui (table produits + synchronisation cache)Information produit unifiée pour le personnel de vente
Liste des magasins : nom, adresse, horaires, services disponibles, type, statutAfficher les points de vente disponibles pour click & collect et localisationOui (table magasins)Visibilité du réseau de magasins pour l'omnicanal
LogistiqueFiches produits avec contraintes logistiques : poids, dimensions, packaging, quantités minimales, fournisseursPlanifier les acheminements, optimiser les palettes et gérer les espaces de stockageOui (table produits + relations fournisseurs)Optimisation des flux physiques et de l'espace entrepôt
Liste des entrepôts : nom, adresse, capacités, zones desservies, rôles logistiques, statutRouter les commandes et planifier les distributionsOui (table entrepots)Pilotage du réseau logistique et affectation des stocks
Informations fournisseurs : coordonnées, délais de livraison, conditions de commandeGérer les relations avec les fournisseurs et passer les commandesOui (tables fournisseurs + fournisseur_produits)Coordination des approvisionnements avec les partenaires
SAVDocumentation produit : manuels, guides de réparation, fiches techniques, durées de garantieAssurer le support client et les réparations sous garantieOui (champs documentationUrl, dureeGarantie dans produits)Support technique efficace et gestion des garanties
Informations fournisseurs : contacts SAV constructeur, pièces de rechange disponiblesCoordonner avec les constructeurs pour les réparations complexesOui (table fournisseurs avec interlocuteurs)Escalade vers les constructeurs si nécessaire
PromotionListe des produits avec catégories : EAN, nom, catégorie, prix de vente, marque, photosCréer des campagnes promotionnelles ciblées par catégorie ou marqueOui (table produits + logs de consultation)Création de campagnes marketing basées sur le catalogue
Informations magasins : liste des points de vente, types, services disponiblesCréer des promotions localisées (par magasin ou type de magasin)Oui (table magasins)Promotions géolocalisées et adaptées au type de point de vente
AchatDemandes de création de fournisseurs : informations validation nécessaires, documents manquantsNotifier les équipes Achat des demandes en attente de validationNon (notification temps réel)Workflow de validation des nouveaux fournisseurs
Alertes sur fournisseurs : statuts contractuels expirés, documents à renouveler, fournisseurs suspendusGérer proactivement les renouvellements et les problèmes contractuelsOui (logs d'alerte + table fournisseurs)Sécurisation juridique et continuité des approvisionnements

Diagramme de classes (Mermaid)

Enums métiers

Statuts Produits

  • actif : Produit disponible à la vente
  • inactif : Temporairement indisponible (rupture, saisonnier)
  • discontinue : Arrêt définitif de commercialisation
  • en_developpement : Produit en cours de développement/test
  • obsolete : Produit dépassé, remplacé par une nouvelle version

Statuts Fournisseurs

  • actif : Fournisseur opérationnel et autorisé
  • inactif : Temporairement désactivé
  • suspendu : Suspendu pour problème qualité/livraison
  • bloque : Bloqué pour problème juridique/financier
  • en_validation : Nouveau fournisseur en cours de validation

Statuts Contractuels

  • valide : Contrat en cours et valide
  • expire : Contrat expiré, renouvellement nécessaire
  • en_negociation : Négociation/renouvellement en cours
  • resilie : Contrat résilié définitivement
  • suspendu : Contrat suspendu temporairement

Statuts Entrepôts

  • operationnel : Entrepôt en fonctionnement normal
  • maintenance : Maintenance programmée, capacité réduite
  • ferme : Fermé définitivement ou temporairement
  • en_construction : En cours de construction/aménagement

Statuts Magasins

  • ouvert : Magasin ouvert au public
  • ferme : Fermé définitivement
  • renovation : Travaux de rénovation en cours
  • fermeture_temporaire : Fermé temporairement (congés, incident)

Types de Magasins

  • megastore : Grands magasins type Fnac des Ternes, Darty République
  • magasin_centre_ville : Magasins en centre-ville
  • magasin_centre_commercial : Dans les centres commerciaux
  • magasin_peripherie : En périphérie des villes
  • concept_store : Magasins spécialisés (ex: Fnac Gaming, Darty Cuisine)
  • corner : Corners dans d'autres enseignes
  • drive : Retrait commandes uniquement
  • showroom : Exposition/démonstration principalement

Catégories de Produits

  • informatique : Ordinateurs, composants, accessoires
  • telephonie : Smartphones, tablettes, accessoires mobiles
  • image_son : TV, audio, photo, vidéo
  • electromenager : Gros et petit électroménager
  • gaming : Consoles, jeux vidéo, accessoires gaming
  • maison_connectee : Domotique, objets connectés
  • accessoires : Câbles, housses, supports, etc.
  • services : Extensions de garantie, services, formations
  • multimedia : Stockage, lecteurs, supports physiques

Services Disponibles

  • click_collect : Retrait en magasin
  • livraison_domicile : Livraison à domicile
  • installation : Service d'installation
  • reparation : Service après-vente/réparation
  • reprise : Reprise ancien matériel
  • financement : Solutions de financement
  • extension_garantie : Extensions de garantie
  • formation : Formation/prise en main
  • location : Location de matériel
  • maintenance : Contrats de maintenance

Statuts Relations Fournisseur

  • actif : Relation commerciale active
  • inactif : Relation suspendue temporairement
  • suspendu : Suspendu pour problème qualité/livraison
  • prefere : Fournisseur préférentiel pour ce produit
  • secours : Fournisseur de backup/secours

Colonnes communes (baseColumns)

Toutes les tables héritent des colonnes de base suivantes :

  • id : bigint, clé primaire auto-générée
  • createdAt : timestamp, date de création (défaut: now())
  • updatedAt : timestamp, date de mise à jour (défaut: now())

Notes techniques

Relations principales

  • FournisseurProduits : Table de jointure many-to-many entre Fournisseurs et Produits
    • Contient les informations spécifiques à chaque relation (prix, délais, quantités)
    • Permet de gérer plusieurs fournisseurs par produit
    • Gère le statut de chaque relation commerciale

Champs dépréciés

  • Produits.deprecatedSKU : Remplacé par ean
  • Produits.deprecatedPrixDAchatFournisseurCents : Utiliser FournisseurProduits.prixFournisseurCents
  • Fournisseurs.deprecatedProduitsFournisSkus : Utiliser la table FournisseurProduits

Identifiants uniques

  • Produits.ean : Code-barres international, identifiant standard
  • Fournisseurs.codeFournisseur : Code interne unique par fournisseur
  • Users.email : Email unique par utilisateur

Visualisation

Pour visualiser ce diagramme :

  1. Utilisez un outil compatible Mermaid (GitHub, GitLab, VS Code avec extension)
  2. Copiez le code Mermaid dans https://mermaid.live/
  3. Ou intégrez-le dans votre documentation Docusaurus (déjà configuré)