templates/school/index.html.twig line 1

Open in your IDE?
  1. {% extends 'layout/frontEndLayout.html.twig' %}
  2. {% block name %}
  3. Welcome to LiveEdu
  4. {% endblock %}
  5. {% block body %}
  6. <div id="carouselExampleControls" class="carousel slide bs-slider box-slider" data-ride="carousel" data-pause="hover" data-interval="false">
  7. <!-- Indicators -->
  8. <ol class="carousel-indicators">
  9. <li data-target="#carouselExampleControls" data-slide-to="0" class="active"></li>
  10. <li data-target="#carouselExampleControls" data-slide-to="1"></li>
  11. <li data-target="#carouselExampleControls" data-slide-to="2"></li>
  12. </ol>
  13. <div class="carousel-inner" role="listbox" data-ride="carousel"
  14. data-interval="5000">
  15. <div class="carousel-item active">
  16. <div id="home" class="first-section" style="background-image:url({{ asset('assets/images/slider-01.jpg') }});">
  17. <div class="dtab">
  18. <div class="container">
  19. <div class="row">
  20. <div class="col-md-12 col-sm-12 text-right">
  21. <div class="big-tagline">
  22. <h2>
  23. Bilingual Secondary Institute BETHESDA implements
  24. <strong>
  25. LiveEdu
  26. </strong>
  27. </h2>
  28. </div>
  29. </div>
  30. </div>
  31. <!-- end row -->
  32. <br/>
  33. <br/>
  34. <br/>
  35. <br/>
  36. <br/>
  37. <br/>
  38. <br/>
  39. <br/>
  40. <br/>
  41. <br/>
  42. <br/>
  43. <br/>
  44. <br/>
  45. <br/>
  46. </div>
  47. <!-- end container -->
  48. </div>
  49. </div>
  50. <!-- end section -->
  51. </div>
  52. <div class="carousel-item">
  53. <div id="home" class="first-section" style="background-image:url({{ asset('assets/images/slider-02.jpg') }});">
  54. <div class="dtab">
  55. <div class="container">
  56. <div class="row">
  57. <div class="col-md-12 col-sm-12 text-left">
  58. <div class="big-tagline">
  59. <h2 data-animation="animated zoomInRight">
  60. LiveEdu
  61. <strong>
  62. software online services
  63. </strong>
  64. </h2>
  65. </div>
  66. </div>
  67. </div>
  68. <!-- end row -->
  69. <br/>
  70. <br/>
  71. <br/>
  72. <br/>
  73. <br/>
  74. <br/>
  75. <br/>
  76. <br/>
  77. <br/>
  78. <br/>
  79. <br/>
  80. <br/>
  81. <br/>
  82. <br/>
  83. </div>
  84. <!-- end container -->
  85. </div>
  86. </div>
  87. <!-- end section -->
  88. </div>
  89. <div class="carousel-item">
  90. <div id="home" class="first-section" style="background-image:url({{ asset('assets/images/slide_04.PNG') }});">
  91. <div class="dtab">
  92. <div class="container">
  93. <div class="row">
  94. <div class="col-md-12 col-sm-12 text-left">
  95. <div class="big-tagline">
  96. <h2 data-animation="animated zoomInRight">
  97. <strong>
  98. LiveEdu adds transparancy
  99. </strong>
  100. for quality education
  101. </h2>
  102. </div>
  103. </div>
  104. </div>
  105. <!-- end row -->
  106. <br/>
  107. <br/>
  108. <br/>
  109. <br/>
  110. <br/>
  111. <br/>
  112. <br/>
  113. <br/>
  114. <br/>
  115. <br/>
  116. <br/>
  117. <br/>
  118. <br/>
  119. <br/>
  120. </div>
  121. <!-- end container -->
  122. </div>
  123. </div>
  124. <!-- end section -->
  125. </div>
  126. <!-- Left Control -->
  127. <a class="new-effect carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
  128. <span class="fa fa-angle-left" aria-hidden="true"></span>
  129. <span class="sr-only">
  130. Previous
  131. </span>
  132. </a>
  133. <!-- Right Control -->
  134. <a class="new-effect carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
  135. <span class="fa fa-angle-right" aria-hidden="true"></span>
  136. <span class="sr-only">
  137. Next
  138. </span>
  139. </a>
  140. </div>
  141. </div>
  142. <section class="card">
  143. <article class="row card-body" id="officialExams">
  144. <h1 class="card-title text-center">Taux de reussite aux examens officiels session 2023-2024</h1>
  145. {% for key in results|keys %}
  146. <div class="col-6 col-md-3 " >
  147. <canvas id={{key}} height="120" data-exam-objects=" {{results[key]}}"></canvas>
  148. </div>
  149. {% endfor %}
  150. </article>
  151. </section>
  152. {% endblock %}
  153. {% block javascripts %}
  154. {{ parent() }}
  155. <script type="text/javascript">
  156. //Generate a random color
  157. const randomRgbColor = (type) => {
  158. let r = Math.floor(Math.random() * 256); // Random between 0-255
  159. let g = Math.floor(Math.random() * 256); // Random between 0-255
  160. let b = Math.floor(Math.random() * 256); // Random between 0-255
  161. if(type==="ECHEC"){
  162. r = 128+ Math.floor(Math.random() * 128);
  163. b =0;
  164. } else {
  165. r = 0;
  166. b = 128+ Math.floor(Math.random() * 128);
  167. }
  168. return 'rgb(' + r + ',' + g + ',' + b + ')';
  169. };
  170. const colors=[], datasets = [];
  171. const troisiemeAllExamsGraph = $("#troisiemeall"), troisiemeEspExamsGraph = $("#troisiemeesp") ,
  172. premiereCExamsGraph = $("#premiere_c"), premiereDExamsGraph = $("#premiere_d") ,
  173. premiereAEspExamsGraph = $("#premierea4esp"), premiereAAllExamsGraph = $("#premierea4all"),
  174. terminaleCExamsGraph = $("#terminalec"), terminaleDExamsGraph = $("#terminale_d") ,
  175. terminaleAEspExamsGraph = $("#terminaleaesp"), terminaleAAllExamsGraph = $("#terminaleaall"),
  176. formvArtExamsGraph = $("#formvarts"), formvScienceExamsGraph = $("#formvscience")
  177. ;
  178. const troisiemeAllExamsData = troisiemeAllExamsGraph.data('examObjects'), troisiemeEspExamsData = troisiemeEspExamsGraph.data('examObjects'),
  179. premiereCExamsData = premiereCExamsGraph.data('examObjects'), premiereDExamsData = premiereDExamsGraph.data('examObjects'),
  180. premiereAEspExamsData = premiereAEspExamsGraph.data('examObjects'), premiereAAllExamsData = premiereAAllExamsGraph.data('examObjects'),
  181. terminaleCExamsData = terminaleCExamsGraph.data('examObjects'), terminaleDExamsData = terminaleDExamsGraph.data('examObjects'),
  182. terminaleAEspExamsData = terminaleAEspExamsGraph.data('examObjects'), terminaleAAllExamsData = terminaleAAllExamsGraph.data('examObjects'),
  183. formvArtExamsData = formvArtExamsGraph.data('examObjects'),formvScienceExamsData = formvScienceExamsGraph.data('examObjects');
  184. // Draw the graph of official exam results
  185. const drawCanvas = (examData, examGraph, name) => {
  186. // console.log(examData, examGraph, name)
  187. JSON.parse(examData)['mentionCategories'].map(cat => {
  188. colors.push(randomRgbColor(cat));
  189. });
  190. const examChart = new Chart(examGraph, {
  191. type: "polarArea",
  192. data: {
  193. labels: JSON.parse(examData)["mentionCategories"] ,
  194. datasets: [{
  195. data: JSON.parse(examData)["mentionCountCategories"],
  196. backgroundColor: colors
  197. }]
  198. },
  199. options: {
  200. plugins: {
  201. is3D : true,
  202. title: {
  203. display: true,
  204. text: name,
  205. font: {
  206. size: 16,
  207. family: 'Helvetica Neue',
  208. },
  209. position: 'bottom',
  210. }
  211. }
  212. }
  213. });
  214. }
  215. // Disposition des canVas dans le frontEnd
  216. drawCanvas(terminaleDExamsData,terminaleDExamsGraph , "Terminale D" );
  217. drawCanvas(terminaleCExamsData,terminaleCExamsGraph , "Terminale C" );
  218. drawCanvas(terminaleAAllExamsData,terminaleAAllExamsGraph , "Terminale A All" );
  219. drawCanvas(terminaleAEspExamsData,terminaleAEspExamsGraph , "Terminale A Esp" );
  220. drawCanvas(premiereAAllExamsData,premiereAAllExamsGraph , "Premiere A All" );
  221. drawCanvas(premiereAEspExamsData,premiereAEspExamsGraph , "Premiere A Esp" );
  222. drawCanvas(premiereCExamsData,premiereCExamsGraph , "Premiere C" );
  223. drawCanvas(premiereDExamsData,premiereDExamsGraph , "Premiere D" );
  224. drawCanvas(troisiemeAllExamsData,troisiemeAllExamsGraph , "Troisieme All" );
  225. drawCanvas(troisiemeEspExamsData,troisiemeEspExamsGraph , "Troisieme Esp" );
  226. drawCanvas(formvArtExamsData,formvArtExamsGraph , "FORM 5 Art(.../5)" );
  227. drawCanvas(formvScienceExamsData,formvScienceExamsGraph , "FORM 5 Science(../5)" );
  228. </script>
  229. {% endblock javascripts %}