[{"data":1,"prerenderedAt":1031},["ShallowReactive",2],{"docs-nav:fr":3,"docs:\u002Ffr\u002Fdocs\u002Fschema\u002Fstandard-schema":137},[4],{"title":5,"path":6,"stem":7,"children":8,"page":44},"Fr","\u002Ffr","fr",[9],{"title":10,"path":11,"stem":12,"children":13},"Qu'est-ce que Fougere","\u002Ffr\u002Fdocs","fr\u002Fdocs\u002Findex",[14,15,19,23,27,45,66,95,116],{"title":10,"path":11,"stem":12},{"title":16,"path":17,"stem":18},"Démarrer","\u002Ffr\u002Fdocs\u002Fgetting-started","fr\u002Fdocs\u002F01.getting-started",{"title":20,"path":21,"stem":22},"App Nuxt existante","\u002Ffr\u002Fdocs\u002Fexisting-app","fr\u002Fdocs\u002F02.existing-app",{"title":24,"path":25,"stem":26},"La CLI","\u002Ffr\u002Fdocs\u002Fcli","fr\u002Fdocs\u002F03.cli",{"title":28,"path":29,"stem":30,"children":31,"page":44},"Concepts","\u002Ffr\u002Fdocs\u002Fconcepts","fr\u002Fdocs\u002F2.concepts",[32,36,40],{"title":33,"path":34,"stem":35},"Philosophie","\u002Ffr\u002Fdocs\u002Fconcepts\u002Fphilosophy","fr\u002Fdocs\u002F2.concepts\u002F1.philosophy",{"title":37,"path":38,"stem":39},"La Frond","\u002Ffr\u002Fdocs\u002Fconcepts\u002Ffrond","fr\u002Fdocs\u002F2.concepts\u002F2.frond",{"title":41,"path":42,"stem":43},"Le chemin le plus court","\u002Ffr\u002Fdocs\u002Fconcepts\u002Fshortest-path","fr\u002Fdocs\u002F2.concepts\u002F3.shortest-path",false,{"title":46,"path":47,"stem":48,"children":49,"page":44},"Schéma","\u002Ffr\u002Fdocs\u002Fschema","fr\u002Fdocs\u002F3.schema",[50,54,58,62],{"title":51,"path":52,"stem":53},"Entités","\u002Ffr\u002Fdocs\u002Fschema\u002Fentities","fr\u002Fdocs\u002F3.schema\u002F1.entities",{"title":55,"path":56,"stem":57},"Vues","\u002Ffr\u002Fdocs\u002Fschema\u002Fviews","fr\u002Fdocs\u002F3.schema\u002F2.views",{"title":59,"path":60,"stem":61},"La carte d'identité","\u002Ffr\u002Fdocs\u002Fschema\u002Fcard","fr\u002Fdocs\u002F3.schema\u002F3.card",{"title":63,"path":64,"stem":65},"Standard Schema","\u002Ffr\u002Fdocs\u002Fschema\u002Fstandard-schema","fr\u002Fdocs\u002F3.schema\u002F4.standard-schema",{"title":67,"path":68,"stem":69,"children":70,"page":44},"Métier","\u002Ffr\u002Fdocs\u002Fbusiness","fr\u002Fdocs\u002F4.business",[71,75,79,83,87,91],{"title":72,"path":73,"stem":74},"Handlers","\u002Ffr\u002Fdocs\u002Fbusiness\u002Fhandlers","fr\u002Fdocs\u002F4.business\u002F1.handlers",{"title":76,"path":77,"stem":78},"Presenters","\u002Ffr\u002Fdocs\u002Fbusiness\u002Fpresenters","fr\u002Fdocs\u002F4.business\u002F2.presenters",{"title":80,"path":81,"stem":82},"Collectors","\u002Ffr\u002Fdocs\u002Fbusiness\u002Fcollectors","fr\u002Fdocs\u002F4.business\u002F3.collectors",{"title":84,"path":85,"stem":86},"Erreurs","\u002Ffr\u002Fdocs\u002Fbusiness\u002Ferrors","fr\u002Fdocs\u002F4.business\u002F4.errors",{"title":88,"path":89,"stem":90},"Seeds","\u002Ffr\u002Fdocs\u002Fbusiness\u002Fseeds","fr\u002Fdocs\u002F4.business\u002F5.seeds",{"title":92,"path":93,"stem":94},"Les faits","\u002Ffr\u002Fdocs\u002Fbusiness\u002Ffacts","fr\u002Fdocs\u002F4.business\u002F6.facts",{"title":96,"path":97,"stem":98,"children":99,"page":44},"Client","\u002Ffr\u002Fdocs\u002Fclient","fr\u002Fdocs\u002F5.client",[100,104,108,112],{"title":101,"path":102,"stem":103},"Queries & commands","\u002Ffr\u002Fdocs\u002Fclient\u002Fqueries-commands","fr\u002Fdocs\u002F5.client\u002F1.queries-commands",{"title":105,"path":106,"stem":107},"Formulaires","\u002Ffr\u002Fdocs\u002Fclient\u002Fforms","fr\u002Fdocs\u002F5.client\u002F2.forms",{"title":109,"path":110,"stem":111},"Session","\u002Ffr\u002Fdocs\u002Fclient\u002Fsession","fr\u002Fdocs\u002F5.client\u002F3.session",{"title":113,"path":114,"stem":115},"invoke","\u002Ffr\u002Fdocs\u002Fclient\u002Finvoke","fr\u002Fdocs\u002F5.client\u002F4.invoke",{"title":117,"path":118,"stem":119,"children":120,"page":44},"Infrastructure","\u002Ffr\u002Fdocs\u002Finfra","fr\u002Fdocs\u002F6.infra",[121,125,129,133],{"title":122,"path":123,"stem":124},"Le gradient","\u002Ffr\u002Fdocs\u002Finfra\u002Fgradient","fr\u002Fdocs\u002F6.infra\u002F1.gradient",{"title":126,"path":127,"stem":128},"Surfaces — REST & GraphQL","\u002Ffr\u002Fdocs\u002Finfra\u002Fsurfaces","fr\u002Fdocs\u002F6.infra\u002F2.surfaces",{"title":130,"path":131,"stem":132},"Déploiement","\u002Ffr\u002Fdocs\u002Finfra\u002Fdeployment","fr\u002Fdocs\u002F6.infra\u002F3.deployment",{"title":134,"path":135,"stem":136},"Hôtes","\u002Ffr\u002Fdocs\u002Finfra\u002Fhosts","fr\u002Fdocs\u002F6.infra\u002F4.hosts",{"id":138,"title":63,"body":139,"description":1026,"extension":1027,"meta":1028,"navigation":230,"path":64,"seo":1029,"stem":65,"__hash__":1030},"docs_fr\u002Ffr\u002Fdocs\u002F3.schema\u002F4.standard-schema.md",{"type":140,"value":141,"toc":1020},"minimark",[142,146,162,390,399,404,419,422,546,561,565,572,736,759,781,785,788,871,885,892,896,907,989,996,1010,1016],[143,144,63],"h1",{"id":145},"standard-schema",[147,148,149,150,154,155,161],"p",{},"Une entité ",[151,152,153],"strong",{},"est"," un ",[156,157,63],"a",{"href":158,"rel":159},"https:\u002F\u002Fstandardschema.dev\u002F",[160],"nofollow",". C'est la plus petite\nfaçon d'utiliser Fougere : un paquet, une classe, à l'intérieur du framework que vous avez\ndéjà.",[163,164,169],"pre",{"className":165,"code":166,"language":167,"meta":168,"style":168},"language-ts shiki shiki-themes material-theme-lighter github-light github-dark","import { entity, primary, text, bool } from '@fougere\u002Fschema';\n\nexport default class Post extends entity({\n  id: primary(),\n  title: text({ min: 1, max: 200 }),\n  draft: bool({ default: false }),\n}) {}\n\nPost['~standard'];\n\u002F\u002F → { version: 1, vendor: 'fougere', validate }\n","ts","",[170,171,172,225,232,261,279,320,348,360,365,383],"code",{"__ignoreMap":168},[173,174,177,181,185,189,192,195,197,200,202,205,208,211,215,219,222],"span",{"class":175,"line":176},"line",1,[173,178,180],{"class":179},"sVHd0","import",[173,182,184],{"class":183},"sP7_E"," {",[173,186,188],{"class":187},"su5hD"," entity",[173,190,191],{"class":183},",",[173,193,194],{"class":187}," primary",[173,196,191],{"class":183},[173,198,199],{"class":187}," text",[173,201,191],{"class":183},[173,203,204],{"class":187}," bool",[173,206,207],{"class":183}," }",[173,209,210],{"class":179}," from",[173,212,214],{"class":213},"sjJ54"," '",[173,216,218],{"class":217},"s_sjI","@fougere\u002Fschema",[173,220,221],{"class":213},"'",[173,223,224],{"class":183},";\n",[173,226,228],{"class":175,"line":227},2,[173,229,231],{"emptyLinePlaceholder":230},true,"\n",[173,233,235,238,241,245,249,252,255,258],{"class":175,"line":234},3,[173,236,237],{"class":179},"export",[173,239,240],{"class":179}," default",[173,242,244],{"class":243},"sbsja"," class",[173,246,248],{"class":247},"sbgvK"," Post",[173,250,251],{"class":243}," extends",[173,253,188],{"class":254},"sGLFI",[173,256,257],{"class":187},"(",[173,259,260],{"class":183},"{\n",[173,262,264,268,271,273,276],{"class":175,"line":263},4,[173,265,267],{"class":266},"skxfh","  id",[173,269,270],{"class":183},":",[173,272,194],{"class":254},[173,274,275],{"class":187},"()",[173,277,278],{"class":183},",\n",[173,280,282,285,287,289,291,294,297,299,303,305,308,310,313,315,318],{"class":175,"line":281},5,[173,283,284],{"class":266},"  title",[173,286,270],{"class":183},[173,288,199],{"class":254},[173,290,257],{"class":187},[173,292,293],{"class":183},"{",[173,295,296],{"class":266}," min",[173,298,270],{"class":183},[173,300,302],{"class":301},"srdBf"," 1",[173,304,191],{"class":183},[173,306,307],{"class":266}," max",[173,309,270],{"class":183},[173,311,312],{"class":301}," 200",[173,314,207],{"class":183},[173,316,317],{"class":187},")",[173,319,278],{"class":183},[173,321,323,326,328,330,332,334,336,338,342,344,346],{"class":175,"line":322},6,[173,324,325],{"class":266},"  draft",[173,327,270],{"class":183},[173,329,204],{"class":254},[173,331,257],{"class":187},[173,333,293],{"class":183},[173,335,240],{"class":266},[173,337,270],{"class":183},[173,339,341],{"class":340},"syTEX"," false",[173,343,207],{"class":183},[173,345,317],{"class":187},[173,347,278],{"class":183},[173,349,351,354,357],{"class":175,"line":350},7,[173,352,353],{"class":183},"}",[173,355,356],{"class":187},") ",[173,358,359],{"class":183},"{}\n",[173,361,363],{"class":175,"line":362},8,[173,364,231],{"emptyLinePlaceholder":230},[173,366,368,371,373,376,378,381],{"class":175,"line":367},9,[173,369,370],{"class":187},"Post[",[173,372,221],{"class":213},[173,374,375],{"class":217},"~standard",[173,377,221],{"class":213},[173,379,380],{"class":187},"]",[173,382,224],{"class":183},[173,384,386],{"class":175,"line":385},10,[173,387,389],{"class":388},"sutJx","\u002F\u002F → { version: 1, vendor: 'fougere', validate }\n",[147,391,392,394,395,398],{},[170,393,375],{}," est un getter statique sur la classe : ",[170,396,397],{},"Post"," est le schéma lui-même — rien à\nenvelopper, aucun paquet d'adaptation à installer.",[400,401,403],"h2",{"id":402},"où-elle-est-acceptée","Où elle est acceptée",[147,405,406,407,410,411,414,415,418],{},"Toute bibliothèque qui lit la spec prend une entité directement : tRPC, Hono, TanStack\nForm, et — annoncé pour NestJS 12 — un Standard Schema dans ",[170,408,409],{},"@Body",", ",[170,412,413],{},"@Query"," et\n",[170,416,417],{},"@Param",", en successeur de class-validator.",[147,420,421],{},"Les dérivations portent l'interface elles aussi, et c'est ce qui la rend utile à une\nfrontière de route — la forme qu'un appelant peut proposer est rarement la ligne entière :",[163,423,425],{"className":165,"code":424,"language":167,"meta":168,"style":168},"export class PostDraft extends Post.pick('title') {}\nexport class PostPatch extends Post.omit('id').partial() {}\n\nPostDraft['~standard'].validate({ title: 'Bonjour' });  \u002F\u002F → { value: { title: 'Bonjour' } }\n",[170,426,427,459,498,502],{"__ignoreMap":168},[173,428,429,431,433,436,438,440,443,446,448,450,453,455,457],{"class":175,"line":176},[173,430,237],{"class":179},[173,432,244],{"class":243},[173,434,435],{"class":247}," PostDraft",[173,437,251],{"class":243},[173,439,248],{"class":187},[173,441,442],{"class":183},".",[173,444,445],{"class":254},"pick",[173,447,257],{"class":187},[173,449,221],{"class":213},[173,451,452],{"class":217},"title",[173,454,221],{"class":213},[173,456,356],{"class":187},[173,458,359],{"class":183},[173,460,461,463,465,468,470,472,474,477,479,481,484,486,488,490,493,496],{"class":175,"line":227},[173,462,237],{"class":179},[173,464,244],{"class":243},[173,466,467],{"class":247}," PostPatch",[173,469,251],{"class":243},[173,471,248],{"class":187},[173,473,442],{"class":183},[173,475,476],{"class":254},"omit",[173,478,257],{"class":187},[173,480,221],{"class":213},[173,482,483],{"class":217},"id",[173,485,221],{"class":213},[173,487,317],{"class":187},[173,489,442],{"class":183},[173,491,492],{"class":254},"partial",[173,494,495],{"class":187},"() ",[173,497,359],{"class":183},[173,499,500],{"class":175,"line":234},[173,501,231],{"emptyLinePlaceholder":230},[173,503,504,507,509,511,513,515,517,520,522,524,527,529,531,534,536,538,540,543],{"class":175,"line":263},[173,505,506],{"class":187},"PostDraft[",[173,508,221],{"class":213},[173,510,375],{"class":217},[173,512,221],{"class":213},[173,514,380],{"class":187},[173,516,442],{"class":183},[173,518,519],{"class":254},"validate",[173,521,257],{"class":187},[173,523,293],{"class":183},[173,525,526],{"class":266}," title",[173,528,270],{"class":183},[173,530,214],{"class":213},[173,532,533],{"class":217},"Bonjour",[173,535,221],{"class":213},[173,537,207],{"class":183},[173,539,317],{"class":187},[173,541,542],{"class":183},";",[173,544,545],{"class":388},"  \u002F\u002F → { value: { title: 'Bonjour' } }\n",[147,547,548,410,550,410,552,554,555,558,559,442],{},[170,549,445],{},[170,551,476],{},[170,553,492],{}," et ",[170,556,557],{},"extend"," produisent toutes une classe qui est elle-même un\nStandard Schema. Voir ",[156,560,55],{"href":56},[400,562,564],{"id":563},"la-forme-du-résultat","La forme du résultat",[147,566,567,568,571],{},"La validation est ",[151,569,570],{},"synchrone"," — la spec autorise une promesse, ce vendor n'en renvoie\njamais.",[163,573,575],{"className":165,"code":574,"language":167,"meta":168,"style":168},"const result = Post['~standard'].validate({ id: 'abc', title: '' });\n\nif (result.issues) {\n  result.issues[0].message;  \u002F\u002F 'String is too short (0 \u003C 1).'\n  result.issues[0].path;     \u002F\u002F [{ key: 'title' }]\n} else {\n  result.value;              \u002F\u002F la ligne jugée et décodée\n}\n",[170,576,577,636,640,655,683,707,717,731],{"__ignoreMap":168},[173,578,579,582,586,590,593,595,597,599,601,603,605,607,609,612,614,616,619,621,623,625,627,630,632,634],{"class":175,"line":176},[173,580,581],{"class":243},"const",[173,583,585],{"class":584},"s_hVV"," result",[173,587,589],{"class":588},"smGrS"," =",[173,591,592],{"class":187}," Post[",[173,594,221],{"class":213},[173,596,375],{"class":217},[173,598,221],{"class":213},[173,600,380],{"class":187},[173,602,442],{"class":183},[173,604,519],{"class":254},[173,606,257],{"class":187},[173,608,293],{"class":183},[173,610,611],{"class":266}," id",[173,613,270],{"class":183},[173,615,214],{"class":213},[173,617,618],{"class":217},"abc",[173,620,221],{"class":213},[173,622,191],{"class":183},[173,624,526],{"class":266},[173,626,270],{"class":183},[173,628,629],{"class":213}," ''",[173,631,207],{"class":183},[173,633,317],{"class":187},[173,635,224],{"class":183},[173,637,638],{"class":175,"line":227},[173,639,231],{"emptyLinePlaceholder":230},[173,641,642,645,648,650,653],{"class":175,"line":234},[173,643,644],{"class":179},"if",[173,646,647],{"class":187}," (result",[173,649,442],{"class":183},[173,651,652],{"class":187},"issues) ",[173,654,260],{"class":183},[173,656,657,660,662,665,668,671,673,675,678,680],{"class":175,"line":263},[173,658,659],{"class":187},"  result",[173,661,442],{"class":183},[173,663,664],{"class":187},"issues",[173,666,667],{"class":266},"[",[173,669,670],{"class":301},"0",[173,672,380],{"class":266},[173,674,442],{"class":183},[173,676,677],{"class":187},"message",[173,679,542],{"class":183},[173,681,682],{"class":388},"  \u002F\u002F 'String is too short (0 \u003C 1).'\n",[173,684,685,687,689,691,693,695,697,699,702,704],{"class":175,"line":281},[173,686,659],{"class":187},[173,688,442],{"class":183},[173,690,664],{"class":187},[173,692,667],{"class":266},[173,694,670],{"class":301},[173,696,380],{"class":266},[173,698,442],{"class":183},[173,700,701],{"class":187},"path",[173,703,542],{"class":183},[173,705,706],{"class":388},"     \u002F\u002F [{ key: 'title' }]\n",[173,708,709,711,714],{"class":175,"line":322},[173,710,353],{"class":183},[173,712,713],{"class":179}," else",[173,715,716],{"class":183}," {\n",[173,718,719,721,723,726,728],{"class":175,"line":350},[173,720,659],{"class":187},[173,722,442],{"class":183},[173,724,725],{"class":187},"value",[173,727,542],{"class":183},[173,729,730],{"class":388},"              \u002F\u002F la ligne jugée et décodée\n",[173,732,733],{"class":175,"line":362},[173,734,735],{"class":183},"}\n",[147,737,738,740,741,744,745,748,749,752,753,755,756,758],{},[170,739,701],{}," est une liste de segments ",[170,742,743],{},"{ key }",", conformément à la spec. Une erreur portant sur\nl'entrée dans son ensemble — un ",[170,746,747],{},"null",", un non-objet — ne porte ",[151,750,751],{},"aucun"," ",[170,754,701],{},", plutôt\nqu'un ",[170,757,701],{}," vide.",[147,760,761,762,764,765,769,770,773,774,776,777,780],{},"La ",[170,763,725],{}," est la ligne ",[766,767,768],"em",{},"décodée",", pas l'entrée brute : un champ qui déclare une ",[170,771,772],{},"Date","\nrevient en ",[170,775,772],{},", parce que l'",[156,778,779],{"href":52},"axe boundary"," applique sa conversion\nentrante dans le cadre du jugement.",[400,782,784],{"id":783},"les-valeurs-par-défaut-ne-sont-pas-remplies","Les valeurs par défaut ne sont pas remplies",[147,786,787],{},"Un comportement diffère de la plupart des vendors, et c'est la doctrine, pas un oubli.",[163,789,791],{"className":165,"code":790,"language":167,"meta":168,"style":168},"const { value } = Post['~standard'].validate({ id: 'abc', title: 'Bonjour' });\n'draft' in value;  \u002F\u002F false — alors que draft déclare { default: false }\n",[170,792,793,852],{"__ignoreMap":168},[173,794,795,797,799,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850],{"class":175,"line":176},[173,796,581],{"class":243},[173,798,184],{"class":183},[173,800,801],{"class":584}," value",[173,803,207],{"class":183},[173,805,589],{"class":588},[173,807,592],{"class":187},[173,809,221],{"class":213},[173,811,375],{"class":217},[173,813,221],{"class":213},[173,815,380],{"class":187},[173,817,442],{"class":183},[173,819,519],{"class":254},[173,821,257],{"class":187},[173,823,293],{"class":183},[173,825,611],{"class":266},[173,827,270],{"class":183},[173,829,214],{"class":213},[173,831,618],{"class":217},[173,833,221],{"class":213},[173,835,191],{"class":183},[173,837,526],{"class":266},[173,839,270],{"class":183},[173,841,214],{"class":213},[173,843,533],{"class":217},[173,845,221],{"class":213},[173,847,207],{"class":183},[173,849,317],{"class":187},[173,851,224],{"class":183},[173,853,854,856,859,861,864,866,868],{"class":175,"line":227},[173,855,221],{"class":213},[173,857,858],{"class":217},"draft",[173,860,221],{"class":213},[173,862,863],{"class":588}," in",[173,865,801],{"class":187},[173,867,542],{"class":183},[173,869,870],{"class":388},"  \u002F\u002F false — alors que draft déclare { default: false }\n",[147,872,873,874,876,877,880,881,884],{},"Le juge décide si un ",[170,875,858],{}," absent est ",[766,878,879],{},"légal",". Il l'est, donc l'entrée passe. Mais\n",[151,882,883],{},"remplir"," le trou revient au stockage, au moment de la persistance — une valeur qui\napparaîtrait de nulle part pendant la validation est une valeur que l'appelant n'a jamais\nenvoyée et qu'on ne peut pas lui opposer. Juger et réaliser restent séparés : la même\nentrée jugée deux fois ne gagne jamais un champ en chemin.",[147,886,887,888,891],{},"Si vous remplacez un schéma Zod dont vous utilisiez le ",[170,889,890],{},".default()"," au niveau de la route,\ncette ligne doit se déplacer là où la ligne est écrite.",[400,893,895],{"id":894},"ce-qui-ne-traverse-pas","Ce qui ne traverse pas",[147,897,898,899,902,903,906],{},"Standard Schema est une seule fonction : ",[170,900,901],{},"validate(value) → value | issues",". Elle porte\nl'axe ",[151,904,905],{},"shape",", et rien d'autre.",[908,909,910,927],"table",{},[911,912,913],"thead",{},[914,915,916,919,924],"tr",{},[917,918],"th",{},[917,920,921,922],{},"traverse ",[170,923,375],{},[917,925,926],{},"reste à la maison",[928,929,930,943,956,969],"tbody",{},[914,931,932,938,941],{},[933,934,935,937],"td",{},[170,936,905],{}," — les mots-clés JSON Schema",[933,939,940],{},"✅",[933,942],{},[914,944,945,951,953],{},[933,946,947,950],{},[170,948,949],{},"role"," — primary, relations, unique",[933,952],{},[933,954,955],{},"la DDL, le type GraphQL",[914,957,958,964,966],{},[933,959,960,963],{},[170,961,962],{},"lifecycle"," — qui écrit, et quand",[933,965],{},[933,967,968],{},"l'ORM qui l'estampille",[914,970,971,977,980],{},[933,972,973,976],{},[170,974,975],{},"boundary"," — direction, conversions",[933,978,979],{},"en partie — le décodage entrant s'applique",[933,981,982,985,986],{},[170,983,984],{},"inputFields"," \u002F ",[170,987,988],{},"outputFields",[147,990,991,992,995],{},"Un consommateur hors de Fougere obtient donc le juge, dans le navigateur ou sur son\nserveur, avec les règles qu'applique la façade. Il n'obtient ni la table, ni les surfaces,\nni le contrat de formulaire — ceux-là lisent ",[170,993,994],{},"Post.getFields()",", qui est un appel Fougere.",[147,997,998,999,1002,1003,1006,1007,442],{},"Pour la forme sérialisable de la même déclaration — celle qui traverse un ",[766,1000,1001],{},"processus"," ou un\n",[766,1004,1005],{},"langage"," plutôt qu'une frontière de bibliothèque — voir\n",[156,1008,1009],{"href":60},"la carte d'identité",[147,1011,1012,1013,1015],{},"Suite : ",[156,1014,72],{"href":73}," — opérations, règles de liaison, portée de sortie.",[1017,1018,1019],"style",{},"html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}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 .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":168,"searchDepth":227,"depth":227,"links":1021},[1022,1023,1024,1025],{"id":402,"depth":227,"text":403},{"id":563,"depth":227,"text":564},{"id":783,"depth":227,"text":784},{"id":894,"depth":227,"text":895},"Chaque entité implémente Standard Schema v1, et se trouve donc acceptée hors de Fougere sans adaptateur.","md",{},{"title":63,"description":1026},"xyWrVGwjSwkOnxq6yQBj1AiE2uD8ujiv6SJ3luMXt00",1786637819832]