From 9669eea5451c214e485b9ed414d69a4c90a4e96d Mon Sep 17 00:00:00 2001 From: Matt Marcha Date: Fri, 24 May 2024 12:38:26 +1200 Subject: [PATCH] Add FR CV --- cv/MattMarchaCV.html | 121 +++++++++++++++ cv/MattMarchaCV.pdf | Bin 0 -> 61715 bytes cv/index.html | 121 +++++++++++++++ cv/print.css | 158 +++++++++++++++++++ cv/style.css | 352 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 752 insertions(+) create mode 100644 cv/MattMarchaCV.html create mode 100644 cv/MattMarchaCV.pdf create mode 100644 cv/index.html create mode 100644 cv/print.css create mode 100644 cv/style.css diff --git a/cv/MattMarchaCV.html b/cv/MattMarchaCV.html new file mode 100644 index 0000000..26c3cc8 --- /dev/null +++ b/cv/MattMarchaCV.html @@ -0,0 +1,121 @@ + + + + +CV - Matt Marcha + + + +
+

‘Matt Marcha’
Matthias Martin-Chave

+

Ingénieur Web Éthique

+ +

Fort de huit ans d’expérience en France puis en Aotearoa Nouvelle-Zélande, je recherche un emploi en Polynésie Française.
+Particulièrement polyvalent, je suis ouvert à plusieurs types de poste pour privilégier le techniquement stimulant et les valeurs éthiques.
+Mon environnement de travail idéal valorise l’accessibilité, la sécurité et la protection des données, surveille et réduit son empreinte carbone, supporte le logiciel libre et open-source, et évite les solutions non-éthiques des géants de la tech.

+
+
+
+

Expérience professionnelle

+

Website Developer / 2024

+

Te Rūnanga o Ngāi Tahu, Ōtautahi/Christchurch, Aotearoa New Zealand

+

En charge du développement et de la maintenance de plusieurs sites Silverstripe ainsi que de l’infrastructure web AWS au sein d’une petite équipe.

+
    +
  • Développeur Full Stack
  • +
  • DevOps
  • +
  • Chef de projet
  • +
+

Contrat terminé pour raisons administratives (expiration de visa)

+

Développeur, Chef de projet / 2019-2023

+

Auto-entreprise, Lyon & Grenoble, France

+

Gestion de ma propre agence web spécialisée dans les solutions écologiques. Prise en charge de projets variés et parfois complexes. Impliqué aussi bien dans de l’automatisation de processus que du développement, de l’identification de besoins, du SEO ou de la mise en conformité légale.

+
    +
  • Développement back & front
  • +
  • Intégration
  • +
  • Gestion de projet
  • +
  • DevOps
  • +
  • Architecture logicielle
  • +
+

Activité drastiquement réduite au profit de mon départ en Aotearoa Nouvelle-Zélande

+

Développeur web & Chef de projet Junior / 2016-2019

+

Théra, Tassin-la-Demi-Lune, France

+

Développeur principal dans une agence de communication et d’évenementiel. En charge de la conception, de la coordination et du développement de projets allant du site vitrine à la plateforme de gestion évenementielle.

+
    +
  • Développement back & front
  • +
  • Intégration
  • +
  • Gestion de projet
  • +
  • DevOps
  • +
  • Architecture logicielle
  • +
+

Contrat non renouvellé au profit de mon départ en Aotearoa Nouvelle-Zélande (empêché par la pandémie COVID19)

+

Compétences techniques

+

Languages
+PHP (Symfony) - HTML - CSS (Bootstrap, SASS) - Javascript (Vanilla, jQuery) - Python (Pandas, NumPy, Jupyter, Matplotlib)

+

CMS
+Wordpress - SilverStripe - PrestaShop - Drupal

+

Management & Coordination
+Méthodologie Agile, Scrum - Rédacation de spécifications et documentations - Planification - Gestion de budget - Revue des besoins - Conception/Architecture logicielle

+

Autre/Divers
+MySQL/MariaDB - Linux - Git - AWS - Composer - Docker - DNS - Responsive design

+

Communauté & Volontariat

+
    +
  • Convention Citoyenne pour le Climat - Paris, France - 2019-2021
    +Membre d’une assemblée de 150 personnes tirées au sort aléatoirement parmi la population française (métropolitaine et DROM), en charge d’élaborer des propositions de Loi permettant de respecter les accords de Paris.
    +Une aventure incroyable au croisement de la politique, l’environnement et l’intelligence collective.

  • +
  • Zebrascrossing - Lyon, France - 2015-2020
    +Communauté accueillant et soutenant les personnes neuroatypiques via un forum en ligne et des réunions en personne.

  • +
+
+ +
+ diff --git a/cv/MattMarchaCV.pdf b/cv/MattMarchaCV.pdf new file mode 100644 index 0000000000000000000000000000000000000000..01698f3f5bba1a5ee8ca08246ffd062ece9bc282 GIT binary patch literal 61715 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 + + + +CV - Matt Marcha + + + +

+

‘Matt Marcha’
Matthias Martin-Chave

+

Ingénieur Web Éthique

+ +

Fort de huit ans d’expérience en France puis en Aotearoa Nouvelle-Zélande, je recherche un emploi en Polynésie Française.
+Particulièrement polyvalent, je suis ouvert à plusieurs types de poste pour privilégier le techniquement stimulant et les valeurs éthiques.
+Mon environnement de travail idéal valorise l’accessibilité, la sécurité et la protection des données, surveille et réduit son empreinte carbone, supporte le logiciel libre et open-source, et évite les solutions non-éthiques des géants de la tech.

+
+
+
+

Expérience professionnelle

+

Website Developer / 2024

+

Te Rūnanga o Ngāi Tahu, Ōtautahi/Christchurch, Aotearoa New Zealand

+

En charge du développement et de la maintenance de plusieurs sites Silverstripe ainsi que de l’infrastructure web AWS au sein d’une petite équipe.

+
    +
  • Développeur Full Stack
  • +
  • DevOps
  • +
  • Chef de projet
  • +
+

Contrat terminé pour raisons administratives (expiration de visa)

+

Développeur, Chef de projet / 2019-2023

+

Auto-entreprise, Lyon & Grenoble, France

+

Gestion de ma propre agence web spécialisée dans les solutions écologiques. Prise en charge de projets variés et parfois complexes. Impliqué aussi bien dans de l’automatisation de processus que du développement, de l’identification de besoins, du SEO ou de la mise en conformité légale.

+
    +
  • Développement back & front
  • +
  • Intégration
  • +
  • Gestion de projet
  • +
  • DevOps
  • +
  • Architecture logicielle
  • +
+

Activité drastiquement réduite au profit de mon départ en Aotearoa Nouvelle-Zélande

+

Développeur web & Chef de projet Junior / 2016-2019

+

Théra, Tassin-la-Demi-Lune, France

+

Développeur principal dans une agence de communication et d’évenementiel. En charge de la conception, de la coordination et du développement de projets allant du site vitrine à la plateforme de gestion évenementielle.

+
    +
  • Développement back & front
  • +
  • Intégration
  • +
  • Gestion de projet
  • +
  • DevOps
  • +
  • Architecture logicielle
  • +
+

Contrat non renouvellé au profit de mon départ en Aotearoa Nouvelle-Zélande (empêché par la pandémie COVID19)

+

Compétences techniques

+

Languages
+PHP (Symfony) - HTML - CSS (Bootstrap, SASS) - Javascript (Vanilla, jQuery) - Python (Pandas, NumPy, Jupyter, Matplotlib)

+

CMS
+Wordpress - SilverStripe - PrestaShop - Drupal

+

Management & Coordination
+Méthodologie Agile, Scrum - Rédacation de spécifications et documentations - Planification - Gestion de budget - Revue des besoins - Conception/Architecture logicielle

+

Autre/Divers
+MySQL/MariaDB - Linux - Git - AWS - Composer - Docker - DNS - Responsive design

+

Communauté & Volontariat

+
    +
  • Convention Citoyenne pour le Climat - Paris, France - 2019-2021
    +Membre d’une assemblée de 150 personnes tirées au sort aléatoirement parmi la population française (métropolitaine et DROM), en charge d’élaborer des propositions de Loi permettant de respecter les accords de Paris.
    +Une aventure incroyable au croisement de la politique, l’environnement et l’intelligence collective.

  • +
  • Zebrascrossing - Lyon, France - 2015-2020
    +Communauté accueillant et soutenant les personnes neuroatypiques via un forum en ligne et des réunions en personne.

  • +
+
+ +
+ diff --git a/cv/print.css b/cv/print.css new file mode 100644 index 0000000..c9fdb16 --- /dev/null +++ b/cv/print.css @@ -0,0 +1,158 @@ +:root { + /* Set sans-serif & mono fonts */ + --font-accent: Avenir, Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif; + --font-text: system-ui, sans-serif; + --font-mono: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; + --font-serif: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + + /* Nord palette */ + --aurora-1: #bf616a; + --aurora-2: #d08770; + --aurora-3: #ebcb8b; + --aurora-4: #a3be8c; + --aurora-5: #b48ead; + --frost-1: #8fbcbb; + --frost-2: #88c0d0; + --frost-3: #81a1c1; + --frost-4: #5e81ac; + --snow-1: #d8dee9; + --snow-2: #e5e9f0; + --snow-3: #eceff4; + --nord-1: #2e3440; + --nord-2: #3b4252; + --nord-3: #434c5e; + --nord-4: #4c566a; + + + /* Default theme */ + color-scheme: light; + --bg: #fff; + --bg-contrast: var(--nord-1); + --bg-light: var(--snow-2); + --text: var(--nord-3); + --text-contrast: var(--snow-2); + --accent: var(--frost-2); + --text-accent: var(--nord-1); +} + + +body { + display: grid; + grid-template-columns: 2fr 1fr; + grid-template-rows: auto auto auto; + grid-template-areas: + "header header" + "main main" + "footer footer"; + font-size: 7pt; +} + +header { + grid-area: header; + display: grid; + grid-template-columns: subgrid; + grid-template-rows: repeat(3, auto); +} + +header h1 { + white-space: wrap; +} + +header h2 { + margin: 0em .5em; +} + +header ul { + grid-column: 2 / 3; + grid-row: 1 / 4; + flex-direction: column; + padding: 1em; +} + +header p { + padding: 2em 1em 1em; + margin-bottom: 0; +} + +main { + grid-area: main; + display: grid; + grid-template-columns: subgrid; + grid-template-rows: auto; + padding: 0; + clear: both; +} + +main h2 { + white-space: wrap; +} + +main article { + grid-column: 1 / 2; + padding: 10px 20px; +} + +main article h2#work ~ ul:has( ~ h2#tech) li { + border: 1px solid var(--bg-contrast); +} + +main aside { + margin-top: 10px; + background-color: var(--bg-contrast); + color: var(--text-contrast); + grid-column: 2 / 3; + padding: 10px 20px 30px; +} + +main aside ul { + list-style: inside; + padding-left: 0; +} + +footer { + grid-area: footer; + margin-top: 10px; + margin-bottom: 0; + padding-bottom: 0; + padding-top: 5px; +} + +/*** ornaments ***/ +header p { + position: relative; + border-radius: 0 5px 0 0; +} +header p:after { + content: ""; + display: block; + position: absolute; + width: 100px; + height: 10px; + background: linear-gradient(-90deg, var(--bg-contrast), var(--bg-contrast) 10%, var(--frost-4) 10%, var(--frost-4) 20%, var(--frost-3) 20%, var(--frost-3) 30%, var(--aurora-5) 30%, var(--aurora-5) 40%, var(--aurora-1) 40%, var(--aurora-1) 50%, var(--aurora-2) 50%, var(--aurora-2) 60%, var(--aurora-3) 60%, var(--aurora-3) 70%, var(--aurora-4) 70%, var(--aurora-4) 80%, var(--frost-1) 80%, var(--frost-1) 90%, var(--frost-2) 90%, var(--frost-2)); + top: -5px; + right: -5px; + border: 5px solid var(--bg); + border-radius: 0px 100px 0 100px; +} + +main aside { + position: relative; +} + +main aside { + position: relative; + border-radius: 0 0 0 5px; +} + +main aside:after { + content: ""; + display: block; + position: absolute; + width: 100px; + height: 10px; + background: linear-gradient(-90deg, var(--bg-contrast), var(--bg-contrast) 10%, var(--frost-4) 10%, var(--frost-4) 20%, var(--frost-3) 20%, var(--frost-3) 30%, var(--aurora-5) 30%, var(--aurora-5) 40%, var(--aurora-1) 40%, var(--aurora-1) 50%, var(--aurora-2) 50%, var(--aurora-2) 60%, var(--aurora-3) 60%, var(--aurora-3) 70%, var(--aurora-4) 70%, var(--aurora-4) 80%, var(--frost-1) 80%, var(--frost-1) 90%, var(--frost-2) 90%, var(--frost-2)); + bottom: -5px; + left: -5px; + border: 5px solid var(--bg); + border-radius: 0 200px 0 200px; +} \ No newline at end of file diff --git a/cv/style.css b/cv/style.css new file mode 100644 index 0000000..cceec4d --- /dev/null +++ b/cv/style.css @@ -0,0 +1,352 @@ +:root { + /* Set sans-serif & mono fonts */ + --font-accent: Avenir, Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif; + --font-text: system-ui, sans-serif; + --font-mono: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; + --font-serif: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + + /* Nord palette */ + --aurora-1: #bf616a; + --aurora-2: #d08770; + --aurora-3: #ebcb8b; + --aurora-4: #a3be8c; + --aurora-5: #b48ead; + --frost-1: #8fbcbb; + --frost-2: #88c0d0; + --frost-3: #81a1c1; + --frost-4: #5e81ac; + --snow-1: #d8dee9; + --snow-2: #e5e9f0; + --snow-3: #eceff4; + --nord-1: #2e3440; + --nord-2: #3b4252; + --nord-3: #434c5e; + --nord-4: #4c566a; + + + /* Default (light) theme */ + color-scheme: light; + --bg: var(--snow-3); + --bg-contrast: var(--nord-1); + --bg-light: var(--snow-2); + --text: var(--nord-3); + --text-contrast: var(--snow-2); + --accent: var(--frost-2); + --text-accent: var(--nord-1); +} + +/* Light theme */ +@media (prefers-color-scheme: dark) { + :root { + color-scheme: dark; + --bg: var(--nord-1); + --bg-contrast: var(--nord-4); + --bg-light: var(--nord-2); + --text: var(--snow-3); + --text-contrast: var(--snow-1); + --accent: var(--frost-2); + --text-accent: var(--nord-1); + } +} + +/*** Global design ***/ + +body { + color: var(--text); + font-size: 14px; + font-family: var(--font-text); + line-height: 1.33; + background-color: var(--bg); + margin: 0; +} + +h1, h2, h3, h4, h5, h6 { + font-family: var(--font-accent); + font-variant: small-caps; + font-size: 1.5rem; + letter-spacing: 2px; + transform: scale(1, .8); +} + +a { + color: inherit; +} + +/* Header */ + +header { + margin-top: 2em; +} + +header h1 { + font-weight: 400; + font-size: 1.6em; + letter-spacing: 7px; + line-height: .8; + text-indent: .7em hanging; + text-wrap: nowrap; + white-space: nowrap; + text-align: center; +} + +header h1:first-line { + overflow: hidden; + font-size: 2.6em; + font-weight: 600; + letter-spacing: 1px; +} + +header h2 { + font-size: 2em; + text-align: center; + margin: .5em 1em; +} + + +header ul { + list-style: none; + display: flex; + flex-wrap: wrap; + justify-content: space-evenly; + gap: 1em; + padding: 0; +} + +header ul li { + font-size: 1.1em; + background: var(--bg-light); + padding: .5em; + border-radius: 5px; +} + +header ul li::first-letter{ + padding-right: .5em; +} + + header p { + background-color: var(--accent); + color: var(--text-accent); + padding: 8px; + font-weight: 400; + font-size: 1.2em; + line-height: 1.3; + padding: 1em; +} + +/* Body */ + +main { + padding: 0 1em; +} + +main h2 { + position: relative; + display: flex; + font-size: 2em; + margin-bottom: 0; + white-space: nowrap; +} + +main h2::before { + filter: grayscale(1); + margin-right: .5em; + transform: scaleY(1.2); +} + +main h2::after { + content: ""; + display: inline-block; + border-bottom: 5px solid var(--text); + flex: 1 1 auto; + height: calc(1em - 7px); + margin-left: 5px; +} + + +h2#work::before { + content: "💼"; +} +h2#tech::before { + content: "🔧"; +} +h2#commu::before { + content: "👥"; +} +h2#ref::before { + content: "💬"; +} +h2#perso::before { + content: "🪪"; +} +h2#edu::before { + content: "🎓"; +} +h2#core::before { + content: "🧬"; +} +h2#int::before { + content: "🗡️"; +} + +main article h3:has( ~ h2:nth-of-type(2)) { + font-size: 1.5em; + margin-top: 0; + margin-bottom: 0; +} + +main article h2#work ~ h3+p:has(~h2#tech) { + margin-top: 0; + line-height: 1; +} + +main article h2#work ~ ul:has(~h2#tech) { + display: flex; + list-style: none; + flex-wrap: wrap; + gap: .5em .5em; + padding: 0; + justify-content: flex-start; +} + +main article h2#work ~ ul:has( ~ h2#tech) li { + border: 2px solid var(--bg-contrast); + padding: .3em; + border-radius: 5px; +} + +/* Footer */ + +footer { + margin: 2em; + padding-top: 1em; + text-align: center; + border-top: 1px solid var(--accent); +} + +/** Layout - wide **/ + +@media only screen and (min-width:720px) { + + body { + display: grid; + grid-template-columns: 2fr 1fr; + grid-template-rows: auto auto auto; + grid-template-areas: + "header header" + "main main" + "footer footer"; + font-size: 12px; + } + + header { + grid-area: header; + display: grid; + grid-template-columns: subgrid; + grid-template-rows: repeat(3, auto); + } + + header h1 { + white-space: wrap; + } + + header h2 { + margin: 0em 1em; + } + + header ul { + grid-column: 2 / 3; + grid-row: 1 / 4; + flex-direction: column; + margin-top: 30px; + padding: 1em; + justify-content: flex-start; + } + + header p { + padding: 3em 1em; + margin-bottom: 0; + } + + main { + grid-area: main; + display: grid; + grid-template-columns: subgrid; + grid-template-rows: auto; + padding: 0; + } + + main h2 { + white-space: wrap; + } + + main article { + grid-column: 1 / 2; + padding: 10px 20px; + } + + main aside { + background-color: var(--bg-contrast); + color: var(--text-contrast); + grid-column: 2 / 3; + padding: 10px 20px 50px; + } + + footer { + grid-area: footer; + } + + /*** ornaments ***/ + header p { + position: relative; + border-radius: 0 10px 0 0; + } + header p:after { + content: ""; + display: block; + position: absolute; + width: 200px; + height: 20px; + background: linear-gradient(-90deg, var(--bg-contrast), var(--bg-contrast) 10%, var(--frost-4) 10%, var(--frost-4) 20%, var(--frost-3) 20%, var(--frost-3) 30%, var(--aurora-5) 30%, var(--aurora-5) 40%, var(--aurora-1) 40%, var(--aurora-1) 50%, var(--aurora-2) 50%, var(--aurora-2) 60%, var(--aurora-3) 60%, var(--aurora-3) 70%, var(--aurora-4) 70%, var(--aurora-4) 80%, var(--frost-1) 80%, var(--frost-1) 90%, var(--frost-2) 90%, var(--frost-2)); + top: -10px; + right: -10px; + border: 10px solid var(--bg); + border-radius: 0px 200px 0 200px; + } + + main aside { + position: relative; + } + + + main aside { + position: relative; + border-radius: 0 0 0 10px; + } + + main aside:after { + content: ""; + display: block; + position: absolute; + width: 200px; + height: 20px; + background: linear-gradient(-90deg, var(--bg-contrast), var(--bg-contrast) 10%, var(--frost-4) 10%, var(--frost-4) 20%, var(--frost-3) 20%, var(--frost-3) 30%, var(--aurora-5) 30%, var(--aurora-5) 40%, var(--aurora-1) 40%, var(--aurora-1) 50%, var(--aurora-2) 50%, var(--aurora-2) 60%, var(--aurora-3) 60%, var(--aurora-3) 70%, var(--aurora-4) 70%, var(--aurora-4) 80%, var(--frost-1) 80%, var(--frost-1) 90%, var(--frost-2) 90%, var(--frost-2)); + bottom: -10px; + left: -10px; + border: 10px solid var(--bg); + border-radius: 0 200px 0 200px; + } + +} + +@media screen and (min-width:800px) { + body { + font-size: 14px + } +} + +@media screen and (min-width:1200px) { + body { + max-width: 1200px; + margin: auto; + } +}