Logiciels.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <template>
  2. <AnchoredSection id="softwares">
  3. <LayoutContainer>
  4. <v-row class="mb-6 center-90">
  5. <LayoutUISubTitle> Nos logiciels </LayoutUISubTitle>
  6. <LayoutUITitle>
  7. Nos logiciels dédiés à chaque acteur culturel
  8. </LayoutUITitle>
  9. </v-row>
  10. <v-row class="mb-12 center-90">
  11. <v-col md="3">
  12. <p class="text-justify mr-4 ml-2 mb-6">
  13. Découvrez notre gamme de logiciels de gestion & de communication
  14. adapté au secteur culturel. <br />
  15. Des fonctionnalités complètes:
  16. </p>
  17. <ul class="ml-4">
  18. <li v-for="(feature, index) in features" :key="index">
  19. {{ feature }}
  20. </li>
  21. </ul>
  22. <p class="text-justify mr-4 mt-6">
  23. <b>À chaque logiciel sa spécificité !</b>
  24. </p>
  25. </v-col>
  26. <v-col
  27. v-for="(item, index) in items"
  28. :key="index"
  29. cols="12"
  30. md="3"
  31. :class="item.class"
  32. >
  33. <nuxt-link :to="item.link" class="software-link">
  34. <v-img :src="item.imageUrl" cover class="container-image">
  35. <footer>
  36. <v-img :src="item.logoUrl" :alt="item.logoAlt" class="logo" />
  37. <v-btn aria-label="Voir plus" class="plus-button">
  38. <v-icon>fas fa-plus</v-icon>
  39. </v-btn>
  40. </footer>
  41. </v-img>
  42. </nuxt-link>
  43. </v-col>
  44. </v-row>
  45. </LayoutContainer>
  46. </AnchoredSection>
  47. </template>
  48. <script setup lang="ts">
  49. import AnchoredSection from '~/components/Layout/AnchoredSection.vue'
  50. const features: Array<string> = [
  51. 'Une gestion de vos contacts',
  52. 'Un agenda collaboratif et interactif',
  53. 'Une gestion du matériel et du stock',
  54. 'Une communication simplifiée',
  55. "Un rapport d'activité complet",
  56. 'Un site internet intégré',
  57. 'Et bien plus encore...',
  58. ]
  59. const items: Array<{
  60. imageUrl: string
  61. alt: string
  62. logoUrl: string
  63. logoAlt: string
  64. class: string
  65. link: string
  66. }> = [
  67. {
  68. imageUrl:
  69. '/images/pages/qui-sommes-nous/logiciels/Opentalent_Artist_pour_les_structures_culturelles.jpg',
  70. alt: 'Partition tenue par une femme dans une chorale',
  71. logoUrl: '/images/logos/opentalent/Logo_Opentalent_Artist-blanc.png',
  72. logoAlt:
  73. 'Logo Opentalent Artist - logiciel de gestion et de communication pour les orchestres, les chorales, les compagnies artistiques et troupes',
  74. class: 'artist',
  75. link: '/opentalent-artist',
  76. },
  77. {
  78. imageUrl:
  79. '/images/pages/qui-sommes-nous/logiciels/Opentalent_School_pour_les_etablissements_d_enseignement_artistique.JPG',
  80. alt: 'Deux jeunes filles jouant du violon',
  81. logoUrl: '/images/logos/opentalent/Logo_Opentalent_School-blanc.png',
  82. logoAlt:
  83. 'Logo Opentalent School - logiciel de gestion et de communication pour les établissements d’enseignement artistique',
  84. class: 'school',
  85. link: '/opentalent-school',
  86. },
  87. {
  88. imageUrl:
  89. '/images/pages/qui-sommes-nous/logiciels/Opentalent_Manager_pour_les_reseaux_culturels.png',
  90. alt: 'Carte de réseau des structures de la confédération musicale de France',
  91. logoUrl: '/images/logos/opentalent/Logo_Opentalent_Manager-blanc.png',
  92. logoAlt:
  93. 'Logo Opentalent Manager - logiciel de gestion et de communication pour les fédérations, les confédérations et les collectivités',
  94. class: 'manager',
  95. link: '/opentalent-manager',
  96. },
  97. ]
  98. </script>
  99. <style scoped lang="scss">
  100. .container {
  101. padding: 0 !important;
  102. margin-top: 1rem;
  103. background: var(--neutral-color);
  104. }
  105. ul {
  106. list-style: none;
  107. padding-left: 0;
  108. }
  109. li {
  110. margin-left: 0.8rem;
  111. position: relative;
  112. margin-bottom: 6px;
  113. }
  114. li:before {
  115. content: '';
  116. position: absolute;
  117. left: -10px;
  118. top: 50%;
  119. transform: translateY(-50%);
  120. width: 3px;
  121. height: 3px;
  122. background-color: var(--on-neutral-color);
  123. border-radius: 50%;
  124. }
  125. .software-link {
  126. > .container-image:hover {
  127. transform: scale(1.05);
  128. }
  129. }
  130. .container-image {
  131. position: relative;
  132. background-repeat: no-repeat;
  133. background-size: cover;
  134. background-position: center;
  135. width: 100%;
  136. height: 370px;
  137. z-index: 0;
  138. border-radius: 12px 12px 0 12px;
  139. footer {
  140. position: absolute;
  141. bottom: 0;
  142. left: 0;
  143. width: 100%;
  144. height: 100px;
  145. display: flex;
  146. align-items: center;
  147. justify-content: space-between;
  148. padding: 0 10px;
  149. }
  150. .logo {
  151. width: 100px;
  152. z-index: 2;
  153. margin-right: 10px;
  154. }
  155. .plus-button {
  156. width: 100px;
  157. height: 100px;
  158. border-radius: 50% 0 0 0;
  159. background: var(--primary-color);
  160. color: var(--on-primary-color);
  161. box-shadow: none !important;
  162. border-top-left-radius: 10% !important;
  163. margin-right: -10px;
  164. margin-bottom: -10px;
  165. z-index: 2;
  166. .v-icon {
  167. color: var(--on-primary-color);
  168. font-size: 2rem;
  169. }
  170. }
  171. }
  172. .plus-button:hover {
  173. filter: brightness(90%);
  174. }
  175. .container-image::after {
  176. content: '';
  177. position: absolute;
  178. top: 0;
  179. bottom: 0;
  180. left: 0;
  181. right: 0;
  182. background: rgba(0, 0, 0, 0.4);
  183. }
  184. .artist .plus-button {
  185. background: var(--artist-color);
  186. }
  187. .school .plus-button {
  188. background: var(--school-color);
  189. }
  190. .manager .plus-button {
  191. background: var(--manager-color);
  192. }
  193. </style>