Formations.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. <template>
  2. <AnchoredSection id="webinars">
  3. <LayoutContainer>
  4. <div class="alt-theme pt-6 mt-12">
  5. <v-row>
  6. <LayoutUISubTitle>
  7. Nos accompagnements sur-mesure
  8. </LayoutUISubTitle>
  9. </v-row>
  10. <v-row class="formation pb-6 align-center">
  11. <v-col
  12. cols="6"
  13. v-for="(formation, index) in formations"
  14. :key="index"
  15. >
  16. <div class="mb-6">
  17. <div :class="formation.overlayClass"></div>
  18. <div
  19. :style="{ backgroundImage: 'url(' + formation.image + ')' }"
  20. class="background-img"
  21. ></div>
  22. </div>
  23. <div>
  24. <h4>
  25. {{ formation.sessions }}
  26. </h4>
  27. <h3>
  28. {{ formation.title }}
  29. </h3>
  30. <p class="details mb-5">
  31. {{ formation.description }}
  32. </p>
  33. <v-btn :to="formation.link">
  34. {{ formation.buttonText }}
  35. </v-btn>
  36. </div>
  37. </v-col>
  38. </v-row>
  39. </div>
  40. <!--
  41. TODO: Déplacer le "Quelques chiffres" dans un composant à part,
  42. voir comment gérer ça avec les anchored sections
  43. -->
  44. <v-row class="align-center">
  45. <v-col cols="12">
  46. <v-row no-gutters>
  47. <LayoutUISubTitle>
  48. Quelques chiffres
  49. </LayoutUISubTitle>
  50. <LayoutUITitle>
  51. Pour les petits comme pour les GRANDS établissements d'enseignement artistique
  52. </LayoutUITitle>
  53. </v-row>
  54. </v-col>
  55. </v-row>
  56. <v-container>
  57. <v-row class="mb-12">
  58. <v-col
  59. cols="12"
  60. lg="3"
  61. class="d-flex justify-center align-center small-padding"
  62. >
  63. <CommonCardStat
  64. number="30 > 1 500"
  65. text="Élèves"
  66. />
  67. </v-col>
  68. <v-col cols="12" lg="3" class="d-flex justify-center align-center">
  69. <CommonCardStat
  70. number="234"
  71. text="Clients"
  72. />
  73. </v-col>
  74. <v-col cols="12" lg="3" class="d-flex justify-center align-center">
  75. <CommonCardStat
  76. number="20 304"
  77. text="Utilisateurs"
  78. />
  79. </v-col>
  80. <v-col cols="12" lg="3" class="d-flex justify-center align-center">
  81. <CommonCardStat
  82. number="13"
  83. text="Années d'expérience"
  84. />
  85. </v-col>
  86. </v-row>
  87. </v-container>
  88. <v-row />
  89. <CommonCarouselClients :items="items" >
  90. <template v-slot:title>
  91. Plus de <span class="alt-color">5000 structures</span> nous font confiance
  92. </template>
  93. </CommonCarouselClients>
  94. </LayoutContainer>
  95. </AnchoredSection>
  96. </template>
  97. <script setup lang="ts">
  98. import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
  99. import { Formation } from "~/types/interface";
  100. const formations: Array<Formation> = [
  101. {
  102. image: "/images/logiciels/school/formation.png",
  103. overlayClass: "image-overlay1",
  104. sessions: "3 formations disponibles",
  105. title: "Des formations adaptées à chacun - en ligne",
  106. description:
  107. "Parce qu’on sait qu’appréhender un nouvel outil peut-être fastidieux et que vous n’avez pas de temps à perdre,...",
  108. buttonText: "Découvrir toutes nos formations",
  109. link: "/formations",
  110. },
  111. {
  112. image: "/images/logiciels/school/webinaire.png",
  113. overlayClass: "image-overlay2",
  114. sessions: "Toutes nos sessions",
  115. title: "Trouvez le webinaire qu'il vous faut ",
  116. description:
  117. "Des explications précises sur certains modules du logiciel Opentalent School, c'est possible pour aller encore plus loin...",
  118. buttonText: "Découvrir nos webinaires ",
  119. link: "/webinaires",
  120. },
  121. ];
  122. const items: Array<{ src: string }> = [
  123. { src: "/images/reviews/school/review1.svg" },
  124. { src: "/images/reviews/school/review2.png" },
  125. { src: "/images/reviews/school/review3.png" },
  126. { src: "/images/reviews/school/review4.jpeg" },
  127. { src: "/images/reviews/school/review5.jpeg" },
  128. { src: "/images/reviews/school/review6.jpeg" },
  129. ];
  130. </script>
  131. <style scoped>
  132. .v-row {
  133. max-width: 1600px;
  134. margin: 0 auto;
  135. }
  136. :deep(h2) {
  137. width: 60rem;
  138. }
  139. .background-img {
  140. width: 600px;
  141. height: 400px;
  142. background-size: cover;
  143. background-position: center;
  144. }
  145. .formation {
  146. .v-btn {
  147. font-family: "Barlow", serif;
  148. font-style: normal;
  149. width: 30rem;
  150. height: 4rem;
  151. font-weight: 500;
  152. font-size: 1.5rem;
  153. line-height: 18px;
  154. background: transparent;
  155. color: #eff9fb;
  156. border: 1px solid #eff9fb;
  157. border-radius: 0.5rem;
  158. text-transform: none;
  159. }
  160. h3 {
  161. font-weight: 500;
  162. font-size: 1.8rem;
  163. line-height: 26px;
  164. color: #ffffff;
  165. margin-bottom: 3rem;
  166. }
  167. h4 {
  168. font-weight: 500;
  169. font-size: 1.8rem;
  170. line-height: 26px;
  171. color: #ffffff;
  172. margin-bottom: 3rem;
  173. }
  174. .details {
  175. font-weight: 300;
  176. font-size: 1.2rem;
  177. line-height: 1.5rem;
  178. color: #eff9fb;
  179. }
  180. }
  181. </style>