[{"data":1,"prerenderedAt":655},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-using-configuration-architecture-marts-reporting":242,"-fr-using-configuration-architecture-marts-reporting-surround":652},[4,17,42,206,233],{"title":5,"redirect":6,"path":7,"stem":8,"children":9,"page":16},"Introduction","\u002Ffr\u002Fintroduction\u002Fintroduction","\u002Ffr\u002Fintroduction","fr\u002F1.introduction",[10,12],{"title":5,"path":6,"stem":11},"fr\u002F1.introduction\u002F1.introduction",{"title":13,"path":14,"stem":15},"Prérequis","\u002Ffr\u002Fintroduction\u002Fprerequisites","fr\u002F1.introduction\u002F2.prerequisites",false,{"title":18,"redirect":19,"path":20,"stem":21,"children":22,"page":16},"Installation","\u002Ffr\u002Finstallation\u002Fsetup","\u002Ffr\u002Finstallation","fr\u002F2.installation",[23,26,30,34,38],{"title":24,"path":19,"stem":25},"Configuration de la machine","fr\u002F2.installation\u002F1.setup",{"title":27,"path":28,"stem":29},"L'histoire de deux repos","\u002Ffr\u002Finstallation\u002Ftale-repos","fr\u002F2.installation\u002F2.tale-repos",{"title":31,"path":32,"stem":33},"Connexion à la base de données","\u002Ffr\u002Finstallation\u002Fdbt-profile","fr\u002F2.installation\u002F3.dbt-profile",{"title":35,"path":36,"stem":37},"Test de fumée","\u002Ffr\u002Finstallation\u002Fsmoke-testing","fr\u002F2.installation\u002F4.smoke-testing",{"title":39,"path":40,"stem":41},"Et maintenant?","\u002Ffr\u002Finstallation\u002Fwhat-now","fr\u002F2.installation\u002F5.what-now",{"title":43,"path":44,"stem":45,"children":46,"page":16},"Guide utilisateur","\u002Ffr\u002Fusing","fr\u002F3.using",[47,50,54,88,188,202],{"title":5,"path":48,"stem":49},"\u002Ffr\u002Fusing\u002Fintroduction","fr\u002F3.using\u002F1.introduction",{"title":51,"path":52,"stem":53},"Exécuter l'ETL","\u002Ffr\u002Fusing\u002Frunning","fr\u002F3.using\u002F2.running",{"title":55,"path":56,"stem":57,"children":58,"page":16},"Configuration","\u002Ffr\u002Fusing\u002Fconfiguration","fr\u002F3.using\u002F3.configuration",[59,72,76,80,84],{"title":60,"path":61,"stem":62,"children":63,"page":16},"Architecture","\u002Ffr\u002Fusing\u002Fconfiguration\u002Farchitecture","fr\u002F3.using\u002F3.configuration\u002F1.architecture",[64,68],{"title":65,"path":66,"stem":67},"Vue d'ensemble","\u002Ffr\u002Fusing\u002Fconfiguration\u002Farchitecture\u002Foverview","fr\u002F3.using\u002F3.configuration\u002F1.architecture\u002F1.overview",{"title":69,"path":70,"stem":71},"Marts et couche reporting","\u002Ffr\u002Fusing\u002Fconfiguration\u002Farchitecture\u002Fmarts-reporting","fr\u002F3.using\u002F3.configuration\u002F1.architecture\u002F2.marts-reporting",{"title":73,"path":74,"stem":75},"Lier les bases de données","\u002Ffr\u002Fusing\u002Fconfiguration\u002Fdatabases","fr\u002F3.using\u002F3.configuration\u002F2.databases",{"title":77,"path":78,"stem":79},"Adapters et seeds","\u002Ffr\u002Fusing\u002Fconfiguration\u002Fadapts-seeds","fr\u002F3.using\u002F3.configuration\u002F3.adapts-seeds",{"title":81,"path":82,"stem":83},"Activer une ressource","\u002Ffr\u002Fusing\u002Fconfiguration\u002Fenabling","fr\u002F3.using\u002F3.configuration\u002F4.enabling",{"title":85,"path":86,"stem":87},"Overriding","\u002Ffr\u002Fusing\u002Fconfiguration\u002Foverriding","fr\u002F3.using\u002F3.configuration\u002F5.overriding",{"title":89,"redirect":90,"path":91,"stem":92,"children":93,"page":16},"Tableaux de bord","\u002Ffr\u002Fusing\u002F","\u002Ffr\u002Fusing\u002Fdashboards","fr\u002F3.using\u002F4.dashboards",[94,97,126,167,176,184],{"title":5,"path":95,"stem":96},"\u002Ffr\u002Fusing\u002Fdashboards\u002Fintroduction","fr\u002F3.using\u002F4.dashboards\u002F1.introduction",{"title":98,"redirect":99,"path":99,"stem":100,"children":101,"page":16},"Ressources humaines","\u002Ffr\u002Fusing\u002Fdashboards\u002Fhr","fr\u002F3.using\u002F4.dashboards\u002F2. hr",[102,106,110,114,118,122],{"title":103,"path":104,"stem":105},"Congés des employés","\u002Ffr\u002Fusing\u002Fdashboards\u002Fhr\u002Femp_conge","fr\u002F3.using\u002F4.dashboards\u002F2. hr\u002F1.emp_conge",{"title":107,"path":108,"stem":109},"Employés actifs","\u002Ffr\u002Fusing\u002Fdashboards\u002Fhr\u002Fempl_actif","fr\u002F3.using\u002F4.dashboards\u002F2. hr\u002F2.empl_actif",{"title":111,"path":112,"stem":113},"Retraite","\u002Ffr\u002Fusing\u002Fdashboards\u002Fhr\u002Fretirement","fr\u002F3.using\u002F4.dashboards\u002F2. hr\u002F3.retirement",{"title":115,"path":116,"stem":117},"Efficacité","\u002Ffr\u002Fusing\u002Fdashboards\u002Fhr\u002Fefficacite","fr\u002F3.using\u002F4.dashboards\u002F2. hr\u002F4.efficacite",{"title":119,"path":120,"stem":121},"Absences des employé(e)s","\u002Ffr\u002Fusing\u002Fdashboards\u002Fhr\u002Femp_abs","fr\u002F3.using\u002F4.dashboards\u002F2. hr\u002F5.emp_abs",{"title":123,"path":124,"stem":125},"Resignation","\u002Ffr\u002Fusing\u002Fdashboards\u002Fhr\u002Fresignation","fr\u002F3.using\u002F4.dashboards\u002F2. hr\u002F6.resignation",{"title":127,"redirect":128,"path":128,"stem":129,"children":130,"page":16},"Services éducatifs","\u002Ffr\u002Fusing\u002Fdashboards\u002Feduc-serv","fr\u002F3.using\u002F4.dashboards\u002F3.educ-serv",[131,135,139,143,147,151,155,159,163],{"title":132,"path":133,"stem":134},"Résultats aux épreuves","\u002Ffr\u002Fusing\u002Fdashboards\u002Feduc-serv\u002Fres_epreuves","fr\u002F3.using\u002F4.dashboards\u002F3.educ-serv\u002F1.res_epreuves",{"title":136,"path":137,"stem":138},"Suivi des résultats des élèves","\u002Ffr\u002Fusing\u002Fdashboards\u002Feduc-serv\u002Fsuivi_resultats","fr\u002F3.using\u002F4.dashboards\u002F3.educ-serv\u002F2.suivi_resultats",{"title":140,"path":141,"stem":142},"Effectif des élèves","\u002Ffr\u002Fusing\u002Fdashboards\u002Feduc-serv\u002Feffectif_css","fr\u002F3.using\u002F4.dashboards\u002F3.educ-serv\u002F3.effectif_css",{"title":144,"path":145,"stem":146},"Absentéisme des élèves","\u002Ffr\u002Fusing\u002Fdashboards\u002Feduc-serv\u002Fchronic_absenteeism","fr\u002F3.using\u002F4.dashboards\u002F3.educ-serv\u002F4.chronic_absenteeism",{"title":148,"path":149,"stem":150},"Résultats scolaires","\u002Ffr\u002Fusing\u002Fdashboards\u002Feduc-serv\u002Fres_scolaires","fr\u002F3.using\u002F4.dashboards\u002F3.educ-serv\u002F5.res_scolaires",{"title":152,"path":153,"stem":154},"Modélisation prédictive - agrégée","\u002Ffr\u002Fusing\u002Fdashboards\u002Feduc-serv\u002Fpredictive-aggregated","fr\u002F3.using\u002F4.dashboards\u002F3.educ-serv\u002F6.predictive-aggregated",{"title":156,"path":157,"stem":158},"PEVR","\u002Ffr\u002Fusing\u002Fdashboards\u002Feduc-serv\u002Fpevr","fr\u002F3.using\u002F4.dashboards\u002F3.educ-serv\u002F7.pevr",{"title":160,"path":161,"stem":162},"Absentéisme","\u002Ffr\u002Fusing\u002Fdashboards\u002Feduc-serv\u002Fabsenteeism","fr\u002F3.using\u002F4.dashboards\u002F3.educ-serv\u002F8.absenteeism",{"title":164,"path":165,"stem":166},"Diplôme","\u002Ffr\u002Fusing\u002Fdashboards\u002Feduc-serv\u002Fdiplome","fr\u002F3.using\u002F4.dashboards\u002F3.educ-serv\u002F9.diplome",{"title":168,"redirect":169,"path":169,"stem":170,"children":171,"page":16},"Organisation scolaire","\u002Ffr\u002Fusing\u002Fdashboards\u002Fschool-org","fr\u002F3.using\u002F4.dashboards\u002F4.school-org",[172],{"title":173,"path":174,"stem":175},"Anomalies","\u002Ffr\u002Fusing\u002Fdashboards\u002Fschool-org\u002Fanomalies","fr\u002F3.using\u002F4.dashboards\u002F4.school-org\u002F1.anomalies",{"title":177,"path":178,"stem":179,"children":180,"page":16},"DirectionGenerale","\u002Ffr\u002Fusing\u002Fdashboards\u002Fdirection_generale","fr\u002F3.using\u002F4.dashboards\u002F5.direction_generale",[181],{"title":156,"path":182,"stem":183},"\u002Ffr\u002Fusing\u002Fdashboards\u002Fdirection_generale\u002Fpevr","fr\u002F3.using\u002F4.dashboards\u002F5.direction_generale\u002F1.pevr",{"title":185,"path":186,"stem":187},"Row Level Security","\u002Ffr\u002Fusing\u002Fdashboards\u002Frls","fr\u002F3.using\u002F4.dashboards\u002F5.rls",{"title":189,"redirect":90,"path":190,"stem":191,"children":192,"page":16},"Marts de données","\u002Ffr\u002Fusing\u002Fmarts","fr\u002F3.using\u002F6.marts",[193,196,199],{"title":5,"path":194,"stem":195},"\u002Ffr\u002Fusing\u002Fmarts\u002Fmarts","fr\u002F3.using\u002F6.marts\u002F1.marts",{"title":127,"path":197,"stem":198},"\u002Ffr\u002Fusing\u002Fmarts\u002Feducational-service","fr\u002F3.using\u002F6.marts\u002F2.educational-service",{"title":98,"path":200,"stem":201},"\u002Ffr\u002Fusing\u002Fmarts\u002Fhuman-resources","fr\u002F3.using\u002F6.marts\u002F3.human-resources",{"title":203,"path":204,"stem":205},"Checklist de production","\u002Ffr\u002Fusing\u002Fproduction","fr\u002F3.using\u002F7.production",{"title":207,"redirect":208,"path":209,"stem":210,"children":211,"page":16},"Guide développeur","\u002Ffr\u002Fcontributing\u002Fgetting-started","\u002Ffr\u002Fcontributing","fr\u002F4.contributing",[212,215,224],{"title":213,"path":208,"stem":214},"Premiers pas","fr\u002F4.contributing\u002F1.getting-started",{"title":216,"redirect":217,"path":218,"stem":219,"children":220,"page":16},"Conventions","\u002Ffr\u002Fcontributing\u002Fconventions\u002Fgetting-started","\u002Ffr\u002Fcontributing\u002Fconventions","fr\u002F4.contributing\u002F2.conventions",[221],{"title":222,"path":217,"stem":223},"Getting Started","fr\u002F4.contributing\u002F2.conventions\u002F1.getting-started",{"title":225,"path":226,"stem":227,"children":228,"page":16},"Référence docs","\u002Ffr\u002Fcontributing\u002Fdocs","fr\u002F4.contributing\u002F99.docs",[229],{"title":230,"path":231,"stem":232},"Composants","\u002Ffr\u002Fcontributing\u002Fdocs\u002Fcomponents","fr\u002F4.contributing\u002F99.docs\u002F1.components",{"title":234,"redirect":6,"path":235,"stem":236,"children":237,"page":16},"Migrations","\u002Ffr\u002Fmigrations","fr\u002F5.migrations",[238],{"title":239,"path":240,"stem":241},"V0.17 -> V0.18","\u002Ffr\u002Fmigrations\u002Fv0.17_to_v0.18","fr\u002F5.migrations\u002F1.v0.17_to_v0.18",{"id":243,"title":69,"body":244,"description":254,"extension":646,"links":647,"meta":648,"navigation":649,"path":70,"seo":650,"stem":71,"__hash__":651},"docs_fr\u002Ffr\u002F3.using\u002F3.configuration\u002F1.architecture\u002F2.marts-reporting.md",{"type":245,"value":246,"toc":634},"minimark",[247,251,255,258,269,272,277,285,295,300,306,309,315,321,327,332,336,345,351,354,360,364,370,373,377,480,484,487,490,496,506,510,516,522,528,534,538,541,547,550,553,559,563,569,571,577,580,587,591,594,600,603,606,612,616,619],[248,249,69],"h1",{"id":250},"marts-et-couche-reporting",[252,253,254],"p",{},"Le Store ne demande pas à Power BI d'être l'entrepôt analytique.",[252,256,257],{},"La séparation est la suivante:",[259,260,266],"pre",{"className":261,"code":263,"language":264,"meta":265},[262],"language-text","Marts\n  = vérité analytique gouvernée\n\nCouche reporting\n  = tables de service pour Power BI\n","text","",[267,268,263],"code",{"__ignoreMap":265},[252,270,271],{},"Les deux couches peuvent être construites en SQL\u002Fdbt, mais elles n'ont pas le même rôle.",[273,274,276],"h2",{"id":275},"marts-la-vérité-analytique","Marts: la vérité analytique",[252,278,279,280,284],{},"Un ",[281,282,283],"em",{},"mart"," est la couche où les concepts métier sont stabilisés.",[252,286,287,288,290,291,294],{},"Il sert à définir une information une fois, avec un grain clair, des clés stables et des dimensions réutilisables. Une table de ",[281,289,283],{}," doit pouvoir servir plusieurs usages, plusieurs pages ou plusieurs ",[281,292,293],{},"dashboards",".",[252,296,279,297,299],{},[281,298,283],{}," contient typiquement:",[259,301,304],{"className":302,"code":303,"language":264,"meta":265},[262],"faits au grain explicite\ndimensions conformes\nclés stables\ndéfinitions métier propres\nhistorisation maîtrisée\nindicateurs réutilisables\n",[267,305,303],{"__ignoreMap":265},[252,307,308],{},"Exemples:",[259,310,313],{"className":311,"code":312,"language":264,"meta":265},[262],"fact_resultats_examens\ndim_ecole\ndim_date\ndim_eleve\ndim_matiere\n\nfact_absences_personnel\ndim_ecole\ndim_date\ndim_personnel\ndim_corps_emploi\n\nfact_sondages\ndim_ecole\ndim_campagne\ndim_theme\ndim_population\n",[267,314,312],{"__ignoreMap":265},[252,316,317,318,320],{},"Le ",[281,319,283],{}," répond à des questions comme:",[259,322,325],{"className":323,"code":324,"language":264,"meta":265},[262],"Quel est le grain officiel de cette donnée?\nQuelle dimension école doit être utilisée?\nComment définit-on une absence?\nQuelle est la définition stable du taux de réussite?\nCette métrique doit-elle être réutilisable par plusieurs rapports?\n",[267,326,324],{"__ignoreMap":265},[252,328,317,329,331],{},[281,330,283],{}," ne devrait pas contenir une table simplement parce qu'elle est pratique pour une page Power BI. Il doit porter les définitions qui méritent d'être gouvernées.",[273,333,335],{"id":334},"reporting-la-couche-de-service-power-bi","Reporting: la couche de service Power BI",[252,337,338,339,342,343,294],{},"La couche de ",[281,340,341],{},"reporting"," prépare les tables finales consommées par les ",[281,344,293],{},[252,346,347,348,350],{},"Elle peut être volontairement dénormalisée. Une table de ",[281,349,341],{}," peut répéter des libellés, embarquer des seuils, précalculer des variations et exposer directement les colonnes nécessaires à une page Power BI.",[252,352,353],{},"Elle contient typiquement:",[259,355,358],{"className":356,"code":357,"language":264,"meta":265},[262],"tables larges\none-big-tables\nsorties préagrégées\nvaleurs calculées\nvariations\nstatuts\nlibellés\nseuils\nrangs\nscores\nindicateurs composites\ncolonnes de tri ou d'affichage\n",[267,359,357],{"__ignoreMap":265},[252,361,338,362,320],{},[281,363,341],{},[259,365,368],{"className":366,"code":367,"language":264,"meta":265},[262],"De quelles colonnes cette page Power BI a-t-elle besoin?\nQuels calculs doivent être prêts avant l'ouverture du rapport?\nQuels libellés, statuts ou seuils doivent être affichés?\nQuelle table rend le modèle Power BI plus simple?\n",[267,369,367],{"__ignoreMap":265},[252,371,372],{},"Le but n'est pas de faire du Kimball pur dans Power BI. Le but est de livrer à Power BI des tables faciles à utiliser, pré-calculées et stables du point de vue du rapport.",[273,374,376],{"id":375},"différence-entre-les-deux-couches","Différence entre les deux couches",[378,379,380,396],"table",{},[381,382,383],"thead",{},[384,385,386,390,393],"tr",{},[387,388,389],"th",{},"Question",[387,391,392],{},"Mart",[387,394,395],{},"Reporting",[397,398,399,411,422,433,444,455,469],"tbody",{},[384,400,401,405,408],{},[402,403,404],"td",{},"Rôle",[402,406,407],{},"Gouverner la vérité analytique.",[402,409,410],{},"Servir un ou plusieurs rapports Power BI.",[384,412,413,416,419],{},[402,414,415],{},"Modèle",[402,417,418],{},"Kimball: faits, dimensions, grain explicite.",[402,420,421],{},"OBT, tables larges, sorties préagrégées.",[384,423,424,427,430],{},[402,425,426],{},"Réutilisation",[402,428,429],{},"Pensé pour plusieurs usages.",[402,431,432],{},"Pensé pour un usage de restitution.",[384,434,435,438,441],{},[402,436,437],{},"Grain",[402,439,440],{},"Strict et documenté.",[402,442,443],{},"Adapté au besoin du visuel ou du rapport.",[384,445,446,449,452],{},[402,447,448],{},"Calculs",[402,450,451],{},"Définitions métier canoniques.",[402,453,454],{},"Calculs de restitution, statuts, variations, seuils.",[384,456,457,460,466],{},[402,458,459],{},"Consommateur",[402,461,462,463,465],{},"Autres modèles dbt, autres ",[281,464,293],{},", analyses.",[402,467,468],{},"Power BI.",[384,470,471,474,477],{},[402,472,473],{},"Risque à éviter",[402,475,476],{},"Trop de logique locale ou de colonnes de présentation.",[402,478,479],{},"Devenir une deuxième vérité métier.",[273,481,483],{"id":482},"kimball-et-obt-ne-sopposent-pas-ici","Kimball et OBT ne s'opposent pas ici",[252,485,486],{},"Dans cette architecture, Kimball et OBT ne sont pas deux choix concurrents.",[252,488,489],{},"Ils répondent à deux moments différents du flux:",[259,491,494],{"className":492,"code":493,"language":264,"meta":265},[262],"Kimball en amont\n  -> gouvernance, cohérence, réutilisation\n\nOBT en aval\n  -> simplicité Power BI, performance, lisibilité\n",[267,495,493],{"__ignoreMap":265},[252,497,498,499,501,502,505],{},"Une OBT de ",[281,500,341],{}," est acceptable lorsqu'elle est alimentée par des ",[281,503,504],{},"marts"," propres et qu'elle ne redéfinit pas silencieusement les concepts métier.",[273,507,509],{"id":508},"règle-de-promotion","Règle de promotion",[252,511,512,513,515],{},"Une information peut commencer dans la couche de ",[281,514,341],{}," si elle sert un besoin local.",[252,517,518,519,521],{},"Elle doit être promue vers un ",[281,520,283],{}," lorsqu'elle devient réutilisée, stable ou structurante.",[259,523,526],{"className":524,"code":525,"language":264,"meta":265},[262],"Information utilisée par un seul dashboard\n-> reste dans reporting\n\nInformation utilisée par plusieurs dashboards\n-> candidat pour un mart\n\nInformation transversale, stratégique ou gouvernée\n-> doit être dans un mart\n",[267,527,525],{"__ignoreMap":265},[252,529,530,531,533],{},"Cette règle évite que la couche de ",[281,532,341],{}," devienne une deuxième vérité métier.",[273,535,537],{"id":536},"exemples-de-promotion","Exemples de promotion",[252,539,540],{},"Ces métriques peuvent commencer dans un rapport, mais devraient être promues si elles deviennent communes:",[259,542,545],{"className":543,"code":544,"language":264,"meta":265},[262],"taux d'absentéisme normalisé\nindice de climat par école\nscore de risque RH\ntaux de réussite ajusté\nratio ressources \u002F résultats\nstatut de performance institutionnel\n",[267,546,544],{"__ignoreMap":265},[252,548,549],{},"La question à poser n'est pas seulement: \"Cette métrique est-elle utile?\"",[252,551,552],{},"La bonne question est:",[259,554,557],{"className":555,"code":556,"language":264,"meta":265},[262],"Cette métrique doit-elle devenir une définition commune du Store?\n",[267,558,556],{"__ignoreMap":265},[273,560,562],{"id":561},"tables-de-filtres-par-grain","Tables de filtres par grain",[252,564,565,566,568],{},"Pour Power BI, la couche de ",[281,567,341],{}," peut exposer des tables de filtres adaptées au grain du domaine ou du rapport.",[252,570,308],{},[259,572,575],{"className":573,"code":574,"language":264,"meta":265},[262],"filter_ecole_annee\nfilter_sondage_theme_population\nfilter_resultat_matiere_niveau\nfilter_rh_ecole_corps_emploi\n",[267,576,574],{"__ignoreMap":265},[252,578,579],{},"Ces tables servent à synchroniser les filtres entre les pages, contrôler les combinaisons valides et éviter de répéter les mêmes colonnes de filtre partout.",[252,581,582,583,586],{},"Le principe est de créer des ",[281,584,585],{},"filter spines"," par grain plutôt qu'une table de filtres universelle qui mélange tous les domaines.",[273,588,590],{"id":589},"rôle-attendu-de-power-bi","Rôle attendu de Power BI",[252,592,593],{},"Power BI doit principalement:",[259,595,598],{"className":596,"code":597,"language":264,"meta":265},[262],"afficher\nfiltrer\nnaviguer\nmettre en forme\ngérer l'interaction utilisateur\n",[267,599,597],{"__ignoreMap":265},[252,601,602],{},"Power BI ne devrait pas porter la logique métier lourde lorsque cette logique peut être calculée en SQL\u002Fdbt.",[252,604,605],{},"Cela limite:",[259,607,610],{"className":608,"code":609,"language":264,"meta":265},[262],"les définitions divergentes entre rapports\nla logique cachée dans les mesures DAX\nles calculs difficiles à tester\nla dépendance au modèle sémantique Power BI\n",[267,611,609],{"__ignoreMap":265},[273,613,615],{"id":614},"doctrine","Doctrine",[252,617,618],{},"La doctrine peut se résumer ainsi:",[620,621,622],"blockquote",{},[252,623,624,625,627,628,630,631,633],{},"Les ",[281,626,504],{}," constituent la couche analytique canonique, organisée selon une modélisation Kimball par vertical métier. La couche Power BI ne porte pas la logique métier lourde. Elle consomme des tables de ",[281,629,341],{}," dénormalisées, pré-calculées en SQL, et reliées à des tables de filtres par grain. Les métriques qui deviennent réutilisables ou structurantes sont progressivement promues vers les ",[281,632,504],{}," canoniques.",{"title":265,"searchDepth":635,"depth":635,"links":636},2,[637,638,639,640,641,642,643,644,645],{"id":275,"depth":635,"text":276},{"id":334,"depth":635,"text":335},{"id":375,"depth":635,"text":376},{"id":482,"depth":635,"text":483},{"id":508,"depth":635,"text":509},{"id":536,"depth":635,"text":537},{"id":561,"depth":635,"text":562},{"id":589,"depth":635,"text":590},{"id":614,"depth":635,"text":615},"md",null,{},true,{"title":69,"description":254},"PqgUgq_zjfmNTqJzWqHaueK0V5E0VoAwS5_NwPJY3f4",[653,654],{"title":65,"path":66,"stem":67,"description":265,"children":-1},{"title":73,"path":74,"stem":75,"description":265,"children":-1},1781106575933]