aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@chimrod.com>2015-10-03 12:43:37 +0200
committerSébastien Dailly <sebastien@chimrod.com>2015-10-03 12:43:37 +0200
commit9193be4390de89b9614ef0fe5d5a13d999e146a1 (patch)
treebb63d7a86205bd10d30cf4d83f2bf9ec8ba1728e
parent27a6d44cbca5286ce9b6dcc9132a3519d0b6e526 (diff)
moderncv with rst
-rw-r--r--content/Informatique/2015-10-03-moderncv.rst170
-rw-r--r--content/images/cv/exemple.pngbin0 -> 109427 bytes
-rw-r--r--content/resources/cv.tar.gzbin0 -> 5644 bytes
-rwxr-xr-xtheme/static/css/main.css4
4 files changed, 171 insertions, 3 deletions
diff --git a/content/Informatique/2015-10-03-moderncv.rst b/content/Informatique/2015-10-03-moderncv.rst
new file mode 100644
index 0000000..d337c6a
--- /dev/null
+++ b/content/Informatique/2015-10-03-moderncv.rst
@@ -0,0 +1,170 @@
+.. -*- mode: rst -*-
+.. -*- coding: utf-8 -*-
+
+=====================
+Se faire un CV en rst
+=====================
+
+:date: 2015-10-03
+:tags: reStructuredText, Libre
+:summary: |summary|
+
+|summary|
+
+.. |summary| replace::
+
+ Je n'en fini plus de proposer le format rst à toutes les sauces. Cette
+ fois-ci je vous propose d'écrire votre CV en rst, et donner le rendu à
+ latex via moderncv pour obtenir un rendu qui sort du lot.
+
+Moderncv
+========
+
+moderncv est une classe latex (entendre au sens *template*), qui permet de
+présenter et mettre en forme le CV simplement. Une image valant mieux qu'un
+long discours, ça donne un résultat comme celui-ci :
+
+.. image:: {filename}/images/cv/exemple.png
+
+
+Le but est de séparer la mise en forme du contenu, en déclarant à travers
+quelques balises quelles sont éléments à afficher sur le cv.
+
+Voici quelques exemples de rendu possible avec la classe :
+
+
+* `thème banking rouge`_
+* `thème casual orange`_
+* `thème classic vert`_
+* `thème fancy mauve`_
+* `thème oldstyle gris`_
+
+.. _thème banking rouge: https://github.com/xdanaux/moderncv/blob/master/examples/template_banking_red.pdf
+.. _thème casual orange: https://github.com/xdanaux/moderncv/blob/master/examples/template_casual_orange.pdf
+.. _thème classic vert: https://github.com/xdanaux/moderncv/blob/master/examples/template_classic_green.pdf
+.. _thème fancy mauve: https://github.com/xdanaux/moderncv/blob/master/examples/template_fancy_purple.pdf
+.. _thème oldstyle gris: https://github.com/xdanaux/moderncv/blob/master/examples/template_oldstyle_grey.pdf
+
+
+Alors quand on latex on dit simplement, en vérité ça veut dire ça :
+
+.. code-block:: latex
+
+ \section{Education}
+ \cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
+ \cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
+
+ \section{Master thesis}
+ \cvitem{title}{\emph{Title}}
+ \cvitem{supervisors}{Supervisors}
+ \cvitem{description}{Short thesis abstract}
+
+La version RST
+==============
+
+Ce que je propose, c'est de l'écrire comme ça :
+
+
+.. code-block:: reStructuredText
+
+ Formation
+ ---------
+
+ :2008:
+
+ **Mon dernier diplôme** — *Université de France*
+
+ après j'ai arrêté.
+
+ :2006:
+
+ **Un autre diplôme** — *Université de Navarre*
+
+ il faut que j'aille le chercher depuis ce temps…
+
+ :2005:
+
+ **Encore un** — *Université*
+
+ mention « Assez bien »
+
+
+Avouez que c'est quand même plus simple !
+
+Comment faire
+=============
+
+Compilation latex
+-----------------
+
+Pour commencer, assurez-vous que vous pouvez produire le CV à partir du code latex.
+
+.. code-block:: console
+
+ $ wget http://blog.madrzejewski.com/wp-content/uploads/2013/01/moderncv-official-example.txt
+ $ pdflatex moderncv-official-example.txt
+
+Si tout va bien, vous devriez avoir votre pdf généré dans le répertoire.
+
+Quelques problèmes :
+
+**command not found: pdflatex** : pdflatex n'est pas installé. Il va vous
+falloir installer toute l'architecture : texlive_, `texlive-latex-extra`_,
+`texlive-fonts-extra`_ et je conseille aussi `texlive-xelatex`_.
+
+**LaTeX Error File `fontawesome.sty` not found** : il vous manque la police
+awesome. Dans debian, elle est disponible dans le paquet
+`texlive-fonts-extra`_.
+
+.. _texlive: https://packages.debian.org/sid/texlive
+.. _texlive-xelatex: https://packages.debian.org/sid/texlive-xelatex
+.. _texlive-latex-extra: https://packages.debian.org/sid/texlive-latex-extra
+.. _texlive-fonts-extra: https://packages.debian.org/sid/texlive-fonts-extra
+.. _texlive-fonts-extra: https://packages.debian.org/sid/texlive-fonts-extra
+
+docutils
+--------
+
+Ensuite assurez de disposer de docutils_ pour pouvoir lancer rst2latex :
+
+.. code-block:: console
+
+ $ rst2latex -V
+ rst2latex (Docutils 0.12 [release], Python 2.7.10, on linux2)
+
+.. _docutils: https://packages.debian.org/sid/python3-docutils
+
+C'est parti !
+-------------
+
+.. figure:: {filename}/images/package-x-generic.png
+ :figclass: floatleft
+ :alt: get the file
+ :target: {filename}/resources/cv.tar.gz
+
+ Télécharger
+
+Vous trouverez dans l'archive un Makefile et l'exemple qui m'a servi à écrire
+illustrer l'article. Il suffit de lancer `make` pour produire le pdf du CV,
+plus un exemple de lettre d'accompagnement.
+
+Tous les fichiers `.rst` qui sont présent dans le répertoire où est lancé la
+commande seront automatiquement convertis en pdf.
+
+.. admonition:: Attention
+
+ Le Makefile est configuré pour lancer xelatex au lieu de pdflatex
+ (meilleure gestion des polices). Il faut changer la première ligne du fichier
+ si vous souhaiter utiliser un autre moteur de rendu.
+
+Comment ça marche ?
+===================
+
+En fait, la classe `moderncv` utilise des directives qui ne sont pas standard par
+mettre le cv en forme. Par conséquent, il n'est pas possible de l'utiliser
+directement avec `rst2latex`. On est obligé de construire son propre writer pour
+pouvoir produire une sortie qui soit compatible, c'est ce qui est contenu dans
+le fichier `bin/moderncv.py` de l'archive. (Je détaillerai comment se
+construire ses propres classes si on me le demande.)
+
+Voilà, il ne reste plus qu'à faire le votre !
diff --git a/content/images/cv/exemple.png b/content/images/cv/exemple.png
new file mode 100644
index 0000000..8f8917b
--- /dev/null
+++ b/content/images/cv/exemple.png
Binary files differ
diff --git a/content/resources/cv.tar.gz b/content/resources/cv.tar.gz
new file mode 100644
index 0000000..8b14e38
--- /dev/null
+++ b/content/resources/cv.tar.gz
Binary files differ
diff --git a/theme/static/css/main.css b/theme/static/css/main.css
index 0d05438..8dabecf 100755
--- a/theme/static/css/main.css
+++ b/theme/static/css/main.css
@@ -94,6 +94,7 @@ pre, blockquote {
pre {
font-size: medium;
+ overflow:auto; max-width:650px
}
table {
@@ -225,7 +226,6 @@ div#page {
}
nav#cssmenu {
- width: 100%;
padding-top: 2px;
padding-bottom: 2px;
}
@@ -257,7 +257,6 @@ div#page {
}
section#content img {
- max-width: 100%;
max-height: 100%;
}
@@ -308,7 +307,6 @@ div#page {
}
#content>nav.pagination {
- width: 100%;
font-size: 14px;
text-align: center;
}