index.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <template>
  2. <PageMeta
  3. title="Olivier Massot - Fullstack developer"
  4. description=""
  5. />
  6. <div class="banner">
  7. <h1>
  8. {{ $t('Fullstack developer') }}
  9. </h1>
  10. <h2>
  11. {{ $t('twelve_years_experience') }}
  12. </h2>
  13. <div class="introduction">
  14. <div>
  15. {{ $t('intro_part_1') }}
  16. </div>
  17. <div>
  18. {{ $t('intro_part_2') }}
  19. </div>
  20. <div>
  21. {{ $t('intro_part_3') }}
  22. </div>
  23. <div v-html="$t('intro_part_4')" />
  24. <div>
  25. {{ $t('intro_part_5') }}
  26. </div>
  27. <div class="logos">
  28. <nuxt-link
  29. href="https://github.com/olinox14"
  30. target="_blank"
  31. >
  32. <v-img
  33. src="/images/logos/github_large_dark.png"
  34. />
  35. </nuxt-link>
  36. <nuxt-link
  37. href="https://stackoverflow.com/users/4279120/olinox14"
  38. target="_blank"
  39. >
  40. <v-img
  41. src="/images/logos/stackoverflow.svg"
  42. class="so-logo"
  43. />
  44. </nuxt-link>
  45. <nuxt-link
  46. href="https://www.linkedin.com/in/olivier-massot-60b87b181"
  47. target="_blank"
  48. >
  49. <v-img
  50. src="/images/logos/linkedin.png"
  51. />
  52. </nuxt-link>
  53. <nuxt-link
  54. href="https://www.codingame.com/profile/75dcc329745def530c02ddb4485f22235683081"
  55. target="_blank"
  56. >
  57. <v-img
  58. src="/images/logos/codingame.svg"
  59. />
  60. </nuxt-link>
  61. </div>
  62. </div>
  63. </div>
  64. <div class="badges">
  65. <h2>Languages</h2>
  66. <div class="badges-section">
  67. <Badge title="Python" img="/images/logos/python.svg" />
  68. <Badge title="PHP" img="/images/logos/php.svg" />
  69. <Badge title="Node.js" img="/images/logos/node-light.svg" />
  70. <Badge title="C#" img="/images/logos/csharp.png" />
  71. </div>
  72. <h2>Frameworks</h2>
  73. <div class="badges-section">
  74. <Badge title="Symfony" img="/images/logos/symfony.svg" />
  75. <Badge title="Vue.js" img="/images/logos/vue.png" />
  76. <Badge title="Nuxt.js" img="/images/logos/nuxt.svg" />
  77. <Badge title="Django" img="/images/logos/django-light.svg" />
  78. <Badge title=".Net" img="/images/logos/dotnet.svg" />
  79. <Badge title="Jquery" img="/images/logos/jquery.png" />
  80. </div>
  81. <h2>DBs and search-engines</h2>
  82. <div class="badges-section">
  83. <Badge title="Mysql" img="/images/logos/mysql.png" />
  84. <Badge title="MariaDb" img="/images/logos/mariadb.svg" />
  85. <Badge title="Postgresql" img="/images/logos/postgresql.png" />
  86. <Badge title="SQL-Server" img="/images/logos/sql-server.svg" />
  87. <Badge title="Sqlite" img="/images/logos/sqlite.png" />
  88. <Badge title="ElasticSearch" img="/images/logos/elasticsearch.svg" />
  89. <Badge title="Solr" img="/images/logos/solr.png" />
  90. </div>
  91. <h2>Devops</h2>
  92. <div class="badges-section">
  93. <Badge title="Docker" img="/images/logos/docker.svg" />
  94. <Badge title="Gitlab CI" img="/images/logos/gitlab.svg" />
  95. <Badge title="Github Actions" img="/images/logos/github-light.svg" />
  96. <Badge title="Jenkins" img="/images/logos/jenkins.png" />
  97. </div>
  98. <h2>CMS</h2>
  99. <div class="badges-section">
  100. <Badge title="Typo3" img="/images/logos/typo3.png" />
  101. <Badge title="Wordpress" img="/images/logos/wordpress.png" />
  102. </div>
  103. <h2>Other</h2>
  104. <div class="badges-section">
  105. <Badge title="Mercure (SSE)" img="/images/logos/mercure.svg" />
  106. <Badge title="Nextcloud" img="/images/logos/nextcloud.svg" />
  107. </div>
  108. </div>
  109. </template>
  110. <script setup lang="ts">
  111. </script>
  112. <style scoped lang="scss">
  113. .banner {
  114. height: 640px;
  115. display: flex;
  116. flex-direction: column;
  117. justify-content: center;
  118. align-items: center;
  119. text-align: center;
  120. padding: 20px;
  121. h2 {
  122. margin: 18px 0;
  123. border-bottom: none;
  124. }
  125. .introduction {
  126. max-width: 800px;
  127. text-align: justify;
  128. padding: 36px;
  129. border: solid 1px rgba(var(--v-theme-on-neutral), 0.4);
  130. border-radius: 16px;
  131. background: rgba(var(--v-theme-primary-alt), 0.1);
  132. > div {
  133. margin-bottom: 16px;
  134. }
  135. :deep(a) {
  136. color: var(--v-theme-on-neutral);
  137. font-weight: 700;
  138. text-decoration: none;
  139. }
  140. .logos {
  141. display: flex;
  142. flex-direction: row;
  143. :deep(a) {
  144. width: 20%;
  145. margin: 0 auto;
  146. max-width: 140px;
  147. padding: 16px;
  148. }
  149. .so-logo {
  150. background: white;
  151. border-radius: 6px;
  152. }
  153. }
  154. }
  155. }
  156. .badges {
  157. }
  158. .badges-section {
  159. display: flex;
  160. flex-direction: row;
  161. flex-wrap: wrap;
  162. justify-content: center;
  163. .v-card {
  164. margin: 24px;
  165. }
  166. }
  167. </style>