Créer un CV élégant avec Latex et moderncv

Le CV (curriculum vitae) est très important pour la recherche d’emploi et doit être irréprochable. L’un des éléments les plus difficile pour faire un CV est la mise en forme. La plupart du temps, on passe un temps fou sur Word pour créer la mise en page adéquate et on est obligé de tout refaire lorsque le logiciel change de version (j’exagère à peine).J’ai trouvé un élément de réponse à cette problématique de la mise en forme : Latex (prononcer « latèque »). Latex est un langage permettant de créer des documents sans se soucier de la mise en forme. La simplicité de ce langage et la qualité des documents générés ont fait que c’est l’outil majoritairement utilisé pour la rédaction des thèses et tous les autres papiers important destiné à être publiés. Un autre avantage de Latex est la rétro-compatibilité, autrement dit vos documents ne changent pas de forme avec les mises à jours du logiciel.

Cependant, nativement, Latex n’est pas très pratique pour rédiger des CV modernes. Heureusement, quelqu’un a créé un plugin (l’équivalent d’une extension) permettant de créer des CV très professionnel, très facilement. Ce plugin (une classe de documents pour être précis) s’appelle moderncv. Par exemple, voici à quoi ressemble mon CV (version pdf ici) :

CV latex avec moderncv

Exemple de mon CV généré avec moderncv

Comment ça fonctionne?

Je vous rassure, vous n’avez pas besoin d’apprendre à utiliser Latex pour faire votre CV. Vous avez besoin d’installer un environnement Latex (c’est-à-dire un éditeur et un compilateur). Pour cela, je vous recommande un chapitre particulier du tutoriel pour apprendre Latex sur le siteduzero : installer Latex (tous les systèmes d’exploitation sont traités).

Installer moderncv

Ensuite, vous devez installer le package moderncv. Pour cela, vous avez 2 grandes approches :

  • L’installation propre, au sein de votre logiciel. Pour cela, je vous invite à faire une recherche
  • La méthode « quick and dirty » que je vous explique.

Pour la méthode « quick and dirty », il suffit de télécharger le pachage modernCV à cette adresse (onglet « download » sur la gauche). Ensuite, vous dézipper l’archives et vous placer tous les fichiers « .sty » dans le même répertoire que votre projet (votre fichier .tex).

Il est possible qu’il manque certain fichier sty (des dépendances de moderncv). Dans ce cas, le plus simple (mais toujours aussi « dirty ») consiste à faire une recherche google sur le fichier .sty manquant pour le télécharger. Vous allez souvent tomber sur ce site donc vous pouvez commencer par là pour vos recherches.

Rédiger votre CV

Pour rédiger votre CV en langage Tex, le plus simple est de s’inspirer de l’exemple très exhaustif que l’auteur de l’extension propose. Vous allez voir, c’est assez intuitif comme syntaxe, vous n’avez pas besoin d’apprendre Latex. Cependant, si vous souhaitez apprendre ce langage, je vous conseille le tutoriel sur le siteduzero qui donne une bonne base.

Un guide rapide pour moderncv

Update du 10/01/12. Je vais essayer d’expliquer rapidement la plupart des options disponibles dans le package. Mes explications sont entièrement tirés de l’exemple officiel, donc aller directement à la source si vous voulez en apprendre davantage.

\documentclass[11pt,a4paper]{moderncv}

Cette première ligne permet de définir le format de votre document. Ici on précise que l’on veut faire un document « moderncv », avec une taille par défaut pour le texte (11pt), format papier A4. Vous pouvez agrandir ou rétrécir le texte en modifiant la valeur (10,11 ou 12pt sont les valeurs possibles selon la documentation), changer le format du papier (ex: letterpaper, landscape) et même changer la police d’écriture utilisée (en ajoutant « sans » ou « roman » comme troisième paramètres entre crochet).

% ma préférence en terme de design
\moderncvtheme[blue]{classic}
% d'autres valeurs possibles
\moderncvstyle{casual}
\moderncvstyle{oldstyle}
\moderncvstyle{banking}
% une autre manière de définir la couleur
\moderncvcolor{orange}
% couleurs possibles : 'blue' (par defaut),
% 'orange', 'green', 'red', 'purple', 'grey' et 'black'

Ces lignes définissent le style (la mise en forme) de votre CV. Personnellement, j’ai une grosse préférence pour « classic » en bleu, mais je vous recommande d’expérimenter, car votre CV change radicalement en modifiant seulement cette option (regardez les exemples à la fin de cet article).

\usepackage[top=1.1cm, bottom=1.1cm, left=2cm, right=2cm]{geometry}
% Largeur de la colonne pour les dates
\setlength{\hintscolumnwidth}{2.5cm}

La première ligne permet d’utiliser le package geometry. Dans Latex, ce package permet de contrôler les marges de votre document. Dans mon cas, j’ai décidé de les réduire un peu pour éviter d’avoir un CV sur plusieurs pages.

La seconde ligne permet de modifier la largeur de la colonne des dates (la colonne de gauche).

% Une entête classique
\firstname{Prénom}
\familyname{Nom}
\title{Votre titre (étudiant ou le job désiré)}
\address{adresse}{code postal et ville}
\email{votre@email.tld}
\homepage{www.votre-site-web.com}
\mobile{06 00 00 00 00}
\extrainfo{une ligne de votre choix, exemple age/permis}
% d'autres valeurs possibles
\phone{00 00 00 00 00}
\fax{00 00 00 00 00}
\extrainfo{infos supplémentaires, ce que vous voulez}
\photo[64pt][0.4pt]{votre_photo}
\quote{une citation}

Le code précédent permet de créer l’entête de votre CV avec votre nom et vos coordonnées. Il n’y a rien de compliquer à comprendre, sachez seulement que vous pouvez ajouter des lignes supplémentaires (exemple concret : pour préciser votre situation ou dire que vous avez le permis) avec \extrainfo.

Je ne suis pas un grand fan des photos dans les CV, mais vous pouvez l’ajouter avec \photo. Je vous recommande 64*64pt pour la taille et vous précisez entre accolade le nom de votre fichier (vous ne préciser pas l’extension). Ce fichier doit se trouver dans le même répertoire que votre projet latex.

\section{Une section}
% pour votre cursus scolaire
\cventry{année--année}{Diplome}{Institution}{Ville}{\textit{Classe}}{Description}
% les {} 3 à 6 sont optionnelles
% exemple
\cventry{2012 -- 2013}{Licence Professionnelle}{IUT Clermont-Ferrand (63)}{}{}{Spécialité Administration et Sécurité des Réseaux}
% pour une expérience pro
\cventry{année--année}{Titre de l'emploi}{Employeur}{Ville}{}{Description de 1 ou 2 lignes.\newline{}%
% exemple avec une liste (un peu plus complexe)
\cventry{Avril 2012\\à Octobre 2012}{Administrateur systèmes}{Vesalis}{Clermont-Ferrand}{France}{
\begin{itemize}%
\item Mise en place d'une solution de répartition de charge sur un serveur IBM Blade Center (~6 serveurs),
\item Proposition d'une architecture de haute disponibilité (HA),
\item Changement d'hébergeur, réinstallation de toutes les applications et services sur un serveur Windows Server 2008 R2
(configuration d'un SVN, serveur web, base de données, FTP),
\item Adaptation du code des applications de la société pour le rendre compatible Linux.\newline{}
\end{itemize}}
  • Une « section » permet d’ajouter une grande partie à votre CV. Par exemple, vous aurez une section pour votre cursus scolaire, une autre pour votre expérience etc…
  • Un utilise une « cventry » pour ajouter une école (une étape de votre cursus scolaire plutôt), ou une expérience professionnelle (stage, emploi).
% plein de choses différentes pour présenter vos compétences
\cvitemwithcomment{Compétence}{Niveau}{Commentaire}
\cvdoubleitem{Categorie 1}{XXX, YYY, ZZZ}{Categorie 2}{XXX, YYY, ZZZ}
\cvitem{Quelque chose}{Description}
% une liste
\cvlistitem{Item 1}
\cvlistitem{Item 2}
\cvlistitem{Item 3}
% une double liste
\cvlistdoubleitem{Item 1}{Item 3}
\cvlistdoubleitem{Item 2}{Item 4}

Vous avez plein d’éléments différents pour présenter vos compétences dans votre CV. Ci-dessous, vous avez un rendu Latex du code précédent, avec le thème « classic/blue » (« A picture is worth a thousand words » comme on dit) :

Rendu du code précédent avec Latex et Moderncv

Rendu du code précédent avec Latex et Moderncv

Des exemples concrets

Voici quelques exemples concrets de CV utilisant Latex avec ModernCV :

N’hésitez pas à poster vos CV dans vos commentaires avec les sources pour encourager d’autres personnes à faire de même !

23 réflexions au sujet de « Créer un CV élégant avec Latex et moderncv »

  1. Merci, tout est parfaitement bien expliqué, pour les dernières infos, j’avais utilisé un exemple avec des commandes du style cvlanguage ou cvcomputer mais j’avais des problèmes de mise en page.

  2. Ping : La typographie c’est la vie… | The place to avoid

  3. Bonjour,

    Merci, très bon article. Actuellement je fais des modifications directement sur ton fichier source (.Tex). Mais j’ai un problème, je n’arrive pas à afficher mes publications. J’ai utilisé \bibentry mais ça donne rien, pas d’erreur, mais aucune publication affichée.

    Si vous avez des solutions je suis preneur.

    Merci d’avance

  4. Bonjour,

    Je souhaite utiliser ce joli paquet mais je rencontre des problèmes à la compilation. Il me manque le fichier ‘xparse.sty’.
    J’ai essayé de mettre à jour mon miktex, de récupérer le code du fichier pour l’ajouter à mon répertoire courant, de télécharger le paquet duquel il fait nativement parti d’après CTAN… mais rien n’y fait.

    si vous avez une idée de la manière de résoudre ce problème je vous en serai reconnaissant.

    Cordialement

    • Bonjour Antoine,

      Je suis désolé, mais je n’ai pas de réponse à ce problème. Chaque fois que j’ai eu des fichiers manquants, je me suis contenté de la méthode « bourin », c’est à dire télécharger le sty et le mettre dans mon projet, mais apparemment c’est déjà fait. Mon premier réflexe dans ce cas, serait de vérifier si le logiciel recherche bien des .sty dans le dossier du projet, si ça se trouve non.

    • Même problème pour moi : à la compilation, TeXMaker me dit qu’il manque xparse.sty, et me propose de le télécharger. Evidemment j’accepte, mais je reçois automatiquement un message d’erreur me disant que xparse.sty est toujours manquant et que la compilation n’a pas pu se faire.
      J’ai également téléchargé la version la plus récente possible de TeXMaker, essayé de télécharger « manuellement » le fichier qui manque, mais rien ne fonctionne…
      C’est vraiment dommage parce que la présentation est géniale…

  5. Bonjour à toutes et à tous,

    Je vous remercie pour l’article et les » templates » mis à la disposition des internautes.
    Toutesfois, j’ai une question à vous poser, la compilation de fichier *.tex ne s’exucute pas et s’est dû à un fichier *.sty manquant!
    Je sollicite votre aide et vous remercie pour éventuelles ripostes.

    Bien cordialement

    • Bonjour Soumeya,

      C’est « normal », j’ai eu le même problème. Ma solution est plutôt « quick and dirty », ça consiste à recherche le fichier .sty manquant sur google et à l’ajouter dans le dossier du projet. Au bout d’un moment (après 5-6 fichiers manquants) la compilation fonctionnera.

      Pour faire ça proprement, il faudra installer les fichiers .sty dans un dossier spécial utilisé par le programme tex et le compilateur.

  6. Bonjour, très bon article pour la prise en main facile du package.
    Toutefois j’aurais bien aimé ajouter un pagination, avec un numérotage de page a mon CV et je n’y arrive pas avec les commandes habituelles.
    Y’a t-il un manipulation spéciale a faire ou faut t-il modifier le package à la racine pour « récupérer » cette option ?

    Merci d’avance

  7. Bonjour ou bonsoir…
    « Il est important de savoir dire merci ». C’est sur ce conseil de ma mère que je vous jette des fleurs et que je vous lance tous les applaudissements pour ce que vous faites sur ce site. Du fond du coeur je vous témoigne ici toute ma gratitude. Tout est bien expliqué, le look est réussi et il est facile de se retrouver.

    Once again, thanks…

  8. Bonjour,

    Est-il possible de supprimer les numéros de page ?
    Cela peut être utile pour l’envoi d’un CV seul (ou de la lettre de motivation seulement).

    Merci d’avance.

  9. Bonjour,
    Super tutoriel merci. Toutefois je n’arrive pas à transformer mon fichier en pdf. J’ai installé texnicenter comme recommandé sur le tuto du site du zéro. J’ai aussi ghostscript mais je n’arrive pas à l’utiliser.

    Merci d’avance

  10. Bonjour,

    j’ai repris le templaté de ce CV en LaTeX pour mettre en forme le mien de manière semblable, toutefois je ne parviens pas à obtenir les petites icônes pour le téléphone et le mail par exemple. J’ai à la place un « H » pour le téléphone et un « B » pour le mail. As-tu une idée de la source du problème ?

    Merci 🙂

  11. Bizarre que les espacements entre les titres et les paragraphes soient si mal gérés. :O

    À part ça, très beau CV. 😉

    • Édition : j’ai compris en regardant le code, un « newline » trainait au mauvais endroit. 🙂

      Encore une fois, merci d’avoir mis les modèles de CV en licence libre, c’est un beau geste que j’apprécie. 😉

  12. Bonjour, à partir de la 3ème entrée sur l’expérience, je n’arrive pas à continuer, le format de texte n’est plus respecté 🙁
    http://puu.sh/2NX93.png

    Sauriez-vous comment insérer toutes mes formations? (Dû aux nombreux échanges universitaires…)

  13. Bonjour,

    Petite question, ayant découvert très récemment cette classe LaTeX, ayant décider de jeter un œil aux possibilités pour les CV/Lettres de motivation vu l’utilité que ça peut avoir.

    La partie CV fonctionne très bien et ne m’a pas causé de « problème ». J’aurais en revanche aimer utiliser également la partie lettre. Celle-ci n’est malheureusement pas très conforme aux « standards » en cours en France niveau présentation (à ma connaissance tout du moins, je peux me tromper), de plus que cela laisse un bas de page un peu vide en cas de lettre « concise ».

    Donc si quelqu’un aurait des informations par rapport à ça, s’il avait trouvé quelque chose…. 🙂

    PS : Je sais qu’il existe d’autres classes plus dédiées aux lettres (bien que je n’ai pas spécialement d’exemple en tête), mais j’aurais voulu conserver une uniformité entre le CV et la lettre. (Je suis preneur d’autres informations qui pourraient être utiles niveau lettre(s) !)

  14. Bonjour,

    Tout d’abord merci pour ce travail remarquable !!

    J’ai utilisé votre exemple (source tex, classic bleu) disponible ci-dessus.
    Cependant, lorsque je compile tout va bien mais aucun pdf n’est produit et je ne peut rien visualiser ! Avez-vous une solution pour moi svp?

    Je vous remercie d’avance.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *