From 828122b3b63aeafada36a85add59367e4c5e62cb Mon Sep 17 00:00:00 2001 From: "nicolas.marsal" Date: Wed, 3 Aug 2022 11:25:24 +0200 Subject: [PATCH] feat: polishing and writing --- index.html | 4 +- public/favicon-16x16.png | Bin 0 -> 934 bytes public/favicon-32x32.png | Bin 0 -> 2467 bytes public/favicon.ico | Bin 4286 -> 15406 bytes src/assets/sheets-of-paper-a4.css | 2 +- src/data/experiences.ts | 74 ++++++++++++++++-------------- src/data/informations.ts | 12 ++--- src/data/skills.ts | 6 +++ 8 files changed, 54 insertions(+), 44 deletions(-) create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png diff --git a/index.html b/index.html index f1fa0ed..944ad7d 100644 --- a/index.html +++ b/index.html @@ -2,9 +2,9 @@ - + - CV Nicolas Marsal + Nicolas Marsal
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..8ff6dba53bef4348252759a7133c28a23f380a77 GIT binary patch literal 934 zcmV;X16lluP)Px&U`a$lR5(vXlTl1lR~*K_a|z{wnaVdB}MEdX2mX@vLeGJORUA=ymUySlo9+1V#pU*C`=De;EN^2YAM_m?!9yvI77E>crtSxcpM{Ql|b zmzmliIAS=`zOlaHc=+%E_GtGYncBv3B!b1oMTEm)gdT@5KR1u(FBY)6vO+Z)O>+N% z{X;51mgRg~y=^KISw8Of`@t}bidBXJS7id&*-7E;+bt|DEup%)8s+-(YlILq96VT3 zyKC2b0)X68Uz`Fcg|d-BWc$p}z_NKbZMEX_x;j*SY&@gb;3_FOARaD1oT*6utN8!* zjAcM97DF%?#PIMCy1Kfz1fj8tuq-=fwOSj!<6dkhw-Jp-QMkJhOb$UjE(?E6lAq6xSx;LVouf`PHJw)t(|w>r@6}#(baY^9Y6_RX zyA0DOCX|(xsQ{zVi0GT>i+lI)f2g(~2)x*LwGTF%4U>~MG3s)mwY3$tGdBF#+l%h* zOPH9LP!&}fjo7=d7#7QCLATp&P+D{GJTLb3^`oKTEBJgq5W*l&lMDNmD+oLaAhEfL z+kf0bC=^1afdiA11F=OMb~;Bpvj9Q->E}Vzo~*^SfdRN(E{u$fVD9NtSZXZj`N0l* zPY(h!GpOV;0EffzOzv=XhT9csv*y9)j;rAIxSmIy=8rO%+>OV7J?$*XuD8 z2*AK`C@$V7k9o)IYHLpZt^#;o5P$V}AW3mGL@b++gd}C&F8hWo%i`JG95{|sAW65& zT~T4Em{(2Y`E%mnz#!_+*5lBjQe5il#@FrbNT<{97|qSiIDX;;ID-MEW2T^g`mbYz zVK(2HsI;I2MNv>tP=I(Wo{b;{r38wCaClx-zzf3UxYzq7Aq*u&TJ1-_-MI0+$z9E;ng9R* literal 0 HcmV?d00001 diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..9d7288a2ad25db5c5172fde76e1360e07bfc24bb GIT binary patch literal 2467 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 literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico index df36fcfb72584e00488330b560ebcf34a41c64c2..90fe3c7f3281d1293f8892bb9ec1d42c74f5b08a 100644 GIT binary patch literal 15406 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 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/src/assets/sheets-of-paper-a4.css b/src/assets/sheets-of-paper-a4.css index e360357..7cff6dd 100644 --- a/src/assets/sheets-of-paper-a4.css +++ b/src/assets/sheets-of-paper-a4.css @@ -10,7 +10,7 @@ /* Reflect the paper width in the screen rendering (must match size from @page rule) */ width: 21cm; /* Reflect the paper height in the screen rendering (must match size from @page rule) */ - min-height: 29.7cm; + min-height: 29.6cm; /* Reflect the actual page margin/padding on paper in the screen rendering (must match margin from @page rule) */ padding-left: 0cm; diff --git a/src/data/experiences.ts b/src/data/experiences.ts index 917d869..775ec9e 100644 --- a/src/data/experiences.ts +++ b/src/data/experiences.ts @@ -5,6 +5,7 @@ import { Ansible, Bash, Blend, + Codecept, CSHARP, DevOps, Docker, @@ -15,6 +16,7 @@ import { Gwt, Helm, HtmlCss, + Java, Jee, Jenkins, JUnit, @@ -22,10 +24,12 @@ import { Linux, Pencil, React, + ReactNative, Scrum, Skaffold, SpringBoot, Svn, + Typescript, UIAutomation, UX, WPF, @@ -36,22 +40,30 @@ const experience = (): Experience[] => { company: "Sunday", startAt: 2021, endAt: 2022, - role: "Ingénieur Logiciel Senior", + role: "Développeur Senior Full Stack", missions: [ { - description: - "Conception/Développement/DevOps pour un logiciel de déploiement d'un ERP, avec la création d'une stack dev entièrement sur cluster", - skills: [SpringBoot, React, Kubernetes], + description: "Développement d'une application B2B pour restaurateurs", + skills: [ + SpringBoot, + React, + Java, + Typescript, + Kubernetes, + Docker, + Agility, + DevOps, + ], }, { description: - "Développement d'une application de gestion de compatibilités de versions entre les modules d'un ERP", - skills: [SpringBoot, Angular, Docker, Scrum], + "Développement d'une application mobile à destination des serveurs pour le suivi des paiements", + skills: [ReactNative, SpringBoot, Kubernetes, Docker, Agility], }, { description: - "Diffuseur technique : conception, développement et utilisation d'outils de livraison en production", - skills: [Bash, Ansible, Linux], + "Mise en place de tests E2E performants, fiables et facile à écrire", + skills: [Codecept, Typescript, Agility], }, ], }, @@ -59,21 +71,29 @@ const experience = (): Experience[] => { company: "Mipih", startAt: 2017, endAt: 2021, - role: "Ingénieur Logiciel Senior", + role: "Développeur Senior Full Stack", missions: [ { description: - "Conception/Développement/DevOps pour un logiciel de déploiement d'un ERP, avec la création d'une stack dev entièrement sur cluster", - skills: [SpringBoot, Angular, Kubernetes, Helm, Skaffold, Scrum], + "Développement d'une application de déploiement d'un ERP, avec la gestion d'une stack dev entièrement sur cluster", + skills: [ + SpringBoot, + Angular, + Kubernetes, + Helm, + Skaffold, + Scrum, + DevOps, + ], }, { description: "Développement d'une application de gestion de compatibilités de versions entre les modules d'un ERP", - skills: [SpringBoot, Angular, Docker, Scrum], + skills: [SpringBoot, Angular, Scrum], }, { description: - "Diffuseur technique : conception, développement et utilisation d'outils de livraison en production", + "Support opérationnel et conception d'outils de livraison en production", skills: [Bash, Ansible, Linux], }, ], @@ -82,7 +102,7 @@ const experience = (): Experience[] => { company: "Lyra Network", startAt: 2012, endAt: 2017, - role: "Ingénieur Logiciel", + role: "Développeur Senior", missions: [ { description: @@ -94,10 +114,6 @@ const experience = (): Experience[] => { "Responsable projet : création d'un outil de déploiement d'applications et mise en place de tests sous Docker", skills: [Groovy, JUnit, Docker], }, - { - description: "Responsable Gestion de configuration du service", - skills: [Svn, Git], - }, { description: "Concepteur et développeur UX pour la plateforme de paiement", @@ -109,18 +125,13 @@ const experience = (): Experience[] => { company: "Studec", startAt: 2010, endAt: 2012, - role: "Ingénieur Logiciel", + role: "Leader Technique", missions: [ { description: "Responsable technique du projet @CERES (plateforme de LMS) avec pour mission principale la modernisation du projet", skills: [Jee, ExtJS], }, - { - description: - "Encadrement technique de l'équipe française et de l'équipe indienne", - skills: [], - }, { description: "Mise à niveau de la plateforme en JEE et de l'UX en GWT", @@ -134,31 +145,26 @@ const experience = (): Experience[] => { ], }, { - company: "SOGETI HT", + company: "Sogeti High Tech", startAt: 2006, endAt: 2010, - role: "Ingénieur Logiciel Débutant", + role: "Développeur", missions: [ { description: "UX designer sur un projet pour Dassault Aviation avec de fortes contraintes d'ergonomie et de performances", - skills: [Pencil, Blend], + skills: [Pencil, Blend, UX], }, { description: - "Conception/développement d'un framework graphique pour permettre de répondre aux contraites d'ergonomie de Dassault Aviation", - skills: [DotNET, WPF, CSHARP], + "Développement d'un framework graphique pour permettre de répondre aux contraites d'ergonomie de Dassault Aviation", + skills: [DotNET, WPF, UX, CSHARP], }, { description: "Création d'une application de tests UX automatiques avec une conception basée sur le découplage du scénario, du modèle représentant l'IHM et des données", skills: [UIAutomation, CSHARP], }, - { - description: - "Conception et développement sur un projet de R&D pour l'affichage de jeux de données complexes", - skills: [UX, CSHARP], - }, ], }, ]; diff --git a/src/data/informations.ts b/src/data/informations.ts index 7f9c01f..4e8d1ad 100644 --- a/src/data/informations.ts +++ b/src/data/informations.ts @@ -5,13 +5,11 @@ const informations = (): Information => { firstName: "Nicolas", lastName: "Marsal", title: "Développeur Sénior", - presentation: - "Développeur avec plus de 16 années d'expériences dans la réalisation de\n" + - "projets s'appuyant sur Java et son écosystème, j'ai rajouté une dimension full\n" + - "stack à mes compétences ces dernières années.\n" + - "Adepte du clean code et du refactoring, j'ai à cœur d'écrire du code de qualité\n" + - "et maintenable, si possible en pair programming.\n" + - "La communication est clé dans mes échanges avec mes pairs.", + presentation: `Développeur avec 16 années d'expériences dans la réalisation de clients lourds ou web, initialement + développeur UI, j'ai ensuite pû ajouter à mes compétences le développement de backend, et plus particulièrement le DevOps ces dernières annnées. + Adepte du software craftsmanship, j'ai à coeur de produire et maintenir un code facile à comprendre, modifier ou tester. + La communication est clé dans mes échanges avec mes pairs. + `, email: "nicolas.marsal@gmail.com", address: ["25 rue de la Moselle", "31100 Toulouse"], birthDay: new Date(1982, 11, 3), diff --git a/src/data/skills.ts b/src/data/skills.ts index eebd26a..971d76c 100644 --- a/src/data/skills.ts +++ b/src/data/skills.ts @@ -40,6 +40,7 @@ export const SpringBoot: Skill = { export const Jee: Skill = { name: "JEE", score: 26, parent: [Java] }; export const Gwt: Skill = { name: "GWT", score: 4, parent: [Java, UX] }; export const Typescript: Skill = { name: "Typescript", score: 25 }; +export const Codecept: Skill = { name: "CodeceptJS", score: 25 }; export const Javascript: Skill = { name: "Javascript", score: 19 }; export const Angular: Skill = { name: "Angular", @@ -51,6 +52,11 @@ export const React: Skill = { score: 17, parent: [Typescript, UX], }; +export const ReactNative: Skill = { + name: "React", + score: 17, + parent: [Typescript, UX], +}; export const ExtJS: Skill = { name: "ExtJS", score: 14,