[{"data":1,"prerenderedAt":861},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-03-le-comptoir-01-architecture-05-overriding-02-overrider-un-modele":307,"-fr-03-le-comptoir-01-architecture-05-overriding-02-overrider-un-modele-surround":856},[4,26,59,191,248,269,286],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Démarrage","\u002Ffr\u002F01-demarrage","fr\u002F01-demarrage",[9,13,17,21],{"title":10,"path":11,"stem":12},"Présentation","\u002Ffr\u002F01-demarrage\u002F01-presentation","fr\u002F01-demarrage\u002F01-presentation",{"title":14,"path":15,"stem":16},"Public cible","\u002Ffr\u002F01-demarrage\u002F02-public-cible","fr\u002F01-demarrage\u002F02-public-cible",{"title":18,"path":19,"stem":20},"Pourquoi ces outils","\u002Ffr\u002F01-demarrage\u002F03-pourquoi-ces-outils","fr\u002F01-demarrage\u002F03-pourquoi-ces-outils",{"title":22,"path":23,"stem":24},"Parcours recommandé","\u002Ffr\u002F01-demarrage\u002F04-parcours-recommande","fr\u002F01-demarrage\u002F04-parcours-recommande",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"DBT","\u002Ffr\u002F02-dbt","fr\u002F02-dbt",[31,35,39,43,47,51,55],{"title":32,"path":33,"stem":34},"Présentation DBT","\u002Ffr\u002F02-dbt\u002F01-presentation-dbt","fr\u002F02-dbt\u002F01-presentation-dbt",{"title":36,"path":37,"stem":38},"Profils, cibles et projets","\u002Ffr\u002F02-dbt\u002F02-profils-cibles-et-projets","fr\u002F02-dbt\u002F02-profils-cibles-et-projets",{"title":40,"path":41,"stem":42},"Commandes de base","\u002Ffr\u002F02-dbt\u002F03-commandes-de-base","fr\u002F02-dbt\u002F03-commandes-de-base",{"title":44,"path":45,"stem":46},"Seeds, models et tests","\u002Ffr\u002F02-dbt\u002F04-seeds-models-tests","fr\u002F02-dbt\u002F04-seeds-models-tests",{"title":48,"path":49,"stem":50},"Sélection, tags et dépendances","\u002Ffr\u002F02-dbt\u002F05-selection-tags-et-dependances","fr\u002F02-dbt\u002F05-selection-tags-et-dependances",{"title":52,"path":53,"stem":54},"Documentation dbt et lineage","\u002Ffr\u002F02-dbt\u002F06-documentation-dbt-et-lineage","fr\u002F02-dbt\u002F06-documentation-dbt-et-lineage",{"title":56,"path":57,"stem":58},"Orchestration","\u002Ffr\u002F02-dbt\u002F07-orchestration","fr\u002F02-dbt\u002F07-orchestration",{"title":60,"path":61,"stem":62,"children":63,"page":25},"Le comptoir","\u002Ffr\u002F03-le-comptoir","fr\u002F03-le-comptoir",[64,138,166],{"title":65,"path":66,"stem":67,"children":68,"page":25},"Architecture","\u002Ffr\u002F03-le-comptoir\u002F01-architecture","fr\u002F03-le-comptoir\u002F01-architecture",[69,93,97,114,118],{"title":65,"path":70,"stem":71,"children":72,"page":25},"\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture","fr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture",[73,77,81,85,89],{"title":74,"path":75,"stem":76},"Vue d'ensemble","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture\u002F01-vue-densemble","fr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture\u002F01-vue-densemble",{"title":78,"path":79,"stem":80},"Marts et couche reporting","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture\u002F02-marts-et-couche-reporting","fr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture\u002F02-marts-et-couche-reporting",{"title":82,"path":83,"stem":84},"Marts Kimball","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture\u002F03-marts-kimball","fr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture\u002F03-marts-kimball",{"title":86,"path":87,"stem":88},"Couche reporting Power BI","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture\u002F04-couche-reporting-power-bi","fr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture\u002F04-couche-reporting-power-bi",{"title":90,"path":91,"stem":92},"Tables de filtres par grain","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture\u002F05-tables-de-filtres-par-grain","fr\u002F03-le-comptoir\u002F01-architecture\u002F01-architecture\u002F05-tables-de-filtres-par-grain",{"title":94,"path":95,"stem":96},"Lier les bases de données","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F02-lier-les-bases-de-donnees","fr\u002F03-le-comptoir\u002F01-architecture\u002F02-lier-les-bases-de-donnees",{"title":98,"path":99,"stem":100,"children":101,"page":25},"Adapters et seeds","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F03-adapters-et-seeds","fr\u002F03-le-comptoir\u002F01-architecture\u002F03-adapters-et-seeds",[102,106,110],{"title":103,"path":104,"stem":105},"Concept","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F03-adapters-et-seeds\u002F01-concept","fr\u002F03-le-comptoir\u002F01-architecture\u002F03-adapters-et-seeds\u002F01-concept",{"title":107,"path":108,"stem":109},"Seeds de configuration","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F03-adapters-et-seeds\u002F02-seeds-de-configuration","fr\u002F03-le-comptoir\u002F01-architecture\u002F03-adapters-et-seeds\u002F02-seeds-de-configuration",{"title":111,"path":112,"stem":113},"Adapters et points d'injection","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F03-adapters-et-seeds\u002F03-adapters-et-points-dinjection","fr\u002F03-le-comptoir\u002F01-architecture\u002F03-adapters-et-seeds\u002F03-adapters-et-points-dinjection",{"title":115,"path":116,"stem":117},"Activer une ressource","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F04-activer-une-ressource","fr\u002F03-le-comptoir\u002F01-architecture\u002F04-activer-une-ressource",{"title":119,"path":120,"stem":121,"children":122,"page":25},"Overriding","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F05-overriding","fr\u002F03-le-comptoir\u002F01-architecture\u002F05-overriding",[123,126,130,134],{"title":103,"path":124,"stem":125},"\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F05-overriding\u002F01-concept","fr\u002F03-le-comptoir\u002F01-architecture\u002F05-overriding\u002F01-concept",{"title":127,"path":128,"stem":129},"Overrider un modèle","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F05-overriding\u002F02-overrider-un-modele","fr\u002F03-le-comptoir\u002F01-architecture\u002F05-overriding\u002F02-overrider-un-modele",{"title":131,"path":132,"stem":133},"Règles d'affaires locales","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F05-overriding\u002F03-regles-affaires-locales","fr\u002F03-le-comptoir\u002F01-architecture\u002F05-overriding\u002F03-regles-affaires-locales",{"title":135,"path":136,"stem":137},"Contrats de données","\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F05-overriding\u002F04-contrats-de-donnees","fr\u002F03-le-comptoir\u002F01-architecture\u002F05-overriding\u002F04-contrats-de-donnees",{"title":139,"path":140,"stem":141,"children":142,"page":25},"Utilisation","\u002Ffr\u002F03-le-comptoir\u002F02-utilisation","fr\u002F03-le-comptoir\u002F02-utilisation",[143,147,151,155,158,162],{"title":144,"path":145,"stem":146},"Ajouter une interface","\u002Ffr\u002F03-le-comptoir\u002F02-utilisation\u002F01-ajouter-une-interface","fr\u002F03-le-comptoir\u002F02-utilisation\u002F01-ajouter-une-interface",{"title":148,"path":149,"stem":150},"Créer ou modifier un mart","\u002Ffr\u002F03-le-comptoir\u002F02-utilisation\u002F02-creer-ou-modifier-un-mart","fr\u002F03-le-comptoir\u002F02-utilisation\u002F02-creer-ou-modifier-un-mart",{"title":152,"path":153,"stem":154},"Encoder une règle avec un seed","\u002Ffr\u002F03-le-comptoir\u002F02-utilisation\u002F03-encoder-une-regle-affaires-avec-un-seed","fr\u002F03-le-comptoir\u002F02-utilisation\u002F03-encoder-une-regle-affaires-avec-un-seed",{"title":127,"path":156,"stem":157},"\u002Ffr\u002F03-le-comptoir\u002F02-utilisation\u002F04-overrider-un-modele","fr\u002F03-le-comptoir\u002F02-utilisation\u002F04-overrider-un-modele",{"title":159,"path":160,"stem":161},"Ajouter des tests","\u002Ffr\u002F03-le-comptoir\u002F02-utilisation\u002F05-ajouter-des-tests","fr\u002F03-le-comptoir\u002F02-utilisation\u002F05-ajouter-des-tests",{"title":163,"path":164,"stem":165},"Formatage et revue","\u002Ffr\u002F03-le-comptoir\u002F02-utilisation\u002F06-formatage-et-revue","fr\u002F03-le-comptoir\u002F02-utilisation\u002F06-formatage-et-revue",{"title":167,"path":168,"stem":169,"children":170,"page":25},"Créer un tableau de bord","\u002Ffr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord","fr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord",[171,175,179,183,187],{"title":172,"path":173,"stem":174},"Partir du gabarit","\u002Ffr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord\u002F01-partir-du-gabarit","fr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord\u002F01-partir-du-gabarit",{"title":176,"path":177,"stem":178},"Projet FP","\u002Ffr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord\u002F02-projet-fp","fr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord\u002F02-projet-fp",{"title":180,"path":181,"stem":182},"Rôle du stamper","\u002Ffr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord\u002F03-role-du-stamper","fr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord\u002F03-role-du-stamper",{"title":184,"path":185,"stem":186},"Publication Power BI","\u002Ffr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord\u002F04-publication-power-bi","fr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord\u002F04-publication-power-bi",{"title":188,"path":189,"stem":190},"Cycle de changement","\u002Ffr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord\u002F05-cycle-de-changement","fr\u002F03-le-comptoir\u002F03-creer-tableau-de-bord\u002F05-cycle-de-changement",{"title":192,"path":193,"stem":194,"children":195,"page":25},"Installation","\u002Ffr\u002F04-installation","fr\u002F04-installation",[196,200,204,208,212,216,220,224,228,232,236,240,244],{"title":197,"path":198,"stem":199},"Installer WSL2","\u002Ffr\u002F04-installation\u002F01-wsl2","fr\u002F04-installation\u002F01-wsl2",{"title":201,"path":202,"stem":203},"Installer Python et Poetry","\u002Ffr\u002F04-installation\u002F02-python-et-poetry","fr\u002F04-installation\u002F02-python-et-poetry",{"title":205,"path":206,"stem":207},"Cloner les dépôts","\u002Ffr\u002F04-installation\u002F03-cloner-les-depots","fr\u002F04-installation\u002F03-cloner-les-depots",{"title":209,"path":210,"stem":211},"Installer les dépendances","\u002Ffr\u002F04-installation\u002F04-installer-les-dependances","fr\u002F04-installation\u002F04-installer-les-dependances",{"title":213,"path":214,"stem":215},"Configurer profiles.yml","\u002Ffr\u002F04-installation\u002F05-configurer-profiles-yml","fr\u002F04-installation\u002F05-configurer-profiles-yml",{"title":217,"path":218,"stem":219},"Configurer externalbrowser dans WSL2","\u002Ffr\u002F04-installation\u002F06-configurer-external-browser-wsl","fr\u002F04-installation\u002F06-configurer-external-browser-wsl",{"title":221,"path":222,"stem":223},"Exécuter un premier modèle","\u002Ffr\u002F04-installation\u002F07-executer-un-premier-modele","fr\u002F04-installation\u002F07-executer-un-premier-modele",{"title":225,"path":226,"stem":227},"Problèmes courants","\u002Ffr\u002F04-installation\u002F08-problemes-courants","fr\u002F04-installation\u002F08-problemes-courants",{"title":229,"path":230,"stem":231},"Environnements Snowflake","\u002Ffr\u002F04-installation\u002F09-snowflake-environnements","fr\u002F04-installation\u002F09-snowflake-environnements",{"title":233,"path":234,"stem":235},"Rôles et entrepôts Snowflake","\u002Ffr\u002F04-installation\u002F10-snowflake-roles-et-entrepots","fr\u002F04-installation\u002F10-snowflake-roles-et-entrepots",{"title":237,"path":238,"stem":239},"Bases, schémas et droits Snowflake","\u002Ffr\u002F04-installation\u002F11-snowflake-bases-schemas-et-droits","fr\u002F04-installation\u002F11-snowflake-bases-schemas-et-droits",{"title":241,"path":242,"stem":243},"Authentification Snowflake et profils dbt","\u002Ffr\u002F04-installation\u002F12-snowflake-authentification-et-profils-dbt","fr\u002F04-installation\u002F12-snowflake-authentification-et-profils-dbt",{"title":245,"path":246,"stem":247},"Coûts et contrôles Snowflake","\u002Ffr\u002F04-installation\u002F13-snowflake-couts-et-controles","fr\u002F04-installation\u002F13-snowflake-couts-et-controles",{"title":249,"path":250,"stem":251,"children":252,"page":25},"Comment contribuer","\u002Ffr\u002F07-comment-contribuer","fr\u002F07-comment-contribuer",[253,257,261,265],{"title":254,"path":255,"stem":256},"Principes","\u002Ffr\u002F07-comment-contribuer\u002F01-principes","fr\u002F07-comment-contribuer\u002F01-principes",{"title":258,"path":259,"stem":260},"Faire une Pull Request","\u002Ffr\u002F07-comment-contribuer\u002F02-faire-une-pull-request","fr\u002F07-comment-contribuer\u002F02-faire-une-pull-request",{"title":262,"path":263,"stem":264},"Revue et collaboration","\u002Ffr\u002F07-comment-contribuer\u002F03-revue-et-collaboration","fr\u002F07-comment-contribuer\u002F03-revue-et-collaboration",{"title":266,"path":267,"stem":268},"Qualité et validation","\u002Ffr\u002F07-comment-contribuer\u002F04-qualite-et-validation","fr\u002F07-comment-contribuer\u002F04-qualite-et-validation",{"title":270,"path":271,"stem":272,"children":273,"page":25},"Aide AI","\u002Ffr\u002F08-aide-ia","fr\u002F08-aide-ia",[274,278,282],{"title":275,"path":276,"stem":277},"Se faire aider par une IA","\u002Ffr\u002F08-aide-ia\u002F01-se-faire-aider-par-une-ia","fr\u002F08-aide-ia\u002F01-se-faire-aider-par-une-ia",{"title":279,"path":280,"stem":281},"Utiliser llms.txt","\u002Ffr\u002F08-aide-ia\u002F02-utiliser-llms-txt","fr\u002F08-aide-ia\u002F02-utiliser-llms-txt",{"title":283,"path":284,"stem":285},"Connecter un client MCP","\u002Ffr\u002F08-aide-ia\u002F03-connecter-un-client-mcp","fr\u002F08-aide-ia\u002F03-connecter-un-client-mcp",{"title":287,"path":288,"stem":289,"children":290,"page":25},"09 Reference","\u002Ffr\u002F09-reference","fr\u002F09-reference",[291,295,299,303],{"title":292,"path":293,"stem":294},"Glossaire","\u002Ffr\u002F09-reference\u002F01-glossaire","fr\u002F09-reference\u002F01-glossaire",{"title":296,"path":297,"stem":298},"Commandes","\u002Ffr\u002F09-reference\u002F02-commandes","fr\u002F09-reference\u002F02-commandes",{"title":300,"path":301,"stem":302},"Conventions de nommage","\u002Ffr\u002F09-reference\u002F03-conventions-de-nommage","fr\u002F09-reference\u002F03-conventions-de-nommage",{"title":304,"path":305,"stem":306},"Checklists","\u002Ffr\u002F09-reference\u002F04-checklists","fr\u002F09-reference\u002F04-checklists",{"id":308,"title":127,"body":309,"description":848,"extension":849,"links":850,"meta":851,"navigation":419,"path":128,"seo":854,"stem":129,"__hash__":855},"docs_fr\u002Ffr\u002F03-le-comptoir\u002F01-architecture\u002F05-overriding\u002F02-overrider-un-modele.md",{"type":310,"value":311,"toc":839},"minimark",[312,315,319,328,331,336,339,350,353,380,383,387,390,396,399,457,460,464,471,478,548,554,558,561,595,598,640,643,693,699,703,706,735,738,758,762,825,829,835],[313,314],"page-metadata",{},[316,317,127],"h1",{"id":318},"overrider-un-modèle",[320,321,322,323,327],"p",{},"Un ",[324,325,326],"em",{},"override"," de modèle sert à remplacer un modèle du core par une version locale.",[320,329,330],{},"C'est le mécanisme à utiliser lorsque le modèle commun existe déjà, mais que sa logique ne correspond pas à la réalité locale.",[332,333,335],"h2",{"id":334},"avant-de-commencer","Avant de commencer",[320,337,338],{},"Repérer le modèle dans le core.",[340,341,347],"pre",{"className":342,"code":344,"language":345,"meta":346},[343],"language-text","core.dashboards_store.snowflake\u002F\n  models\u002F\n    marts\u002F\n      formation_professionnelle\u002F\n        staging\u002F\n          stg_eleves_reguliers.sql\n","text","",[348,349,344],"code",{"__ignoreMap":346},[320,351,352],{},"Lire ensuite les fichiers voisins:",[354,355,356,360,367,374,377],"ul",{},[357,358,359],"li",{},"le modèle SQL;",[357,361,362,363,366],{},"le fichier ",[348,364,365],{},"schema.yml",", s'il existe;",[357,368,369,370,373],{},"les modèles qui font ",[348,371,372],{},"ref(\"stg_eleves_reguliers\")",";",[357,375,376],{},"les tests associés;",[357,378,379],{},"les tableaux de bord qui dépendent du modèle.",[320,381,382],{},"Cette lecture sert à comprendre le contrat à respecter.",[332,384,386],{"id":385},"créer-le-modèle-local","Créer le modèle local",[320,388,389],{},"Dans le dépôt local, créer un fichier avec le même nom.",[340,391,394],{"className":392,"code":393,"language":345,"meta":346},[343],"cssxx.dashboards_store.snowflake\u002F\n  models\u002F\n    marts\u002F\n      formation_professionnelle\u002F\n        staging\u002F\n          stg_eleves_reguliers.sql\n",[348,395,393],{"__ignoreMap":346},[320,397,398],{},"Exemple de modèle local:",[340,400,404],{"className":401,"code":402,"language":403,"meta":346,"style":346},"language-sql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","-- cssxx.dashboards_store.snowflake\u002Fmodels\u002Fmarts\u002Fformation_professionnelle\u002Fstaging\u002Fstg_eleves_reguliers.sql\n\nselect distinct\n    id_eleve,\n    annee_scolaire,\n    code_programme\nfrom {{ ref(\"stg_inscriptions_fp\") }}\nwhere statut_inscription in ('REGULIER', 'ACTIF')\n","sql",[348,405,406,414,421,427,433,439,445,451],{"__ignoreMap":346},[407,408,411],"span",{"class":409,"line":410},"line",1,[407,412,413],{},"-- cssxx.dashboards_store.snowflake\u002Fmodels\u002Fmarts\u002Fformation_professionnelle\u002Fstaging\u002Fstg_eleves_reguliers.sql\n",[407,415,417],{"class":409,"line":416},2,[407,418,420],{"emptyLinePlaceholder":419},true,"\n",[407,422,424],{"class":409,"line":423},3,[407,425,426],{},"select distinct\n",[407,428,430],{"class":409,"line":429},4,[407,431,432],{},"    id_eleve,\n",[407,434,436],{"class":409,"line":435},5,[407,437,438],{},"    annee_scolaire,\n",[407,440,442],{"class":409,"line":441},6,[407,443,444],{},"    code_programme\n",[407,446,448],{"class":409,"line":447},7,[407,449,450],{},"from {{ ref(\"stg_inscriptions_fp\") }}\n",[407,452,454],{"class":409,"line":453},8,[407,455,456],{},"where statut_inscription in ('REGULIER', 'ACTIF')\n",[320,458,459],{},"Le modèle local peut utiliser une règle différente. Il doit garder les colonnes et le grain attendus par les modèles suivants.",[332,461,463],{"id":462},"désactiver-le-modèle-du-core","Désactiver le modèle du core",[320,465,466,467,470],{},"Dans ",[348,468,469],{},"dbt_project.yml",", désactiver le modèle du package commun.",[320,472,473,474,477],{},"La structure YAML doit suivre le chemin du modèle dans le dossier ",[348,475,476],{},"models\u002F",".",[340,479,483],{"className":480,"code":481,"language":482,"meta":346,"style":346},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# cssxx.dashboards_store.snowflake\u002Fdbt_project.yml\nmodels:\n  core_dashboards_store_snowflake:\n    marts:\n      formation_professionnelle:\n        staging:\n          stg_eleves_reguliers:\n            +enabled: false\n","yaml",[348,484,485,491,501,508,515,522,529,536],{"__ignoreMap":346},[407,486,487],{"class":409,"line":410},[407,488,490],{"class":489},"sHwdD","# cssxx.dashboards_store.snowflake\u002Fdbt_project.yml\n",[407,492,493,497],{"class":409,"line":416},[407,494,496],{"class":495},"swJcz","models",[407,498,500],{"class":499},"sMK4o",":\n",[407,502,503,506],{"class":409,"line":423},[407,504,505],{"class":495},"  core_dashboards_store_snowflake",[407,507,500],{"class":499},[407,509,510,513],{"class":409,"line":429},[407,511,512],{"class":495},"    marts",[407,514,500],{"class":499},[407,516,517,520],{"class":409,"line":435},[407,518,519],{"class":495},"      formation_professionnelle",[407,521,500],{"class":499},[407,523,524,527],{"class":409,"line":441},[407,525,526],{"class":495},"        staging",[407,528,500],{"class":499},[407,530,531,534],{"class":409,"line":447},[407,532,533],{"class":495},"          stg_eleves_reguliers",[407,535,500],{"class":499},[407,537,538,541,544],{"class":409,"line":453},[407,539,540],{"class":495},"            +enabled",[407,542,543],{"class":499},":",[407,545,547],{"class":546},"sfNiH"," false\n",[320,549,550,551,477],{},"Le nom final est le nom du fichier sans ",[348,552,553],{},".sql",[332,555,557],{"id":556},"exemple-doverride-dinterface","Exemple d'override d'interface",[320,559,560],{},"Le core peut fournir une interface minimale.",[340,562,564],{"className":401,"code":563,"language":403,"meta":346,"style":346},"-- core.dashboards_store.snowflake\u002Fmodels\u002Finterfaces\u002Fformation_professionnelle\u002Fi_programmes.sql\n\nselect\n    code_programme,\n    description_programme\nfrom FORMATION_PROFESSIONNELLE_RAW.PARAMETRES.PROGRAMMES\n",[348,565,566,571,575,580,585,590],{"__ignoreMap":346},[407,567,568],{"class":409,"line":410},[407,569,570],{},"-- core.dashboards_store.snowflake\u002Fmodels\u002Finterfaces\u002Fformation_professionnelle\u002Fi_programmes.sql\n",[407,572,573],{"class":409,"line":416},[407,574,420],{"emptyLinePlaceholder":419},[407,576,577],{"class":409,"line":423},[407,578,579],{},"select\n",[407,581,582],{"class":409,"line":429},[407,583,584],{},"    code_programme,\n",[407,586,587],{"class":409,"line":435},[407,588,589],{},"    description_programme\n",[407,591,592],{"class":409,"line":441},[407,593,594],{},"from FORMATION_PROFESSIONNELLE_RAW.PARAMETRES.PROGRAMMES\n",[320,596,597],{},"Un dépôt local peut avoir besoin d'une colonne supplémentaire.",[340,599,601],{"className":401,"code":600,"language":403,"meta":346,"style":346},"-- cssxx.dashboards_store.snowflake\u002Fmodels\u002Finterfaces\u002Fformation_professionnelle\u002Fi_programmes.sql\n\nselect\n    code_programme,\n    description_programme,\n    ordre_enseignement,\n    secteur_local\nfrom CSSXX_RAW.PARAMETRES.PROGRAMMES\n",[348,602,603,608,612,616,620,625,630,635],{"__ignoreMap":346},[407,604,605],{"class":409,"line":410},[407,606,607],{},"-- cssxx.dashboards_store.snowflake\u002Fmodels\u002Finterfaces\u002Fformation_professionnelle\u002Fi_programmes.sql\n",[407,609,610],{"class":409,"line":416},[407,611,420],{"emptyLinePlaceholder":419},[407,613,614],{"class":409,"line":423},[407,615,579],{},[407,617,618],{"class":409,"line":429},[407,619,584],{},[407,621,622],{"class":409,"line":435},[407,623,624],{},"    description_programme,\n",[407,626,627],{"class":409,"line":441},[407,628,629],{},"    ordre_enseignement,\n",[407,631,632],{"class":409,"line":447},[407,633,634],{},"    secteur_local\n",[407,636,637],{"class":409,"line":453},[407,638,639],{},"from CSSXX_RAW.PARAMETRES.PROGRAMMES\n",[320,641,642],{},"Le dépôt local désactive ensuite le modèle du core.",[340,644,646],{"className":480,"code":645,"language":482,"meta":346,"style":346},"# cssxx.dashboards_store.snowflake\u002Fdbt_project.yml\nmodels:\n  core_dashboards_store_snowflake:\n    interfaces:\n      formation_professionnelle:\n        i_programmes:\n          +enabled: false\n",[348,647,648,652,658,664,671,677,684],{"__ignoreMap":346},[407,649,650],{"class":409,"line":410},[407,651,490],{"class":489},[407,653,654,656],{"class":409,"line":416},[407,655,496],{"class":495},[407,657,500],{"class":499},[407,659,660,662],{"class":409,"line":423},[407,661,505],{"class":495},[407,663,500],{"class":499},[407,665,666,669],{"class":409,"line":429},[407,667,668],{"class":495},"    interfaces",[407,670,500],{"class":499},[407,672,673,675],{"class":409,"line":435},[407,674,519],{"class":495},[407,676,500],{"class":499},[407,678,679,682],{"class":409,"line":441},[407,680,681],{"class":495},"        i_programmes",[407,683,500],{"class":499},[407,685,686,689,691],{"class":409,"line":447},[407,687,688],{"class":495},"          +enabled",[407,690,543],{"class":499},[407,692,547],{"class":546},[320,694,695,696,477],{},"Le reste du Store peut continuer à lire ",[348,697,698],{},"ref(\"i_programmes\")",[332,700,702],{"id":701},"tester-loverride","Tester l'override",[320,704,705],{},"Exécuter le modèle local et ce qui en dépend.",[340,707,711],{"className":708,"code":709,"language":710,"meta":346,"style":346},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","poetry run dbt build --select stg_eleves_reguliers+\n","bash",[348,712,713],{"__ignoreMap":346},[407,714,715,719,723,726,729,732],{"class":409,"line":410},[407,716,718],{"class":717},"sBMFI","poetry",[407,720,722],{"class":721},"sfazB"," run",[407,724,725],{"class":721}," dbt",[407,727,728],{"class":721}," build",[407,730,731],{"class":721}," --select",[407,733,734],{"class":721}," stg_eleves_reguliers+\n",[320,736,737],{},"Si le modèle est consommé par un tableau de bord précis, tester aussi le tag du tableau de bord.",[340,739,741],{"className":708,"code":740,"language":710,"meta":346,"style":346},"poetry run dbt build --select tag:formation_professionnelle\n",[348,742,743],{"__ignoreMap":346},[407,744,745,747,749,751,753,755],{"class":409,"line":410},[407,746,718],{"class":717},[407,748,722],{"class":721},[407,750,725],{"class":721},[407,752,728],{"class":721},[407,754,731],{"class":721},[407,756,757],{"class":721}," tag:formation_professionnelle\n",[332,759,761],{"id":760},"erreurs-fréquentes","Erreurs fréquentes",[763,764,765,778],"table",{},[766,767,768],"thead",{},[769,770,771,775],"tr",{},[772,773,774],"th",{},"Erreur",[772,776,777],{},"Effet",[779,780,781,793,801,809,817],"tbody",{},[769,782,783,787],{},[784,785,786],"td",{},"Le fichier local n'a pas le même nom.",[784,788,789,792],{},[324,790,791],{},"dbt"," crée un nouveau modèle au lieu de remplacer le modèle attendu.",[769,794,795,798],{},[784,796,797],{},"Le modèle du core n'est pas désactivé.",[784,799,800],{},"Deux modèles peuvent produire le même alias ou créer une ambiguïté.",[769,802,803,806],{},[784,804,805],{},"Une colonne attendue disparaît.",[784,807,808],{},"Un modèle suivant ou un tableau de bord casse.",[769,810,811,814],{},[784,812,813],{},"Le grain change sans être documenté.",[784,815,816],{},"Les mesures peuvent être doublées ou sous-estimées.",[769,818,819,822],{},[784,820,821],{},"Le mauvais package est configuré.",[784,823,824],{},"La désactivation ne s'applique pas au modèle du core.",[332,826,828],{"id":827},"point-de-contrôle","Point de contrôle",[320,830,831,832,834],{},"Un bon ",[324,833,326],{}," personnalise le calcul sans forcer les tableaux de bord à changer. Si le contrat doit changer, la décision doit être explicite.",[836,837,838],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":346,"searchDepth":416,"depth":416,"links":840},[841,842,843,844,845,846,847],{"id":334,"depth":416,"text":335},{"id":385,"depth":416,"text":386},{"id":462,"depth":416,"text":463},{"id":556,"depth":416,"text":557},{"id":701,"depth":416,"text":702},{"id":760,"depth":416,"text":761},{"id":827,"depth":416,"text":828},"Remplacer localement un modèle fourni par le core.","md",null,{"author":852,"updatedAt":853},"hugo.juhel@sciance.ca","2026-06-01",{"title":127,"description":848},"8VrXpr2519LNkeRq7T3sFQ1h9FmysRb03d0tl4auAIo",[857,859],{"title":103,"path":124,"stem":125,"description":858,"children":-1},"Comprendre les mécanismes de surcharge locale du Store.",{"title":131,"path":132,"stem":133,"description":860,"children":-1},"Documenter les règles qui personnalisent le Store localement.",1783953838769]