commit 2f798bdd35b44a959bbece4c87a28e2ca2956e0d Author: Yorick Barbanneau Date: Sat Nov 16 17:18:21 2019 +0100 First commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..76aed10 --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +My resume +--------- + +This is my resume writed in LaTeX, it use the [AltaCV][l_alta] template. For now, +there is only a french version. + +## build + +First you need to export a PNG file from the svg one with Inkscape : + +``` +inkscape -C -z --file=svg/souris.svg --export-png=svg/souris.png --export-dpi=300 +``` + +Then export the LaTeX file : + +```shell +lualatex --interaction=nonstopmode resume_fr.tex +``` + +[l_alta]:https://github.com/liantze/AltaCV diff --git a/altacv.cls b/altacv.cls new file mode 100644 index 0000000..b019c58 --- /dev/null +++ b/altacv.cls @@ -0,0 +1,307 @@ +%%%%%%%%%%%%%%%%% +% This is altacv.cls (v1.1.5, 1 December 2018) written by +% LianTze Lim (liantze@gmail.com). +% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% +% Contributions: +% - https://github.com/akreuzer Added ragged2e option (5 Nov 2018) +% - https://github.com/stefanogermano Fixed bad boxes and undefined font shape (July 2018) +% - https://github.com/foohyfooh Fixed blank spaces in \cvevent and bad link in README.md (June 2018) + +%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +%% v1.4: Detect TL2018 to handle accented characters in class information +\@ifl@t@r\fmtversion{2018/04/01}{\UseRawInputEncoding}{} +\ProvidesClass{altacv}[2018/12/01 AltaCV v1.1.5, yet another alternative class for a résumé/curriculum vitae.] + +%% v1.1: Optionally load academicons +\newif\if@academicons +\DeclareOption{academicons}{\@academiconstrue} +%% v1.1.3: Choice of round/square photo +\newif\if@normalphoto +\DeclareOption{normalphoto}{\@normalphototrue} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{extarticle}} +\newif\if@raggedtwoe +\DeclareOption{ragged2e}{\@raggedtwoetrue} +\ProcessOptions\relax + +\LoadClass{extarticle} + +\RequirePackage[margin=2cm]{geometry} +\RequirePackage{fontawesome} +\RequirePackage{ifxetex,ifluatex} +\RequirePackage{scrlfile} + +%% v1.1.5: added for convenience +\newif\ifxetexorluatex +\ifxetex + \xetexorluatextrue +\else + \ifluatex + \xetexorluatextrue + \else + \xetexorluatexfalse + \fi +\fi + +%% v1.1: Optionally load academicons +%% v1.1.5: Handle different versions of academicons +\if@academicons + \ifxetexorluatex + \RequirePackage{fontspec} + %% academicons in TL2018 doesn't require + %% Academicons to be installed in OS fonts + %% so can be loaded directly + \@ifl@t@r\fmtversion{2018/04/01}{% + \RequirePackage{academicons} + }{% + % TL2017 + \@ifl@t@r\fmtversion{2017/04/01}{% + \@ifpackagelater{academicons}{2018/03/01}{% + \RequirePackage{academicons} + }{% + \let\ori@newfontfamily\newfontfamily% + \renewcommand{\newfontfamily}[2]{} + \RequirePackage{academicons} + \let\newfontfamily\ori@newfontfamily + \newfontfamily{\AI}{academicons.ttf} + } + }{% TL2016 requires the package to be loaded before + % the version can be checked. Only added because + % Overleaf v1 still runs TL2016; will be removed + % when v1 is completely retired. + \let\ori@newfontfamily\newfontfamily% + \renewcommand{\newfontfamily}[2]{} + \RequirePackage{academicons} + \let\newfontfamily\ori@newfontfamily + \newfontfamily{\AI}{academicons.ttf} + } + } + \else + \ClassError{AltaCV}{academicons unsupported by latex or pdflatex. Please compile with xelatex or lualatex}{Please compile with xelatex or lualatex to use the academicons option} + \fi +\fi + +\if@raggedtwoe + \RequirePackage[newcommands]{ragged2e} +\fi + +\RequirePackage{xcolor} + +\colorlet{accent}{blue!70!black} +\colorlet{heading}{black} +\colorlet{emphasis}{black} +\colorlet{body}{black!80!white} +\newcommand{\itemmarker}{{\small\textbullet}} +\newcommand{\ratingmarker}{\faCircle} + +\RequirePackage{tikz} +\usetikzlibrary{arrows} +\RequirePackage[skins]{tcolorbox} +\RequirePackage{enumitem} +\setlist{leftmargin=*,labelsep=0.5em,nosep,itemsep=0.25\baselineskip,after=\vskip0.25\baselineskip} +\setlist[itemize]{label=\itemmarker} +\RequirePackage{graphicx} +\RequirePackage{etoolbox} +\RequirePackage{dashrule} +\RequirePackage{multirow,tabularx} +\RequirePackage{changepage} +% \RequirePackage{marginfix} + +\setlength{\parindent}{0pt} +\newcommand{\divider}{\textcolor{body!30}{\hdashrule{\linewidth}{0.6pt}{0.5ex}}\medskip} + +\newenvironment{fullwidth}{% + \begin{adjustwidth}{}{\dimexpr-\marginparwidth-\marginparsep\relax}} + {\end{adjustwidth}} + +\newcommand{\emailsymbol}{\faAt} +\newcommand{\phonesymbol}{\faPhone} +\newcommand{\homepagesymbol}{\faChain} +\newcommand{\locationsymbol}{\faMapMarker} +\newcommand{\linkedinsymbol}{\faLinkedin} +\newcommand{\twittersymbol}{\faTwitter} +\newcommand{\githubsymbol}{\faGithub} +\newcommand{\orcidsymbol}{\aiOrcid} +\newcommand{\mailsymbol}{\faEnvelope} + +\newcommand{\printinfo}[2]{\mbox{\textcolor{accent}{\normalfont #1}\hspace{0.5em}#2\hspace{2em}}} + +\newcommand{\name}[1]{\def\@name{#1}} +\newcommand{\tagline}[1]{\def\@tagline{#1}} +\newcommand{\photo}[2]{\def\@photo{#2}\def\@photodiameter{#1}} +\newcommand{\email}[1]{\printinfo{\emailsymbol}{#1}} +\newcommand{\mailaddress}[1]{\printinfo{\mailsymbol}{#1}} +\newcommand{\phone}[1]{\printinfo{\phonesymbol}{#1}} +\newcommand{\homepage}[1]{\printinfo{\homepagesymbol}{#1}} +\newcommand{\twitter}[1]{\printinfo{\twittersymbol}{#1}} +\newcommand{\linkedin}[1]{\printinfo{\linkedinsymbol}{#1}} +\newcommand{\github}[1]{\printinfo{\githubsymbol}{#1}} +\newcommand{\orcid}[1]{\printinfo{\orcidsymbol}{#1}} +\newcommand{\location}[1]{\printinfo{\locationsymbol}{#1}} + +\newcommand{\personalinfo}[1]{\def\@personalinfo{#1}} + +\newcommand{\makecvheader}{% + \begingroup + \ifdef{\@photodiameter}{\begin{minipage}{\dimexpr\linewidth-\@photodiameter-2em}}{}% + \raggedright\color{emphasis}% + {\Huge\bfseries\MakeUppercase{\@name}\par} + \medskip + {\large\bfseries\color{accent}\@tagline\par} + \medskip + {\footnotesize\bfseries\@personalinfo\par} + \ifdef{\@photodiameter}{% + \end{minipage}\hfill% + \begin{minipage}{\@photodiameter} + \if@normalphoto + \includegraphics[width=\linewidth]{\@photo} + \else + \tikz\path[fill overzoom image={\@photo}]circle[radius=0.5\linewidth]; + \fi% + \end{minipage}\par}{}% + \endgroup\medskip +} + +\renewenvironment{quote}{\color{accent}\itshape\large}{\par} + +\newcommand{\cvsection}[2][]{% + \bigskip% + \ifstrequal{#1}{}{}{\marginpar{\vspace*{\dimexpr1pt-\baselineskip}\raggedright\input{#1}}}% + {\color{heading}\LARGE\bfseries\MakeUppercase{#2}}\\[-1ex]% + {\color{heading}\rule{\linewidth}{2pt}\par}\medskip +} + +\newcommand{\cvsubsection}[1]{% + \smallskip% + {\color{emphasis}\large\bfseries{#1}\par}\medskip +} + +% v1.1.4: fixes inconsistent font size +\newcommand{\cvevent}[4]{% + {\large\color{emphasis}#1\par} + \smallskip\normalsize + \ifstrequal{#2}{}{}{ + \textbf{\color{accent}#2}\par + \smallskip} + \ifstrequal{#3}{}{}{{\small\makebox[0.5\linewidth][l]{\faCalendar\hspace{0.5em}#3}}}% + \ifstrequal{#4}{}{}{{\small\makebox[0.5\linewidth][l]{\faMapMarker\hspace{0.5em}#4}}}\par + \medskip\normalsize +} + +\newcommand{\cvachievement}[3]{% + \begin{tabularx}{\linewidth}{@{}p{2em} @{\hspace{1ex}} >{\raggedright\arraybackslash}X@{}} + \multirow{2}{*}{\Large\color{accent}#1} & \bfseries\textcolor{emphasis}{#2}\\ + & #3 + \end{tabularx}% + \smallskip +} + +\newcommand{\cvtag}[1]{% + \tikz[baseline]\node[anchor=base,draw=body!30,rounded corners,inner xsep=1ex,inner ysep =0.75ex,text height=1.5ex,text depth=.25ex]{#1}; +} + +\newcommand{\cvskill}[2]{% +\textcolor{emphasis}{\textbf{#1}}\hfill +\foreach \x in {1,...,5}{% + \space{\ifnumgreater{\x}{#2}{\color{body!30}}{\color{accent}}\ratingmarker}}\par% +} + +% Adapted from @Jake's answer at http://tex.stackexchange.com/a/82729/226 +\newcommand{\wheelchart}[4][0]{% + \begingroup\centering + \def\innerradius{#3}% + \def\outerradius{#2}% + % Calculate total + \pgfmathsetmacro{\totalnum}{0}% + \foreach \value/\colour/\name in {#4} {% + \pgfmathparse{\value+\totalnum}% + \global\let\totalnum=\pgfmathresult% + }% + \begin{tikzpicture} + + % Calculate the thickness and the middle line of the wheel + \pgfmathsetmacro{\wheelwidth}{\outerradius-\innerradius} + \pgfmathsetmacro{\midradius}{(\outerradius+\innerradius)/2} + \pgfmathsetmacro{\totalrot}{-90 + #1} + + % Rotate so we start from the top + \begin{scope}[rotate=\totalrot] + + % Loop through each value set. \cumnum keeps track of where we are in the wheel + \pgfmathsetmacro{\cumnum}{0} + \foreach \value/\width/\colour/\name in {#4} { + \pgfmathsetmacro{\newcumnum}{\cumnum + \value/\totalnum*360} + + % Calculate the percent value + \pgfmathsetmacro{\percentage}{\value/\totalnum*100} + % Calculate the mid angle of the colour segments to place the labels + \pgfmathsetmacro{\midangle}{-(\cumnum+\newcumnum)/2} + + % This is necessary for the labels to align nicely + \pgfmathparse{ + (-\midangle>180?"west":"east") + } \edef\textanchor{\pgfmathresult} + \pgfmathparse{ + (-\midangle>180?"flush left":"flush right") + } \edef\textalign{\pgfmathresult} + \pgfmathsetmacro\labelshiftdir{1-2*(-\midangle<180)} + + % Draw the color segments. Somehow, the \midrow units got lost, so we add 'pt' at the end. Not nice... + \filldraw[draw=white,fill=\colour] (-\cumnum:\outerradius) arc (-\cumnum:-(\newcumnum):\outerradius) -- + (-\newcumnum:\innerradius) arc (-\newcumnum:-(\cumnum):\innerradius) -- cycle; + + % Draw the data labels + \draw [*-,thin,emphasis] node [append after command={(\midangle:\midradius pt) -- (\midangle:\outerradius + 1ex) -- (\tikzlastnode)}] at (\midangle:\outerradius + 1ex) [xshift=\labelshiftdir*0.5cm,inner sep=1ex, outer sep=0pt, text width=\width,anchor=\textanchor,align=\textalign,font=\small,text=body]{\name}; + % Set the old cumulated angle to the new value + \global\let\cumnum=\newcumnum + } + \end{scope} +% \draw[gray] (0,0) circle (\outerradius) circle (\innerradius); + \end{tikzpicture}\par + \endgroup +} + +\newcommand{\cvref}[3]{% + \smallskip + \textcolor{emphasis}{\textbf{#1}}\par + \begin{description}[font=\color{accent},style=multiline,leftmargin=1.35em] + \item[\normalfont\emailsymbol] #2 + \item[\small\normalfont\mailsymbol] #3 + \end{description} +% \medskip +} + +\newenvironment{cvcolumn}[1]{\begin{minipage}[t]{#1}\raggedright}{\end{minipage}} + +\RequirePackage[backend=biber,style=authoryear,sorting=ydnt]{biblatex} +%% For removing numbering entirely when using a numeric style +% \setlength{\bibhang}{1em} +% \DeclareFieldFormat{labelnumberwidth}{\makebox[\bibhang][l]{\itemmarker}} +% \setlength{\biblabelsep}{0pt} +\defbibheading{pubtype}{\cvsubsection{#1}} +\renewcommand{\bibsetup}{\vspace*{-\baselineskip}} +\AtEveryBibitem{\makebox[\bibhang][l]{\itemmarker}} +\setlength{\bibitemsep}{0.25\baselineskip} + +% v1.1.2: make it easier to add a sidebar aligned with top of next page +\RequirePackage{afterpage} +\newcommand{\addsidebar}[2][]{\marginpar{% + \ifstrequal{#1}{}{}{\vspace*{#1}}% + \input{#2}}% +} +\newcommand{\addnextpagesidebar}[2][]{\afterpage{\addsidebar[#1]{#2}}} + +\AtBeginDocument{% + \pagestyle{empty} + \color{body} + \raggedright +} diff --git a/resume_fr.tex b/resume_fr.tex new file mode 100644 index 0000000..aef7113 --- /dev/null +++ b/resume_fr.tex @@ -0,0 +1,93 @@ +\documentclass[9pt,a4paper,ragged2e]{altacv} +\geometry{left=1cm,right=9cm,marginparwidth=6.8cm,marginparsep=1.2cm,top=1.25cm,bottom=1.25cm} +\setmainfont{Lato} + +\definecolor{ElectricMagenta}{HTML}{F268B3} +\definecolor{ElectricGreen}{HTML}{1CD180} +\definecolor{SlateGrey}{HTML}{2E2E2E} +\definecolor{LightGrey}{HTML}{666666} +\colorlet{heading}{ElectricMagenta} +\colorlet{accent}{ElectricGreen} +\colorlet{emphasis}{LightGrey} +\colorlet{body}{SlateGrey} + +\usepackage{fontawesome5} +\usepackage[pdfborderstyle={/S/U/W .5}, urlbordercolor=ElectricMagenta]{hyperref} + +\renewcommand{\footnotesize}{\fontsize{8pt}{11pt}\selectfont} + +\renewcommand{\itemmarker}{{\small\textbullet}} +\renewcommand{\ratingmarker}{\textbullet} + +\begin{document} +\name{Yorick Barbanneau} +\tagline{Administrateur systèmes spécialisé Open-Source, geek curieux, persévérant et passionné.} +\photo{2.8cm}{svg/souris.png} +\personalinfo{ + \email{ephase@xieme-art.org} + \phone{+(33)6 86 27 42 41} + \mailaddress{22 rue Contrescarpe, entrée A appt. 4, 33000 Bordeaux (FR)} + \printinfo{\faCarSide}{permis B et véhicule} + \printinfo{\faChild}{En union libre, deux enfants} +} + +\begin{fullwidth} +\makecvheader +\end{fullwidth} + +\cvsection[sidebar_page1.tex]{Expériences} + +\cvevent{Technicien informatique}{Centres d'animation de Bordeaux}{depuis 2006}{Bordeaux} +\textit{J'ai en charge le maintien en condition opérationnelle du système + d'information de l'association sous la direction du DSI} +\vspace{5pt} +\begin{itemize} +\item Mise en place de l'infrastructure de gestion du service informatique (Serveur FreeBSD + Jails, Nextcloud, GLPI, Gitea, DokuWiki, Boot PXE) +\item Gestion du parc de serveurs : fichiers (FreeNAS), Web (Debian), Applicatif (Windows Server) +\item Gestion des postes clients (Windows, Linux, MacOS) +\end{itemize} + +\divider + +\cvevent{Accompagnateur TIC}{Centres d'animation de Bordeaux}{1999 -- 2006}{Bordeaux} +\textit{J'avais en charge la gestion technique d'un Espace Culture Multimédia et le + face à face pédagogique} +\vspace{5pt} +\begin{itemize} +\item Maintenance des postes et gestion de serveurs (filtrage fichiers et radio) +\item Animation d'ateliers à destination du public (montage vidéo, dessin par ordinateur, initiation au C ...) +\item Soutien techniques aux animateurs et artistes en résidence +\end{itemize} +\cvsection{Expériences extra-professionnelles} + +\cvevent{Membre fondateur}{Collectif Giroll}{depuis 2006}{Bordeaux} +\textit{Créé en 2006, Giroll pour Gironde Logiciel Libres est un collectif fédéré autour des + Cultures Libres.} - \href{https://www.giroll.org}{giroll.org} +\vspace{5pt} +\begin{itemize} +\item Animation d'ateliers sur des logiciels libres et rédaction de tutoriels (création graphique, gestion de Radio, Réseau TCP-IP) +\item Création et animation d'une émission de Web-Radio +\item Organisation d'événements autour des Cultures Libres +\end{itemize} + +\divider + +\cvevent{Artiste Multimédia}{Compagnie Gigacircus}{depuis 2005}{Villefagnan} +\textit{Croisement d’artistes polyvalents, Gigacircus relie les arts numériques + à l’espace public ou naturel, tout en nourrissant une dynamique + interculturelle sur des problématiques d’art anthropologique.} - \href{https://gigacircus.net}{gigacircus.net} +\vspace{5pt} +\begin{itemize} +\item{Participation au processus de création de la compagnie} +\item{Résidences (création et diffusion) en France et au Mexique} +\item{Gestion du site Internet et des documents} +\end{itemize} + +\cvsection{Divers} + +je suis un amateur de jeux-vidéo, en ce moment c'est \textit{Knight and Bike} +de Foam Sword. J'aime passer derrière les fourneaux. J'écris parfois sur mon blog lorsque j'en +ai le temps. Mon livre du moment est \textit{Bulletproof SSL and TLS} +d'Ivan Ristic. + +\end{document} diff --git a/sidebar_page1.tex b/sidebar_page1.tex new file mode 100644 index 0000000..798c9fd --- /dev/null +++ b/sidebar_page1.tex @@ -0,0 +1,55 @@ + +\cvsection{Formation} + +\cvevent{Licence Professionelle ADSILLH}{Université de Bordeaux}{2018-2021}{} +\textit{J'ai choisi de reprendre mes édudes afin de valider et consolider mes + connaissances dans l'administration de systèmes Open Source. } + +\divider + +\cvevent{BTS informatique de gestion}{Lycée Bertran de Born}{1999}{Périgueux} +\textit{option dévellopeur d'applications} + +\cvsection{Compétences} + +\cvskill{Python, bash, powershell}{4} +\cvskill{HTML, CSS}{4} +\cvskill{SQL}{3} +\cvskill{C}{2} + +\divider + +\cvskill{Réseaux TCP/IP}{4} +\cvskill{OpenLDAP, Postgre}{3} +\cvskill{SaltStack, Bind9}{2} +\cvskill{Suite Telegraf}{2} + +\divider + +\cvskill{Jails BSD, conteneurs LXC}{3} +\cvskill{KVM, virt-manager}{3} + +\divider + +\cvskill{GIMP, Inkscape, Scribus}{4} +\cvskill{Mutt, vim}{4} + +\cvsection{Langues} +\cvskill{Français - langue maternelle}{5} + +\divider + +\cvskill{Anglais lu}{4} +\cvskill{Anglais écris et parlé}{3} + +\divider + +\cvskill{Espagnol}{2} + +\cvsection{En savoir plus} + +\fontsize{8pt}{10pt}\selectfont +{\homepage{\href{https://xieme-art.org/}{xieme-art.org}}}\\ +{\printinfo{\faMastodon}{\href{https://toots.aquilenet.fr/@ephase}{@ephase@toot.aquilenet.fr}}}\\ +{\printinfo{\faGitSquare}{\href{https://git.epha.se/ephase}{git.epha.se}}}\\ +{\github{\href{https://github.com/ephase/}{ephase}}\\ diff --git a/svg/souris.svg b/svg/souris.svg new file mode 100644 index 0000000..ed26978 --- /dev/null +++ b/svg/souris.svg @@ -0,0 +1,340 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file