var/cache/dev/twig/77/7713ae6fec68433dedbcfef067327773.php line 55

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Source;
  13. use Twig\Template;
  14. use Twig\TemplateWrapper;
  15. /* school/index.html.twig */
  16. class __TwigTemplate_8d169b5fc4eb163eecfe462408ad3fe1 extends Template
  17. {
  18. private Source $source;
  19. /**
  20. * @var array<string, Template>
  21. */
  22. private array $macros = [];
  23. public function __construct(Environment $env)
  24. {
  25. parent::__construct($env);
  26. $this->source = $this->getSourceContext();
  27. $this->blocks = [
  28. 'name' => [$this, 'block_name'],
  29. 'body' => [$this, 'block_body'],
  30. 'javascripts' => [$this, 'block_javascripts'],
  31. ];
  32. }
  33. protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
  34. {
  35. // line 1
  36. return "layout/frontEndLayout.html.twig";
  37. }
  38. protected function doDisplay(array $context, array $blocks = []): iterable
  39. {
  40. $macros = $this->macros;
  41. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  42. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "school/index.html.twig"));
  43. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  44. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "school/index.html.twig"));
  45. $this->parent = $this->loadTemplate("layout/frontEndLayout.html.twig", "school/index.html.twig", 1);
  46. yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  47. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  48. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  49. }
  50. // line 3
  51. /**
  52. * @return iterable<null|scalar|\Stringable>
  53. */
  54. public function block_name(array $context, array $blocks = []): iterable
  55. {
  56. $macros = $this->macros;
  57. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  58. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "name"));
  59. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  60. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "name"));
  61. // line 4
  62. yield " Welcome to LiveEdu
  63. ";
  64. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  65. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  66. yield from [];
  67. }
  68. // line 40
  69. /**
  70. * @return iterable<null|scalar|\Stringable>
  71. */
  72. public function block_body(array $context, array $blocks = []): iterable
  73. {
  74. $macros = $this->macros;
  75. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  76. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
  77. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  78. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
  79. // line 41
  80. yield "
  81. <div id=\"carouselExampleControls\" class=\"carousel slide bs-slider box-slider\" data-ride=\"carousel\" data-pause=\"hover\" data-interval=\"false\">
  82. <!-- Indicators -->
  83. <ol class=\"carousel-indicators\">
  84. <li data-target=\"#carouselExampleControls\" data-slide-to=\"0\" class=\"active\"></li>
  85. <li data-target=\"#carouselExampleControls\" data-slide-to=\"1\"></li>
  86. <li data-target=\"#carouselExampleControls\" data-slide-to=\"2\"></li>
  87. </ol>
  88. <div class=\"carousel-inner\" role=\"listbox\" data-ride=\"carousel\"
  89. data-interval=\"5000\">
  90. <div class=\"carousel-item active\">
  91. <div id=\"home\" class=\"first-section\" style=\"background-image:url(";
  92. // line 52
  93. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/slider-01.jpg"), "html", null, true);
  94. yield ");\">
  95. <div class=\"dtab\">
  96. <div class=\"container\">
  97. <div class=\"row\">
  98. <div class=\"col-md-12 col-sm-12 text-right\">
  99. <div class=\"big-tagline\">
  100. <h2>
  101. Bilingual Secondary Institute BETHESDA implements
  102. \t\t\t\t\t\t\t\t\t\t\t
  103. <strong>
  104. \t\t\t\t\t\t\t\t\t\t\t
  105. LiveEdu
  106. </strong>
  107. </h2>
  108. </div>
  109. </div>
  110. </div>
  111. <!-- end row -->
  112. <br/>
  113. <br/>
  114. <br/>
  115. <br/>
  116. <br/>
  117. <br/>
  118. <br/>
  119. <br/>
  120. <br/>
  121. <br/>
  122. <br/>
  123. <br/>
  124. <br/>
  125. <br/>
  126. </div>
  127. <!-- end container -->
  128. </div>
  129. </div>
  130. <!-- end section -->
  131. </div>
  132. <div class=\"carousel-item\">
  133. <div id=\"home\" class=\"first-section\" style=\"background-image:url(";
  134. // line 157
  135. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/slider-02.jpg"), "html", null, true);
  136. yield ");\">
  137. <div class=\"dtab\">
  138. <div class=\"container\">
  139. <div class=\"row\">
  140. <div class=\"col-md-12 col-sm-12 text-left\">
  141. <div class=\"big-tagline\">
  142. <h2 data-animation=\"animated zoomInRight\">
  143. LiveEdu
  144. \t\t\t\t\t\t\t\t\t\t\t
  145. <strong>
  146. software online services
  147. </strong>
  148. </h2>
  149. </div>
  150. </div>
  151. </div>
  152. <!-- end row -->
  153. <br/>
  154. <br/>
  155. <br/>
  156. <br/>
  157. <br/>
  158. <br/>
  159. <br/>
  160. <br/>
  161. <br/>
  162. <br/>
  163. <br/>
  164. <br/>
  165. <br/>
  166. <br/>
  167. </div>
  168. <!-- end container -->
  169. </div>
  170. </div>
  171. <!-- end section -->
  172. </div>
  173. <div class=\"carousel-item\">
  174. <div id=\"home\" class=\"first-section\" style=\"background-image:url(";
  175. // line 260
  176. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/images/slide_04.PNG"), "html", null, true);
  177. yield ");\">
  178. <div class=\"dtab\">
  179. <div class=\"container\">
  180. <div class=\"row\">
  181. <div class=\"col-md-12 col-sm-12 text-left\">
  182. <div class=\"big-tagline\">
  183. <h2 data-animation=\"animated zoomInRight\">
  184. \t\t\t\t\t\t\t\t\t\t\t
  185. <strong>
  186. LiveEdu adds transparancy
  187. </strong>
  188. for quality education
  189. </h2>
  190. </div>
  191. </div>
  192. </div>
  193. <!-- end row -->
  194. <br/>
  195. <br/>
  196. <br/>
  197. <br/>
  198. <br/>
  199. <br/>
  200. <br/>
  201. <br/>
  202. <br/>
  203. <br/>
  204. <br/>
  205. <br/>
  206. <br/>
  207. <br/>
  208. </div>
  209. <!-- end container -->
  210. </div>
  211. </div>
  212. <!-- end section -->
  213. </div>
  214. <!-- Left Control -->
  215. <a class=\"new-effect carousel-control-prev\" href=\"#carouselExampleControls\" role=\"button\" data-slide=\"prev\">
  216. <span class=\"fa fa-angle-left\" aria-hidden=\"true\"></span>
  217. <span class=\"sr-only\">
  218. Previous
  219. </span>
  220. </a>
  221. <!-- Right Control -->
  222. <a class=\"new-effect carousel-control-next\" href=\"#carouselExampleControls\" role=\"button\" data-slide=\"next\">
  223. <span class=\"fa fa-angle-right\" aria-hidden=\"true\"></span>
  224. <span class=\"sr-only\">
  225. Next
  226. </span>
  227. </a>
  228. </div>
  229. </div>
  230. <section class=\"card\">
  231. <article class=\"row card-body\" id=\"officialExams\">
  232. <h1 class=\"card-title text-center\">Taux de reussite aux examens officiels session 2023-2024</h1>
  233. ";
  234. // line 479
  235. $context['_parent'] = $context;
  236. $context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::keys((isset($context["results"]) || array_key_exists("results", $context) ? $context["results"] : (function () { throw new RuntimeError('Variable "results" does not exist.', 479, $this->source); })())));
  237. foreach ($context['_seq'] as $context["_key"] => $context["key"]) {
  238. // line 480
  239. yield " <div class=\"col-6 col-md-3 \" >
  240. <canvas id=";
  241. // line 481
  242. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["key"], "html", null, true);
  243. yield " height=\"120\" data-exam-objects=\" ";
  244. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["results"]) || array_key_exists("results", $context) ? $context["results"] : (function () { throw new RuntimeError('Variable "results" does not exist.', 481, $this->source); })()), $context["key"], [], "array", false, false, false, 481), "html", null, true);
  245. yield "\"></canvas>
  246. </div>
  247. ";
  248. }
  249. $_parent = $context['_parent'];
  250. unset($context['_seq'], $context['_key'], $context['key'], $context['_parent']);
  251. $context = array_intersect_key($context, $_parent) + $_parent;
  252. // line 484
  253. yield " </article>
  254. </section>
  255. ";
  256. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  257. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  258. yield from [];
  259. }
  260. // line 489
  261. /**
  262. * @return iterable<null|scalar|\Stringable>
  263. */
  264. public function block_javascripts(array $context, array $blocks = []): iterable
  265. {
  266. $macros = $this->macros;
  267. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  268. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  269. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  270. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  271. // line 490
  272. yield " ";
  273. yield from $this->yieldParentBlock("javascripts", $context, $blocks);
  274. yield "
  275. <script type=\"text/javascript\">
  276. //Generate a random color
  277. const randomRgbColor = (type) => {
  278. let r = Math.floor(Math.random() * 256); // Random between 0-255
  279. let g = Math.floor(Math.random() * 256); // Random between 0-255
  280. let b = Math.floor(Math.random() * 256); // Random between 0-255
  281. if(type===\"ECHEC\"){
  282. r = 128+ Math.floor(Math.random() * 128);
  283. b =0;
  284. } else {
  285. r = 0;
  286. b = 128+ Math.floor(Math.random() * 128);
  287. }
  288. return 'rgb(' + r + ',' + g + ',' + b + ')';
  289. };
  290. const colors=[], datasets = [];
  291. const troisiemeAllExamsGraph = \$(\"#troisiemeall\"), troisiemeEspExamsGraph = \$(\"#troisiemeesp\") ,
  292. premiereCExamsGraph = \$(\"#premiere_c\"), premiereDExamsGraph = \$(\"#premiere_d\") ,
  293. premiereAEspExamsGraph = \$(\"#premierea4esp\"), premiereAAllExamsGraph = \$(\"#premierea4all\"),
  294. terminaleCExamsGraph = \$(\"#terminalec\"), terminaleDExamsGraph = \$(\"#terminale_d\") ,
  295. terminaleAEspExamsGraph = \$(\"#terminaleaesp\"), terminaleAAllExamsGraph = \$(\"#terminaleaall\"),
  296. formvArtExamsGraph = \$(\"#formvarts\"), formvScienceExamsGraph = \$(\"#formvscience\")
  297. ;
  298. const troisiemeAllExamsData = troisiemeAllExamsGraph.data('examObjects'), troisiemeEspExamsData = troisiemeEspExamsGraph.data('examObjects'),
  299. premiereCExamsData = premiereCExamsGraph.data('examObjects'), premiereDExamsData = premiereDExamsGraph.data('examObjects'),
  300. premiereAEspExamsData = premiereAEspExamsGraph.data('examObjects'), premiereAAllExamsData = premiereAAllExamsGraph.data('examObjects'),
  301. terminaleCExamsData = terminaleCExamsGraph.data('examObjects'), terminaleDExamsData = terminaleDExamsGraph.data('examObjects'),
  302. terminaleAEspExamsData = terminaleAEspExamsGraph.data('examObjects'), terminaleAAllExamsData = terminaleAAllExamsGraph.data('examObjects'),
  303. formvArtExamsData = formvArtExamsGraph.data('examObjects'),formvScienceExamsData = formvScienceExamsGraph.data('examObjects');
  304. // Draw the graph of official exam results
  305. const drawCanvas = (examData, examGraph, name) => {
  306. // console.log(examData, examGraph, name)
  307. JSON.parse(examData)['mentionCategories'].map(cat => {
  308. colors.push(randomRgbColor(cat));
  309. });
  310. const examChart = new Chart(examGraph, {
  311. type: \"polarArea\",
  312. data: {
  313. labels: JSON.parse(examData)[\"mentionCategories\"] ,
  314. datasets: [{
  315. data: JSON.parse(examData)[\"mentionCountCategories\"],
  316. backgroundColor: colors
  317. }]
  318. },
  319. options: {
  320. plugins: {
  321. is3D : true,
  322. title: {
  323. display: true,
  324. text: name,
  325. font: {
  326. size: 16,
  327. family: 'Helvetica Neue',
  328. },
  329. position: 'bottom',
  330. }
  331. }
  332. }
  333. });
  334. }
  335. // Disposition des canVas dans le frontEnd
  336. drawCanvas(terminaleDExamsData,terminaleDExamsGraph , \"Terminale D\" );
  337. drawCanvas(terminaleCExamsData,terminaleCExamsGraph , \"Terminale C\" );
  338. drawCanvas(terminaleAAllExamsData,terminaleAAllExamsGraph , \"Terminale A All\" );
  339. drawCanvas(terminaleAEspExamsData,terminaleAEspExamsGraph , \"Terminale A Esp\" );
  340. drawCanvas(premiereAAllExamsData,premiereAAllExamsGraph , \"Premiere A All\" );
  341. drawCanvas(premiereAEspExamsData,premiereAEspExamsGraph , \"Premiere A Esp\" );
  342. drawCanvas(premiereCExamsData,premiereCExamsGraph , \"Premiere C\" );
  343. drawCanvas(premiereDExamsData,premiereDExamsGraph , \"Premiere D\" );
  344. drawCanvas(troisiemeAllExamsData,troisiemeAllExamsGraph , \"Troisieme All\" );
  345. drawCanvas(troisiemeEspExamsData,troisiemeEspExamsGraph , \"Troisieme Esp\" );
  346. drawCanvas(formvArtExamsData,formvArtExamsGraph , \"FORM 5 Art(.../5)\" );
  347. drawCanvas(formvScienceExamsData,formvScienceExamsGraph , \"FORM 5 Science(../5)\" );
  348. </script>
  349. ";
  350. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  351. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  352. yield from [];
  353. }
  354. /**
  355. * @codeCoverageIgnore
  356. */
  357. public function getTemplateName(): string
  358. {
  359. return "school/index.html.twig";
  360. }
  361. /**
  362. * @codeCoverageIgnore
  363. */
  364. public function isTraitable(): bool
  365. {
  366. return false;
  367. }
  368. /**
  369. * @codeCoverageIgnore
  370. */
  371. public function getDebugInfo(): array
  372. {
  373. return array ( 631 => 490, 618 => 489, 603 => 484, 592 => 481, 589 => 480, 585 => 479, 363 => 260, 257 => 157, 149 => 52, 136 => 41, 123 => 40, 78 => 4, 65 => 3, 42 => 1,);
  374. }
  375. public function getSourceContext(): Source
  376. {
  377. return new Source("{% extends 'layout/frontEndLayout.html.twig' %}
  378. {% block name %}
  379. Welcome to LiveEdu
  380. {% endblock %}
  381. {% block body %}
  382. <div id=\"carouselExampleControls\" class=\"carousel slide bs-slider box-slider\" data-ride=\"carousel\" data-pause=\"hover\" data-interval=\"false\">
  383. <!-- Indicators -->
  384. <ol class=\"carousel-indicators\">
  385. <li data-target=\"#carouselExampleControls\" data-slide-to=\"0\" class=\"active\"></li>
  386. <li data-target=\"#carouselExampleControls\" data-slide-to=\"1\"></li>
  387. <li data-target=\"#carouselExampleControls\" data-slide-to=\"2\"></li>
  388. </ol>
  389. <div class=\"carousel-inner\" role=\"listbox\" data-ride=\"carousel\"
  390. data-interval=\"5000\">
  391. <div class=\"carousel-item active\">
  392. <div id=\"home\" class=\"first-section\" style=\"background-image:url({{ asset('assets/images/slider-01.jpg') }});\">
  393. <div class=\"dtab\">
  394. <div class=\"container\">
  395. <div class=\"row\">
  396. <div class=\"col-md-12 col-sm-12 text-right\">
  397. <div class=\"big-tagline\">
  398. <h2>
  399. Bilingual Secondary Institute BETHESDA implements
  400. \t\t\t\t\t\t\t\t\t\t\t
  401. <strong>
  402. \t\t\t\t\t\t\t\t\t\t\t
  403. LiveEdu
  404. </strong>
  405. </h2>
  406. </div>
  407. </div>
  408. </div>
  409. <!-- end row -->
  410. <br/>
  411. <br/>
  412. <br/>
  413. <br/>
  414. <br/>
  415. <br/>
  416. <br/>
  417. <br/>
  418. <br/>
  419. <br/>
  420. <br/>
  421. <br/>
  422. <br/>
  423. <br/>
  424. </div>
  425. <!-- end container -->
  426. </div>
  427. </div>
  428. <!-- end section -->
  429. </div>
  430. <div class=\"carousel-item\">
  431. <div id=\"home\" class=\"first-section\" style=\"background-image:url({{ asset('assets/images/slider-02.jpg') }});\">
  432. <div class=\"dtab\">
  433. <div class=\"container\">
  434. <div class=\"row\">
  435. <div class=\"col-md-12 col-sm-12 text-left\">
  436. <div class=\"big-tagline\">
  437. <h2 data-animation=\"animated zoomInRight\">
  438. LiveEdu
  439. \t\t\t\t\t\t\t\t\t\t\t
  440. <strong>
  441. software online services
  442. </strong>
  443. </h2>
  444. </div>
  445. </div>
  446. </div>
  447. <!-- end row -->
  448. <br/>
  449. <br/>
  450. <br/>
  451. <br/>
  452. <br/>
  453. <br/>
  454. <br/>
  455. <br/>
  456. <br/>
  457. <br/>
  458. <br/>
  459. <br/>
  460. <br/>
  461. <br/>
  462. </div>
  463. <!-- end container -->
  464. </div>
  465. </div>
  466. <!-- end section -->
  467. </div>
  468. <div class=\"carousel-item\">
  469. <div id=\"home\" class=\"first-section\" style=\"background-image:url({{ asset('assets/images/slide_04.PNG') }});\">
  470. <div class=\"dtab\">
  471. <div class=\"container\">
  472. <div class=\"row\">
  473. <div class=\"col-md-12 col-sm-12 text-left\">
  474. <div class=\"big-tagline\">
  475. <h2 data-animation=\"animated zoomInRight\">
  476. \t\t\t\t\t\t\t\t\t\t\t
  477. <strong>
  478. LiveEdu adds transparancy
  479. </strong>
  480. for quality education
  481. </h2>
  482. </div>
  483. </div>
  484. </div>
  485. <!-- end row -->
  486. <br/>
  487. <br/>
  488. <br/>
  489. <br/>
  490. <br/>
  491. <br/>
  492. <br/>
  493. <br/>
  494. <br/>
  495. <br/>
  496. <br/>
  497. <br/>
  498. <br/>
  499. <br/>
  500. </div>
  501. <!-- end container -->
  502. </div>
  503. </div>
  504. <!-- end section -->
  505. </div>
  506. <!-- Left Control -->
  507. <a class=\"new-effect carousel-control-prev\" href=\"#carouselExampleControls\" role=\"button\" data-slide=\"prev\">
  508. <span class=\"fa fa-angle-left\" aria-hidden=\"true\"></span>
  509. <span class=\"sr-only\">
  510. Previous
  511. </span>
  512. </a>
  513. <!-- Right Control -->
  514. <a class=\"new-effect carousel-control-next\" href=\"#carouselExampleControls\" role=\"button\" data-slide=\"next\">
  515. <span class=\"fa fa-angle-right\" aria-hidden=\"true\"></span>
  516. <span class=\"sr-only\">
  517. Next
  518. </span>
  519. </a>
  520. </div>
  521. </div>
  522. <section class=\"card\">
  523. <article class=\"row card-body\" id=\"officialExams\">
  524. <h1 class=\"card-title text-center\">Taux de reussite aux examens officiels session 2023-2024</h1>
  525. {% for key in results|keys %}
  526. <div class=\"col-6 col-md-3 \" >
  527. <canvas id={{key}} height=\"120\" data-exam-objects=\" {{results[key]}}\"></canvas>
  528. </div>
  529. {% endfor %}
  530. </article>
  531. </section>
  532. {% endblock %}
  533. {% block javascripts %}
  534. {{ parent() }}
  535. <script type=\"text/javascript\">
  536. //Generate a random color
  537. const randomRgbColor = (type) => {
  538. let r = Math.floor(Math.random() * 256); // Random between 0-255
  539. let g = Math.floor(Math.random() * 256); // Random between 0-255
  540. let b = Math.floor(Math.random() * 256); // Random between 0-255
  541. if(type===\"ECHEC\"){
  542. r = 128+ Math.floor(Math.random() * 128);
  543. b =0;
  544. } else {
  545. r = 0;
  546. b = 128+ Math.floor(Math.random() * 128);
  547. }
  548. return 'rgb(' + r + ',' + g + ',' + b + ')';
  549. };
  550. const colors=[], datasets = [];
  551. const troisiemeAllExamsGraph = \$(\"#troisiemeall\"), troisiemeEspExamsGraph = \$(\"#troisiemeesp\") ,
  552. premiereCExamsGraph = \$(\"#premiere_c\"), premiereDExamsGraph = \$(\"#premiere_d\") ,
  553. premiereAEspExamsGraph = \$(\"#premierea4esp\"), premiereAAllExamsGraph = \$(\"#premierea4all\"),
  554. terminaleCExamsGraph = \$(\"#terminalec\"), terminaleDExamsGraph = \$(\"#terminale_d\") ,
  555. terminaleAEspExamsGraph = \$(\"#terminaleaesp\"), terminaleAAllExamsGraph = \$(\"#terminaleaall\"),
  556. formvArtExamsGraph = \$(\"#formvarts\"), formvScienceExamsGraph = \$(\"#formvscience\")
  557. ;
  558. const troisiemeAllExamsData = troisiemeAllExamsGraph.data('examObjects'), troisiemeEspExamsData = troisiemeEspExamsGraph.data('examObjects'),
  559. premiereCExamsData = premiereCExamsGraph.data('examObjects'), premiereDExamsData = premiereDExamsGraph.data('examObjects'),
  560. premiereAEspExamsData = premiereAEspExamsGraph.data('examObjects'), premiereAAllExamsData = premiereAAllExamsGraph.data('examObjects'),
  561. terminaleCExamsData = terminaleCExamsGraph.data('examObjects'), terminaleDExamsData = terminaleDExamsGraph.data('examObjects'),
  562. terminaleAEspExamsData = terminaleAEspExamsGraph.data('examObjects'), terminaleAAllExamsData = terminaleAAllExamsGraph.data('examObjects'),
  563. formvArtExamsData = formvArtExamsGraph.data('examObjects'),formvScienceExamsData = formvScienceExamsGraph.data('examObjects');
  564. // Draw the graph of official exam results
  565. const drawCanvas = (examData, examGraph, name) => {
  566. // console.log(examData, examGraph, name)
  567. JSON.parse(examData)['mentionCategories'].map(cat => {
  568. colors.push(randomRgbColor(cat));
  569. });
  570. const examChart = new Chart(examGraph, {
  571. type: \"polarArea\",
  572. data: {
  573. labels: JSON.parse(examData)[\"mentionCategories\"] ,
  574. datasets: [{
  575. data: JSON.parse(examData)[\"mentionCountCategories\"],
  576. backgroundColor: colors
  577. }]
  578. },
  579. options: {
  580. plugins: {
  581. is3D : true,
  582. title: {
  583. display: true,
  584. text: name,
  585. font: {
  586. size: 16,
  587. family: 'Helvetica Neue',
  588. },
  589. position: 'bottom',
  590. }
  591. }
  592. }
  593. });
  594. }
  595. // Disposition des canVas dans le frontEnd
  596. drawCanvas(terminaleDExamsData,terminaleDExamsGraph , \"Terminale D\" );
  597. drawCanvas(terminaleCExamsData,terminaleCExamsGraph , \"Terminale C\" );
  598. drawCanvas(terminaleAAllExamsData,terminaleAAllExamsGraph , \"Terminale A All\" );
  599. drawCanvas(terminaleAEspExamsData,terminaleAEspExamsGraph , \"Terminale A Esp\" );
  600. drawCanvas(premiereAAllExamsData,premiereAAllExamsGraph , \"Premiere A All\" );
  601. drawCanvas(premiereAEspExamsData,premiereAEspExamsGraph , \"Premiere A Esp\" );
  602. drawCanvas(premiereCExamsData,premiereCExamsGraph , \"Premiere C\" );
  603. drawCanvas(premiereDExamsData,premiereDExamsGraph , \"Premiere D\" );
  604. drawCanvas(troisiemeAllExamsData,troisiemeAllExamsGraph , \"Troisieme All\" );
  605. drawCanvas(troisiemeEspExamsData,troisiemeEspExamsGraph , \"Troisieme Esp\" );
  606. drawCanvas(formvArtExamsData,formvArtExamsGraph , \"FORM 5 Art(.../5)\" );
  607. drawCanvas(formvScienceExamsData,formvScienceExamsGraph , \"FORM 5 Science(../5)\" );
  608. </script>
  609. {% endblock javascripts %}
  610. ", "school/index.html.twig", "/var/www/prod/liveedu/templates/school/index.html.twig");
  611. }
  612. }