Architecture de la base de données de La Carte¶
Modèle de données¶
Chaque acteur du ré-emploi et recyclage expose des propositions de service associées à un geste et une liste de catégories d’objet.
Objets d’administration en base de données¶
Certains objets de la base de données sont des objets d’administration qui n’ont pas vocation aest mis à jour régulièrement. Ci-dessous les populations de ces objets en date du 18 septembre 2023.
Direction de l’action (qfdmo_actiondirection):
Détenir ou chercher un objet (spécifique à l’utilisation de «Épargnons nos ressources»
Action (qfdmo_action):
Quelle action souhaitez vous faire, Exemple : réparer un objet, acheter de seconde main…
Groupe d’Action (qfdmo_groupeaction):
Manière de regrouper les actions lorsque la direction n’est pas précisée
Catégorie / Sous-catégorie / Objet (qfdmo_categorieobjet, qfdmo_souscategorieobjet)
Classification des objets
Type de service (qfdmo_acteurservice)
Type des services rendu par l’acteur, Exemple : Achat/revente entre particuliers, Location par un professionnel, Pièces détachées…
Type d’acteur (qfdmo_acteurtype)
Exemple : commerce, association, acteur digital…
Source (qfdmo_source)
Partenaires ayant contribué à la collecte de cette acteur
Schema simplifié de base de données¶
--- title: Schéma simplifié les acteurs --- classDiagram class ActeurService { - id: int - code: str - libelle: str … } class ActeurType { - id: int - code: str - libelle: str … } class Source { - id: int - code: str - libelle: str … } class LabelQualite { - id: int - code: str - libelle: str … } class _Acteur { - uuid: str - identifiant_unique: str - nom: str … } class _PropositionService { - action: Action - acteur: Acteur } class Action { - id: int - code: str - libelle: str … } class Direction { - id: int - code: str - libelle: str … } class GroupeAction { - id: int - code: str … } class CategorieObjet { - id: int - code: str - libelle: str … } class SousCategorieObjet { - id: int - code: str - libelle: str … } class Objet { - id: int - code: str - libelle: str … } Direction --> Action _Acteur --> _PropositionService _Acteur <--> ActeurService ActeurType --> _Acteur Source --> _Acteur Source <--> _Acteur LabelQualite <--> _Acteur _PropositionService <-- Action _PropositionService <--> SousCategorieObjet CategorieObjet --> SousCategorieObjet SousCategorieObjet --> Objet GroupeAction --> Action
Architecture des Acteurs et de leurs propositions de service¶
Les acteurs sont configurés selon 3 couches:
Une couche d’import (Acteurs Importés) qui représente les acteurs tels qu’ils ont été partagés par nos partenaires moyennant une normalisation (cf. table qfdmo_acteur et qfdmo_propositionservice)
Une couche de révision (Acteurs Revisions) qui nous permet de corriger les données des acteurs importés et de les regrouper un même acteur a été partagé par plusieurs partenaires. La logique de correction est un coalesce:
champ par champ, si la correction est non null et non vide, alors on la valeur à afficher est celle de la correction
pour les objets liés (proposition de service, services), c’est la valeur de la correction qui sera affiché
pour les regroupement d’acteur, la valeur des champs de l’acteur parent est affichés pour chaque champs, les objets liés sont collectés sur tous les enfants (acteurs regroupés sous la même entité)
Une couche d’affichage (Acteurs Affichés) qui calcule les acteurs à afficher selon les acteurs importés et leur révision
--- title: Schéma de l'application des corrections des acteurs --- flowchart TB subgraph Acteur importé direction LR Acteur --> PropositionService end subgraph Acteur Corrigé direction LR CorrectionEquipeActeur --> CorrectionEquipePropositionService end subgraph Acteur Affiché direction LR DisplayedActeur --> DisplayedPropositionService end Acteur --> CorrectionEquipeActeur --> DisplayedActeur Acteur --> DisplayedActeur PropositionService --> CorrectionEquipePropositionService --> DisplayedPropositionService PropositionService --> DisplayedPropositionService