|
@@ -18,7 +18,7 @@
|
|
|
<Badge
|
|
<Badge
|
|
|
v-for="badge in item.badges"
|
|
v-for="badge in item.badges"
|
|
|
:title="badge.title"
|
|
:title="badge.title"
|
|
|
- :img="badge.logo"
|
|
|
|
|
|
|
+ :img="badge.logo.value"
|
|
|
:subtitle="badge.subtitle"
|
|
:subtitle="badge.subtitle"
|
|
|
:details="badge.details"
|
|
:details="badge.details"
|
|
|
:small="badge.small ?? false"
|
|
:small="badge.small ?? false"
|
|
@@ -43,34 +43,32 @@ import { useTheme } from 'vuetify'
|
|
|
const theme = useTheme()
|
|
const theme = useTheme()
|
|
|
const i18n = useI18n()
|
|
const i18n = useI18n()
|
|
|
|
|
|
|
|
-// J'ai travaillé sur de très nombreux projets avec Python, depuis la version 2.7 jusqu'à la version 3.12: scripts variés, extensions QGis, projets web, librairies, utilitaires ou applications buraeautiques.
|
|
|
|
|
-
|
|
|
|
|
const col1 = [
|
|
const col1 = [
|
|
|
{
|
|
{
|
|
|
title: 'Languages',
|
|
title: 'Languages',
|
|
|
badges: [
|
|
badges: [
|
|
|
{
|
|
{
|
|
|
title: 'Python',
|
|
title: 'Python',
|
|
|
- logo: '/images/logos/python.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/python.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 10 }),
|
|
subtitle: i18n.t('x_years', { years: 10 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'PHP',
|
|
title: 'PHP',
|
|
|
- logo: '/images/logos/php.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/php.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 4 }),
|
|
subtitle: i18n.t('x_years', { years: 4 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title:
|
|
title:
|
|
|
'Node.js',
|
|
'Node.js',
|
|
|
- logo: theme.global.name.value === 'light' ? '/images/logos/nodejs_light.svg' : '/images/logos/nodejs_dark.svg',
|
|
|
|
|
|
|
+ logo: computed(() => theme.global.name.value === 'light' ? '/images/logos/nodejs_light.svg' : '/images/logos/nodejs_dark.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 5 }),
|
|
subtitle: i18n.t('x_years', { years: 5 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'C#',
|
|
title: 'C#',
|
|
|
- logo: '/images/logos/csharp.png',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/csharp.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 2 }),
|
|
subtitle: i18n.t('x_years', { years: 2 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
@@ -81,37 +79,37 @@ const col1 = [
|
|
|
badges: [
|
|
badges: [
|
|
|
{
|
|
{
|
|
|
'title': 'Symfony',
|
|
'title': 'Symfony',
|
|
|
- logo: '/images/logos/symfony.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/symfony.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 10 }),
|
|
subtitle: i18n.t('x_years', { years: 10 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
'title': 'Vue.js',
|
|
'title': 'Vue.js',
|
|
|
- logo: '/images/logos/vue.png',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/vue.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
'title': 'Nuxt.js',
|
|
'title': 'Nuxt.js',
|
|
|
- logo: '/images/logos/nuxt.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/nuxt.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
'title': '.Net',
|
|
'title': '.Net',
|
|
|
- logo: '/images/logos/dotnet.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/dotnet.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 2 }),
|
|
subtitle: i18n.t('x_years', { years: 2 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
'title': 'Jquery',
|
|
'title': 'Jquery',
|
|
|
- logo: theme.global.name.value === 'light' ? '/images/logos/jquery.png' : '/images/logos/jquery_dark.png',
|
|
|
|
|
|
|
+ logo: computed(() => theme.global.name.value === 'light' ? '/images/logos/jquery.png' : '/images/logos/jquery_dark.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
'title': 'Django',
|
|
'title': 'Django',
|
|
|
- logo: theme.global.name.value === 'light' ? '/images/logos/django-light.svg' : '/images/logos/django-dark.svg',
|
|
|
|
|
|
|
+ logo: computed(() => theme.global.name.value === 'light' ? '/images/logos/django-light.svg' : '/images/logos/django-dark.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 4 }),
|
|
subtitle: i18n.t('x_years', { years: 4 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
@@ -125,37 +123,37 @@ const col2 = [
|
|
|
badges: [
|
|
badges: [
|
|
|
{
|
|
{
|
|
|
title: 'Mysql',
|
|
title: 'Mysql',
|
|
|
- logo: '/images/logos/mysql.png',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/mysql.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 6 }),
|
|
subtitle: i18n.t('x_years', { years: 6 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'MariaDb',
|
|
title: 'MariaDb',
|
|
|
- logo: theme.global.name.value === 'light' ? '/images/logos/mariadb.svg': '/images/logos/mariadb_dark.svg',
|
|
|
|
|
|
|
+ logo: computed(() => theme.global.name.value === 'light' ? '/images/logos/mariadb.svg': '/images/logos/mariadb_dark.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 6 }),
|
|
subtitle: i18n.t('x_years', { years: 6 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'Postgresql',
|
|
title: 'Postgresql',
|
|
|
- logo: '/images/logos/postgresql.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/postgresql.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 5 }),
|
|
subtitle: i18n.t('x_years', { years: 5 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'SQL-Server',
|
|
title: 'SQL-Server',
|
|
|
- logo: '/images/logos/sql-server.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/sql-server.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 6 }),
|
|
subtitle: i18n.t('x_years', { years: 6 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'Sqlite',
|
|
title: 'Sqlite',
|
|
|
- logo: '/images/logos/sqlite.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/sqlite.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 5 }),
|
|
subtitle: i18n.t('x_years', { years: 5 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'Solr',
|
|
title: 'Solr',
|
|
|
- logo: theme.global.name.value === 'light' ? '/images/logos/solr_light.png' : '/images/logos/solr_dark.png',
|
|
|
|
|
|
|
+ logo: computed(() => theme.global.name.value === 'light' ? '/images/logos/solr_light.png' : '/images/logos/solr_dark.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 2 }),
|
|
subtitle: i18n.t('x_years', { years: 2 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
@@ -166,25 +164,25 @@ const col2 = [
|
|
|
badges: [
|
|
badges: [
|
|
|
{
|
|
{
|
|
|
'title': 'Docker',
|
|
'title': 'Docker',
|
|
|
- logo: '/images/logos/docker.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/docker.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 5 }),
|
|
subtitle: i18n.t('x_years', { years: 5 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
'title': 'Gitlab CI',
|
|
'title': 'Gitlab CI',
|
|
|
- logo: '/images/logos/gitlab.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/gitlab.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 8 }),
|
|
subtitle: i18n.t('x_years', { years: 8 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
'title': 'Github Actions',
|
|
'title': 'Github Actions',
|
|
|
- logo: theme.global.name.value === 'light' ? '/images/logos/github-light.svg' : '/images/logos/github-dark.svg',
|
|
|
|
|
|
|
+ logo: computed(() => theme.global.name.value === 'light' ? '/images/logos/github-light.svg' : '/images/logos/github-dark.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
'title': 'Jenkins',
|
|
'title': 'Jenkins',
|
|
|
- logo: '/images/logos/jenkins.png',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/jenkins.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
}
|
|
}
|
|
@@ -198,32 +196,32 @@ const col3 = [
|
|
|
badges: [
|
|
badges: [
|
|
|
{
|
|
{
|
|
|
title: 'Mercure (SSE)',
|
|
title: 'Mercure (SSE)',
|
|
|
- logo: '/images/logos/docker.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/docker.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 5 }),
|
|
subtitle: i18n.t('x_years', { years: 5 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'Nextcloud',
|
|
title: 'Nextcloud',
|
|
|
- logo: '/images/logos/gitlab.svg',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/gitlab.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 8 }),
|
|
subtitle: i18n.t('x_years', { years: 8 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: i18n.t('system_administration'),
|
|
title: i18n.t('system_administration'),
|
|
|
- logo: theme.global.name.value === 'light' ? '/images/command-line_light.png' : '/images/command-line_dark.png',
|
|
|
|
|
|
|
+ logo: computed(() => theme.global.name.value === 'light' ? '/images/command-line_light.png' : '/images/command-line_dark.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 8 }),
|
|
subtitle: i18n.t('x_years', { years: 8 }),
|
|
|
details: '',
|
|
details: '',
|
|
|
small: true
|
|
small: true
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'Git-Flow',
|
|
title: 'Git-Flow',
|
|
|
- logo: theme.global.name.value === 'light' ? '/images/logos/git-flow-light.svg' : '/images/logos/git-flow-dark.svg',
|
|
|
|
|
|
|
+ logo: computed(() => theme.global.name.value === 'light' ? '/images/logos/git-flow-light.svg' : '/images/logos/git-flow-dark.svg'),
|
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
subtitle: i18n.t('x_years', { years: 3 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'Typo3 (dev)',
|
|
title: 'Typo3 (dev)',
|
|
|
- logo: '/images/logos/typo3.png',
|
|
|
|
|
|
|
+ logo: ref('/images/logos/typo3.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 4 }),
|
|
subtitle: i18n.t('x_years', { years: 4 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
@@ -234,32 +232,32 @@ const col3 = [
|
|
|
badges: [
|
|
badges: [
|
|
|
{
|
|
{
|
|
|
title: 'Management',
|
|
title: 'Management',
|
|
|
- logo: '/images/team-management.png',
|
|
|
|
|
|
|
+ logo: ref('/images/team-management.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 10 }),
|
|
subtitle: i18n.t('x_years', { years: 10 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'Product Owner',
|
|
title: 'Product Owner',
|
|
|
- logo: '/images/product-management.png',
|
|
|
|
|
|
|
+ logo: ref('/images/product-management.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 10 }),
|
|
subtitle: i18n.t('x_years', { years: 10 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: i18n.t('continuous_improvement'),
|
|
title: i18n.t('continuous_improvement'),
|
|
|
- logo: '/images/continuous-improvement.png',
|
|
|
|
|
|
|
+ logo: ref('/images/continuous-improvement.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 9 }),
|
|
subtitle: i18n.t('x_years', { years: 9 }),
|
|
|
details: '',
|
|
details: '',
|
|
|
small: true
|
|
small: true
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'SCRUM',
|
|
title: 'SCRUM',
|
|
|
- logo: '/images/scrum.png',
|
|
|
|
|
|
|
+ logo: ref('/images/scrum.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 8 }),
|
|
subtitle: i18n.t('x_years', { years: 8 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: 'Tutoring',
|
|
title: 'Tutoring',
|
|
|
- logo: '/images/teacher.png',
|
|
|
|
|
|
|
+ logo: ref('/images/teacher.png'),
|
|
|
subtitle: i18n.t('x_years', { years: 6 }),
|
|
subtitle: i18n.t('x_years', { years: 6 }),
|
|
|
details: ''
|
|
details: ''
|
|
|
}
|
|
}
|