From 0fc09ae416129af49ae27b762c4345e9f2517312 Mon Sep 17 00:00:00 2001 From: The17thDoctor Date: Fri, 31 Mar 2023 00:49:11 +0200 Subject: [PATCH] =?UTF-8?q?Gros=20progr=C3=A8s,=20statistiques=2080%,=20re?= =?UTF-8?q?ste=20=C3=A0=20faire=20le=20school-info?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/fili-info.riot | 109 +- components/line-graph.riot | 31 +- components/main-controller.riot | 88 +- components/school.riot | 112 +- components/search.riot | 2 +- components/title-progress.riot | 49 + favicon.ico | Bin 0 -> 192758 bytes index.html | 3 +- javascript/fili-info.js | 159 +- javascript/line-graph.js | 27 +- javascript/main-controller.js | 163 +- javascript/parcoursup-link.js | 10 +- javascript/school-info.js | 16 +- javascript/school.js | 208 +- javascript/search.js | 40 +- javascript/title-progress.js | 68 + loader.js | 3 + resources/logo-parcoursup.svg | 205 +- resources/logo.svg | 75 + style/parcoursup.css | 7 +- test.json | 4232 ++++++++++++++++++++++++++----- 21 files changed, 4427 insertions(+), 1180 deletions(-) create mode 100644 components/title-progress.riot create mode 100644 favicon.ico create mode 100644 javascript/title-progress.js create mode 100644 resources/logo.svg diff --git a/components/fili-info.riot b/components/fili-info.riot index db5e9c2..bfaad86 100644 --- a/components/fili-info.riot +++ b/components/fili-info.riot @@ -9,32 +9,127 @@

Moyenne des admis{state.average}

Nombre de formations{state.courseNumber}

Capacité{state.capacity}

-

Sélectivité

+
- +
- +
- +
diff --git a/components/line-graph.riot b/components/line-graph.riot index afeeb8f..3556e38 100644 --- a/components/line-graph.riot +++ b/components/line-graph.riot @@ -10,7 +10,7 @@ updateCanvas() { let canvas = this.$("canvas") - if (!canvas) return + if (!canvas || !this.props.data || !this.props.title) return canvas.width = canvas.clientWidth canvas.height = canvas.clientHeight @@ -23,13 +23,14 @@ let height = canvas.height let spacing = 1 - let data = this.state.data + let data = this.props.data let colors = [ "#003F5C", "#2F4B7C", "#665191", "#A05195", - "#D45087" + "#D45087", + "#D47150" ] cx.clearRect(0, 0, width, height) @@ -48,9 +49,10 @@ let counter = 0 let legendWidth = 0 for (let field of data) { + if (field.value == 0) continue let start = curr + spacing let barWidth = field.value / total * width - spacing * 2 - let text = `${Math.round(field.value / total * 1000) / 10}% (${field.name})` + let text = `${Math.round(field.value / total * 1000) / 10}% (${field.short || field.name})` cx.fillStyle = colors[counter] cx.fillRect(start, 0, barWidth, height / 3) @@ -58,14 +60,15 @@ cx.fillStyle = "#FFFFFF" if (cx.measureText(text).width < barWidth) { cx.fillText(text, start + barWidth / 2, height / 6) - } else if (cx.measureText("...").width < barWidth) { - cx.fillText("...", start + barWidth / 2, height / 6) + } else if (cx.measureText(`${Math.round(field.value / total * 1000) / 10}%`).width < barWidth) { + cx.fillText(`${Math.round(field.value / total * 1000) / 10}%`, start + barWidth / 2, height / 6) } curr += field.value / total * width counter++ - - legendWidth += cx.measureText(field.name).width + 25 + 15 // += textWidth + squareWidth + margin + + let legendText = field.name + (field.short ? ` (${field.short})` : "") + legendWidth += cx.measureText(legendText).width + 25 + 15 } cx.textAlign = "left" @@ -74,20 +77,18 @@ counter = 0 for (let field of data) { + if (field.value == 0) continue cx.fillStyle = colors[counter] cx.fillRect(0, 0, 25, 25) cx.fillStyle = "#707070" - cx.fillText(field.name, 30, 12.5) - cx.translate(cx.measureText(field.name).width + 25 + 15, 0) + + let legendText = field.name + (field.short ? ` (${field.short})` : "") + cx.fillText(legendText, 30, 12.5) + cx.translate(cx.measureText(legendText).width + 25 + 15, 0) counter++ } }, - state: { - data: [], - title: "Example" - }, - onMounted() { let canvas = this.$("canvas") this.updateCanvas() diff --git a/components/main-controller.riot b/components/main-controller.riot index 84b9374..ee6ad4d 100644 --- a/components/main-controller.riot +++ b/components/main-controller.riot @@ -8,28 +8,96 @@
- - + +
\ No newline at end of file diff --git a/components/search.riot b/components/search.riot index 6105297..57c12aa 100644 --- a/components/search.riot +++ b/components/search.riot @@ -38,7 +38,7 @@ promise = PAPI.fetchFiliere(this.state.course.fili) break case 2: - promise = PAPI.fetchSpecialites(this.state.course.sousfili) + promise = PAPI.fetchSpecialites(this.state.course.fili, this.state.course.sousfili) break default: diff --git a/components/title-progress.riot b/components/title-progress.riot new file mode 100644 index 0000000..4d05895 --- /dev/null +++ b/components/title-progress.riot @@ -0,0 +1,49 @@ + + +
+ {props.title} + {calcPct()} + +
+ + + +
\ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3364d9d91d5088d7c6aa463abb9c47af69a52108 GIT binary patch literal 192758 zcmeI5eT*Ds9mnSmXaNbOkPtOU3q8g3yn4sASFhaeT>ujrF+$1SUWhS8fdtyUrB;H* zNEbmMD*l0jfK?;0yu<{g0wNkcPy-TP6jUe*xkSVmT3TL((%$3u*_*k}?C$OD&dogY z{ARw}Jl&UPp6B^J-|z1;&+P2(jpKCS-?KX${J+$h+|%hC>p0FwQJzKF-ZA|;9yvWc_aH>T=Pup$fO7*e+e)Tn!-=RE@@;1s&l)s?v4wSL(ZgoW3=FRy~fw&at>r;a# zpRE1}hExmXO)&NiY_}+`c-Su$kgfpMpao#$2Pji5FjdRlD`<0;bPX6k6^L4a!9jI2 z)}Mz$Fy&`VGkKlksLrV4V}DdYq5|OI5R~7}ldBoVz-UFH4vd)!M6Cc=_+C_8x&2Jx z{o0vP$I1SvfFuQQ-s0onVSmJI={4*{{r*jo7L1h&M5zE6crXU8s>g>|yEa4_EBm4X zQWWUzRZHXI%I)__DOxa2DiEatc%QW?X13J8fI1<{nAsN zAW8+m)sqI;szezx`=SC86aZKMiJL9-zg2=3jFAdNsQ~hRw*j`cMHw^uq5={WAX^e# zVvG_MAX^e$W6Tm1AX^e#VvG_MAX^e$W6Tm1AX^e#VvG_MAX^e$W6Tm1AX^e#VvG_M zAX^e$W6Tm1AX^e#VvG_MAX^e$W6Tm1AX^e#VvG_MAX^e$W6Tm1AX^e#VvG_MAX^e$ zW6Tm1AX^e#VvG_MAX^e$W6Tm1AX^e#VvG_MAX^e$W6Tm1AX^e#VvG_MAX^e$W6Tm1 zAX^e#VvG_MAX^e$W6Tm1AX^e#VvG_MAX^e$W6Tm1AX^e#VvG_MAX^e$W6Tm1AX^e# zVvG_MAX^e$W6Tm1AX^e#VvMaS(9@$9<2t~fMP6@3xew(Tlot{zaa=>ZdaYy3$Ghis zOj=D2ZWl^{RjbsAVCr_{++JVadHI*-d$JWOW7ueJ1ymXKPbo@UTn9MwVV!IDOGvp0eH!1;Ey?$(DU=Z8-b1W5$cQ^T$VX_o3`U zQNHp99zRqn<}N9%8#&I7OkxzZ3V^HU$(B8AUHIw#!%L$>mw}zvd@T97s(rk7yqLfF z;=;)LYrW<3WEB8cZ;-73TR%<8ky0VI9Bb7JEix5gtUQ|AQ!3`yB^5iztyh3-1-R1Z zGOnvvDgIYB7V@WRKEiP2Yco|Y=Drz!v>c%o1&~WSxNaTbYvoF{sTJL#+@@SOGxM)XGh!o1kY{MviM%9c*-Zj zMZ{K7DFCj%M7Czw+KKNg9~_mot@Hz?z7jE49%sLAWqfWEp91=KT4Za6tsCQ0y1wU& z&K+6|uA(~@tXa!&Zsb$-qw*D#3V^M9$(Q;cG&tU*?&HOw^I}@FytV6glk?$N^$PU$ zspZJ4_cG4cHTBBG`^tDB_w$(9dVT%+kwfF11$&=M0dS>%Yi#rP)8mZo3H`g!xipHp z9$dW=Gg}JBg#%H?&Hma|Ky`qvJ2S}FPRw~(yK2pM`%0mE0l1oqo2~J}(Ao2imF?%R zfZliG9Q3Uj;_Ergw`=~&wco=R$MPSFohzK%C>L@Y+mDVd;!;3=ehR+cOgUpe(|;c> zE)D1Ew^UrS%m`bf`OS01!g{j`fU6In+?X=PrZAs}QHIQ_Sw9-ts@EiIueisFXCfc3 z!|{{;dxbhT9~V*{#TvXFvEG7m(dyO8n%`rPt*nv6`I=IIY?)G;<77<%vXwQ*IbTx> zkS$Y6bDXRxK(?~xIOl6h0kUOEX^xXM1;|#`9OryZDL}SNDa~=RrU2Q>n&X_WDFw)u zDWy41))XLHS#zB8HKhRAGNm-f$(jOWD{GE(zNQo)Tc(ueI9XGGY-P=H&exOzWXqJ& z94BiEkgcpa&iR^BfNYskn&V_m0kV}f$2nh93Xm;RN^_j7DL}Te<~ZkTN&&KEN@w@v+=#Z-aLvX?asLvoC9==N^+b{yqs;4=m`JV6j!~&Now$DDdgS-NlFIR< z#wA;sP5amd#wS~`rdp;t zzvQfuqmb9TY{~7U;~-m^O8;0Vi}zR;B%RMTjZd~>O}9*S4z}*KDYui3#WuFwYtwh( zy7W0*=lzp?eQNoN73zJNN>ZVdMJ~UUbUxcOz71^k_p8If(gi5@QW0+ovgwphx3EW zZOCV>!rj_$S9v9qmWM7Evlt8qM88 zwmi1-cSWh~Tz%nu`Uk<)TQRVuuof2Q8lUy?DuD04pFy@v8gxdkoqeJC4%tv%tVBF|ws_UZc-+K5@LD0@J_S_l}D)dB49j zHk=Ep67Ms8J}*wL+`g}jcNXlu6$MJg+;_9Oc9lnmjOQS7e{GO}Rc+YL(RiOHJ zXGU|s%pPC)?S(?&pm^1-?;TuyJ8rhn|I_s&^OYnND6L()uw2ajI3s*b;rmV3Cc%~V z7Hi6_2H4t}L>_U>*%cTs=1Sn})wD8(?|S{UG&*$p>F=mLhW*C*Nv&0W56G5Zjm$po*f@5|%5ovMalDwn3gu=g1?MPk!rv>c zlnePU= zvXv$`ITxE0AX_%M!C2Cy0NF~Do1BYH3XmQujG$}x~ z(&Q%RVv_=7%O*D%OPUlQTWNBWbFoPQvSpJSj3rG9kgYVi$+_610NJw14aSlt1;|#K z+~izrQh;pPS~7HYq^1Y;uFKq)7p?l_obi7n>9yTQ<4DSkj~b*-Dd} zoQq8gkS&|sU@U1;fNZ77P0qz81<007ZZMW870}mh)YltcwMw0sM8S1T?g3x5*8q?7 zIj*0#4`V!@PJ6{`8xEu ze#HuPtW8l4iVrnzrwKl3{L*f2jw**a+jz|tY`@g_251yccbah&)g z9w#PENVxI4yVVi!?>FSiKCXP8Y;zpd5zb+@N=5az} z4Wj_q`7-&jho3pT*bBZ+3ga`|m{mZZhk}>-oD|n8IU3w$HcL2K7zMzTKF3b3glW** ztCoiGn{CV}0HzK>d6jI5+_#j?WC=$JqX52NaXPsY$(26Ncp!}DY-2_N_;Weg63f=# z&14Bj38Mf%Clq<@o{rloO;K8z}yk$RjDB!MPnz5HM#Mpk! z^@W7WGtm5glppHP^m}^LVmmT{QN*W!>d@zWk#A?g^NqN_EQx}#pTf9tucN!;(~&(> z0Xr1{SKG*zo!&4i*$R*?+5RzldlevC_Iks}WGg_nWc$bH?Nxwm+3O7>ldS;RlIkT85tpM2CiW2vAOkS3)5~HUA?JEGT zzHWf6C)$sUEvSHO1;Ew$akGW%%H1PdB}PvL+E-v;K%EdbTj;;seq?Mx1>`G$+G@St5S??JL_q>Ey`OhGWN)-RccKXW3vw`kOc)+ zuU1Ebt#eWCMA4sv>GkYwlz-s(aRT?3qx7Un3st>ME}Xvi|3BqSKdW^3U!8vJ)=fF? zHvTQ#x_yo_?0>oX*sXh~dEJuP+U;?iMPceDo3uk+{p8&^Sy!Vrby3WT==)i>_?c4r34d>-@3c@sfshcoF?KtE(Qsd*jXYiFOn2LAqDxX|30e z+B(lay^C$9&dUj{WNkZDajLf^jq0$mz7033o1R2g&4_{r)J3i? z@Xot+c-*?)dWcr*FZZwEN_l8k>+-?6Nv}hFe`K(3!e6%_SXXJat~1!q-^^)N7dRNL z9%TBP`ZL - Parcoursup + Parcourplus | Accueil + diff --git a/javascript/fili-info.js b/javascript/fili-info.js index b0bf782..3addc19 100644 --- a/javascript/fili-info.js +++ b/javascript/fili-info.js @@ -2,63 +2,128 @@ var filiInfo = { css: null, exports: { onBeforeMount(props, state) { - this.state = { - average: 0, - capacity: 0, - selectivity: 0, - courseNumber: 0 - }; }, - onUpdated(props, state) {} + onBeforeUpdate(props, state) { + if (!props.schoolList || !props.schoolList.length) return; + let list = props.schoolList; + let avg = list.reduce((s, e) => s + e.fields.moyenne, 0) / list.length; + let avgCap = list.reduce((s, e) => s + e.fields.capa_fin, 0) / list.length; + let avgSlc = list.reduce((s, e) => s + (e.fields.taux_acces_ens || 0), 0) / list.filter(e => e.fields.taux_acces_ens).length; + state.courseNumber = list.length; + state.average = Math.round(avg * 100) / 100; + state.capacity = Math.floor(avgCap); + state.selectivity = Math.floor(avgSlc); + let pctFemmes = Math.round(list.reduce((s, e) => s + (e.fields.pct_f || 0), 0) / list.filter(e => e.fields.pct_f).length); + console.log(pctFemmes); + state.genreStats = [{ + name: "Hommes", + short: "H", + value: 100 - pctFemmes + }, { + name: "Femmes", + short: "F", + value: pctFemmes + }]; + let pctBG = Math.round(list.reduce((s, e) => s + (e.fields.part_acces_gen || 0), 0) / list.filter(e => e.fields.part_acces_gen).length); + let pctBT = Math.round(list.reduce((s, e) => s + (e.fields.part_acces_tec || 0), 0) / list.filter(e => e.fields.part_acces_tec).length); + let pctBP = Math.round(list.reduce((s, e) => s + (e.fields.part_acces_pro || 0), 0) / list.filter(e => e.fields.part_acces_pro).length); + state.bacStats = [{ + name: "Général", + short: "Gen.", + value: pctBG + }, { + name: "Technologique", + short: "Tech.", + value: pctBT + }, { + name: "Professionnel", + short: "Pro.", + value: pctBP + }, { + name: "Autre", + short: "Au.", + value: 100 - (pctBG + pctBT + pctBP) + }]; + let pctSM = Math.round(list.reduce((s, e) => s + e.fields.pct_sansmention, 0) / list.length); + let pctAB = Math.round(list.reduce((s, e) => s + e.fields.pct_ab, 0) / list.length); + let pctB = Math.round(list.reduce((s, e) => s + e.fields.pct_b, 0) / list.length); + let pctTB = Math.round(list.reduce((s, e) => s + e.fields.pct_tb, 0) / list.length); + let pctTBF = Math.round(list.reduce((s, e) => s + e.fields.pct_tbf, 0) / list.length); + state.mentionStats = [{ + name: "Sans Mention", + short: "SM", + value: pctSM + }, { + name: "Assez Bien", + short: "AB", + value: pctAB + }, { + name: "Bien", + short: "B", + value: pctB + }, { + name: "Très Bien", + short: "TB", + value: pctTB + }, { + name: "Très Bien + Félicitations", + short: "TBF", + value: pctTBF + }, { + name: "Non Spécifié", + short: "NS", + value: 100 - (pctSM + pctAB + pctB + pctTB + pctTBF) + }]; + } }, - template: (template, expressionTypes, bindingTypes, getComponent) => template('
', [{ + template: (template, expressionTypes, bindingTypes, getComponent) => template('
', [{ type: bindingTypes.IF, evaluate: _scope => _scope.props.shouldShowInfos, - redundantAttribute: 'expr0', - selector: '[expr0]', - template: template('

/ \r\n / \r\n

Moyenne des admis

Nombre de formations

Capacité

Sélectivité

', [{ - redundantAttribute: 'expr1', - selector: '[expr1]', + redundantAttribute: 'expr650', + selector: '[expr650]', + template: template('

/ \r\n / \r\n

Moyenne des admis

Nombre de formations

Capacité

', [{ + redundantAttribute: 'expr651', + selector: '[expr651]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, evaluate: _scope => _scope.props.course.fili }] }, { - redundantAttribute: 'expr2', - selector: '[expr2]', + redundantAttribute: 'expr652', + selector: '[expr652]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, evaluate: _scope => _scope.props.course.sousfili }] }, { - redundantAttribute: 'expr3', - selector: '[expr3]', + redundantAttribute: 'expr653', + selector: '[expr653]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, evaluate: _scope => _scope.props.course.soussousfili }] }, { - redundantAttribute: 'expr4', - selector: '[expr4]', + redundantAttribute: 'expr654', + selector: '[expr654]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, evaluate: _scope => _scope.state.average }] }, { - redundantAttribute: 'expr5', - selector: '[expr5]', + redundantAttribute: 'expr655', + selector: '[expr655]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, evaluate: _scope => _scope.state.courseNumber }] }, { - redundantAttribute: 'expr6', - selector: '[expr6]', + redundantAttribute: 'expr656', + selector: '[expr656]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, @@ -67,27 +132,55 @@ var filiInfo = { }, { type: bindingTypes.TAG, getComponent: getComponent, - evaluate: _scope => 'line-graph', + evaluate: _scope => 'title-progress', slots: [], - attributes: [], - redundantAttribute: 'expr7', - selector: '[expr7]' + attributes: [{ + type: expressionTypes.ATTRIBUTE, + name: 'title', + evaluate: _scope => "Sélectivité" + }, { + type: expressionTypes.ATTRIBUTE, + name: 'value', + evaluate: _scope => _scope.state.selectivity + }], + redundantAttribute: 'expr657', + selector: '[expr657]' }, { type: bindingTypes.TAG, getComponent: getComponent, evaluate: _scope => 'line-graph', slots: [], - attributes: [], - redundantAttribute: 'expr8', - selector: '[expr8]' + attributes: [{ + type: expressionTypes.ATTRIBUTE, + name: 'data', + evaluate: _scope => _scope.state.genreStats + }], + redundantAttribute: 'expr658', + selector: '[expr658]' }, { type: bindingTypes.TAG, getComponent: getComponent, evaluate: _scope => 'line-graph', slots: [], - attributes: [], - redundantAttribute: 'expr9', - selector: '[expr9]' + attributes: [{ + type: expressionTypes.ATTRIBUTE, + name: 'data', + evaluate: _scope => _scope.state.bacStats + }], + redundantAttribute: 'expr659', + selector: '[expr659]' + }, { + type: bindingTypes.TAG, + getComponent: getComponent, + evaluate: _scope => 'line-graph', + slots: [], + attributes: [{ + type: expressionTypes.ATTRIBUTE, + name: 'data', + evaluate: _scope => _scope.state.mentionStats + }], + redundantAttribute: 'expr660', + selector: '[expr660]' }]) }]), name: 'fili-info' diff --git a/javascript/line-graph.js b/javascript/line-graph.js index 4893a83..f17e7e5 100644 --- a/javascript/line-graph.js +++ b/javascript/line-graph.js @@ -3,7 +3,7 @@ var lineGraph = { exports: { updateCanvas() { let canvas = this.$("canvas"); - if (!canvas) return; + if (!canvas || !this.props.data || !this.props.title) return; canvas.width = canvas.clientWidth; canvas.height = canvas.clientHeight; let cx = canvas.getContext("2d"); @@ -12,8 +12,8 @@ var lineGraph = { let width = canvas.width; let height = canvas.height; let spacing = 1; - let data = this.state.data; - let colors = ["#003F5C", "#2F4B7C", "#665191", "#A05195", "#D45087"]; + let data = this.props.data; + let colors = ["#003F5C", "#2F4B7C", "#665191", "#A05195", "#D45087", "#D47150"]; cx.clearRect(0, 0, width, height); cx.resetTransform(); if (!data) return; @@ -27,39 +27,38 @@ var lineGraph = { let counter = 0; let legendWidth = 0; for (let field of data) { + if (field.value == 0) continue; let start = curr + spacing; let barWidth = field.value / total * width - spacing * 2; - let text = `${Math.round(field.value / total * 1000) / 10}% (${field.name})`; + let text = `${Math.round(field.value / total * 1000) / 10}% (${field.short || field.name})`; cx.fillStyle = colors[counter]; cx.fillRect(start, 0, barWidth, height / 3); cx.fillStyle = "#FFFFFF"; if (cx.measureText(text).width < barWidth) { cx.fillText(text, start + barWidth / 2, height / 6); - } else if (cx.measureText("...").width < barWidth) { - cx.fillText("...", start + barWidth / 2, height / 6); + } else if (cx.measureText(`${Math.round(field.value / total * 1000) / 10}%`).width < barWidth) { + cx.fillText(`${Math.round(field.value / total * 1000) / 10}%`, start + barWidth / 2, height / 6); } curr += field.value / total * width; counter++; - legendWidth += cx.measureText(field.name).width + 25 + 15; // += textWidth + squareWidth + margin + let legendText = field.name + (field.short ? ` (${field.short})` : ""); + legendWidth += cx.measureText(legendText).width + 25 + 15; } - cx.textAlign = "left"; legendWidth -= 15; //On enlève la dernière marge cx.translate(width / 2 - legendWidth / 2, height / 4 + 20); counter = 0; for (let field of data) { + if (field.value == 0) continue; cx.fillStyle = colors[counter]; cx.fillRect(0, 0, 25, 25); cx.fillStyle = "#707070"; - cx.fillText(field.name, 30, 12.5); - cx.translate(cx.measureText(field.name).width + 25 + 15, 0); + let legendText = field.name + (field.short ? ` (${field.short})` : ""); + cx.fillText(legendText, 30, 12.5); + cx.translate(cx.measureText(legendText).width + 25 + 15, 0); counter++; } }, - state: { - data: [], - title: "Example" - }, onMounted() { let canvas = this.$("canvas"); this.updateCanvas(); diff --git a/javascript/main-controller.js b/javascript/main-controller.js index 44707ad..cef5dcc 100644 --- a/javascript/main-controller.js +++ b/javascript/main-controller.js @@ -1,23 +1,134 @@ +/* + Parcoursup API (PAPI) + Comprend un set de wrapper afin d'accéder plus aisément aux informations de l'API parcoursup +*/ + +class PAPI { + static dataset = "fr-esr-parcoursup"; + static timezone = "Europe%2FBerlin"; + static searchURL = `https://data.enseignementsup-recherche.gouv.fr/api/records/1.0/search/?dataset=${PAPI.dataset}&timezone=${PAPI.timezone}`; + static async fetchFilieres() { + if (localStorage.getItem("filis")) return JSON.parse(localStorage.getItem("filis")); + let request = await fetch(`${PAPI.searchURL}&rows=0&sort=tri&facet=fili`); + let result = await request.json(); + let response = result["facet_groups"][0]["facets"]; + localStorage.setItem("filis", JSON.stringify(response)); + return response; + } + static async fetchFiliere(filiere) { + if (localStorage.getItem("fili." + filiere)) return JSON.parse(localStorage.getItem("fili." + filiere)); + let request = await fetch(`${PAPI.searchURL}&rows=0&sort=tri&facet=form_lib_voe_acc&refine.fili=${filiere}`); + let result = await request.json(); + let response = result["facet_groups"][0]["facets"]; + localStorage.setItem("fili." + filiere, JSON.stringify(response)); + return response; + } + static async fetchSpecialites(filiere, specialite) { + if (localStorage.getItem(`spe.${filiere}.${specialite}`)) return JSON.parse(localStorage.getItem(`spe.${filiere}.${specialite}`)); + let request = await fetch(`${PAPI.searchURL}&rows=0&sort=tri&facet=fil_lib_voe_acc&refine.form_lib_voe_acc=${specialite}&refine.fili=${filiere}`); + let result = await request.json(); + let response = result["facet_groups"][0]["facets"]; + localStorage.setItem(`spe.${filiere}.${specialite}`, JSON.stringify(response)); + return response; + } + static async fetchEtablissement(filiere, sousfiliere, soussousfiliere) { + if (localStorage.getItem(`eta.${filiere}.${sousfiliere}.${soussousfiliere}`)) return JSON.parse(localStorage.getItem(`eta.${filiere}.${sousfiliere}.${soussousfiliere}`)); + let request = await fetch(`${PAPI.searchURL}&rows=10000&refine.fil_lib_voe_acc=${soussousfiliere}&refine.form_lib_voe_acc=${sousfiliere}&refine.fili=${filiere}`); + let result = await request.json(); + let response = result["records"]; + localStorage.setItem(`eta.${filiere}.${sousfiliere}.${soussousfiliere}`, JSON.stringify(response)); + return response; + } +} + +const SORT_TABLE = [{ + name: "Nom", + id: "g_ea_lib_vx" +}, { + name: "Ville", + id: "ville_etab" +}, { + name: "Département", + id: "dep" +}, { + name: "Moyenne", + id: "moyenne" +}, { + name: "Sélectivité", + id: "taux_acces_ens" +}]; var mainController = { css: null, exports: { - onBeforeMount(props, state) { - //Initial state - this.state = { - course: null, - updating: false, - shouldShowInfos: false - }; + sortList(sortBy) { + //Si la liste est déjà triée par la bonne catégorie, on l'inverse + if (sortBy == this.state.sortBy) { + this.state.schoolList.reverse(); + } + //Sinon on l'ordonne par la nouvelle catégorie (ascendant par défaut) + else { + this.state.sortBy = sortBy; + switch (sortBy) { + case SORT_TABLE[3].id: + case SORT_TABLE[4].id: + { + this.state.schoolList.sort((a, b) => { + if (a.fields[sortBy] > b.fields[sortBy]) return 1;else return -1; + }); + break; + } + default: + { + this.state.schoolList.sort((a, b) => { + return a.fields[sortBy].localeCompare(b.fields[sortBy]); + }); + break; + } + } + } + this.update({ + schoolList: this.state.schoolList + }); + }, + updateList(course) { + course = course || this.state.course; + PAPI.fetchEtablissement(course.fili, course.sousfili, course.soussousfili).then(response => { + response.forEach(etablissement => { + // calcul la moyenne + let pct_sansmention = etablissement.fields.pct_sansmention; + let pct_AB = etablissement.fields.pct_ab; + let pct_B = etablissement.fields.pct_b; + let pct_TB = etablissement.fields.pct_tb; + let pct_TBF = etablissement.fields.pct_tbf; + + // On prend la moyenne des moyennes comprises dans la mention + // Exemple : Assez bien est entre 12 et 14 donc 13. + etablissement.fields.moyenne = (pct_TBF * 19 + pct_TB * 17 + pct_B * 15 + pct_AB * 13 + pct_sansmention * 11) / 100; + }); + this.update({ + schoolList: response + }); + }); }, updateCourse(course) { + this.updateList(course); this.update({ course: course, - shouldShowInfos: course != null, - updating: !this.state.updating + sortFields: SORT_TABLE, + shouldShowInfos: course != null + }); + }, + onMounted(props, state) { + this.update({ + course: null, + sortBy: null, + schoolList: null, + sortFields: SORT_TABLE, + shouldShowInfos: false }); } }, - template: (template, expressionTypes, bindingTypes, getComponent) => template('
', [{ + template: (template, expressionTypes, bindingTypes, getComponent) => template('
', [{ type: bindingTypes.TAG, getComponent: getComponent, evaluate: _scope => 'search', @@ -27,14 +138,18 @@ var mainController = { name: 'updateCourse', evaluate: _scope => _scope.updateCourse }], - redundantAttribute: 'expr125', - selector: '[expr125]' + redundantAttribute: 'expr0', + selector: '[expr0]' }, { type: bindingTypes.TAG, getComponent: getComponent, evaluate: _scope => 'fili-info', slots: [], attributes: [{ + type: expressionTypes.ATTRIBUTE, + name: 'schoolList', + evaluate: _scope => _scope.state.schoolList + }, { type: expressionTypes.ATTRIBUTE, name: 'course', evaluate: _scope => _scope.state.course @@ -43,8 +158,8 @@ var mainController = { name: 'shouldShowInfos', evaluate: _scope => _scope.state.shouldShowInfos }], - redundantAttribute: 'expr126', - selector: '[expr126]' + redundantAttribute: 'expr1', + selector: '[expr1]' }, { type: bindingTypes.TAG, getComponent: getComponent, @@ -52,8 +167,16 @@ var mainController = { slots: [], attributes: [{ type: expressionTypes.ATTRIBUTE, - name: 'parentUpdate', - evaluate: _scope => _scope.state.updating + name: 'sortList', + evaluate: _scope => _scope.sortList + }, { + type: expressionTypes.ATTRIBUTE, + name: 'schoolList', + evaluate: _scope => _scope.state.schoolList + }, { + type: expressionTypes.ATTRIBUTE, + name: 'sortFields', + evaluate: _scope => _scope.state.sortFields }, { type: expressionTypes.ATTRIBUTE, name: 'course', @@ -63,16 +186,16 @@ var mainController = { name: 'shouldShowInfos', evaluate: _scope => _scope.state.shouldShowInfos }], - redundantAttribute: 'expr127', - selector: '[expr127]' + redundantAttribute: 'expr2', + selector: '[expr2]' }, { type: bindingTypes.TAG, getComponent: getComponent, evaluate: _scope => 'school-info', slots: [], attributes: [], - redundantAttribute: 'expr128', - selector: '[expr128]' + redundantAttribute: 'expr3', + selector: '[expr3]' }]), name: 'main-controller' }; diff --git a/javascript/parcoursup-link.js b/javascript/parcoursup-link.js index 4fd51fd..67ff9a5 100644 --- a/javascript/parcoursup-link.js +++ b/javascript/parcoursup-link.js @@ -35,15 +35,15 @@ class PAPI { return response } - static async fetchSpecialites(specialite) { + static async fetchSpecialites(filiere, specialite) { - if (localStorage.getItem("spe." + specialite)) return JSON.parse(localStorage.getItem("spe." + specialite)) + if (localStorage.getItem(`spe.${filiere}.${specialite}`)) return JSON.parse(localStorage.getItem(`spe.${filiere}.${specialite}`)) - let request = await fetch(`${PAPI.searchURL}&rows=0&sort=tri&facet=fil_lib_voe_acc&refine.form_lib_voe_acc=${specialite}`) + let request = await fetch(`${PAPI.searchURL}&rows=0&sort=tri&facet=fil_lib_voe_acc&refine.form_lib_voe_acc=${specialite}&refine.fili=${filiere}`) let result = await request.json() let response = result["facet_groups"][0]["facets"] - localStorage.setItem("spe." + specialite, JSON.stringify(response)) + localStorage.setItem(`spe.${filiere}.${specialite}`, JSON.stringify(response)) return response } @@ -52,7 +52,7 @@ class PAPI { if (localStorage.getItem(`eta.${filiere}.${sousfiliere}.${soussousfiliere}`)) return JSON.parse(localStorage.getItem(`eta.${filiere}.${sousfiliere}.${soussousfiliere}`)) - let request = await fetch(`${PAPI.searchURL}&refine.fil_lib_voe_acc=${soussousfiliere}&refine.form_lib_voe_acc=${sousfiliere}&refine.fili=${filiere}`) + let request = await fetch(`${PAPI.searchURL}&rows=10000&refine.fil_lib_voe_acc=${soussousfiliere}&refine.form_lib_voe_acc=${sousfiliere}&refine.fili=${filiere}`) let result = await request.json() let response = result["records"] diff --git a/javascript/school-info.js b/javascript/school-info.js index 1f1aaf8..cebda7f 100644 --- a/javascript/school-info.js +++ b/javascript/school-info.js @@ -10,14 +10,14 @@ var schoolInfo = { this.update(); } }, - template: (template, expressionTypes, bindingTypes, getComponent) => template('
', [{ + template: (template, expressionTypes, bindingTypes, getComponent) => template('
', [{ type: bindingTypes.IF, evaluate: _scope => _scope.state.enabled, - redundantAttribute: 'expr10', - selector: '[expr10]', - template: template('

', [{ - redundantAttribute: 'expr11', - selector: '[expr11]', + redundantAttribute: 'expr29', + selector: '[expr29]', + template: template('

', [{ + redundantAttribute: 'expr30', + selector: '[expr30]', expressions: [{ type: expressionTypes.EVENT, name: 'onclick', @@ -29,8 +29,8 @@ var schoolInfo = { evaluate: _scope => 'line-graph', slots: [], attributes: [], - redundantAttribute: 'expr12', - selector: '[expr12]' + redundantAttribute: 'expr31', + selector: '[expr31]' }]) }]), name: 'school-info' diff --git a/javascript/school.js b/javascript/school.js index 320cd7d..3ef0ca9 100644 --- a/javascript/school.js +++ b/javascript/school.js @@ -1,150 +1,30 @@ -/* - Parcoursup API (PAPI) - Comprend un set de wrapper afin d'accéder plus aisément aux informations de l'API parcoursup -*/ - -class PAPI { - static dataset = "fr-esr-parcoursup"; - static timezone = "Europe%2FBerlin"; - static searchURL = `https://data.enseignementsup-recherche.gouv.fr/api/records/1.0/search/?dataset=${PAPI.dataset}&timezone=${PAPI.timezone}`; - static async fetchFilieres() { - if (localStorage.getItem("filis")) return JSON.parse(localStorage.getItem("filis")); - let request = await fetch(`${PAPI.searchURL}&rows=0&sort=tri&facet=fili`); - let result = await request.json(); - let response = result["facet_groups"][0]["facets"]; - localStorage.setItem("filis", JSON.stringify(response)); - return response; - } - static async fetchFiliere(filiere) { - if (localStorage.getItem("fili." + filiere)) return JSON.parse(localStorage.getItem("fili." + filiere)); - let request = await fetch(`${PAPI.searchURL}&rows=0&sort=tri&facet=form_lib_voe_acc&refine.fili=${filiere}`); - let result = await request.json(); - let response = result["facet_groups"][0]["facets"]; - localStorage.setItem("fili." + filiere, JSON.stringify(response)); - return response; - } - static async fetchSpecialites(specialite) { - if (localStorage.getItem("spe." + specialite)) return JSON.parse(localStorage.getItem("spe." + specialite)); - let request = await fetch(`${PAPI.searchURL}&rows=0&sort=tri&facet=fil_lib_voe_acc&refine.form_lib_voe_acc=${specialite}`); - let result = await request.json(); - let response = result["facet_groups"][0]["facets"]; - localStorage.setItem("spe." + specialite, JSON.stringify(response)); - return response; - } - static async fetchEtablissement(filiere, sousfiliere, soussousfiliere) { - if (localStorage.getItem(`eta.${filiere}.${sousfiliere}.${soussousfiliere}`)) return JSON.parse(localStorage.getItem(`eta.${filiere}.${sousfiliere}.${soussousfiliere}`)); - let request = await fetch(`${PAPI.searchURL}&refine.fil_lib_voe_acc=${soussousfiliere}&refine.form_lib_voe_acc=${sousfiliere}&refine.fili=${filiere}`); - let result = await request.json(); - let response = result["records"]; - localStorage.setItem(`eta.${filiere}.${sousfiliere}.${soussousfiliere}`, JSON.stringify(response)); - return response; - } -} - -async function fetchEtablissement(course) { - return PAPI.fetchEtablissement(course.fili, course.sousfili, course.soussousfili); -} -const SORT_TABLE = [{ - name: "Nom", - id: "g_ea_lib_vx" -}, { - name: "Ville", - id: "ville_etab" -}, { - name: "Département", - id: "dep" -}, { - name: "Moyenne", - id: "moyenne" -}, { - name: "Sélectivité", - id: "taux_acces_ens" -}]; var school = { css: null, - exports: function search() { - return { - updateList() { - fetchEtablissement(this.props.course).then(response => { - response.forEach(etablissement => { - // calcul la moyenne - let pct_sansmention = etablissement.fields.pct_sansmention; - let pct_AB = etablissement.fields.pct_ab; - let pct_B = etablissement.fields.pct_b; - let pct_TB = etablissement.fields.pct_tb; - let pct_TBF = etablissement.fields.pct_tbf; - - // On prend la moyenne des moyennes comprises dans la mention - // Exemple : Assez bien est entre 12 et 14 donc 13. - etablissement.fields.moyenne = (pct_TBF * 19 + pct_TB * 17 + pct_B * 15 + pct_AB * 13 + pct_sansmention * 11) / 100; - }); - this.update({ - items: response, - parentUpdate: this.props.parentUpdate - }); - }); - }, - sortList(sortBy) { - //Si la liste est déjà triée par la bonne catégorie, on l'inverse - if (sortBy == this.state.sortBy) { - this.state.items.reverse(); - } - //Sinon on l'ordonne par la nouvelle catégorie (ascendant par défaut) - else { - this.state.sortBy = sortBy; - switch (sortBy) { - case SORT_TABLE[3].id: - case SORT_TABLE[4].id: - { - this.state.items.sort((a, b) => { - if (a.fields[sortBy] > b.fields[sortBy]) return 1;else return -1; - }); - break; - } - default: - { - this.state.items.sort((a, b) => { - return a.fields[sortBy].localeCompare(b.fields[sortBy]); - }); - break; - } - } - } - this.update({ - items: this.state.items - }); - }, - onBeforeMount(props, state) { - }, - onMounted(props, state) { - this.update({ - sortFields: SORT_TABLE - }); - }, - onUpdated(props, state) { - if (!props.shouldShowInfos || state.parentUpdate == props.parentUpdate) return; - this.updateList(); - } - }; - }, - template: (template, expressionTypes, bindingTypes, getComponent) => template('
', [{ + exports: null, + template: (template, expressionTypes, bindingTypes, getComponent) => template('
', [{ type: bindingTypes.IF, evaluate: _scope => _scope.props.shouldShowInfos, - redundantAttribute: 'expr336', - selector: '[expr336]', - template: template('
', [{ + redundantAttribute: 'expr345', + selector: '[expr345]', + template: template('
', [{ + type: bindingTypes.IF, + evaluate: _scope => false, + redundantAttribute: 'expr346', + selector: '[expr346]', + template: template(null, []) + }, { type: bindingTypes.EACH, getKey: null, condition: null, - template: template(' ', [{ + template: template(' ', [{ expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, evaluate: _scope => [_scope.sortField.name].join('') }] }, { - redundantAttribute: 'expr338', - selector: '[expr338]', + redundantAttribute: 'expr348', + selector: '[expr348]', expressions: [{ type: expressionTypes.ATTRIBUTE, name: 'id', @@ -152,64 +32,68 @@ var school = { }, { type: expressionTypes.EVENT, name: 'onclick', - evaluate: _scope => () => _scope.sortList(_scope.sortField.id) + evaluate: _scope => () => _scope.props.sortList(_scope.sortField.id) }] }]), - redundantAttribute: 'expr337', - selector: '[expr337]', + redundantAttribute: 'expr347', + selector: '[expr347]', itemName: 'sortField', indexName: null, - evaluate: _scope => _scope.state.sortFields + evaluate: _scope => _scope.props.sortFields }, { type: bindingTypes.EACH, getKey: null, condition: null, - template: template(' ', [{ - redundantAttribute: 'expr340', - selector: '[expr340]', + template: template(' ', [{ + redundantAttribute: 'expr350', + selector: '[expr350]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, - evaluate: _scope => _scope.etablissement.fields.g_ea_lib_vx + evaluate: _scope => _scope.school.fields.g_ea_lib_vx }] }, { - redundantAttribute: 'expr341', - selector: '[expr341]', + redundantAttribute: 'expr351', + selector: '[expr351]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, - evaluate: _scope => _scope.etablissement.fields.ville_etab + evaluate: _scope => _scope.school.fields.ville_etab }] }, { - redundantAttribute: 'expr342', - selector: '[expr342]', + redundantAttribute: 'expr352', + selector: '[expr352]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, - evaluate: _scope => _scope.etablissement.fields.dep + evaluate: _scope => _scope.school.fields.dep }] }, { - redundantAttribute: 'expr343', - selector: '[expr343]', + redundantAttribute: 'expr353', + selector: '[expr353]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, - evaluate: _scope => _scope.etablissement.fields.moyenne + evaluate: _scope => _scope.school.fields.moyenne }] }, { - redundantAttribute: 'expr344', - selector: '[expr344]', - expressions: [{ - type: expressionTypes.TEXT, - childNodeIndex: 0, - evaluate: _scope => _scope.etablissement.fields.taux_acces_ens - }] + type: bindingTypes.TAG, + getComponent: getComponent, + evaluate: _scope => 'title-progress', + slots: [], + attributes: [{ + type: expressionTypes.ATTRIBUTE, + name: 'value', + evaluate: _scope => _scope.school.fields.taux_acces_ens + }], + redundantAttribute: 'expr354', + selector: '[expr354]' }]), - redundantAttribute: 'expr339', - selector: '[expr339]', - itemName: 'etablissement', + redundantAttribute: 'expr349', + selector: '[expr349]', + itemName: 'school', indexName: null, - evaluate: _scope => _scope.state.items + evaluate: _scope => _scope.props.schoolList }]) }]), name: 'school' diff --git a/javascript/search.js b/javascript/search.js index 8481acf..0dc4545 100644 --- a/javascript/search.js +++ b/javascript/search.js @@ -23,17 +23,17 @@ class PAPI { localStorage.setItem("fili." + filiere, JSON.stringify(response)); return response; } - static async fetchSpecialites(specialite) { - if (localStorage.getItem("spe." + specialite)) return JSON.parse(localStorage.getItem("spe." + specialite)); - let request = await fetch(`${PAPI.searchURL}&rows=0&sort=tri&facet=fil_lib_voe_acc&refine.form_lib_voe_acc=${specialite}`); + static async fetchSpecialites(filiere, specialite) { + if (localStorage.getItem(`spe.${filiere}.${specialite}`)) return JSON.parse(localStorage.getItem(`spe.${filiere}.${specialite}`)); + let request = await fetch(`${PAPI.searchURL}&rows=0&sort=tri&facet=fil_lib_voe_acc&refine.form_lib_voe_acc=${specialite}&refine.fili=${filiere}`); let result = await request.json(); let response = result["facet_groups"][0]["facets"]; - localStorage.setItem("spe." + specialite, JSON.stringify(response)); + localStorage.setItem(`spe.${filiere}.${specialite}`, JSON.stringify(response)); return response; } static async fetchEtablissement(filiere, sousfiliere, soussousfiliere) { if (localStorage.getItem(`eta.${filiere}.${sousfiliere}.${soussousfiliere}`)) return JSON.parse(localStorage.getItem(`eta.${filiere}.${sousfiliere}.${soussousfiliere}`)); - let request = await fetch(`${PAPI.searchURL}&refine.fil_lib_voe_acc=${soussousfiliere}&refine.form_lib_voe_acc=${sousfiliere}&refine.fili=${filiere}`); + let request = await fetch(`${PAPI.searchURL}&rows=10000&refine.fil_lib_voe_acc=${soussousfiliere}&refine.form_lib_voe_acc=${sousfiliere}&refine.fili=${filiere}`); let result = await request.json(); let response = result["records"]; localStorage.setItem(`eta.${filiere}.${sousfiliere}.${soussousfiliere}`, JSON.stringify(response)); @@ -55,7 +55,7 @@ var search = { promise = PAPI.fetchFiliere(this.state.course.fili); break; case 2: - promise = PAPI.fetchSpecialites(this.state.course.sousfili); + promise = PAPI.fetchSpecialites(this.state.course.fili, this.state.course.sousfili); break; default: return; @@ -144,9 +144,9 @@ var search = { this.updateList(); } }, - template: (template, expressionTypes, bindingTypes, getComponent) => template('
', [{ - redundantAttribute: 'expr27', - selector: '[expr27]', + template: (template, expressionTypes, bindingTypes, getComponent) => template('
', [{ + redundantAttribute: 'expr23', + selector: '[expr23]', expressions: [{ type: expressionTypes.EVENT, name: 'onkeyup', @@ -157,8 +157,8 @@ var search = { evaluate: _scope => _scope.state.placeholder }] }, { - redundantAttribute: 'expr28', - selector: '[expr28]', + redundantAttribute: 'expr24', + selector: '[expr24]', expressions: [{ type: expressionTypes.ATTRIBUTE, name: 'disabled', @@ -172,9 +172,9 @@ var search = { type: bindingTypes.EACH, getKey: null, condition: null, - template: template('', [{ - redundantAttribute: 'expr30', - selector: '[expr30]', + template: template('', [{ + redundantAttribute: 'expr26', + selector: '[expr26]', expressions: [{ type: expressionTypes.ATTRIBUTE, name: 'disabled', @@ -185,24 +185,24 @@ var search = { evaluate: _scope => () => _scope.cruiseForward(_scope.item.name) }] }, { - redundantAttribute: 'expr31', - selector: '[expr31]', + redundantAttribute: 'expr27', + selector: '[expr27]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, evaluate: _scope => _scope.item.name }] }, { - redundantAttribute: 'expr32', - selector: '[expr32]', + redundantAttribute: 'expr28', + selector: '[expr28]', expressions: [{ type: expressionTypes.TEXT, childNodeIndex: 0, evaluate: _scope => _scope.item.count }] }]), - redundantAttribute: 'expr29', - selector: '[expr29]', + redundantAttribute: 'expr25', + selector: '[expr25]', itemName: 'item', indexName: null, evaluate: _scope => _scope.state.items diff --git a/javascript/title-progress.js b/javascript/title-progress.js new file mode 100644 index 0000000..817727e --- /dev/null +++ b/javascript/title-progress.js @@ -0,0 +1,68 @@ +const DEFAULT_CLASSES = "progress is-small m-2 mt-auto mb-auto"; +const COLOR_CLASSES = ["is-link", "is-info", "is-success", "is-warning", "is-danger"]; +var titleProgress = { + css: null, + exports: { + computeClasses() { + if (!this.props.value) return DEFAULT_CLASSES; + let n = Math.floor(this.props.value / 20); + if (n == 5) n = 4; + return DEFAULT_CLASSES + " " + COLOR_CLASSES[n]; + }, + calcPct() { + if (!this.props.value) { + return "???"; + } else { + return Math.round(this.props.value / this.props.max * 100) + "%"; + } + }, + onMounted(props, state) { + this.update({ + class: this.computeClasses() + }); + }, + onBeforeUpdate(props, state) { + state.class = this.computeClasses(); + } + }, + template: (template, expressionTypes, bindingTypes, getComponent) => template('
', [{ + type: bindingTypes.IF, + evaluate: _scope => _scope.props.title, + redundantAttribute: 'expr493', + selector: '[expr493]', + template: template(' ', [{ + expressions: [{ + type: expressionTypes.TEXT, + childNodeIndex: 0, + evaluate: _scope => _scope.props.title + }] + }]) + }, { + redundantAttribute: 'expr494', + selector: '[expr494]', + expressions: [{ + type: expressionTypes.TEXT, + childNodeIndex: 0, + evaluate: _scope => _scope.calcPct() + }] + }, { + redundantAttribute: 'expr495', + selector: '[expr495]', + expressions: [{ + type: expressionTypes.ATTRIBUTE, + name: 'value', + evaluate: _scope => _scope.props.value + }, { + type: expressionTypes.ATTRIBUTE, + name: 'max', + evaluate: _scope => _scope.props.max + }, { + type: expressionTypes.ATTRIBUTE, + name: 'class', + evaluate: _scope => _scope.state.class + }] + }]), + name: 'title-progress' +}; + +export { titleProgress as default }; diff --git a/loader.js b/loader.js index 7e5f4d7..e9feb8d 100644 --- a/loader.js +++ b/loader.js @@ -3,6 +3,7 @@ */ import MainController from './javascript/main-controller.js' +import TitleProgress from './javascript/title-progress.js' import SchoolInfo from './javascript/school-info.js' import LineGraph from './javascript/line-graph.js' import FiliInfo from './javascript/fili-info.js' @@ -10,6 +11,7 @@ import Search from './javascript/search.js' import School from './javascript/school.js' riot.register("main-controller", MainController) +riot.register("title-progress", TitleProgress) riot.register("school-info", SchoolInfo) riot.register("line-graph", LineGraph) riot.register("fili-info", FiliInfo) @@ -17,6 +19,7 @@ riot.register("search", Search) riot.register("school", School) +riot.mount("title-progress") riot.mount("line-graph") riot.mount("search") riot.mount("school-info") diff --git a/resources/logo-parcoursup.svg b/resources/logo-parcoursup.svg index 21086f8..fc9d36e 100644 --- a/resources/logo-parcoursup.svg +++ b/resources/logo-parcoursup.svg @@ -6,11 +6,11 @@ id="Calque_1" x="0px" y="0px" - viewBox="0 0 360.50001 58.400003" + viewBox="0 0 409.00221 69.400003" xml:space="preserve" sodipodi:docname="logo-parcoursup.svg" - width="360.5" - height="58.400002" + width="409.0022" + height="69.400002" inkscape:version="1.2.2 (732a01da63, 2022-12-09)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" @@ -26,13 +26,13 @@ inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" showgrid="false" - inkscape:zoom="3.8800706" - inkscape:cx="177.83182" - inkscape:cy="71.519317" + inkscape:zoom="2.7436242" + inkscape:cx="225.61399" + inkscape:cy="45.195694" inkscape:window-width="1920" - inkscape:window-height="1051" - inkscape:window-x="-9" - inkscape:window-y="-9" + inkscape:window-height="1057" + inkscape:window-x="1912" + inkscape:window-y="-5" inkscape:window-maximized="1" inkscape:current-layer="Calque_1" /> + + + + + + + + + + + + + + + + + diff --git a/style/parcoursup.css b/style/parcoursup.css index 9047354..56e3488 100644 --- a/style/parcoursup.css +++ b/style/parcoursup.css @@ -1,8 +1,5 @@ body, html { - width: 100vw; - height: 100vh; + background-color: gainsboro; min-height: 100vh; - top: 0px; - left: 0px; - background-color: #EFEFEF; + padding-bottom: 0px; } \ No newline at end of file diff --git a/test.json b/test.json index fe49b02..91cfefb 100644 --- a/test.json +++ b/test.json @@ -1,625 +1,2441 @@ { - "nhits": 5303, + "nhits": 272, "parameters": { - "dataset": "fr-esr-parcoursup", - "rows": 0, + "dataset": [ + "fr-esr-parcoursup" + ], + "q": "PASS", + "rows": 10, "start": 0, - "sort": [ - "tri" - ], "facet": [ - "lib_for_voe_ins" + "session", + "contrat_etab", + "cod_uai", + "g_ea_lib_vx", + "dep_lib", + "region_etab_aff", + "acad_mies", + "ville_etab", + "lib_for_voe_ins", + "select_form", + "fili", + "form_lib_voe_acc", + "fil_lib_voe_acc", + "detail_forma", + "tri", + "cod_aff_form", + "etablissement_id_paysage", + "composante_id_paysage" ], - "refine": { - "fili": "BTS" - }, "format": "json", - "timezone": "Europe/Berlin" + "timezone": "UTC" }, - "records": [], + "records": [ + { + "datasetid": "fr-esr-parcoursup", + "recordid": "5f747d402fcce5f48c63b8e49224d361c8a7cf1e", + "fields": { + "acc_sansmention": 2, + "ville_etab": "Clermont-Ferrand", + "nb_cla_pp_bg_brs": 246, + "nb_voe_pp_bt": 28, + "acc_tb": 25, + "lib_comp_voe_ins": "Universit\u00e9 Clermont Auvergne - Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "dep": "63", + "etablissement_id_paysage": "K4lR3", + "g_olocalisation_des_formations": [ + 45.7596, + 3.08917 + ], + "acc_aca_orig": 75, + "list_com": "Liste d'appel commune \u00e0 plusieurs formations", + "dep_lib": "Puy-de-D\u00f4me", + "nb_cla_pp_bt_brs": 9, + "lib_grp1": "Tous les candidats", + "acad_mies": "Clermont-Ferrand", + "pct_ab": 22.0, + "prop_tot_bt": 0.0, + "pct_sansmention": 2.0, + "capa_fin": 80, + "nb_voe_pp_bg": 1784, + "pct_mention_nonrenseignee": 0.0, + "acc_mention_nonrenseignee": 0, + "cod_uai": "0632084Y", + "nb_voe_pc": 0, + "contrat_etab": "Public", + "prop_tot_bg": 368.0, + "pct_bp_mention": 0.0, + "pct_acc_finpp": 98.0, + "pct_acc_debutpp": 66.0, + "pct_tb": 31.0, + "pct_aca_orig_idf": 94.0, + "part_acces_pro": 0.0, + "acc_pc": 0, + "pct_bours": 12.0, + "prop_tot_bt_brs": 0.0, + "acc_pp": 80, + "nb_voe_pp_at": 381, + "acc_tot_f": 51, + "pct_acc_datebac": 98.0, + "nb_voe_pp": 2200, + "form_lib_voe_acc": "Licence - Sciences - technologies - sant\u00e9", + "prop_tot_bp": 0.0, + "select_form": "formation non s\u00e9lective", + "acc_bp_mention": 0, + "nb_voe_pc_at": 0, + "voe_tot": 2200, + "acc_bt_mention": 0, + "nb_voe_pp_bg_brs": 246, + "prop_tot_at": 0.0, + "pct_f": 64.0, + "prop_tot_bg_brs": 50.0, + "cod_aff_form": "26631", + "nb_cla_pp": 2181, + "acc_datebac": 78.0, + "voe_tot_f": 1407, + "nb_voe_pp_bp_brs": 4, + "tri": "1_universit\u00e9s", + "nb_voe_pc_bp": 0, + "acc_b": 29, + "pct_b": 36.0, + "pct_bg_mention": 98.0, + "prop_tot_bp_brs": 0.0, + "acc_finpp": 78.0, + "lib_for_voe_ins": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "acc_at": 0, + "pct_neobac": 100.0, + "g_ea_lib_vx": "Universit\u00e9 Clermont Auvergne", + "nb_voe_pp_bt_brs": 9, + "taux_acces_ens": 19.0, + "prop_tot": 368, + "region_etab_aff": "Auvergne-Rh\u00f4ne-Alpes", + "acc_bt": 0, + "acc_tot": 80, + "nb_cla_pc": 0, + "nb_voe_pp_bp": 7, + "part_acces_tec": 0.0, + "pct_bt": 0.0, + "pct_bp": 0.0, + "acc_ab": 18, + "nb_cla_pp_bt": 28, + "acc_brs": 10, + "acc_debutpp": 53.0, + "nb_cla_pp_bp": 7, + "nb_cla_pp_at": 362, + "acc_aca_orig_idf": 75, + "session": "2022", + "fil_lib_voe_acc": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "lien_form_psup": "https://dossier.parcoursup.fr/Candidats/public/fiches/afficherFicheFormation?g_ta_cod=26631", + "pct_bg": 100.0, + "pct_tbf": 8.0, + "pct_bt_mention": 0.0, + "acc_bp": 0, + "acc_bg_mention": 78, + "fili": "PASS", + "part_acces_gen": 100.0, + "acc_bg": 80, + "nb_cla_pp_bp_brs": 4, + "nb_voe_pc_bt": 0, + "nb_voe_pc_bg": 0, + "acc_neobac": 80, + "nb_cla_pp_bg": 1784, + "acc_tbf": 6.0, + "pct_aca_orig": 94.0, + "ran_grp1": 997.0 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 3.08917, + 45.7596 + ] + }, + "record_timestamp": "2023-01-30T16:50:36.65Z" + }, + { + "datasetid": "fr-esr-parcoursup", + "recordid": "2f3dfd3653aec9d37d2f1009d0edcad28daa5787", + "fields": { + "acc_sansmention": 25, + "ville_etab": "Schoelcher", + "nb_cla_pp_bg_brs": 49, + "nb_voe_pp_bt": 25, + "acc_tb": 1, + "lib_comp_voe_ins": "Universit\u00e9 des Antilles - P\u00f4le Martinique - Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "dep": "972", + "etablissement_id_paysage": "z3hdL", + "g_olocalisation_des_formations": [ + 14.6479, + -61.0995 + ], + "acc_aca_orig": 33, + "list_com": "Liste d'appel commune \u00e0 plusieurs formations", + "dep_lib": "Martinique", + "nb_cla_pp_bt_brs": 13, + "lib_grp1": "Tous les candidats", + "acad_mies": "Martinique", + "pct_ab": 24.0, + "prop_tot_bt": 23.0, + "pct_sansmention": 68.0, + "capa_fin": 50, + "nb_voe_pp_bg": 211, + "pct_mention_nonrenseignee": 0.0, + "acc_mention_nonrenseignee": 0, + "cod_uai": "9720832X", + "nb_voe_pc": 37, + "contrat_etab": "Public", + "prop_tot_bg": 179.0, + "pct_bp_mention": 0.0, + "pct_acc_finpp": 84.0, + "pct_acc_debutpp": 12.0, + "pct_tb": 3.0, + "pct_aca_orig_idf": 89.0, + "part_acces_pro": 6.0, + "acc_pc": 8, + "pct_bours": 43.0, + "prop_tot_bt_brs": 15.0, + "acc_pp": 35, + "nb_voe_pp_at": 52, + "acc_tot_f": 37, + "pct_acc_datebac": 79.0, + "nb_voe_pp": 301, + "form_lib_voe_acc": "Licence - Sciences - technologies - sant\u00e9", + "prop_tot_bp": 9.0, + "select_form": "formation non s\u00e9lective", + "acc_bp_mention": 0, + "nb_voe_pc_at": 17, + "voe_tot": 338, + "acc_bt_mention": 2, + "nb_voe_pp_bg_brs": 49, + "prop_tot_at": 55.0, + "pct_f": 86.0, + "prop_tot_bg_brs": 43.0, + "cod_aff_form": "26825", + "nb_cla_pp": 299, + "acc_datebac": 34.0, + "voe_tot_f": 255, + "nb_voe_pp_bp_brs": 8, + "tri": "1_universit\u00e9s", + "nb_voe_pc_bp": 1, + "acc_b": 2, + "pct_b": 5.0, + "pct_bg_mention": 27.0, + "prop_tot_bp_brs": 8.0, + "acc_finpp": 36.0, + "lib_for_voe_ins": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "acc_at": 6, + "pct_neobac": 86.0, + "g_ea_lib_vx": "Universit\u00e9 des Antilles - P\u00f4le Martinique", + "nb_voe_pp_bt_brs": 13, + "taux_acces_ens": 99.0, + "prop_tot": 266, + "region_etab_aff": "Martinique", + "acc_bt": 10, + "acc_tot": 43, + "nb_cla_pc": 36, + "nb_voe_pp_bp": 13, + "part_acces_tec": 9.0, + "pct_bt": 27.0, + "pct_bp": 3.0, + "acc_ab": 9, + "nb_cla_pp_bt": 25, + "acc_brs": 16, + "acc_debutpp": 5.0, + "nb_cla_pp_bp": 13, + "nb_cla_pp_at": 50, + "acc_aca_orig_idf": 33, + "session": "2022", + "fil_lib_voe_acc": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "lien_form_psup": "https://dossier.parcoursup.fr/Candidats/public/fiches/afficherFicheFormation?g_ta_cod=26825", + "pct_bg": 70.0, + "pct_tbf": 0.0, + "pct_bt_mention": 5.0, + "acc_bp": 1, + "acc_bg_mention": 10, + "fili": "PASS", + "part_acces_gen": 85.0, + "acc_bg": 26, + "nb_cla_pp_bp_brs": 8, + "nb_voe_pc_bt": 6, + "nb_voe_pc_bg": 13, + "acc_neobac": 37, + "nb_cla_pp_bg": 211, + "acc_tbf": 0.0, + "pct_aca_orig": 89.0, + "ran_grp1": 1056.0 + }, + "geometry": { + "type": "Point", + "coordinates": [ + -61.0995, + 14.6479 + ] + }, + "record_timestamp": "2023-01-30T16:50:36.65Z" + }, + { + "datasetid": "fr-esr-parcoursup", + "recordid": "ba765974f5b10a907836b7a3a44adb2a5ab0a059", + "fields": { + "acc_sansmention": 61, + "ville_etab": "Talence", + "nb_cla_pp_bg_brs": 432, + "nb_voe_pp_bt": 57, + "acc_tb": 7, + "lib_comp_voe_ins": "Universit\u00e9 de Bordeaux - Bordeaux M\u00e9tropole - Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "dep": "33", + "etablissement_id_paysage": "90I54", + "g_olocalisation_des_formations": [ + 44.8259, + -0.60421 + ], + "acc_aca_orig": 173, + "list_com": "Liste d'appel commune \u00e0 plusieurs formations", + "dep_lib": "Gironde", + "nb_cla_pp_bt_brs": 12, + "lib_grp1": "Tous les candidats", + "acad_mies": "Bordeaux", + "pct_ab": 38.0, + "prop_tot_bt": 18.0, + "pct_sansmention": 33.0, + "capa_fin": 240, + "nb_voe_pp_bg": 2659, + "pct_mention_nonrenseignee": 0.0, + "acc_mention_nonrenseignee": 0, + "cod_uai": "0333298F", + "nb_voe_pc": 0, + "contrat_etab": "Public", + "prop_tot_bg": 1109.0, + "pct_bp_mention": 1.0, + "pct_acc_finpp": 89.0, + "pct_acc_debutpp": 3.0, + "pct_tb": 4.0, + "pct_aca_orig_idf": 94.0, + "part_acces_pro": 0.0, + "acc_pc": 0, + "pct_bours": 11.0, + "prop_tot_bt_brs": 4.0, + "acc_pp": 238, + "nb_voe_pp_at": 593, + "acc_tot_f": 164, + "pct_acc_datebac": 81.0, + "nb_voe_pp": 3320, + "form_lib_voe_acc": "Licence - Sciences - technologies - sant\u00e9", + "prop_tot_bp": 7.0, + "select_form": "formation non s\u00e9lective", + "acc_bp_mention": 1, + "nb_voe_pc_at": 0, + "voe_tot": 3320, + "acc_bt_mention": 3, + "nb_voe_pp_bg_brs": 432, + "prop_tot_at": 139.0, + "pct_f": 69.0, + "prop_tot_bg_brs": 159.0, + "cod_aff_form": "26841", + "nb_cla_pp": 3278, + "acc_datebac": 193.0, + "voe_tot_f": 2386, + "nb_voe_pp_bp_brs": 6, + "tri": "1_universit\u00e9s", + "nb_voe_pc_bp": 0, + "acc_b": 47, + "pct_b": 25.0, + "pct_bg_mention": 65.0, + "prop_tot_bp_brs": 3.0, + "acc_finpp": 212.0, + "lib_for_voe_ins": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "acc_at": 53, + "pct_neobac": 78.0, + "g_ea_lib_vx": "Universit\u00e9 de Bordeaux - Bordeaux M\u00e9tropole", + "nb_voe_pp_bt_brs": 12, + "taux_acces_ens": 45.0, + "prop_tot": 1273, + "region_etab_aff": "Nouvelle-Aquitaine", + "acc_bt": 9, + "acc_tot": 238, + "nb_cla_pc": 0, + "nb_voe_pp_bp": 11, + "part_acces_tec": 2.0, + "pct_bt": 5.0, + "pct_bp": 1.0, + "acc_ab": 70, + "nb_cla_pp_bt": 57, + "acc_brs": 20, + "acc_debutpp": 8.0, + "nb_cla_pp_bp": 11, + "nb_cla_pp_at": 551, + "acc_aca_orig_idf": 173, + "session": "2022", + "fil_lib_voe_acc": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "lien_form_psup": "https://dossier.parcoursup.fr/Candidats/public/fiches/afficherFicheFormation?g_ta_cod=26841", + "pct_bg": 94.0, + "pct_tbf": 0.0, + "pct_bt_mention": 2.0, + "acc_bp": 2, + "acc_bg_mention": 120, + "fili": "PASS", + "part_acces_gen": 98.0, + "acc_bg": 174, + "nb_cla_pp_bp_brs": 6, + "nb_voe_pc_bt": 0, + "nb_voe_pc_bg": 0, + "acc_neobac": 185, + "nb_cla_pp_bg": 2659, + "acc_tbf": 0.0, + "pct_aca_orig": 94.0, + "ran_grp1": 4381.0 + }, + "geometry": { + "type": "Point", + "coordinates": [ + -0.60421, + 44.8259 + ] + }, + "record_timestamp": "2023-01-30T16:50:36.65Z" + }, + { + "datasetid": "fr-esr-parcoursup", + "recordid": "91d1567184441b19567a483a7f6df9f589df9f57", + "fields": { + "acc_sansmention": 5, + "ville_etab": "Limoges", + "nb_cla_pp_bg_brs": 168, + "nb_voe_pp_bt": 31, + "acc_tb": 1, + "lib_comp_voe_ins": "Universit\u00e9 de Limoges - Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "dep": "87", + "etablissement_id_paysage": "nkbwh", + "g_olocalisation_des_formations": [ + 45.81398, + 1.23416 + ], + "acc_aca_orig": 3, + "list_com": "Liste d'appel commune \u00e0 plusieurs formations", + "dep_lib": "Haute-Vienne", + "nb_cla_pp_bt_brs": 10, + "lib_grp1": "Tous les candidats", + "acad_mies": "Limoges", + "pct_ab": 68.0, + "prop_tot_bt": 9.0, + "pct_sansmention": 23.0, + "capa_fin": 24, + "nb_voe_pp_bg": 1099, + "pct_mention_nonrenseignee": 0.0, + "acc_mention_nonrenseignee": 0, + "cod_uai": "0870669E", + "nb_voe_pc": 3, + "contrat_etab": "Public", + "prop_tot_bg": 326.0, + "pct_bp_mention": 0.0, + "pct_acc_finpp": 64.0, + "pct_acc_debutpp": 4.0, + "pct_tb": 5.0, + "pct_aca_orig_idf": 14.0, + "part_acces_pro": 1.0, + "acc_pc": 2, + "pct_bours": 18.0, + "prop_tot_bt_brs": 6.0, + "acc_pp": 23, + "nb_voe_pp_at": 248, + "acc_tot_f": 17, + "pct_acc_datebac": 32.0, + "nb_voe_pp": 1390, + "form_lib_voe_acc": "Licence - Sciences - technologies - sant\u00e9", + "prop_tot_bp": 2.0, + "select_form": "formation non s\u00e9lective", + "acc_bp_mention": 0, + "nb_voe_pc_at": 1, + "voe_tot": 1393, + "acc_bt_mention": 1, + "nb_voe_pp_bg_brs": 168, + "prop_tot_at": 48.0, + "pct_f": 68.0, + "prop_tot_bg_brs": 53.0, + "cod_aff_form": "26972", + "nb_cla_pp": 1372, + "acc_datebac": 8.0, + "voe_tot_f": 980, + "nb_voe_pp_bp_brs": 6, + "tri": "1_universit\u00e9s", + "nb_voe_pc_bp": 0, + "acc_b": 1, + "pct_b": 5.0, + "pct_bg_mention": 73.0, + "prop_tot_bp_brs": 1.0, + "acc_finpp": 16.0, + "lib_for_voe_ins": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "acc_at": 3, + "pct_neobac": 88.0, + "g_ea_lib_vx": "Universit\u00e9 de Limoges", + "nb_voe_pp_bt_brs": 10, + "taux_acces_ens": 69.0, + "prop_tot": 385, + "region_etab_aff": "Nouvelle-Aquitaine", + "acc_bt": 1, + "acc_tot": 25, + "nb_cla_pc": 3, + "nb_voe_pp_bp": 12, + "part_acces_tec": 2.0, + "pct_bt": 5.0, + "pct_bp": 0.0, + "acc_ab": 15, + "nb_cla_pp_bt": 31, + "acc_brs": 4, + "acc_debutpp": 1.0, + "nb_cla_pp_bp": 12, + "nb_cla_pp_at": 230, + "acc_aca_orig_idf": 3, + "session": "2022", + "fil_lib_voe_acc": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "lien_form_psup": "https://dossier.parcoursup.fr/Candidats/public/fiches/afficherFicheFormation?g_ta_cod=26972", + "pct_bg": 95.0, + "pct_tbf": 0.0, + "pct_bt_mention": 5.0, + "acc_bp": 0, + "acc_bg_mention": 16, + "fili": "PASS", + "part_acces_gen": 98.0, + "acc_bg": 21, + "nb_cla_pp_bp_brs": 6, + "nb_voe_pc_bt": 1, + "nb_voe_pc_bg": 1, + "acc_neobac": 22, + "nb_cla_pp_bg": 1099, + "acc_tbf": 0.0, + "pct_aca_orig": 14.0, + "ran_grp1": 4333.0 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 1.23416, + 45.81398 + ] + }, + "record_timestamp": "2023-01-30T16:50:36.65Z" + }, + { + "datasetid": "fr-esr-parcoursup", + "recordid": "6543506ab31dc5fd53178a7064f6b703e609e455", + "fields": { + "acc_sansmention": 4, + "ville_etab": "Limoges", + "nb_cla_pp_bg_brs": 158, + "nb_voe_pp_bt": 20, + "acc_tb": 0, + "lib_comp_voe_ins": "Universit\u00e9 de Limoges - Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "dep": "87", + "etablissement_id_paysage": "nkbwh", + "g_olocalisation_des_formations": [ + 45.81377, + 1.23386 + ], + "acc_aca_orig": 3, + "list_com": "Liste d'appel commune \u00e0 plusieurs formations", + "dep_lib": "Haute-Vienne", + "nb_cla_pp_bt_brs": 6, + "lib_grp1": "Tous les candidats", + "acad_mies": "Limoges", + "pct_ab": 50.0, + "prop_tot_bt": 2.0, + "pct_sansmention": 22.0, + "capa_fin": 24, + "nb_voe_pp_bg": 947, + "pct_mention_nonrenseignee": 0.0, + "acc_mention_nonrenseignee": 0, + "cod_uai": "0870669E", + "nb_voe_pc": 6, + "contrat_etab": "Public", + "prop_tot_bg": 290.0, + "pct_bp_mention": 0.0, + "pct_acc_finpp": 58.0, + "pct_acc_debutpp": 0.0, + "pct_tb": 0.0, + "pct_aca_orig_idf": 17.0, + "part_acces_pro": 1.0, + "acc_pc": 4, + "pct_bours": 17.0, + "prop_tot_bt_brs": 2.0, + "acc_pp": 22, + "nb_voe_pp_at": 241, + "acc_tot_f": 18, + "pct_acc_datebac": 46.0, + "nb_voe_pp": 1221, + "form_lib_voe_acc": "Licence - Sciences - technologies - sant\u00e9", + "prop_tot_bp": 3.0, + "select_form": "formation non s\u00e9lective", + "acc_bp_mention": 0, + "nb_voe_pc_at": 5, + "voe_tot": 1227, + "acc_bt_mention": 0, + "nb_voe_pp_bg_brs": 158, + "prop_tot_at": 49.0, + "pct_f": 69.0, + "prop_tot_bg_brs": 47.0, + "cod_aff_form": "26975", + "nb_cla_pp": 1200, + "acc_datebac": 12.0, + "voe_tot_f": 770, + "nb_voe_pp_bp_brs": 8, + "tri": "1_universit\u00e9s", + "nb_voe_pc_bp": 0, + "acc_b": 5, + "pct_b": 28.0, + "pct_bg_mention": 78.0, + "prop_tot_bp_brs": 2.0, + "acc_finpp": 15.0, + "lib_for_voe_ins": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "acc_at": 8, + "pct_neobac": 69.0, + "g_ea_lib_vx": "Universit\u00e9 de Limoges", + "nb_voe_pp_bt_brs": 6, + "taux_acces_ens": 70.0, + "prop_tot": 344, + "region_etab_aff": "Nouvelle-Aquitaine", + "acc_bt": 1, + "acc_tot": 26, + "nb_cla_pc": 5, + "nb_voe_pp_bp": 13, + "part_acces_tec": 1.0, + "pct_bt": 6.0, + "pct_bp": 0.0, + "acc_ab": 9, + "nb_cla_pp_bt": 20, + "acc_brs": 3, + "acc_debutpp": 0.0, + "nb_cla_pp_bp": 13, + "nb_cla_pp_at": 220, + "acc_aca_orig_idf": 3, + "session": "2022", + "fil_lib_voe_acc": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "lien_form_psup": "https://dossier.parcoursup.fr/Candidats/public/fiches/afficherFicheFormation?g_ta_cod=26975", + "pct_bg": 94.0, + "pct_tbf": 0.0, + "pct_bt_mention": 0.0, + "acc_bp": 0, + "acc_bg_mention": 14, + "fili": "PASS", + "part_acces_gen": 98.0, + "acc_bg": 17, + "nb_cla_pp_bp_brs": 8, + "nb_voe_pc_bt": 0, + "nb_voe_pc_bg": 1, + "acc_neobac": 18, + "nb_cla_pp_bg": 947, + "acc_tbf": 0.0, + "pct_aca_orig": 17.0, + "ran_grp1": 4299.0 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 1.23386, + 45.81377 + ] + }, + "record_timestamp": "2023-01-30T16:50:36.65Z" + }, + { + "datasetid": "fr-esr-parcoursup", + "recordid": "8204a22de55846063b8ec7bad2e675cd3928587c", + "fields": { + "acc_sansmention": 14, + "ville_etab": "Besan\u00e7on", + "nb_cla_pp_bg_brs": 229, + "nb_voe_pp_bt": 20, + "acc_tb": 1, + "lib_comp_voe_ins": "Universit\u00e9 de Franche-Comt\u00e9 - Site de Besan\u00e7on - Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "dep": "25", + "etablissement_id_paysage": "7Mpgt", + "g_olocalisation_des_formations": [ + 47.2405, + 6.02271 + ], + "acc_aca_orig": 21, + "list_com": "Liste d'appel commune \u00e0 plusieurs formations", + "dep_lib": "Doubs", + "nb_cla_pp_bt_brs": 6, + "lib_grp1": "Tous les candidats", + "acad_mies": "Besan\u00e7on", + "pct_ab": 34.0, + "prop_tot_bt": 6.0, + "pct_sansmention": 48.0, + "capa_fin": 46, + "nb_voe_pp_bg": 1506, + "pct_mention_nonrenseignee": 0.0, + "acc_mention_nonrenseignee": 0, + "cod_uai": "0251215K", + "nb_voe_pc": 0, + "contrat_etab": "Public", + "prop_tot_bg": 457.0, + "pct_bp_mention": 0.0, + "pct_acc_finpp": 79.0, + "pct_acc_debutpp": 0.0, + "pct_tb": 3.0, + "pct_aca_orig_idf": 72.0, + "part_acces_pro": 0.0, + "acc_pc": 0, + "pct_bours": 7.0, + "prop_tot_bt_brs": 0.0, + "acc_pp": 42, + "nb_voe_pp_at": 322, + "acc_tot_f": 18, + "pct_acc_datebac": 64.0, + "nb_voe_pp": 1852, + "form_lib_voe_acc": "Licence - Sciences - technologies - sant\u00e9", + "prop_tot_bp": 3.0, + "select_form": "formation non s\u00e9lective", + "acc_bp_mention": 0, + "nb_voe_pc_at": 0, + "voe_tot": 1852, + "acc_bt_mention": 0, + "nb_voe_pp_bg_brs": 229, + "prop_tot_at": 54.0, + "pct_f": 43.0, + "prop_tot_bg_brs": 52.0, + "cod_aff_form": "27353", + "nb_cla_pp": 1852, + "acc_datebac": 27.0, + "voe_tot_f": 1143, + "nb_voe_pp_bp_brs": 1, + "tri": "1_universit\u00e9s", + "nb_voe_pc_bp": 0, + "acc_b": 4, + "pct_b": 14.0, + "pct_bg_mention": 52.0, + "prop_tot_bp_brs": 0.0, + "acc_finpp": 33.0, + "lib_for_voe_ins": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "acc_at": 13, + "pct_neobac": 69.0, + "g_ea_lib_vx": "Universit\u00e9 de Franche-Comt\u00e9 - Site de Besan\u00e7on", + "nb_voe_pp_bt_brs": 6, + "taux_acces_ens": 40.0, + "prop_tot": 520, + "region_etab_aff": "Bourgogne-Franche-Comt\u00e9", + "acc_bt": 1, + "acc_tot": 42, + "nb_cla_pc": 0, + "nb_voe_pp_bp": 4, + "part_acces_tec": 2.0, + "pct_bt": 3.0, + "pct_bp": 0.0, + "acc_ab": 10, + "nb_cla_pp_bt": 20, + "acc_brs": 2, + "acc_debutpp": 0.0, + "nb_cla_pp_bp": 4, + "nb_cla_pp_at": 322, + "acc_aca_orig_idf": 21, + "session": "2022", + "fil_lib_voe_acc": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "lien_form_psup": "https://dossier.parcoursup.fr/Candidats/public/fiches/afficherFicheFormation?g_ta_cod=27353", + "pct_bg": 97.0, + "pct_tbf": 0.0, + "pct_bt_mention": 0.0, + "acc_bp": 0, + "acc_bg_mention": 15, + "fili": "PASS", + "part_acces_gen": 98.0, + "acc_bg": 28, + "nb_cla_pp_bp_brs": 1, + "nb_voe_pc_bt": 0, + "nb_voe_pc_bg": 0, + "acc_neobac": 29, + "nb_cla_pp_bg": 1506, + "acc_tbf": 0.0, + "pct_aca_orig": 72.0, + "ran_grp1": 5779.0 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 6.02271, + 47.2405 + ] + }, + "record_timestamp": "2023-01-30T16:50:36.65Z" + }, + { + "datasetid": "fr-esr-parcoursup", + "recordid": "e2e766e45d550fd837c94d4ddeca8972bd6f7fef", + "fields": { + "acc_sansmention": 7, + "ville_etab": "Le Tampon", + "nb_cla_pp_bg_brs": 74, + "nb_voe_pp_bt": 25, + "acc_tb": 0, + "lib_comp_voe_ins": "Universit\u00e9 de la R\u00e9union - Le Tampon - Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "dep": "974", + "etablissement_id_paysage": "cEt92", + "g_olocalisation_des_formations": [ + -21.2698, + 55.507 + ], + "acc_aca_orig": 15, + "list_com": "Liste d'appel commune \u00e0 plusieurs formations", + "dep_lib": "La R\u00e9union", + "nb_cla_pp_bt_brs": 12, + "lib_grp1": "Tous les candidats", + "acad_mies": "La R\u00e9union", + "pct_ab": 42.0, + "prop_tot_bt": 16.0, + "pct_sansmention": 37.0, + "capa_fin": 30, + "nb_voe_pp_bg": 317, + "pct_mention_nonrenseignee": 0.0, + "acc_mention_nonrenseignee": 0, + "cod_uai": "9741204R", + "nb_voe_pc": 50, + "contrat_etab": "Public", + "prop_tot_bg": 239.0, + "pct_bp_mention": 5.0, + "pct_acc_finpp": 68.0, + "pct_acc_debutpp": 4.0, + "pct_tb": 0.0, + "pct_aca_orig_idf": 79.0, + "part_acces_pro": 4.0, + "acc_pc": 9, + "pct_bours": 42.0, + "prop_tot_bt_brs": 6.0, + "acc_pp": 19, + "nb_voe_pp_at": 104, + "acc_tot_f": 23, + "pct_acc_datebac": 68.0, + "nb_voe_pp": 457, + "form_lib_voe_acc": "Licence - Sciences - technologies - sant\u00e9", + "prop_tot_bp": 10.0, + "select_form": "formation non s\u00e9lective", + "acc_bp_mention": 1, + "nb_voe_pc_at": 34, + "voe_tot": 507, + "acc_bt_mention": 1, + "nb_voe_pp_bg_brs": 74, + "prop_tot_at": 104.0, + "pct_f": 82.0, + "prop_tot_bg_brs": 54.0, + "cod_aff_form": "27570", + "nb_cla_pp": 456, + "acc_datebac": 19.0, + "voe_tot_f": 349, + "nb_voe_pp_bp_brs": 7, + "tri": "1_universit\u00e9s", + "nb_voe_pc_bp": 4, + "acc_b": 3, + "pct_b": 16.0, + "pct_bg_mention": 53.0, + "prop_tot_bp_brs": 8.0, + "acc_finpp": 19.0, + "lib_for_voe_ins": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "acc_at": 9, + "pct_neobac": 68.0, + "g_ea_lib_vx": "Universit\u00e9 de la R\u00e9union - Le Tampon", + "nb_voe_pp_bt_brs": 12, + "taux_acces_ens": 100.0, + "prop_tot": 369, + "region_etab_aff": "La R\u00e9union", + "acc_bt": 3, + "acc_tot": 28, + "nb_cla_pc": 47, + "nb_voe_pp_bp": 11, + "part_acces_tec": 7.0, + "pct_bt": 16.0, + "pct_bp": 11.0, + "acc_ab": 8, + "nb_cla_pp_bt": 25, + "acc_brs": 8, + "acc_debutpp": 1.0, + "nb_cla_pp_bp": 11, + "nb_cla_pp_at": 103, + "acc_aca_orig_idf": 15, + "session": "2022", + "fil_lib_voe_acc": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "lien_form_psup": "https://dossier.parcoursup.fr/Candidats/public/fiches/afficherFicheFormation?g_ta_cod=27570", + "pct_bg": 74.0, + "pct_tbf": 5.0, + "pct_bt_mention": 5.0, + "acc_bp": 2, + "acc_bg_mention": 10, + "fili": "PASS", + "part_acces_gen": 89.0, + "acc_bg": 14, + "nb_cla_pp_bp_brs": 7, + "nb_voe_pc_bt": 2, + "nb_voe_pc_bg": 10, + "acc_neobac": 19, + "nb_cla_pp_bg": 317, + "acc_tbf": 1.0, + "pct_aca_orig": 79.0, + "ran_grp1": 1252.0 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 55.507, + -21.2698 + ] + }, + "record_timestamp": "2023-01-30T16:50:36.65Z" + }, + { + "datasetid": "fr-esr-parcoursup", + "recordid": "64a59d711382bb686238ccbcfa60a0a08ac0a5e5", + "fields": { + "acc_sansmention": 22, + "ville_etab": "Tours", + "nb_cla_pp_bg_brs": 169, + "nb_voe_pp_bt": 14, + "acc_tb": 5, + "lib_comp_voe_ins": "Universit\u00e9 de Tours - Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "dep": "37", + "etablissement_id_paysage": "cqkij", + "g_olocalisation_des_formations": [ + 47.3859, + 0.66869 + ], + "acc_aca_orig": 66, + "list_com": "Liste d'appel commune \u00e0 plusieurs formations", + "dep_lib": "Indre-et-Loire", + "nb_cla_pp_bt_brs": 4, + "lib_grp1": "Tous les candidats", + "acad_mies": "Orl\u00e9ans-Tours", + "pct_ab": 45.0, + "prop_tot_bt": 3.0, + "pct_sansmention": 30.0, + "capa_fin": 90, + "nb_voe_pp_bg": 1087, + "pct_mention_nonrenseignee": 0.0, + "acc_mention_nonrenseignee": 0, + "cod_uai": "0370800U", + "nb_voe_pc": 5, + "contrat_etab": "Public", + "prop_tot_bg": 526.0, + "pct_bp_mention": 0.0, + "pct_acc_finpp": 91.0, + "pct_acc_debutpp": 0.0, + "pct_tb": 7.0, + "pct_aca_orig_idf": 90.0, + "part_acces_pro": 0.0, + "acc_pc": 0, + "pct_bours": 25.0, + "prop_tot_bt_brs": 1.0, + "acc_pp": 87, + "nb_voe_pp_at": 283, + "acc_tot_f": 47, + "pct_acc_datebac": 83.0, + "nb_voe_pp": 1387, + "form_lib_voe_acc": "Licence - Sciences - technologies - sant\u00e9", + "prop_tot_bp": 1.0, + "select_form": "formation non s\u00e9lective", + "acc_bp_mention": 0, + "nb_voe_pc_at": 4, + "voe_tot": 1392, + "acc_bt_mention": 0, + "nb_voe_pp_bg_brs": 169, + "prop_tot_at": 81.0, + "pct_f": 54.0, + "prop_tot_bg_brs": 89.0, + "cod_aff_form": "27676", + "nb_cla_pp": 1359, + "acc_datebac": 72.0, + "voe_tot_f": 866, + "nb_voe_pp_bp_brs": 3, + "tri": "1_universit\u00e9s", + "nb_voe_pc_bp": 0, + "acc_b": 13, + "pct_b": 18.0, + "pct_bg_mention": 70.0, + "prop_tot_bp_brs": 1.0, + "acc_finpp": 79.0, + "lib_for_voe_ins": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "acc_at": 14, + "pct_neobac": 84.0, + "g_ea_lib_vx": "Universit\u00e9 de Tours", + "nb_voe_pp_bt_brs": 4, + "taux_acces_ens": 50.0, + "prop_tot": 611, + "region_etab_aff": "Centre-Val de Loire", + "acc_bt": 0, + "acc_tot": 87, + "nb_cla_pc": 5, + "nb_voe_pp_bp": 3, + "part_acces_tec": 0.0, + "pct_bt": 0.0, + "pct_bp": 0.0, + "acc_ab": 33, + "nb_cla_pp_bt": 14, + "acc_brs": 18, + "acc_debutpp": 0.0, + "nb_cla_pp_bp": 3, + "nb_cla_pp_at": 255, + "acc_aca_orig_idf": 66, + "session": "2022", + "fil_lib_voe_acc": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "lien_form_psup": "https://dossier.parcoursup.fr/Candidats/public/fiches/afficherFicheFormation?g_ta_cod=27676", + "pct_bg": 100.0, + "pct_tbf": 0.0, + "pct_bt_mention": 0.0, + "acc_bp": 0, + "acc_bg_mention": 51, + "fili": "PASS", + "part_acces_gen": 100.0, + "acc_bg": 73, + "nb_cla_pp_bp_brs": 3, + "nb_voe_pc_bt": 0, + "nb_voe_pc_bg": 1, + "acc_neobac": 73, + "nb_cla_pp_bg": 1087, + "acc_tbf": 0.0, + "pct_aca_orig": 90.0, + "ran_grp1": 5271.0 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 0.66869, + 47.3859 + ] + }, + "record_timestamp": "2023-01-30T16:50:36.65Z" + }, + { + "datasetid": "fr-esr-parcoursup", + "recordid": "0a20029059d541c92df7c80c603509091e49050f", + "fields": { + "acc_sansmention": 6, + "ville_etab": "Tours", + "nb_cla_pp_bg_brs": 378, + "nb_voe_pp_bt": 24, + "acc_tb": 36, + "lib_comp_voe_ins": "Universit\u00e9 de Tours - Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "dep": "37", + "etablissement_id_paysage": "cqkij", + "g_olocalisation_des_formations": [ + 47.386, + 0.66879 + ], + "acc_aca_orig": 125, + "list_com": "Liste d'appel commune \u00e0 plusieurs formations", + "dep_lib": "Indre-et-Loire", + "nb_cla_pp_bt_brs": 5, + "lib_grp1": "Tous les candidats", + "acad_mies": "Orl\u00e9ans-Tours", + "pct_ab": 32.0, + "prop_tot_bt": 2.0, + "pct_sansmention": 5.0, + "capa_fin": 150, + "nb_voe_pp_bg": 2625, + "pct_mention_nonrenseignee": 0.0, + "acc_mention_nonrenseignee": 0, + "cod_uai": "0370800U", + "nb_voe_pc": 12, + "contrat_etab": "Public", + "prop_tot_bg": 859.0, + "pct_bp_mention": 0.0, + "pct_acc_finpp": 89.0, + "pct_acc_debutpp": 6.0, + "pct_tb": 27.0, + "pct_aca_orig_idf": 94.0, + "part_acces_pro": 0.0, + "acc_pc": 2, + "pct_bours": 12.0, + "prop_tot_bt_brs": 0.0, + "acc_pp": 145, + "nb_voe_pp_at": 482, + "acc_tot_f": 94, + "pct_acc_datebac": 84.0, + "nb_voe_pp": 3139, + "form_lib_voe_acc": "Licence - Sciences - technologies - sant\u00e9", + "prop_tot_bp": 0.0, + "select_form": "formation non s\u00e9lective", + "acc_bp_mention": 0, + "nb_voe_pc_at": 10, + "voe_tot": 3151, + "acc_bt_mention": 0, + "nb_voe_pp_bg_brs": 378, + "prop_tot_at": 88.0, + "pct_f": 64.0, + "prop_tot_bg_brs": 112.0, + "cod_aff_form": "27677", + "nb_cla_pp": 3081, + "acc_datebac": 124.0, + "voe_tot_f": 2090, + "nb_voe_pp_bp_brs": 5, + "tri": "1_universit\u00e9s", + "nb_voe_pc_bp": 0, + "acc_b": 42, + "pct_b": 32.0, + "pct_bg_mention": 95.0, + "prop_tot_bp_brs": 0.0, + "acc_finpp": 131.0, + "lib_for_voe_ins": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "acc_at": 14, + "pct_neobac": 90.0, + "g_ea_lib_vx": "Universit\u00e9 de Tours", + "nb_voe_pp_bt_brs": 5, + "taux_acces_ens": 40.0, + "prop_tot": 949, + "region_etab_aff": "Centre-Val de Loire", + "acc_bt": 0, + "acc_tot": 147, + "nb_cla_pc": 11, + "nb_voe_pp_bp": 8, + "part_acces_tec": 0.0, + "pct_bt": 0.0, + "pct_bp": 0.0, + "acc_ab": 42, + "nb_cla_pp_bt": 24, + "acc_brs": 16, + "acc_debutpp": 9.0, + "nb_cla_pp_bp": 8, + "nb_cla_pp_at": 424, + "acc_aca_orig_idf": 125, + "session": "2022", + "fil_lib_voe_acc": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "lien_form_psup": "https://dossier.parcoursup.fr/Candidats/public/fiches/afficherFicheFormation?g_ta_cod=27677", + "pct_bg": 100.0, + "pct_tbf": 5.0, + "pct_bt_mention": 0.0, + "acc_bp": 0, + "acc_bg_mention": 126, + "fili": "PASS", + "part_acces_gen": 100.0, + "acc_bg": 133, + "nb_cla_pp_bp_brs": 5, + "nb_voe_pc_bt": 1, + "nb_voe_pc_bg": 1, + "acc_neobac": 133, + "nb_cla_pp_bg": 2625, + "acc_tbf": 6.0, + "pct_aca_orig": 94.0, + "ran_grp1": 5371.0 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 0.66879, + 47.386 + ] + }, + "record_timestamp": "2023-01-30T16:50:36.65Z" + }, + { + "datasetid": "fr-esr-parcoursup", + "recordid": "0691d4a968013ae9ef7ecdf2199eda00e31faf0e", + "fields": { + "acc_sansmention": 3, + "ville_etab": "Saint-Etienne", + "nb_cla_pp_bg_brs": 292, + "nb_voe_pp_bt": 55, + "acc_tb": 24, + "lib_comp_voe_ins": "Universite Jean Monnet, Saint-Etienne - Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "dep": "42", + "etablissement_id_paysage": "tIJ02", + "g_olocalisation_des_formations": [ + 45.48261, + 4.36594 + ], + "acc_aca_orig": 62, + "list_com": "Liste d'appel commune \u00e0 plusieurs formations", + "dep_lib": "Loire", + "nb_cla_pp_bt_brs": 19, + "lib_grp1": "Tous les candidats", + "acad_mies": "Lyon", + "pct_ab": 26.0, + "prop_tot_bt": 0.0, + "pct_sansmention": 3.0, + "capa_fin": 96, + "nb_voe_pp_bg": 1571, + "pct_mention_nonrenseignee": 0.0, + "acc_mention_nonrenseignee": 0, + "cod_uai": "0421095M", + "nb_voe_pc": 0, + "contrat_etab": "Public", + "prop_tot_bg": 315.0, + "pct_bp_mention": 0.0, + "pct_acc_finpp": 95.0, + "pct_acc_debutpp": 19.0, + "pct_tb": 28.0, + "pct_aca_orig_idf": 72.0, + "part_acces_pro": 0.0, + "acc_pc": 0, + "pct_bours": 20.0, + "prop_tot_bt_brs": 0.0, + "acc_pp": 96, + "nb_voe_pp_at": 372, + "acc_tot_f": 85, + "pct_acc_datebac": 94.0, + "nb_voe_pp": 2022, + "form_lib_voe_acc": "Licence - Sciences - technologies - sant\u00e9", + "prop_tot_bp": 0.0, + "select_form": "formation non s\u00e9lective", + "acc_bp_mention": 0, + "nb_voe_pc_at": 0, + "voe_tot": 2022, + "acc_bt_mention": 0, + "nb_voe_pp_bg_brs": 292, + "prop_tot_at": 43.0, + "pct_f": 89.0, + "prop_tot_bg_brs": 70.0, + "cod_aff_form": "27885", + "nb_cla_pp": 2007, + "acc_datebac": 90.0, + "voe_tot_f": 1498, + "nb_voe_pp_bp_brs": 13, + "tri": "1_universit\u00e9s", + "nb_voe_pc_bp": 0, + "acc_b": 34, + "pct_b": 40.0, + "pct_bg_mention": 97.0, + "prop_tot_bp_brs": 0.0, + "acc_finpp": 91.0, + "lib_for_voe_ins": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "acc_at": 10, + "pct_neobac": 90.0, + "g_ea_lib_vx": "Universite Jean Monnet, Saint-Etienne", + "nb_voe_pp_bt_brs": 19, + "taux_acces_ens": 21.0, + "prop_tot": 358, + "region_etab_aff": "Auvergne-Rh\u00f4ne-Alpes", + "acc_bt": 0, + "acc_tot": 96, + "nb_cla_pc": 0, + "nb_voe_pp_bp": 24, + "part_acces_tec": 0.0, + "pct_bt": 0.0, + "pct_bp": 0.0, + "acc_ab": 22, + "nb_cla_pp_bt": 55, + "acc_brs": 17, + "acc_debutpp": 18.0, + "nb_cla_pp_bp": 24, + "nb_cla_pp_at": 357, + "acc_aca_orig_idf": 62, + "session": "2022", + "fil_lib_voe_acc": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "lien_form_psup": "https://dossier.parcoursup.fr/Candidats/public/fiches/afficherFicheFormation?g_ta_cod=27885", + "pct_bg": 100.0, + "pct_tbf": 3.0, + "pct_bt_mention": 0.0, + "acc_bp": 0, + "acc_bg_mention": 83, + "fili": "PASS", + "part_acces_gen": 100.0, + "acc_bg": 86, + "nb_cla_pp_bp_brs": 13, + "nb_voe_pc_bt": 0, + "nb_voe_pc_bg": 0, + "acc_neobac": 86, + "nb_cla_pp_bg": 1571, + "acc_tbf": 3.0, + "pct_aca_orig": 72.0, + "ran_grp1": 873.0 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 4.36594, + 45.48261 + ] + }, + "record_timestamp": "2023-01-30T16:50:36.65Z" + } + ], "facet_groups": [ + { + "name": "session", + "facets": [ + { + "name": "2022", + "count": 272, + "state": "displayed", + "path": "2022" + } + ] + }, + { + "name": "contrat_etab", + "facets": [ + { + "name": "Public", + "count": 272, + "state": "displayed", + "path": "Public" + } + ] + }, + { + "name": "cod_uai", + "facets": [ + { + "name": "0290346U", + "count": 17, + "state": "displayed", + "path": "0290346U" + }, + { + "name": "0311384L", + "count": 16, + "state": "displayed", + "path": "0311384L" + }, + { + "name": "0597065J", + "count": 13, + "state": "displayed", + "path": "0597065J" + }, + { + "name": "0691774D", + "count": 13, + "state": "displayed", + "path": "0691774D" + }, + { + "name": "0442953W", + "count": 12, + "state": "displayed", + "path": "0442953W" + }, + { + "name": "0301577B", + "count": 11, + "state": "displayed", + "path": "0301577B" + }, + { + "name": "0342321N", + "count": 11, + "state": "displayed", + "path": "0342321N" + }, + { + "name": "0350936C", + "count": 11, + "state": "displayed", + "path": "0350936C" + }, + { + "name": "0870669E", + "count": 11, + "state": "displayed", + "path": "0870669E" + }, + { + "name": "0931391G", + "count": 11, + "state": "displayed", + "path": "0931391G" + }, + { + "name": "0755976N", + "count": 10, + "state": "displayed", + "path": "0755976N" + }, + { + "name": "0211237F", + "count": 9, + "state": "displayed", + "path": "0211237F" + }, + { + "name": "0421095M", + "count": 9, + "state": "displayed", + "path": "0421095M" + }, + { + "name": "0632084Y", + "count": 9, + "state": "displayed", + "path": "0632084Y" + }, + { + "name": "9710585J", + "count": 9, + "state": "displayed", + "path": "9710585J" + }, + { + "name": "9720832X", + "count": 9, + "state": "displayed", + "path": "9720832X" + }, + { + "name": "0251215K", + "count": 8, + "state": "displayed", + "path": "0251215K" + }, + { + "name": "0333298F", + "count": 8, + "state": "displayed", + "path": "0333298F" + }, + { + "name": "0370800U", + "count": 8, + "state": "displayed", + "path": "0370800U" + }, + { + "name": "0134248X", + "count": 7, + "state": "displayed", + "path": "0134248X" + }, + { + "name": "0451721B", + "count": 7, + "state": "displayed", + "path": "0451721B" + }, + { + "name": "0580758J", + "count": 7, + "state": "displayed", + "path": "0580758J" + }, + { + "name": "0781944P", + "count": 6, + "state": "displayed", + "path": "0781944P" + }, + { + "name": "0912409Z", + "count": 6, + "state": "displayed", + "path": "0912409Z" + }, + { + "name": "0383546Y", + "count": 5, + "state": "displayed", + "path": "0383546Y" + }, + { + "name": "0801344B", + "count": 5, + "state": "displayed", + "path": "0801344B" + }, + { + "name": "9740478B", + "count": 5, + "state": "displayed", + "path": "9740478B" + }, + { + "name": "0561992L", + "count": 3, + "state": "displayed", + "path": "0561992L" + }, + { + "name": "0762047M", + "count": 3, + "state": "displayed", + "path": "0762047M" + }, + { + "name": "9741204R", + "count": 3, + "state": "displayed", + "path": "9741204R" + }, + { + "name": "0222032P", + "count": 2, + "state": "displayed", + "path": "0222032P" + }, + { + "name": "0755188G", + "count": 2, + "state": "displayed", + "path": "0755188G" + }, + { + "name": "0763470J", + "count": 2, + "state": "displayed", + "path": "0763470J" + }, + { + "name": "0490970N", + "count": 1, + "state": "displayed", + "path": "0490970N" + }, + { + "name": "0542493S", + "count": 1, + "state": "displayed", + "path": "0542493S" + }, + { + "name": "7200664J", + "count": 1, + "state": "displayed", + "path": "7200664J" + }, + { + "name": "9730429D", + "count": 1, + "state": "displayed", + "path": "9730429D" + } + ] + }, + { + "name": "g_ea_lib_vx", + "facets": [ + { + "name": "Universit\u00e9 de Brest", + "count": 17, + "state": "displayed", + "path": "Universit\u00e9 de Brest" + }, + { + "name": "Universit\u00e9 Toulouse 3 Paul Sabatier", + "count": 16, + "state": "displayed", + "path": "Universit\u00e9 Toulouse 3 Paul Sabatier" + }, + { + "name": "Universit\u00e9 Claude Bernard Lyon 1", + "count": 13, + "state": "displayed", + "path": "Universit\u00e9 Claude Bernard Lyon 1" + }, + { + "name": "Universit\u00e9 de Lille", + "count": 13, + "state": "displayed", + "path": "Universit\u00e9 de Lille" + }, + { + "name": "Nantes Universit\u00e9", + "count": 12, + "state": "displayed", + "path": "Nantes Universit\u00e9" + }, + { + "name": "Universit\u00e9 Sorbonne Paris Nord - Antenne de Bobigny", + "count": 11, + "state": "displayed", + "path": "Universit\u00e9 Sorbonne Paris Nord - Antenne de Bobigny" + }, + { + "name": "Universit\u00e9 de Limoges", + "count": 11, + "state": "displayed", + "path": "Universit\u00e9 de Limoges" + }, + { + "name": "Universit\u00e9 de Montpellier", + "count": 11, + "state": "displayed", + "path": "Universit\u00e9 de Montpellier" + }, + { + "name": "Universit\u00e9 de Montpellier, Antenne de N\u00eemes", + "count": 11, + "state": "displayed", + "path": "Universit\u00e9 de Montpellier, Antenne de N\u00eemes" + }, + { + "name": "Universit\u00e9 de Rennes 1", + "count": 11, + "state": "displayed", + "path": "Universit\u00e9 de Rennes 1" + }, + { + "name": "Universit\u00e9 de Paris", + "count": 10, + "state": "displayed", + "path": "Universit\u00e9 de Paris" + }, + { + "name": "Universite Jean Monnet, Saint-Etienne", + "count": 9, + "state": "displayed", + "path": "Universite Jean Monnet, Saint-Etienne" + }, + { + "name": "Universit\u00e9 Clermont Auvergne", + "count": 9, + "state": "displayed", + "path": "Universit\u00e9 Clermont Auvergne" + }, + { + "name": "Universit\u00e9 de Bourgogne - site de Dijon", + "count": 9, + "state": "displayed", + "path": "Universit\u00e9 de Bourgogne - site de Dijon" + }, + { + "name": "Universit\u00e9 des Antilles - P\u00f4le Guadeloupe", + "count": 9, + "state": "displayed", + "path": "Universit\u00e9 des Antilles - P\u00f4le Guadeloupe" + }, + { + "name": "Universit\u00e9 des Antilles - P\u00f4le Martinique", + "count": 9, + "state": "displayed", + "path": "Universit\u00e9 des Antilles - P\u00f4le Martinique" + }, + { + "name": "Universit\u00e9 de Bordeaux - Bordeaux M\u00e9tropole", + "count": 8, + "state": "displayed", + "path": "Universit\u00e9 de Bordeaux - Bordeaux M\u00e9tropole" + }, + { + "name": "Universit\u00e9 de Franche-Comt\u00e9 - Site de Besan\u00e7on", + "count": 8, + "state": "displayed", + "path": "Universit\u00e9 de Franche-Comt\u00e9 - Site de Besan\u00e7on" + }, + { + "name": "Universit\u00e9 de Tours", + "count": 8, + "state": "displayed", + "path": "Universit\u00e9 de Tours" + }, + { + "name": "Aix-Marseille Universit\u00e9 - Site de Marseille Timone", + "count": 7, + "state": "displayed", + "path": "Aix-Marseille Universit\u00e9 - Site de Marseille Timone" + }, + { + "name": "Campus d'Orl\u00e9ans", + "count": 7, + "state": "displayed", + "path": "Campus d'Orl\u00e9ans" + }, + { + "name": "Universit\u00e9 de Bourgogne - site de Nevers", + "count": 7, + "state": "displayed", + "path": "Universit\u00e9 de Bourgogne - site de Nevers" + }, + { + "name": "Ecole Universitaire de premier cycle - Campus d'Orsay Universit\u00e9 Paris-Saclay", + "count": 6, + "state": "displayed", + "path": "Ecole Universitaire de premier cycle - Campus d'Orsay Universit\u00e9 Paris-Saclay" + }, + { + "name": "Universit\u00e9 de Versailles - Saint Quentin en Yvelines", + "count": 6, + "state": "displayed", + "path": "Universit\u00e9 de Versailles - Saint Quentin en Yvelines" + }, + { + "name": "Universit\u00e9 Grenoble Alpes", + "count": 5, + "state": "displayed", + "path": "Universit\u00e9 Grenoble Alpes" + }, + { + "name": "Universit\u00e9 d'Amiens", + "count": 5, + "state": "displayed", + "path": "Universit\u00e9 d'Amiens" + }, + { + "name": "Universit\u00e9 de La R\u00e9union - Saint Denis", + "count": 5, + "state": "displayed", + "path": "Universit\u00e9 de La R\u00e9union - Saint Denis" + }, + { + "name": "Universit\u00e9 de Rennes 1 - Antenne de Vannes", + "count": 3, + "state": "displayed", + "path": "Universit\u00e9 de Rennes 1 - Antenne de Vannes" + }, + { + "name": "Universit\u00e9 de Rouen Normandie - Campus Martainville Rouen - UFR Sant\u00e9", + "count": 3, + "state": "displayed", + "path": "Universit\u00e9 de Rouen Normandie - Campus Martainville Rouen - UFR Sant\u00e9" + }, + { + "name": "Universit\u00e9 de la R\u00e9union - Le Tampon", + "count": 3, + "state": "displayed", + "path": "Universit\u00e9 de la R\u00e9union - Le Tampon" + }, + { + "name": "Sorbonne Universit\u00e9 - M\u00e9decine", + "count": 2, + "state": "displayed", + "path": "Sorbonne Universit\u00e9 - M\u00e9decine" + }, + { + "name": "Universit\u00e9 Rennes 1 - Site de Saint-Brieuc", + "count": 2, + "state": "displayed", + "path": "Universit\u00e9 Rennes 1 - Site de Saint-Brieuc" + }, + { + "name": "Universit\u00e9 de Rouen Normandie - Campus PASS Le Havre", + "count": 2, + "state": "displayed", + "path": "Universit\u00e9 de Rouen Normandie - Campus PASS Le Havre" + }, + { + "name": "Universit\u00e9 Angers", + "count": 1, + "state": "displayed", + "path": "Universit\u00e9 Angers" + }, + { + "name": "Universit\u00e9 de Corte", + "count": 1, + "state": "displayed", + "path": "Universit\u00e9 de Corte" + }, + { + "name": "Universit\u00e9 de Guyane", + "count": 1, + "state": "displayed", + "path": "Universit\u00e9 de Guyane" + }, + { + "name": "Universit\u00e9 de Lorraine - Site de Nancy", + "count": 1, + "state": "displayed", + "path": "Universit\u00e9 de Lorraine - Site de Nancy" + } + ] + }, + { + "name": "dep_lib", + "facets": [ + { + "name": "Finist\u00e8re", + "count": 17, + "state": "displayed", + "path": "Finist\u00e8re" + }, + { + "name": "Haute-Garonne", + "count": 16, + "state": "displayed", + "path": "Haute-Garonne" + }, + { + "name": "Nord", + "count": 13, + "state": "displayed", + "path": "Nord" + }, + { + "name": "Rh\u00f4ne", + "count": 13, + "state": "displayed", + "path": "Rh\u00f4ne" + }, + { + "name": "Loire-Atlantique", + "count": 12, + "state": "displayed", + "path": "Loire-Atlantique" + }, + { + "name": "Paris", + "count": 12, + "state": "displayed", + "path": "Paris" + }, + { + "name": "Gard", + "count": 11, + "state": "displayed", + "path": "Gard" + }, + { + "name": "Haute-Vienne", + "count": 11, + "state": "displayed", + "path": "Haute-Vienne" + }, + { + "name": "H\u00e9rault", + "count": 11, + "state": "displayed", + "path": "H\u00e9rault" + }, + { + "name": "Ille-et-Vilaine", + "count": 11, + "state": "displayed", + "path": "Ille-et-Vilaine" + }, + { + "name": "Seine-Saint-Denis", + "count": 11, + "state": "displayed", + "path": "Seine-Saint-Denis" + }, + { + "name": "C\u00f4te-d'or", + "count": 9, + "state": "displayed", + "path": "C\u00f4te-d'or" + }, + { + "name": "Guadeloupe", + "count": 9, + "state": "displayed", + "path": "Guadeloupe" + }, + { + "name": "Loire", + "count": 9, + "state": "displayed", + "path": "Loire" + }, + { + "name": "Martinique", + "count": 9, + "state": "displayed", + "path": "Martinique" + }, + { + "name": "Puy-de-D\u00f4me", + "count": 9, + "state": "displayed", + "path": "Puy-de-D\u00f4me" + }, + { + "name": "Doubs", + "count": 8, + "state": "displayed", + "path": "Doubs" + }, + { + "name": "Gironde", + "count": 8, + "state": "displayed", + "path": "Gironde" + }, + { + "name": "Indre-et-Loire", + "count": 8, + "state": "displayed", + "path": "Indre-et-Loire" + }, + { + "name": "La R\u00e9union", + "count": 8, + "state": "displayed", + "path": "La R\u00e9union" + }, + { + "name": "Bouches-du-Rh\u00f4ne", + "count": 7, + "state": "displayed", + "path": "Bouches-du-Rh\u00f4ne" + }, + { + "name": "Loiret", + "count": 7, + "state": "displayed", + "path": "Loiret" + }, + { + "name": "Ni\u00e8vre", + "count": 7, + "state": "displayed", + "path": "Ni\u00e8vre" + }, + { + "name": "Essonne", + "count": 6, + "state": "displayed", + "path": "Essonne" + }, + { + "name": "Yvelines", + "count": 6, + "state": "displayed", + "path": "Yvelines" + }, + { + "name": "Is\u00e8re", + "count": 5, + "state": "displayed", + "path": "Is\u00e8re" + }, + { + "name": "Seine-Maritime", + "count": 5, + "state": "displayed", + "path": "Seine-Maritime" + }, + { + "name": "Somme", + "count": 5, + "state": "displayed", + "path": "Somme" + }, + { + "name": "Morbihan", + "count": 3, + "state": "displayed", + "path": "Morbihan" + }, + { + "name": "C\u00f4tes-d'armor", + "count": 2, + "state": "displayed", + "path": "C\u00f4tes-d'armor" + }, + { + "name": "Guyane", + "count": 1, + "state": "displayed", + "path": "Guyane" + }, + { + "name": "Haute-Corse", + "count": 1, + "state": "displayed", + "path": "Haute-Corse" + }, + { + "name": "Maine-et-Loire", + "count": 1, + "state": "displayed", + "path": "Maine-et-Loire" + }, + { + "name": "Meurthe-et-Moselle", + "count": 1, + "state": "displayed", + "path": "Meurthe-et-Moselle" + } + ] + }, + { + "name": "region_etab_aff", + "facets": [ + { + "name": "Occitanie", + "count": 38, + "state": "displayed", + "path": "Occitanie" + }, + { + "name": "Auvergne-Rh\u00f4ne-Alpes", + "count": 36, + "state": "displayed", + "path": "Auvergne-Rh\u00f4ne-Alpes" + }, + { + "name": "Ile-de-France", + "count": 35, + "state": "displayed", + "path": "Ile-de-France" + }, + { + "name": "Bretagne", + "count": 33, + "state": "displayed", + "path": "Bretagne" + }, + { + "name": "Bourgogne-Franche-Comt\u00e9", + "count": 24, + "state": "displayed", + "path": "Bourgogne-Franche-Comt\u00e9" + }, + { + "name": "Nouvelle-Aquitaine", + "count": 19, + "state": "displayed", + "path": "Nouvelle-Aquitaine" + }, + { + "name": "Hauts-de-France", + "count": 18, + "state": "displayed", + "path": "Hauts-de-France" + }, + { + "name": "Centre-Val de Loire", + "count": 15, + "state": "displayed", + "path": "Centre-Val de Loire" + }, + { + "name": "Pays de la Loire", + "count": 13, + "state": "displayed", + "path": "Pays de la Loire" + }, + { + "name": "Guadeloupe", + "count": 9, + "state": "displayed", + "path": "Guadeloupe" + }, + { + "name": "Martinique", + "count": 9, + "state": "displayed", + "path": "Martinique" + }, + { + "name": "La R\u00e9union", + "count": 8, + "state": "displayed", + "path": "La R\u00e9union" + }, + { + "name": "Provence-Alpes-C\u00f4te d\u2019Azur", + "count": 7, + "state": "displayed", + "path": "Provence-Alpes-C\u00f4te d\u2019Azur" + }, + { + "name": "Normandie", + "count": 5, + "state": "displayed", + "path": "Normandie" + }, + { + "name": "Corse", + "count": 1, + "state": "displayed", + "path": "Corse" + }, + { + "name": "Grand Est", + "count": 1, + "state": "displayed", + "path": "Grand Est" + }, + { + "name": "Guyane", + "count": 1, + "state": "displayed", + "path": "Guyane" + } + ] + }, + { + "name": "acad_mies", + "facets": [ + { + "name": "Rennes", + "count": 33, + "state": "displayed", + "path": "Rennes" + }, + { + "name": "Lyon", + "count": 22, + "state": "displayed", + "path": "Lyon" + }, + { + "name": "Montpellier", + "count": 22, + "state": "displayed", + "path": "Montpellier" + }, + { + "name": "Dijon", + "count": 16, + "state": "displayed", + "path": "Dijon" + }, + { + "name": "Toulouse", + "count": 16, + "state": "displayed", + "path": "Toulouse" + }, + { + "name": "Orl\u00e9ans-Tours", + "count": 15, + "state": "displayed", + "path": "Orl\u00e9ans-Tours" + }, + { + "name": "Lille", + "count": 13, + "state": "displayed", + "path": "Lille" + }, + { + "name": "Nantes", + "count": 13, + "state": "displayed", + "path": "Nantes" + }, + { + "name": "Paris", + "count": 12, + "state": "displayed", + "path": "Paris" + }, + { + "name": "Versailles", + "count": 12, + "state": "displayed", + "path": "Versailles" + }, + { + "name": "Cr\u00e9teil", + "count": 11, + "state": "displayed", + "path": "Cr\u00e9teil" + }, + { + "name": "Limoges", + "count": 11, + "state": "displayed", + "path": "Limoges" + }, + { + "name": "Clermont-Ferrand", + "count": 9, + "state": "displayed", + "path": "Clermont-Ferrand" + }, + { + "name": "Guadeloupe", + "count": 9, + "state": "displayed", + "path": "Guadeloupe" + }, + { + "name": "Martinique", + "count": 9, + "state": "displayed", + "path": "Martinique" + }, + { + "name": "Besan\u00e7on", + "count": 8, + "state": "displayed", + "path": "Besan\u00e7on" + }, + { + "name": "Bordeaux", + "count": 8, + "state": "displayed", + "path": "Bordeaux" + }, + { + "name": "La R\u00e9union", + "count": 8, + "state": "displayed", + "path": "La R\u00e9union" + }, + { + "name": "Aix-Marseille", + "count": 7, + "state": "displayed", + "path": "Aix-Marseille" + }, + { + "name": "Amiens", + "count": 5, + "state": "displayed", + "path": "Amiens" + }, + { + "name": "Grenoble", + "count": 5, + "state": "displayed", + "path": "Grenoble" + }, + { + "name": "Normandie", + "count": 5, + "state": "displayed", + "path": "Normandie" + }, + { + "name": "Corse", + "count": 1, + "state": "displayed", + "path": "Corse" + }, + { + "name": "Guyane", + "count": 1, + "state": "displayed", + "path": "Guyane" + }, + { + "name": "Nancy-Metz", + "count": 1, + "state": "displayed", + "path": "Nancy-Metz" + } + ] + }, + { + "name": "ville_etab", + "facets": [ + { + "name": "Brest", + "count": 17, + "state": "displayed", + "path": "Brest" + }, + { + "name": "Toulouse", + "count": 16, + "state": "displayed", + "path": "Toulouse" + }, + { + "name": "Lille", + "count": 13, + "state": "displayed", + "path": "Lille" + }, + { + "name": "Villeurbanne", + "count": 13, + "state": "displayed", + "path": "Villeurbanne" + }, + { + "name": "Nantes", + "count": 12, + "state": "displayed", + "path": "Nantes" + }, + { + "name": "Bobigny", + "count": 11, + "state": "displayed", + "path": "Bobigny" + }, + { + "name": "Limoges", + "count": 11, + "state": "displayed", + "path": "Limoges" + }, + { + "name": "Montpellier", + "count": 11, + "state": "displayed", + "path": "Montpellier" + }, + { + "name": "N\u00eemes", + "count": 11, + "state": "displayed", + "path": "N\u00eemes" + }, + { + "name": "Rennes", + "count": 11, + "state": "displayed", + "path": "Rennes" + }, + { + "name": "Paris 6e Arrondissement", + "count": 10, + "state": "displayed", + "path": "Paris 6e Arrondissement" + }, + { + "name": "Clermont-Ferrand", + "count": 9, + "state": "displayed", + "path": "Clermont-Ferrand" + }, + { + "name": "Dijon", + "count": 9, + "state": "displayed", + "path": "Dijon" + }, + { + "name": "Pointe-\u00e0-Pitre", + "count": 9, + "state": "displayed", + "path": "Pointe-\u00e0-Pitre" + }, + { + "name": "Saint-Etienne", + "count": 9, + "state": "displayed", + "path": "Saint-Etienne" + }, + { + "name": "Schoelcher", + "count": 9, + "state": "displayed", + "path": "Schoelcher" + }, + { + "name": "Besan\u00e7on", + "count": 8, + "state": "displayed", + "path": "Besan\u00e7on" + }, + { + "name": "Talence", + "count": 8, + "state": "displayed", + "path": "Talence" + }, + { + "name": "Tours", + "count": 8, + "state": "displayed", + "path": "Tours" + }, + { + "name": "Marseille 5e Arrondissement", + "count": 7, + "state": "displayed", + "path": "Marseille 5e Arrondissement" + }, + { + "name": "Nevers", + "count": 7, + "state": "displayed", + "path": "Nevers" + }, + { + "name": "Orl\u00e9ans", + "count": 7, + "state": "displayed", + "path": "Orl\u00e9ans" + }, + { + "name": "Guyancourt", + "count": 6, + "state": "displayed", + "path": "Guyancourt" + }, + { + "name": "Orsay", + "count": 6, + "state": "displayed", + "path": "Orsay" + }, + { + "name": "Amiens", + "count": 5, + "state": "displayed", + "path": "Amiens" + }, + { + "name": "Saint-Denis", + "count": 5, + "state": "displayed", + "path": "Saint-Denis" + }, + { + "name": "Saint-Martin-d'H\u00e8res", + "count": 5, + "state": "displayed", + "path": "Saint-Martin-d'H\u00e8res" + }, + { + "name": "Le Tampon", + "count": 3, + "state": "displayed", + "path": "Le Tampon" + }, + { + "name": "Rouen", + "count": 3, + "state": "displayed", + "path": "Rouen" + }, + { + "name": "Vannes", + "count": 3, + "state": "displayed", + "path": "Vannes" + }, + { + "name": "Le Havre", + "count": 2, + "state": "displayed", + "path": "Le Havre" + }, + { + "name": "Paris 13e Arrondissement", + "count": 2, + "state": "displayed", + "path": "Paris 13e Arrondissement" + }, + { + "name": "Saint-Brieuc", + "count": 2, + "state": "displayed", + "path": "Saint-Brieuc" + }, + { + "name": "Angers", + "count": 1, + "state": "displayed", + "path": "Angers" + }, + { + "name": "Cayenne", + "count": 1, + "state": "displayed", + "path": "Cayenne" + }, + { + "name": "Corte", + "count": 1, + "state": "displayed", + "path": "Corte" + }, + { + "name": "Nancy", + "count": 1, + "state": "displayed", + "path": "Nancy" + } + ] + }, { "name": "lib_for_voe_ins", "facets": [ { - "name": "BTS - Services - Comptabilit\u00e9 et gestion", - "count": 337, - "state": "displayed", - "path": "BTS - Services - Comptabilit\u00e9 et gestion" - }, - { - "name": "BTS - Services - Management Commercial Op\u00e9rationnel", - "count": 336, - "state": "displayed", - "path": "BTS - Services - Management Commercial Op\u00e9rationnel" - }, - { - "name": "BTS - Services - Gestion de la PME", - "count": 260, - "state": "displayed", - "path": "BTS - Services - Gestion de la PME" - }, - { - "name": "BTS - Services - Support \u00e0 l'action manag\u00e9riale", - "count": 244, - "state": "displayed", - "path": "BTS - Services - Support \u00e0 l'action manag\u00e9riale" - }, - { - "name": "BTS - Services - N\u00e9gociation et digitalisation de la Relation Client", - "count": 239, - "state": "displayed", - "path": "BTS - Services - N\u00e9gociation et digitalisation de la Relation Client" - }, - { - "name": "BTS - Production - Electrotechnique", - "count": 163, - "state": "displayed", - "path": "BTS - Production - Electrotechnique" - }, - { - "name": "BTS - Services - Services informatiques aux organisations", - "count": 161, - "state": "displayed", - "path": "BTS - Services - Services informatiques aux organisations" - }, - { - "name": "BTS - Services - Commerce International", - "count": 158, - "state": "displayed", - "path": "BTS - Services - Commerce International" - }, - { - "name": "BTS - Production - Syst\u00e8mes num\u00e9riques - Option informatique et r\u00e9seaux", - "count": 138, - "state": "displayed", - "path": "BTS - Production - Syst\u00e8mes num\u00e9riques - Option informatique et r\u00e9seaux" - }, - { - "name": "BTS - Services - Economie sociale familiale", - "count": 124, - "state": "displayed", - "path": "BTS - Services - Economie sociale familiale" - }, - { - "name": "BTS - Services - Service et prestation des secteurs sanitaire et social", - "count": 122, - "state": "displayed", - "path": "BTS - Services - Service et prestation des secteurs sanitaire et social" - }, - { - "name": "BTS - Services - Tourisme", - "count": 107, - "state": "displayed", - "path": "BTS - Services - Tourisme" - }, - { - "name": "BTS - Services - Conseil et commercialisation de solutions techniques", - "count": 106, - "state": "displayed", - "path": "BTS - Services - Conseil et commercialisation de solutions techniques" - }, - { - "name": "BTS - Production - Syst\u00e8mes num\u00e9riques - Option \u00e9lectronique et communication", - "count": 102, - "state": "displayed", - "path": "BTS - Production - Syst\u00e8mes num\u00e9riques - Option \u00e9lectronique et communication" - }, - { - "name": "BTS - Production - Conception et R\u00e9alisation de Syst\u00e8mes Automatiques", - "count": 98, - "state": "displayed", - "path": "BTS - Production - Conception et R\u00e9alisation de Syst\u00e8mes Automatiques" - }, - { - "name": "BTS - Production - Maintenance des syst\u00e8mes - option A Syst\u00e8mes de production", - "count": 96, - "state": "displayed", - "path": "BTS - Production - Maintenance des syst\u00e8mes - option A Syst\u00e8mes de production" - }, - { - "name": "BTS - Agricole - Analyse, conduite et strat\u00e9gie de l'entreprise agricole", - "count": 91, - "state": "displayed", - "path": "BTS - Agricole - Analyse, conduite et strat\u00e9gie de l'entreprise agricole" - }, - { - "name": "BTS - Services - Communication", - "count": 85, - "state": "displayed", - "path": "BTS - Services - Communication" - }, - { - "name": "BTS - Services - Management en h\u00f4tellerie restauration", - "count": 79, - "state": "displayed", - "path": "BTS - Services - Management en h\u00f4tellerie restauration" - }, - { - "name": "BTS - Production - Conception des processus de r\u00e9alisation de produits (1\u00e8re ann\u00e9e commune)", - "count": 78, - "state": "displayed", - "path": "BTS - Production - Conception des processus de r\u00e9alisation de produits (1\u00e8re ann\u00e9e commune)" - }, - { - "name": "BTS - Production - Conception de produits industriels", - "count": 69, - "state": "displayed", - "path": "BTS - Production - Conception de produits industriels" - }, - { - "name": "BTS - Services - Professions immobili\u00e8res", - "count": 59, - "state": "displayed", - "path": "BTS - Services - Professions immobili\u00e8res" - }, - { - "name": "BTS - Services - Banque conseiller de client\u00e8le", - "count": 56, - "state": "displayed", - "path": "BTS - Services - Banque conseiller de client\u00e8le" - }, - { - "name": "BTS - Services - Gestion des transports et logistique associ\u00e9e", - "count": 52, - "state": "displayed", - "path": "BTS - Services - Gestion des transports et logistique associ\u00e9e" - }, - { - "name": "BTS - Production - B\u00e2timent", - "count": 47, - "state": "displayed", - "path": "BTS - Production - B\u00e2timent" - }, - { - "name": "BTS - Services - Collaborateur juriste notarial", - "count": 47, - "state": "displayed", - "path": "BTS - Services - Collaborateur juriste notarial" - }, - { - "name": "BTS - Services - M\u00e9tiers de l'esth\u00e9tique-cosm\u00e9tique-parfumerie", - "count": 46, - "state": "displayed", - "path": "BTS - Services - M\u00e9tiers de l'esth\u00e9tique-cosm\u00e9tique-parfumerie" - }, - { - "name": "BTS - Services - Assurance", - "count": 45, - "state": "displayed", - "path": "BTS - Services - Assurance" - }, - { - "name": "BTS - Production - Bioanalyses et contr\u00f4les", - "count": 43, - "state": "displayed", - "path": "BTS - Production - Bioanalyses et contr\u00f4les" - }, - { - "name": "BTS - Production - Maintenance des v\u00e9hicules option voitures particuli\u00e8res", - "count": 42, - "state": "displayed", - "path": "BTS - Production - Maintenance des v\u00e9hicules option voitures particuli\u00e8res" - }, - { - "name": "BTS - Agricole - productions animales", - "count": 41, - "state": "displayed", - "path": "BTS - Agricole - productions animales" - }, - { - "name": "BTS - Production - Fluide, \u00e9nergie, domotique - option C domotique et b\u00e2timent communicants", - "count": 40, - "state": "displayed", - "path": "BTS - Production - Fluide, \u00e9nergie, domotique - option C domotique et b\u00e2timent communicants" - }, - { - "name": "BTS - Agricole - Am\u00e9nagements paysagers", - "count": 39, - "state": "displayed", - "path": "BTS - Agricole - Am\u00e9nagements paysagers" - }, - { - "name": "BTS - Agricole - D\u00e9veloppement, animation des territoires ruraux", - "count": 39, - "state": "displayed", - "path": "BTS - Agricole - D\u00e9veloppement, animation des territoires ruraux" - }, - { - "name": "BTS - Production - Management \u00e9conomique de la construction", - "count": 39, - "state": "displayed", - "path": "BTS - Production - Management \u00e9conomique de la construction" - }, - { - "name": "BTS - Agricole - Gestion et protection de la nature", - "count": 38, - "state": "displayed", - "path": "BTS - Agricole - Gestion et protection de la nature" - }, - { - "name": "BTS - Services - Di\u00e9t\u00e9tique", - "count": 36, - "state": "displayed", - "path": "BTS - Services - Di\u00e9t\u00e9tique" - }, - { - "name": "BTS - Services - Analyses de biologie m\u00e9dicale", - "count": 34, - "state": "displayed", - "path": "BTS - Services - Analyses de biologie m\u00e9dicale" - }, - { - "name": "BTS - Services - Management op\u00e9rationnel de la s\u00e9curit\u00e9", - "count": 34, - "state": "displayed", - "path": "BTS - Services - Management op\u00e9rationnel de la s\u00e9curit\u00e9" - }, - { - "name": "BTS - Agricole - Technico-commercial - Sp\u00e9cialit\u00e9 alimentation et boisson", - "count": 32, - "state": "displayed", - "path": "BTS - Agricole - Technico-commercial - Sp\u00e9cialit\u00e9 alimentation et boisson" - }, - { - "name": "BTS - Production - Conception et r\u00e9alisation en chaudronnerie industrielle", - "count": 32, - "state": "displayed", - "path": "BTS - Production - Conception et r\u00e9alisation en chaudronnerie industrielle" - }, - { - "name": "BTS - Production - Contr\u00f4le industriel et r\u00e9gulation automatique", - "count": 32, - "state": "displayed", - "path": "BTS - Production - Contr\u00f4le industriel et r\u00e9gulation automatique" - }, - { - "name": "BTS - Production - Fluide, \u00e9nergie, domotique - option A g\u00e9nie climatique et fluidique", - "count": 32, - "state": "displayed", - "path": "BTS - Production - Fluide, \u00e9nergie, domotique - option A g\u00e9nie climatique et fluidique" - }, - { - "name": "BTS - Production - Travaux publics", - "count": 32, - "state": "displayed", - "path": "BTS - Production - Travaux publics" - }, - { - "name": "BTS - Agricole - Sciences et technologies des aliments sp\u00e9cialit\u00e9 Aliments et processus technologiques", - "count": 31, - "state": "displayed", - "path": "BTS - Agricole - Sciences et technologies des aliments sp\u00e9cialit\u00e9 Aliments et processus technologiques" - }, - { - "name": "BTS - Production - Fluide, \u00e9nergie, domotique - option B froid et conditionnement d'air", - "count": 31, - "state": "displayed", - "path": "BTS - Production - Fluide, \u00e9nergie, domotique - option B froid et conditionnement d'air" - }, - { - "name": "BTS - Production - Assistance technique d'ing\u00e9nieur", - "count": 30, - "state": "displayed", - "path": "BTS - Production - Assistance technique d'ing\u00e9nieur" - }, - { - "name": "BTS - Agricole - Agronomie : Productions v\u00e9g\u00e9tales", - "count": 29, - "state": "displayed", - "path": "BTS - Agricole - Agronomie : Productions v\u00e9g\u00e9tales" - }, - { - "name": "BTS - Production - Conception et industrialisation en microtechniques", - "count": 29, - "state": "displayed", - "path": "BTS - Production - Conception et industrialisation en microtechniques" - }, - { - "name": "BTS - Agricole - Analyses agricoles biologiques et biotechnologiques", - "count": 28, - "state": "displayed", - "path": "BTS - Agricole - Analyses agricoles biologiques et biotechnologiques" - }, - { - "name": "BTS - Production - M\u00e9tiers de la chimie", - "count": 28, - "state": "displayed", - "path": "BTS - Production - M\u00e9tiers de la chimie" - }, - { - "name": "BTS - Production - M\u00e9tiers de la mode-v\u00eatements", - "count": 28, - "state": "displayed", - "path": "BTS - Production - M\u00e9tiers de la mode-v\u00eatements" - }, - { - "name": "BTS - Production - Etude et r\u00e9alisation d'agencement", - "count": 27, - "state": "displayed", - "path": "BTS - Production - Etude et r\u00e9alisation d'agencement" - }, - { - "name": "BTS - Services - Opticien-Lunetier", - "count": 27, - "state": "displayed", - "path": "BTS - Services - Opticien-Lunetier" - }, - { - "name": "BTS - Agricole - Gestion et maitrise de l'eau", - "count": 26, - "state": "displayed", - "path": "BTS - Agricole - Gestion et maitrise de l'eau" - }, - { - "name": "BTS - Agricole - Production horticole", - "count": 26, - "state": "displayed", - "path": "BTS - Agricole - Production horticole" - }, - { - "name": "BTS - Agricole - Technico-commercial - Sp\u00e9cialit\u00e9 univers jardins et animaux de compagnie", - "count": 24, - "state": "displayed", - "path": "BTS - Agricole - Technico-commercial - Sp\u00e9cialit\u00e9 univers jardins et animaux de compagnie" - }, - { - "name": "BTS - Production - Syst\u00e8mes constructifs bois et habitat", - "count": 24, - "state": "displayed", - "path": "BTS - Production - Syst\u00e8mes constructifs bois et habitat" - }, - { - "name": "BTS - Production - Biotechnologies", - "count": 21, - "state": "displayed", - "path": "BTS - Production - Biotechnologies" - }, - { - "name": "BTS - Services - M\u00e9tiers des Services \u00e0 l'environnement", - "count": 20, - "state": "displayed", - "path": "BTS - Services - M\u00e9tiers des Services \u00e0 l'environnement" - }, - { - "name": "BTS - Production - Bioqualit\u00e9", - "count": 18, - "state": "displayed", - "path": "BTS - Production - Bioqualit\u00e9" - }, - { - "name": "BTS - Production - Maintenance des syst\u00e8mes - option B Syst\u00e8mes \u00e9nerg\u00e9tiques et fluidiques", - "count": 18, - "state": "displayed", - "path": "BTS - Production - Maintenance des syst\u00e8mes - option B Syst\u00e8mes \u00e9nerg\u00e9tiques et fluidiques" - }, - { - "name": "BTS - Production - M\u00e9tiers du g\u00e9om\u00e8tre-topographe et de la mod\u00e9lisation num\u00e9rique", - "count": 18, - "state": "displayed", - "path": "BTS - Production - M\u00e9tiers du g\u00e9om\u00e8tre-topographe et de la mod\u00e9lisation num\u00e9rique" - }, - { - "name": "BTS - Services - M\u00e9tiers de l'audio-visuel opt : m\u00e9tiers du son", - "count": 17, - "state": "displayed", - "path": "BTS - Services - M\u00e9tiers de l'audio-visuel opt : m\u00e9tiers du son" - }, - { - "name": "BTS - Agricole - Gestion foresti\u00e8re", - "count": 16, - "state": "displayed", - "path": "BTS - Agricole - Gestion foresti\u00e8re" - }, - { - "name": "BTS - Production - D\u00e9veloppement et R\u00e9alisation Bois", - "count": 16, - "state": "displayed", - "path": "BTS - Production - D\u00e9veloppement et R\u00e9alisation Bois" - }, - { - "name": "BTS - Production - Europlastics et composites \u00e0 r\u00e9f\u00e9rentiel commun europ\u00e9en - option Pilotage et Optimisation de la production", - "count": 16, - "state": "displayed", - "path": "BTS - Production - Europlastics et composites \u00e0 r\u00e9f\u00e9rentiel commun europ\u00e9en - option Pilotage et Optimisation de la production" - }, - { - "name": "BTS - Production - M\u00e9tiers de l'eau", - "count": 16, - "state": "displayed", - "path": "BTS - Production - M\u00e9tiers de l'eau" - }, - { - "name": "BTS - Services - Etudes de r\u00e9alisation d'un projet de communication - 1\u00e8re ann\u00e9e commune", - "count": 16, - "state": "displayed", - "path": "BTS - Services - Etudes de r\u00e9alisation d'un projet de communication - 1\u00e8re ann\u00e9e commune" - }, - { - "name": "BTS - Services - Gestion de la PME (Seconde ann\u00e9e possible en apprentissage)", - "count": 16, - "state": "displayed", - "path": "BTS - Services - Gestion de la PME (Seconde ann\u00e9e possible en apprentissage)" - }, - { - "name": "BTS - Services - M\u00e9tiers de l'audio-visuel opt : gestion de la production", - "count": 16, - "state": "displayed", - "path": "BTS - Services - M\u00e9tiers de l'audio-visuel opt : gestion de la production" - }, - { - "name": "BTS - Production - Enveloppe des b\u00e2timents : conception et r\u00e9alisation", - "count": 15, - "state": "displayed", - "path": "BTS - Production - Enveloppe des b\u00e2timents : conception et r\u00e9alisation" - }, - { - "name": "BTS - Services - M\u00e9tiers de l'audio-visuel opt : montage et post-production", - "count": 15, - "state": "displayed", - "path": "BTS - Services - M\u00e9tiers de l'audio-visuel opt : montage et post-production" - }, - { - "name": "BTS - Services - M\u00e9tiers de l'audio-visuel opt : m\u00e9tiers de l'image", - "count": 15, - "state": "displayed", - "path": "BTS - Services - M\u00e9tiers de l'audio-visuel opt : m\u00e9tiers de l'image" - }, - { - "name": "BTS - Services - M\u00e9tiers de l'audio-visuel opt : techn. d'ingeni\u00e9rie et exploit. \u00e9quipements", - "count": 15, - "state": "displayed", - "path": "BTS - Services - M\u00e9tiers de l'audio-visuel opt : techn. d'ingeni\u00e9rie et exploit. \u00e9quipements" - }, - { - "name": "BTS - Agricole - Viticulture-Oenologie", - "count": 14, - "state": "displayed", - "path": "BTS - Agricole - Viticulture-Oenologie" - }, - { - "name": "BTS - Production - Europlastics et composites \u00e0 r\u00e9f\u00e9rentiel commun europ\u00e9en - option Conception d'Outillage", - "count": 13, - "state": "displayed", - "path": "BTS - Production - Europlastics et composites \u00e0 r\u00e9f\u00e9rentiel commun europ\u00e9en - option Conception d'Outillage" - }, - { - "name": "BTS - Services - Comptabilit\u00e9 et gestion (Seconde ann\u00e9e possible en apprentissage)", - "count": 13, - "state": "displayed", - "path": "BTS - Services - Comptabilit\u00e9 et gestion (Seconde ann\u00e9e possible en apprentissage)" - }, - { - "name": "BTS - Agricole - Technico-commercial - Sp\u00e9cialit\u00e9 vins, bi\u00e8res et spiritueux", - "count": 12, - "state": "displayed", - "path": "BTS - Agricole - Technico-commercial - Sp\u00e9cialit\u00e9 vins, bi\u00e8res et spiritueux" - }, - { - "name": "BTS - Agricole - g\u00e9nie des \u00e9quipements agricoles", - "count": 12, - "state": "displayed", - "path": "BTS - Agricole - g\u00e9nie des \u00e9quipements agricoles" - }, - { - "name": "BTS - Production - Architectures en M\u00e9tal : conception et R\u00e9alisation", - "count": 12, - "state": "displayed", - "path": "BTS - Production - Architectures en M\u00e9tal : conception et R\u00e9alisation" - }, - { - "name": "BTS - Production - M\u00e9tiers de la mesure", - "count": 12, - "state": "displayed", - "path": "BTS - Production - M\u00e9tiers de la mesure" - }, - { - "name": "BTS - Services - Management Commercial Op\u00e9rationnel (Seconde ann\u00e9e possible en apprentissage)", - "count": 12, - "state": "displayed", - "path": "BTS - Services - Management Commercial Op\u00e9rationnel (Seconde ann\u00e9e possible en apprentissage)" - }, - { - "name": "BTS - Production - Maintenance des v\u00e9hicules option v\u00e9hicules de transport routier", - "count": 11, - "state": "displayed", - "path": "BTS - Production - Maintenance des v\u00e9hicules option v\u00e9hicules de transport routier" - }, - { - "name": "BTS - Production - Motorisations toutes \u00e9nergies", - "count": 10, - "state": "displayed", - "path": "BTS - Production - Motorisations toutes \u00e9nergies" - }, - { - "name": "BTS - Production - A\u00e9ronautique", - "count": 9, - "state": "displayed", - "path": "BTS - Production - A\u00e9ronautique" - }, - { - "name": "BTS - Production - Maintenance des syst\u00e8mes - option C Syst\u00e8mes \u00e9oliens", - "count": 9, - "state": "displayed", - "path": "BTS - Production - Maintenance des syst\u00e8mes - option C Syst\u00e8mes \u00e9oliens" - }, - { - "name": "BTS - Production - Syst\u00e8mes photoniques", - "count": 9, - "state": "displayed", - "path": "BTS - Production - Syst\u00e8mes photoniques" - }, - { - "name": "BTS - Services - Photographie", - "count": 9, - "state": "displayed", - "path": "BTS - Services - Photographie" - }, - { - "name": "BTS - Agricole - Aquaculture", - "count": 8, - "state": "displayed", - "path": "BTS - Agricole - Aquaculture" - }, - { - "name": "BTS - Production - Maintenance des mat\u00e9riels de construction et de manutention", - "count": 8, - "state": "displayed", - "path": "BTS - Production - Maintenance des mat\u00e9riels de construction et de manutention" - }, - { - "name": "BTS - Production - Pilotage des proc\u00e9d\u00e9s", - "count": 8, - "state": "displayed", - "path": "BTS - Production - Pilotage des proc\u00e9d\u00e9s" - }, - { - "name": "BTS - Production - Techniques et services en mat\u00e9riels agricoles", - "count": 8, - "state": "displayed", - "path": "BTS - Production - Techniques et services en mat\u00e9riels agricoles" - }, - { - "name": "BTS - Production - Traitement des mat\u00e9riaux", - "count": 8, - "state": "displayed", - "path": "BTS - Production - Traitement des mat\u00e9riaux" - }, - { - "name": "BTS - Services - N\u00e9gociation et digitalisation de la Relation Client (Seconde ann\u00e9e possible en apprentissage)", - "count": 8, - "state": "displayed", - "path": "BTS - Services - N\u00e9gociation et digitalisation de la Relation Client (Seconde ann\u00e9e possible en apprentissage)" - }, - { - "name": "BTS - Services - Support \u00e0 l'action manag\u00e9riale (Seconde ann\u00e9e possible en apprentissage)", - "count": 8, - "state": "displayed", - "path": "BTS - Services - Support \u00e0 l'action manag\u00e9riale (Seconde ann\u00e9e possible en apprentissage)" - }, - { - "name": "BTS - Production - Finitions, am\u00e9nagement des b\u00e2timents: conception et r\u00e9alisation", - "count": 7, - "state": "displayed", - "path": "BTS - Production - Finitions, am\u00e9nagement des b\u00e2timents: conception et r\u00e9alisation" - }, - { - "name": "BTS - Services - Services informatiques aux organisations (Seconde ann\u00e9e possible en apprentissage)", - "count": 7, - "state": "displayed", - "path": "BTS - Services - Services informatiques aux organisations (Seconde ann\u00e9e possible en apprentissage)" - }, - { - "name": "BTS - Agricole - Technico-commercial - Sp\u00e9cialit\u00e9 biens et services pour l'agriculture", - "count": 6, - "state": "displayed", - "path": "BTS - Agricole - Technico-commercial - Sp\u00e9cialit\u00e9 biens et services pour l'agriculture" - }, - { - "name": "BTS - Production - Conception et R\u00e9alisation de Syst\u00e8mes Automatiques (Seconde ann\u00e9e possible en apprentissage)", - "count": 6, - "state": "displayed", - "path": "BTS - Production - Conception et R\u00e9alisation de Syst\u00e8mes Automatiques (Seconde ann\u00e9e possible en apprentissage)" + "name": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "count": 272, + "state": "refined", + "path": "Licence - Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)" + } + ] + }, + { + "name": "select_form", + "facets": [ + { + "name": "formation non s\u00e9lective", + "count": 272, + "state": "displayed", + "path": "formation non s\u00e9lective" } ] }, @@ -627,10 +2443,1198 @@ "name": "fili", "facets": [ { - "name": "BTS", - "count": 5303, - "state": "refined", - "path": "BTS" + "name": "PASS", + "count": 272, + "state": "displayed", + "path": "PASS" + } + ] + }, + { + "name": "form_lib_voe_acc", + "facets": [ + { + "name": "Licence - Sciences - technologies - sant\u00e9", + "count": 272, + "state": "displayed", + "path": "Licence - Sciences - technologies - sant\u00e9" + } + ] + }, + { + "name": "fil_lib_voe_acc", + "facets": [ + { + "name": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)", + "count": 272, + "state": "displayed", + "path": "Parcours d'Acc\u00e8s Sp\u00e9cifique Sant\u00e9 (PASS)" + } + ] + }, + { + "name": "detail_forma", + "facets": [ + { + "name": "Dispens\u00e9e \u00e0 l'Universit\u00e9 Paris 8", + "count": 3, + "state": "displayed", + "path": "Dispens\u00e9e \u00e0 l'Universit\u00e9 Paris 8" + }, + { + "name": "propos\u00e9e par l?Universit\u00e9 Claude Bernard Lyon 1", + "count": 3, + "state": "displayed", + "path": "propos\u00e9e par l?Universit\u00e9 Claude Bernard Lyon 1" + }, + { + "name": "Dispens\u00e9e sur le site de Villetaneuse", + "count": 2, + "state": "displayed", + "path": "Dispens\u00e9e sur le site de Villetaneuse" + }, + { + "name": "Dispens\u00e9e \u00e0 l'Universit\u00e9 de Cergy", + "count": 2, + "state": "displayed", + "path": "Dispens\u00e9e \u00e0 l'Universit\u00e9 de Cergy" + }, + { + "name": "Sciences de la vie et de la terre", + "count": 2, + "state": "displayed", + "path": "Sciences de la vie et de la terre" + }, + { + "name": "Sciences et techniques", + "count": 2, + "state": "displayed", + "path": "Sciences et techniques" + }, + { + "name": "Anglais", + "count": 1, + "state": "displayed", + "path": "Anglais" + }, + { + "name": "Biologie", + "count": 1, + "state": "displayed", + "path": "Biologie" + }, + { + "name": "Biologie - Informatique", + "count": 1, + "state": "displayed", + "path": "Biologie - Informatique" + }, + { + "name": "Biologie, Physique, Chimie", + "count": 1, + "state": "displayed", + "path": "Biologie, Physique, Chimie" + }, + { + "name": "Biom\u00e9canique et Activit\u00e9s Physiques et Sportives", + "count": 1, + "state": "displayed", + "path": "Biom\u00e9canique et Activit\u00e9s Physiques et Sportives" + }, + { + "name": "Chimie", + "count": 1, + "state": "displayed", + "path": "Chimie" + }, + { + "name": "Chimie - Biologie", + "count": 1, + "state": "displayed", + "path": "Chimie - Biologie" + }, + { + "name": "Chimie - Physique,Chimie", + "count": 1, + "state": "displayed", + "path": "Chimie - Physique,Chimie" + }, + { + "name": "Chimie et Sciences de la vie", + "count": 1, + "state": "displayed", + "path": "Chimie et Sciences de la vie" + }, + { + "name": "Economie & Gestion", + "count": 1, + "state": "displayed", + "path": "Economie & Gestion" + }, + { + "name": "Economie et Gestion", + "count": 1, + "state": "displayed", + "path": "Economie et Gestion" + }, + { + "name": "Enseignement \u00e0 distance", + "count": 1, + "state": "displayed", + "path": "Enseignement \u00e0 distance" + }, + { + "name": "Gestion appliqu\u00e9e aux SHS", + "count": 1, + "state": "displayed", + "path": "Gestion appliqu\u00e9e aux SHS" + }, + { + "name": "G\u00e9ographie, Am\u00e9nagement et Environnement", + "count": 1, + "state": "displayed", + "path": "G\u00e9ographie, Am\u00e9nagement et Environnement" + }, + { + "name": "G\u00e9osciences & Environnement - Chimie", + "count": 1, + "state": "displayed", + "path": "G\u00e9osciences & Environnement - Chimie" + }, + { + "name": "Histoire Philosophie Lettres", + "count": 1, + "state": "displayed", + "path": "Histoire Philosophie Lettres" + }, + { + "name": "Humanit\u00e9s", + "count": 1, + "state": "displayed", + "path": "Humanit\u00e9s" + }, + { + "name": "Lettres: Sciences du langage et humanit\u00e9s", + "count": 1, + "state": "displayed", + "path": "Lettres: Sciences du langage et humanit\u00e9s" + }, + { + "name": "Math-Physique", + "count": 1, + "state": "displayed", + "path": "Math-Physique" + }, + { + "name": "Math\u00e9matiques Informatique (MI)", + "count": 1, + "state": "displayed", + "path": "Math\u00e9matiques Informatique (MI)" + }, + { + "name": "Math\u00e9matiques Physique Chimie (MPC)", + "count": 1, + "state": "displayed", + "path": "Math\u00e9matiques Physique Chimie (MPC)" + }, + { + "name": "M\u00e9tiers du soin et du social", + "count": 1, + "state": "displayed", + "path": "M\u00e9tiers du soin et du social" + }, + { + "name": "PORTAIL ADMINISTRATION ECONOMIQUE ET SOCIALE-ECONOMIE ET GESTION-GESTION", + "count": 1, + "state": "displayed", + "path": "PORTAIL ADMINISTRATION ECONOMIQUE ET SOCIALE-ECONOMIE ET GESTION-GESTION" + }, + { + "name": "Parcours Sciences du soin", + "count": 1, + "state": "displayed", + "path": "Parcours Sciences du soin" + }, + { + "name": "Parcours Sciences infirmi\u00e8res", + "count": 1, + "state": "displayed", + "path": "Parcours Sciences infirmi\u00e8res" + }, + { + "name": "Physique", + "count": 1, + "state": "displayed", + "path": "Physique" + }, + { + "name": "Physique - G\u00e9nie civil", + "count": 1, + "state": "displayed", + "path": "Physique - G\u00e9nie civil" + }, + { + "name": "Physique Sciences pour l'Ing\u00e9nieur", + "count": 1, + "state": "displayed", + "path": "Physique Sciences pour l'Ing\u00e9nieur" + }, + { + "name": "Physique-Chimie", + "count": 1, + "state": "displayed", + "path": "Physique-Chimie" + }, + { + "name": "Pluridisciplinaire", + "count": 1, + "state": "displayed", + "path": "Pluridisciplinaire" + }, + { + "name": "Portail ISI - Informatique et Sciences pour l'ing\u00e9nieur en Electronique, Signal, T\u00e9l\u00e9communications, R\u00e9seaux, G\u00e9nie M\u00e9canique, Image er Son", + "count": 1, + "state": "displayed", + "path": "Portail ISI - Informatique et Sciences pour l'ing\u00e9nieur en Electronique, Signal, T\u00e9l\u00e9communications, R\u00e9seaux, G\u00e9nie M\u00e9canique, Image er Son" + }, + { + "name": "Portail MPMEI : Math\u00e9matiques, Physique, Math\u00e9matiques-Economie, Informatique", + "count": 1, + "state": "displayed", + "path": "Portail MPMEI : Math\u00e9matiques, Physique, Math\u00e9matiques-Economie, Informatique" + }, + { + "name": "Portail PASS sur le site de Boulogne-Sur-Mer", + "count": 1, + "state": "displayed", + "path": "Portail PASS sur le site de Boulogne-Sur-Mer" + }, + { + "name": "Portail disciplinaire PASS", + "count": 1, + "state": "displayed", + "path": "Portail disciplinaire PASS" + }, + { + "name": "Psychologie cognitive et Activit\u00e9s Physiques et Sportives", + "count": 1, + "state": "displayed", + "path": "Psychologie cognitive et Activit\u00e9s Physiques et Sportives" + }, + { + "name": "Recherche en sant\u00e9: outils m\u00e9thodologiques et enjeux pour la\u00a0soci\u00e9t\u00e9", + "count": 1, + "state": "displayed", + "path": "Recherche en sant\u00e9: outils m\u00e9thodologiques et enjeux pour la\u00a0soci\u00e9t\u00e9" + }, + { + "name": "R\u00e9\u00e9ducation et R\u00e9adaptation", + "count": 1, + "state": "displayed", + "path": "R\u00e9\u00e9ducation et R\u00e9adaptation" + }, + { + "name": "SCIENCES", + "count": 1, + "state": "displayed", + "path": "SCIENCES" + }, + { + "name": "SV et STAPS", + "count": 1, + "state": "displayed", + "path": "SV et STAPS" + }, + { + "name": "Sant\u00e9 des populations", + "count": 1, + "state": "displayed", + "path": "Sant\u00e9 des populations" + }, + { + "name": "Sciences", + "count": 1, + "state": "displayed", + "path": "Sciences" + }, + { + "name": "Sciences Humaines et Sociales", + "count": 1, + "state": "displayed", + "path": "Sciences Humaines et Sociales" + }, + { + "name": "Sciences de donn\u00e9es en sant\u00e9", + "count": 1, + "state": "displayed", + "path": "Sciences de donn\u00e9es en sant\u00e9" + }, + { + "name": "Sciences du Vivant et Environnement propos\u00e9e par l'Universit\u00e9 Claude Bernard Lyon 1 (site de Lyon)", + "count": 1, + "state": "displayed", + "path": "Sciences du Vivant et Environnement propos\u00e9e par l'Universit\u00e9 Claude Bernard Lyon 1 (site de Lyon)" + }, + { + "name": "Sciences du Vivant et Environnement propos\u00e9e par l'Universit\u00e9 Claude Bernard Lyon 1 (site de Bourg-en-Bresse)", + "count": 1, + "state": "displayed", + "path": "Sciences du Vivant et Environnement propos\u00e9e par l'Universit\u00e9 Claude Bernard Lyon 1 (site de Bourg-en-Bresse)" + }, + { + "name": "Sciences et Techniques", + "count": 1, + "state": "displayed", + "path": "Sciences et Techniques" + }, + { + "name": "Sciences fondamentales (Maths, Physique, Informatique pour la Chimie et la Biologie)", + "count": 1, + "state": "displayed", + "path": "Sciences fondamentales (Maths, Physique, Informatique pour la Chimie et la Biologie)" + }, + { + "name": "Sciences humaines et sociales", + "count": 1, + "state": "displayed", + "path": "Sciences humaines et sociales" + }, + { + "name": "Sciences psychologiques", + "count": 1, + "state": "displayed", + "path": "Sciences psychologiques" + }, + { + "name": "Sciences: \"Biologie, Chimie, Physique\"", + "count": 1, + "state": "displayed", + "path": "Sciences: \"Biologie, Chimie, Physique\"" + }, + { + "name": "Sport sant\u00e9", + "count": 1, + "state": "displayed", + "path": "Sport sant\u00e9" + }, + { + "name": "dispens\u00e9e sur le site de Bobigny", + "count": 1, + "state": "displayed", + "path": "dispens\u00e9e sur le site de Bobigny" + }, + { + "name": "propos\u00e9e par l'Institut Catholique de Lyon", + "count": 1, + "state": "displayed", + "path": "propos\u00e9e par l'Institut Catholique de Lyon" + }, + { + "name": "propos\u00e9e par l'Universit\u00e9 Lyon 2", + "count": 1, + "state": "displayed", + "path": "propos\u00e9e par l'Universit\u00e9 Lyon 2" + }, + { + "name": "propos\u00e9e par l'Universit\u00e9 Lyon 3", + "count": 1, + "state": "displayed", + "path": "propos\u00e9e par l'Universit\u00e9 Lyon 3" + } + ] + }, + { + "name": "tri", + "facets": [ + { + "name": "1_universit\u00e9s", + "count": 272, + "state": "displayed", + "path": "1_universit\u00e9s" + } + ] + }, + { + "name": "cod_aff_form", + "facets": [ + { + "name": "26626", + "count": 1, + "state": "displayed", + "path": "26626" + }, + { + "name": "26630", + "count": 1, + "state": "displayed", + "path": "26630" + }, + { + "name": "26631", + "count": 1, + "state": "displayed", + "path": "26631" + }, + { + "name": "26632", + "count": 1, + "state": "displayed", + "path": "26632" + }, + { + "name": "26633", + "count": 1, + "state": "displayed", + "path": "26633" + }, + { + "name": "26634", + "count": 1, + "state": "displayed", + "path": "26634" + }, + { + "name": "26635", + "count": 1, + "state": "displayed", + "path": "26635" + }, + { + "name": "26636", + "count": 1, + "state": "displayed", + "path": "26636" + }, + { + "name": "26642", + "count": 1, + "state": "displayed", + "path": "26642" + }, + { + "name": "26823", + "count": 1, + "state": "displayed", + "path": "26823" + }, + { + "name": "26825", + "count": 1, + "state": "displayed", + "path": "26825" + }, + { + "name": "26826", + "count": 1, + "state": "displayed", + "path": "26826" + }, + { + "name": "26828", + "count": 1, + "state": "displayed", + "path": "26828" + }, + { + "name": "26829", + "count": 1, + "state": "displayed", + "path": "26829" + }, + { + "name": "26830", + "count": 1, + "state": "displayed", + "path": "26830" + }, + { + "name": "26832", + "count": 1, + "state": "displayed", + "path": "26832" + }, + { + "name": "26833", + "count": 1, + "state": "displayed", + "path": "26833" + }, + { + "name": "26835", + "count": 1, + "state": "displayed", + "path": "26835" + }, + { + "name": "26838", + "count": 1, + "state": "displayed", + "path": "26838" + }, + { + "name": "26839", + "count": 1, + "state": "displayed", + "path": "26839" + }, + { + "name": "26840", + "count": 1, + "state": "displayed", + "path": "26840" + }, + { + "name": "26841", + "count": 1, + "state": "displayed", + "path": "26841" + }, + { + "name": "26844", + "count": 1, + "state": "displayed", + "path": "26844" + }, + { + "name": "26857", + "count": 1, + "state": "displayed", + "path": "26857" + }, + { + "name": "26972", + "count": 1, + "state": "displayed", + "path": "26972" + }, + { + "name": "26974", + "count": 1, + "state": "displayed", + "path": "26974" + }, + { + "name": "26975", + "count": 1, + "state": "displayed", + "path": "26975" + }, + { + "name": "27163", + "count": 1, + "state": "displayed", + "path": "27163" + }, + { + "name": "27198", + "count": 1, + "state": "displayed", + "path": "27198" + }, + { + "name": "27201", + "count": 1, + "state": "displayed", + "path": "27201" + }, + { + "name": "27202", + "count": 1, + "state": "displayed", + "path": "27202" + }, + { + "name": "27351", + "count": 1, + "state": "displayed", + "path": "27351" + }, + { + "name": "27352", + "count": 1, + "state": "displayed", + "path": "27352" + }, + { + "name": "27353", + "count": 1, + "state": "displayed", + "path": "27353" + }, + { + "name": "27354", + "count": 1, + "state": "displayed", + "path": "27354" + }, + { + "name": "27355", + "count": 1, + "state": "displayed", + "path": "27355" + }, + { + "name": "27361", + "count": 1, + "state": "displayed", + "path": "27361" + }, + { + "name": "27362", + "count": 1, + "state": "displayed", + "path": "27362" + }, + { + "name": "27363", + "count": 1, + "state": "displayed", + "path": "27363" + }, + { + "name": "27367", + "count": 1, + "state": "displayed", + "path": "27367" + }, + { + "name": "27423", + "count": 1, + "state": "displayed", + "path": "27423" + }, + { + "name": "27425", + "count": 1, + "state": "displayed", + "path": "27425" + }, + { + "name": "27426", + "count": 1, + "state": "displayed", + "path": "27426" + }, + { + "name": "27427", + "count": 1, + "state": "displayed", + "path": "27427" + }, + { + "name": "27428", + "count": 1, + "state": "displayed", + "path": "27428" + }, + { + "name": "27429", + "count": 1, + "state": "displayed", + "path": "27429" + }, + { + "name": "27430", + "count": 1, + "state": "displayed", + "path": "27430" + }, + { + "name": "27502", + "count": 1, + "state": "displayed", + "path": "27502" + }, + { + "name": "27504", + "count": 1, + "state": "displayed", + "path": "27504" + }, + { + "name": "27548", + "count": 1, + "state": "displayed", + "path": "27548" + }, + { + "name": "27562", + "count": 1, + "state": "displayed", + "path": "27562" + }, + { + "name": "27564", + "count": 1, + "state": "displayed", + "path": "27564" + }, + { + "name": "27565", + "count": 1, + "state": "displayed", + "path": "27565" + }, + { + "name": "27566", + "count": 1, + "state": "displayed", + "path": "27566" + }, + { + "name": "27567", + "count": 1, + "state": "displayed", + "path": "27567" + }, + { + "name": "27568", + "count": 1, + "state": "displayed", + "path": "27568" + }, + { + "name": "27570", + "count": 1, + "state": "displayed", + "path": "27570" + }, + { + "name": "27573", + "count": 1, + "state": "displayed", + "path": "27573" + }, + { + "name": "27584", + "count": 1, + "state": "displayed", + "path": "27584" + }, + { + "name": "27586", + "count": 1, + "state": "displayed", + "path": "27586" + }, + { + "name": "27663", + "count": 1, + "state": "displayed", + "path": "27663" + }, + { + "name": "27664", + "count": 1, + "state": "displayed", + "path": "27664" + }, + { + "name": "27668", + "count": 1, + "state": "displayed", + "path": "27668" + }, + { + "name": "27669", + "count": 1, + "state": "displayed", + "path": "27669" + }, + { + "name": "27672", + "count": 1, + "state": "displayed", + "path": "27672" + }, + { + "name": "27675", + "count": 1, + "state": "displayed", + "path": "27675" + }, + { + "name": "27676", + "count": 1, + "state": "displayed", + "path": "27676" + }, + { + "name": "27677", + "count": 1, + "state": "displayed", + "path": "27677" + }, + { + "name": "27679", + "count": 1, + "state": "displayed", + "path": "27679" + }, + { + "name": "27682", + "count": 1, + "state": "displayed", + "path": "27682" + }, + { + "name": "27685", + "count": 1, + "state": "displayed", + "path": "27685" + }, + { + "name": "27816", + "count": 1, + "state": "displayed", + "path": "27816" + }, + { + "name": "27817", + "count": 1, + "state": "displayed", + "path": "27817" + }, + { + "name": "27843", + "count": 1, + "state": "displayed", + "path": "27843" + }, + { + "name": "27847", + "count": 1, + "state": "displayed", + "path": "27847" + }, + { + "name": "27853", + "count": 1, + "state": "displayed", + "path": "27853" + }, + { + "name": "27856", + "count": 1, + "state": "displayed", + "path": "27856" + }, + { + "name": "27884", + "count": 1, + "state": "displayed", + "path": "27884" + }, + { + "name": "27885", + "count": 1, + "state": "displayed", + "path": "27885" + }, + { + "name": "27886", + "count": 1, + "state": "displayed", + "path": "27886" + }, + { + "name": "27912", + "count": 1, + "state": "displayed", + "path": "27912" + }, + { + "name": "27913", + "count": 1, + "state": "displayed", + "path": "27913" + }, + { + "name": "27914", + "count": 1, + "state": "displayed", + "path": "27914" + }, + { + "name": "27915", + "count": 1, + "state": "displayed", + "path": "27915" + }, + { + "name": "27950", + "count": 1, + "state": "displayed", + "path": "27950" + }, + { + "name": "27952", + "count": 1, + "state": "displayed", + "path": "27952" + }, + { + "name": "27968", + "count": 1, + "state": "displayed", + "path": "27968" + }, + { + "name": "27972", + "count": 1, + "state": "displayed", + "path": "27972" + }, + { + "name": "27974", + "count": 1, + "state": "displayed", + "path": "27974" + }, + { + "name": "27984", + "count": 1, + "state": "displayed", + "path": "27984" + }, + { + "name": "27986", + "count": 1, + "state": "displayed", + "path": "27986" + }, + { + "name": "27991", + "count": 1, + "state": "displayed", + "path": "27991" + }, + { + "name": "27992", + "count": 1, + "state": "displayed", + "path": "27992" + }, + { + "name": "27993", + "count": 1, + "state": "displayed", + "path": "27993" + }, + { + "name": "27994", + "count": 1, + "state": "displayed", + "path": "27994" + }, + { + "name": "27995", + "count": 1, + "state": "displayed", + "path": "27995" + }, + { + "name": "27996", + "count": 1, + "state": "displayed", + "path": "27996" + }, + { + "name": "27997", + "count": 1, + "state": "displayed", + "path": "27997" + }, + { + "name": "27998", + "count": 1, + "state": "displayed", + "path": "27998" + }, + { + "name": "28013", + "count": 1, + "state": "displayed", + "path": "28013" + } + ] + }, + { + "name": "etablissement_id_paysage", + "facets": [ + { + "name": "evv7S", + "count": 22, + "state": "displayed", + "path": "evv7S" + }, + { + "name": "z3hdL", + "count": 18, + "state": "displayed", + "path": "z3hdL" + }, + { + "name": "06SE7", + "count": 17, + "state": "displayed", + "path": "06SE7" + }, + { + "name": "9wAap", + "count": 16, + "state": "displayed", + "path": "9wAap" + }, + { + "name": "Lr94O", + "count": 16, + "state": "displayed", + "path": "Lr94O" + }, + { + "name": "m7K6T", + "count": 16, + "state": "displayed", + "path": "m7K6T" + }, + { + "name": "U8a0v", + "count": 13, + "state": "displayed", + "path": "U8a0v" + }, + { + "name": "etBz7", + "count": 13, + "state": "displayed", + "path": "etBz7" + }, + { + "name": "qUCQp", + "count": 12, + "state": "displayed", + "path": "qUCQp" + }, + { + "name": "cqyN7", + "count": 11, + "state": "displayed", + "path": "cqyN7" + }, + { + "name": "nkbwh", + "count": 11, + "state": "displayed", + "path": "nkbwh" + }, + { + "name": "5cZyU", + "count": 10, + "state": "displayed", + "path": "5cZyU" + }, + { + "name": "K4lR3", + "count": 9, + "state": "displayed", + "path": "K4lR3" + }, + { + "name": "tIJ02", + "count": 9, + "state": "displayed", + "path": "tIJ02" + }, + { + "name": "7Mpgt", + "count": 8, + "state": "displayed", + "path": "7Mpgt" + }, + { + "name": "90I54", + "count": 8, + "state": "displayed", + "path": "90I54" + }, + { + "name": "cEt92", + "count": 8, + "state": "displayed", + "path": "cEt92" + }, + { + "name": "cqkij", + "count": 8, + "state": "displayed", + "path": "cqkij" + }, + { + "name": "xJdyB", + "count": 7, + "state": "displayed", + "path": "xJdyB" + }, + { + "name": "G2qA7", + "count": 6, + "state": "displayed", + "path": "G2qA7" + }, + { + "name": "V13Pk", + "count": 6, + "state": "displayed", + "path": "V13Pk" + }, + { + "name": "8j5s2", + "count": 5, + "state": "displayed", + "path": "8j5s2" + }, + { + "name": "G4572", + "count": 5, + "state": "displayed", + "path": "G4572" + }, + { + "name": "Y7ch7", + "count": 5, + "state": "displayed", + "path": "Y7ch7" + }, + { + "name": "bxPQe", + "count": 2, + "state": "displayed", + "path": "bxPQe" + }, + { + "name": "IXHyv", + "count": 1, + "state": "displayed", + "path": "IXHyv" + }, + { + "name": "NLCOF", + "count": 1, + "state": "displayed", + "path": "NLCOF" + }, + { + "name": "hy4EW", + "count": 1, + "state": "displayed", + "path": "hy4EW" + }, + { + "name": "t6Cq5", + "count": 1, + "state": "displayed", + "path": "t6Cq5" } ] }