<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Quoc-Kim BUI</title>
    <description>The latest articles on DEV Community by Quoc-Kim BUI (@spewq).</description>
    <link>https://dev.to/spewq</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3270270%2F27b48ce2-24c5-47b0-b89c-d413072ae041.png</url>
      <title>DEV Community: Quoc-Kim BUI</title>
      <link>https://dev.to/spewq</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/spewq"/>
    <language>en</language>
    <item>
      <title>📑 #HackAVP CV Generator, la solution de préparation de candidature</title>
      <dc:creator>Quoc-Kim BUI</dc:creator>
      <pubDate>Sat, 17 Oct 2026 03:31:46 +0000</pubDate>
      <link>https://dev.to/spewq/hackavp-cv-generator-la-solution-de-preparation-de-candidature-1p30</link>
      <guid>https://dev.to/spewq/hackavp-cv-generator-la-solution-de-preparation-de-candidature-1p30</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;👉 Lancement du hackathon : &lt;a href="https://dev.to/adriens/hackavp-premier-hackathon-dedie-a-lemploi-dans-la-fonction-publique-en-ncl-3oj0"&gt;#HackAVP, premier hackathon dédié à l'emploi dans la fonction publique en NCL&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/adriens/hackavp-premier-hackathon-dedie-a-lemploi-dans-la-fonction-publique-en-ncl-3oj0" class="crayons-story__hidden-navigation-link"&gt;🏆 #HackAVP, premier hackathon dédié à l'emploi dans la fonction publique en NCL&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/adriens" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F446871%2F3e9ded5c-f368-4906-a277-35e56c9f97a7.png" alt="adriens profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/adriens" class="crayons-story__secondary fw-medium m:hidden"&gt;
              adriens
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                adriens
                
                
              
              &lt;div id="story-author-preview-content-4400434" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/adriens" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F446871%2F3e9ded5c-f368-4906-a277-35e56c9f97a7.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;adriens&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/adriens/hackavp-premier-hackathon-dedie-a-lemploi-dans-la-fonction-publique-en-ncl-3oj0" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Aug 26&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/adriens/hackavp-premier-hackathon-dedie-a-lemploi-dans-la-fonction-publique-en-ncl-3oj0" id="article-link-4400434"&gt;
          🏆 #HackAVP, premier hackathon dédié à l'emploi dans la fonction publique en NCL
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/hackathon"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;hackathon&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/career"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;career&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/hackavp"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;hackavp&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/adriens/hackavp-premier-hackathon-dedie-a-lemploi-dans-la-fonction-publique-en-ncl-3oj0" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;6&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/adriens/hackavp-premier-hackathon-dedie-a-lemploi-dans-la-fonction-publique-en-ncl-3oj0#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              25&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            14 min read
          &lt;/small&gt;
          
          &lt;div class="only-sidebar-menu-item trusted-visible-block print-hidden align-center"&gt;
                
                    
                
          &lt;/div&gt;

        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;





&lt;h2&gt;
  
  
  ▶️ TL;DR
&lt;/h2&gt;

&lt;p&gt;Si vous avez 5 minutes devant vous :&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/sNb1rM0gVDE" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  💼 Un &lt;strong&gt;lagon&lt;/strong&gt; d'offres d'AVPs
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://opt-nc.github.io/odata-avps/stats/index.html" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4wfazt8ytj7oventiysy.png" alt="Offres ouvertes par famille métier, mois par mois"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://opt-nc.github.io/odata-avps/stats/index.html" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Focfphd5kkmawpnzh68xr.png" alt="Offres ouvertes par métier mois par mois"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vous êtes &lt;strong&gt;calédonien(ne)&lt;/strong&gt; et vous voulez &lt;strong&gt;travailler dans la fonction publique&lt;/strong&gt; pour contribuer au développement du Caillou ? Ça tombe bien, nous avons une &lt;strong&gt;bonne nouvelle&lt;/strong&gt; à vous partager : le lagon est &lt;a href="https://opt-nc.github.io/odata-avps/stats/index.html" rel="noopener noreferrer"&gt;&lt;strong&gt;riche en avis de vacance de poste&lt;/strong&gt;&lt;/a&gt; (AVPs). Mais qui dit bonne nouvelle d'un côté dit mauvaise nouvelle de l'autre. &lt;/p&gt;

&lt;h2&gt;
  
  
  📜 Trouver l'AVP qui vous correspond, une analogie à l'aventure ?
&lt;/h2&gt;

&lt;p&gt;Chaque AVP, c’est une &lt;strong&gt;quête complexe en trois niveaux&lt;/strong&gt; qui peut vite décourager si elle est mal préparée : il faut réaliser un &lt;strong&gt;CV&lt;/strong&gt; qui vous décrit au mieux pour ce poste, rédiger une &lt;strong&gt;lettre de motivation&lt;/strong&gt; qui répond aux attentes de l’AVP, puis affronter le boss final tant redouté : &lt;strong&gt;l’entretien.&lt;/strong&gt; Et tout ça, pour chaque offre.&lt;/p&gt;

&lt;p&gt;Le &lt;strong&gt;HackAVP&lt;/strong&gt;, premier hackathon dédié à &lt;strong&gt;l'emploi dans la fonction publique&lt;/strong&gt;, propose comme défi de &lt;strong&gt;développer une solution&lt;/strong&gt; utilisant les &lt;strong&gt;données d'AVPs&lt;/strong&gt; mises à disposition par &lt;strong&gt;l'OPT-NC&lt;/strong&gt; pour que le candidat puisse postuler à &lt;strong&gt;THE AVP&lt;/strong&gt; qui lui correspond !&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Comment accomplir cette quête de l'AVP idéal ?
&lt;/h2&gt;

&lt;p&gt;C'est là que &lt;strong&gt;CV Generator&lt;/strong&gt; entre en scène, notre solution pour la préparation de candidature qui s'inscrit dans le projet global &lt;strong&gt;Jobmatch NC&lt;/strong&gt; proposé par notre Master MIAGE :&lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/maud_granger_nc/jobmatch-nc-quand-linteroperabilite-devient-plus-quun-defi-technique-1ma" class="crayons-story__hidden-navigation-link"&gt;#HackAVP JOBMATCH NC : quand l'interopérabilité devient plus qu'un défi technique&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/maud_granger_nc" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4195180%2Fdf339e0f-064d-44d9-b9b2-312cf52d6c74.jpg" alt="maud_granger_nc profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/maud_granger_nc" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Maud Granger
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Maud Granger
                
                
              
              &lt;div id="story-author-preview-content-4880801" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/maud_granger_nc" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4195180%2Fdf339e0f-064d-44d9-b9b2-312cf52d6c74.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Maud Granger&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/maud_granger_nc/jobmatch-nc-quand-linteroperabilite-devient-plus-quun-defi-technique-1ma" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 20&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/maud_granger_nc/jobmatch-nc-quand-linteroperabilite-devient-plus-quun-defi-technique-1ma" id="article-link-4880801"&gt;
          #HackAVP JOBMATCH NC : quand l'interopérabilité devient plus qu'un défi technique
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/hackavp"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;hackavp&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/interoperability"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;interoperability&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/api"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;api&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/projectmanagement"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;projectmanagement&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/maud_granger_nc/jobmatch-nc-quand-linteroperabilite-devient-plus-quun-defi-technique-1ma" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;13&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/maud_granger_nc/jobmatch-nc-quand-linteroperabilite-devient-plus-quun-defi-technique-1ma#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              5&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            8 min read
          &lt;/small&gt;
          
          &lt;div class="only-sidebar-menu-item trusted-visible-block print-hidden align-center"&gt;
                
                    
                
          &lt;/div&gt;

        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://dev.to/maud_granger_nc/jobmatch-nc-quand-linteroperabilite-devient-plus-quun-defi-technique-1ma"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj4rbarytba1gnqv0cxeg.png" alt="Logo de Jobmatch NC"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9cr3lc96zstz5t0zel4y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9cr3lc96zstz5t0zel4y.png" alt="Schéma global de Jobmatch NC"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📑 La promesse de CV Generator
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsln1w5uywqdowxky7nzy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsln1w5uywqdowxky7nzy.png" alt="Schéma du fonctionnement de CV Generator"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🛤️ Souveraineté et track choisie
&lt;/h2&gt;

&lt;p&gt;CV Generator est une solution &lt;strong&gt;&lt;code&gt;onPrem&lt;/code&gt; souveraine&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pas de cloud lointain ici : il tourne sur un PC fixe, posé en Nouvelle-Calédonie, dans notre cas équipé d’une &lt;strong&gt;RTX 5080&lt;/strong&gt;. Il peut être sur le matériel de votre choix dont vous disposez et que vous pouvez upgrader en fonction de vos moyens et ambitions. Votre profil ne quitte pas le Caillou.&lt;/p&gt;

&lt;h2&gt;
  
  
  👩🏻‍💻 L'épopée de Camille Molette, candidate fictive en quête de la candidature pour l'AVP idéal (parcours utilisateur)
&lt;/h2&gt;

&lt;p&gt;Pour que vous ayez un aperçu concret de comment se déroule &lt;strong&gt;CV Generator&lt;/strong&gt;, nous allons vous raconter l'histoire de &lt;strong&gt;Camille Molette&lt;/strong&gt; : &lt;/p&gt;

&lt;p&gt;Camille est assistante qualité chez Entreprise Ethernet (fictive). Elle participe à l'amélioration des processus internes de son entreprise, et c'est quelqu'un qui aime quand c'est organisé. Elle possède une page JSON Resume.&lt;/p&gt;

&lt;p&gt;Cependant, elle souhaite &lt;strong&gt;élargir ses horizons métiers&lt;/strong&gt; en décidant de postuler à un emploi dans la fonction publique, via un AVP de l'OPT-NC. Elle a alors utilisé &lt;a href="https://faucontower.tailc3c864.ts.net:8443" rel="noopener noreferrer"&gt;l'interface web CV Generator&lt;/a&gt; : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;D'abord, Camille donne son CV &lt;a href="https://jsonresume.org/" rel="noopener noreferrer"&gt;au format &lt;strong&gt;JSON Resume&lt;/strong&gt;.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Ensuite, elle renseigne un &lt;strong&gt;numéro&lt;/strong&gt; d'AVP.&lt;/li&gt;
&lt;li&gt;Puis, elle &lt;strong&gt;choisit le document&lt;/strong&gt; à générer (CV, lettre ou guide d'entretien) et suit son statut en temps réel.&lt;/li&gt;
&lt;li&gt;Après, Camille retrouve ses documents dans &lt;strong&gt;l'historique&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enfin, elle télécharge le résultat en &lt;strong&gt;DOCX, adoc, md&lt;/strong&gt; ou le prévisualise en &lt;strong&gt;PDF&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/drive/folders/1X-YqC9b_xPNxvZQBHAPo7j6FlnyzJaEn?usp=sharing" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmi1oumhvzhjvtnlhg9wq.png" alt="Extrait du CV de Camille Molette"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🗂️ &lt;a href="https://drive.google.com/drive/folders/1X-YqC9b_xPNxvZQBHAPo7j6FlnyzJaEn?usp=sharing" rel="noopener noreferrer"&gt;Google Drive du JSON Resume de Camille, et des documents générés pour les curieux&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Armée&lt;/strong&gt; de ses trois atouts (CV, Lettre de motivation et guide d'entretien), elle est prête à faire face à l'ultime obstacle : l'entretien ! 👔&lt;/p&gt;

&lt;h2&gt;
  
  
  📊 Les données ouvertes de l'OPT-NC au cœur de CV Generator
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4613to8xhpcyuknj6ais.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4613to8xhpcyuknj6ais.png" alt="Portail APIGEE public de l'OPT-NC"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://apigee-optnc-prd-api.apigee.io/apis" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;apigee-optnc-prd-api.apigee.io&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Le numéro d'AVP vient du portail &lt;strong&gt;APIGEE&lt;/strong&gt; public de l'OPT-NC.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://dev.to/adriens/series/21192"&gt;(Série d'articles APIGEE dédiée)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sa récupération se fait grâce au flux suivant : &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fms6bl1kneburwdh8g6ox.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fms6bl1kneburwdh8g6ox.png" alt="Workflow Master MIAGE"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/jocc0/cv-matching-le-bon-profil-preuves-a-lappui-hackavp-4oh8" class="crayons-story__hidden-navigation-link"&gt;#HackAVP CV-Matching : le bon profil, preuves à l'appui&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/jocc0" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4181199%2Fad7745ca-425b-4beb-b8a5-da99fb2bf014.jpg" alt="jocc0 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/jocc0" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Jo Biden
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Jo Biden
                
                
              
              &lt;div id="story-author-preview-content-4880425" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/jocc0" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4181199%2Fad7745ca-425b-4beb-b8a5-da99fb2bf014.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Jo Biden&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/jocc0/cv-matching-le-bon-profil-preuves-a-lappui-hackavp-4oh8" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 20&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/jocc0/cv-matching-le-bon-profil-preuves-a-lappui-hackavp-4oh8" id="article-link-4880425"&gt;
          #HackAVP CV-Matching : le bon profil, preuves à l'appui
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/hackavp"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;hackavp&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/hackathon"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;hackathon&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/jocc0/cv-matching-le-bon-profil-preuves-a-lappui-hackavp-4oh8" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;8&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/jocc0/cv-matching-le-bon-profil-preuves-a-lappui-hackavp-4oh8#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              6&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            8 min read
          &lt;/small&gt;
          
          &lt;div class="only-sidebar-menu-item trusted-visible-block print-hidden align-center"&gt;
                
                    
                
          &lt;/div&gt;

        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;blockquote&gt;
&lt;p&gt;Les &lt;strong&gt;numéros d'AVPs&lt;/strong&gt; adaptés au profil candidat sont issus de &lt;a href="https://dev.to/jocc0/cv-matching-le-bon-profil-preuves-a-lappui-hackavp-4oh8"&gt;&lt;strong&gt;CV-Matching&lt;/strong&gt;&lt;/a&gt;, une autre solution développée par un de nos camarades du Master MIAGE qui permet de trouver ces AVPs via un &lt;strong&gt;scoring.&lt;/strong&gt; L'explication du score et les forces et écarts du candidat sont détaillés dans &lt;strong&gt;CV-Matching.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🏢 Architecture
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhpvu9nirjuy63k982zuf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhpvu9nirjuy63k982zuf.png" alt="Architecture technique de CV Generator"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🤖 Le LLM et le prompt
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;On utilise un serveur &lt;a href="https://github.com/ggml-org/llama.cpp" rel="noopener noreferrer"&gt;&lt;strong&gt;llama.cpp&lt;/strong&gt;&lt;/a&gt; qui expose une API compatible OpenAI avec le modèle &lt;strong&gt;Qwen3&lt;/strong&gt;, un modèle &lt;strong&gt;Open Source&lt;/strong&gt; sur Hugging Face.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://huggingface.co/ggml-org/Qwen3-14B-GGUF" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-thumbnails.huggingface.co%2Fsocial-thumbnails%2Fmodels%2Fggml-org%2FQwen3-14B-GGUF.png" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://huggingface.co/ggml-org/Qwen3-14B-GGUF" rel="noopener noreferrer" class="c-link"&gt;
            ggml-org/Qwen3-14B-GGUF · Hugging Face
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Machine learning model with 15B parameters. Download, explore files and run it on Hugging Face.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
          huggingface.co
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Chaque document a son prompt dédié afin de rendre la génération la plus précise et adaptée possible à l'AVP de vos rêves !&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🛠️ Qualité, tests et déploiement
&lt;/h2&gt;

&lt;p&gt;Avant que vous puissiez affronter l'entretien, on vérifie que l’équipement qu'on vous a fourni tient la route :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tests automatisés :&lt;/strong&gt; &lt;code&gt;pytest&lt;/code&gt; rejoue nos scénarios à chaque changement, et &lt;code&gt;ruff&lt;/code&gt; formate et vérifie le code pour qu’il reste propre et lisible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validation sélective :&lt;/strong&gt; la CI GitHub Actions ne relance que les suites concernées par les fichiers modifiés. Comme un joueur qui ne refait que le niveau qu’il vient de changer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Un seul coffre pour tout transporter :&lt;/strong&gt; CV Generator est conteneurisé et se déploie avec Docker Compose (local et production). Les images sont publiées sur &lt;strong&gt;GHCR&lt;/strong&gt;, et chaque release est versionnée.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔐 Sécurité et données personnelles
&lt;/h2&gt;

&lt;p&gt;Préparer sa candidature c'est une quête certes, mais avec CV Generator, c'est dans un cadre sécurisé : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;L'accès est contrôlé et sécurisé par la &lt;strong&gt;clé API&lt;/strong&gt; (&lt;code&gt;X-API-Key&lt;/code&gt;) qui empêche chaque client de  fouiner dans les documents des autres.&lt;/li&gt;
&lt;li&gt;Un document inexistant ou appartenant à un autre client renvoie une erreur 404 dans les deux cas.&lt;/li&gt;
&lt;li&gt;Votre JSON Resume n'est ni exposé par l'API de statut ni destiné aux journaux.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Aujourd'hui&lt;/strong&gt;, il y'a une clé API qui &lt;strong&gt;contrôle les accès&lt;/strong&gt; à CV Generator et simplifie le travail côté &lt;strong&gt;interopérabilité&lt;/strong&gt; au sein de notre Master MIAGE. &lt;strong&gt;Plus tard&lt;/strong&gt;, une connexion via &lt;strong&gt;NC connect&lt;/strong&gt; est envisageable.&lt;/p&gt;

&lt;h2&gt;
  
  
  👥 Qui sommes-nous ?
&lt;/h2&gt;

&lt;p&gt;Nous sommes un duo d'étudiants du &lt;strong&gt;Master MIAGE&lt;/strong&gt; à &lt;a href="https://iae.unc.nc/" rel="noopener noreferrer"&gt;l'IAE de Nouvelle-Calédonie&lt;/a&gt; : &lt;strong&gt;Quoc-Kim&lt;/strong&gt; BUI (plus communément Kim) et &lt;strong&gt;Anthony&lt;/strong&gt; GASS. On s'est réparti les &lt;strong&gt;tâches&lt;/strong&gt; de cette manière :&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Kim&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Anthony&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gestion de projet&lt;/td&gt;
&lt;td&gt;Conception architecture technique&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tests&lt;/td&gt;
&lt;td&gt;Développement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Digital design&lt;/td&gt;
&lt;td&gt;Maintenance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Communication&lt;/td&gt;
&lt;td&gt;Sécurité&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Grâce à cette répartition, on a pu s'organiser du mieux possible pour vous offrir un arsenal technique et humain afin d'affronter l'entretien dans les meilleures conditions. ⚔︎&lt;/p&gt;

&lt;p&gt;Vous pouvez nous retrouver sur :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LinkedIn : &lt;a href="https://www.linkedin.com/in/quoc-kim-bui-70aa6121a/" rel="noopener noreferrer"&gt;Kim&lt;/a&gt; / &lt;a href="https://www.linkedin.com/in/anthony-gass-2b77a5300/" rel="noopener noreferrer"&gt;Anthony&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub : &lt;a href="https://github.com/SpewQ" rel="noopener noreferrer"&gt;Kim&lt;/a&gt; / &lt;a href="https://github.com/gass-an" rel="noopener noreferrer"&gt;Anthony&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(Lors du HackAVP, nous étions respectivement chez &lt;a href="https://apid.nc" rel="noopener noreferrer"&gt;APID&lt;/a&gt; et la &lt;a href="https://www.province-sud.nc" rel="noopener noreferrer"&gt;Province Sud&lt;/a&gt;.)&lt;/p&gt;

&lt;h2&gt;
  
  
  🌟 Conclusion
&lt;/h2&gt;

&lt;p&gt;Merci à &lt;strong&gt;l'OPT-NC&lt;/strong&gt;, à la &lt;strong&gt;Station N&lt;/strong&gt; et à la &lt;strong&gt;commission Data &amp;amp; IA d'OPEN NC&lt;/strong&gt; de nous avoir donné la possibilité d'exploiter des données interopérables afin qu'on puisse proposer une solution qui répond à de vrais enjeux de l'emploi calédonien dans la fonction publique.&lt;/p&gt;

&lt;h2&gt;
  
  
  📚 Ressources
&lt;/h2&gt;

&lt;p&gt;Pour les développeurs curieux :&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/gass-an" rel="noopener noreferrer"&gt;
        gass-an
      &lt;/a&gt; / &lt;a href="https://github.com/gass-an/CV-Generator" rel="noopener noreferrer"&gt;
        CV-Generator
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Projet on-premise permettant de générer des CV, des lettres de motivation et des documents de préparation aux entretiens à partir d'un AVP de l'OPT-NC. Développé dans le cadre du Master MIAGE pour le HackAVP 2026.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/gass-an/CV-Generator/generatorweb-service/public/logos/CV_Generator.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fgass-an%2FCV-Generator%2FHEAD%2Fgeneratorweb-service%2Fpublic%2Flogos%2FCV_Generator.png" alt="Logo CV-Generator" width="150"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;CV-Generator&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;
  Des candidatures adaptées aux offres de l’OPT, avec une IA exécutée localement
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/gass-an/CV-Generator/releases/latest" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/a9a2d5d1426749a15b630c17bd90bcb1b6b1e99240e590885b85789332e12d6a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f676173732d616e2f43562d47656e657261746f723f7374796c653d666c61742d737175617265266c6162656c3d76657273696f6e26636f6c6f723d363336366631" alt="Dernière version"&gt;
  &lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/943c83d121a63d0281fe5331ef1152a7fb0064cc2ec4a9e1178ecc1a75fc2d7d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f49412d6c6f63616c652d3130623938313f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/943c83d121a63d0281fe5331ef1152a7fb0064cc2ec4a9e1178ecc1a75fc2d7d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f49412d6c6f63616c652d3130623938313f7374796c653d666c61742d737175617265" alt="IA locale"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d075c43a442a7e7748b986d7513249ac94c237cb6ff65c42aaaea982240c0449/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4578706f7274732d504446253230254332254237253230444f43582532302543322542372532304173636969446f632532302543322542372532304d61726b646f776e2d3362383266363f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/d075c43a442a7e7748b986d7513249ac94c237cb6ff65c42aaaea982240c0449/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4578706f7274732d504446253230254332254237253230444f43582532302543322542372532304173636969446f632532302543322542372532304d61726b646f776e2d3362383266363f7374796c653d666c61742d737175617265" alt="Formats disponibles"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/gass-an/CV-Generator#fonctionnalit%C3%A9s" rel="noopener noreferrer"&gt;Fonctionnalités&lt;/a&gt; ·
  &lt;a href="https://github.com/gass-an/CV-Generator#installation-et-documentation" rel="noopener noreferrer"&gt;Installation&lt;/a&gt; ·
  &lt;a href="https://github.com/gass-an/CV-Generator#architecture" rel="noopener noreferrer"&gt;Architecture&lt;/a&gt; ·
  &lt;a href="https://github.com/gass-an/CV-Generator/releases" rel="noopener noreferrer"&gt;Versions&lt;/a&gt;
&lt;/p&gt;




&lt;p&gt;CV-Generator génère des &lt;strong&gt;CV&lt;/strong&gt;, des &lt;strong&gt;lettres de motivation&lt;/strong&gt; et des
&lt;strong&gt;guides de préparation à l’entretien&lt;/strong&gt; adaptés à un avis de vacance de
poste (AVP) de l’OPT, à partir des informations fournies dans un
&lt;strong&gt;JSON Resume&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Le modèle de langage est exécuté localement avec &lt;strong&gt;llama.cpp&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Fonctionnalités&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Trois types de documents&lt;/strong&gt; : CV, lettre de motivation et préparation à l’entretien.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Candidatures ciblées&lt;/strong&gt; : génération à partir du profil JSON Resume et de l’AVP sélectionné.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aperçu intégré&lt;/strong&gt; : consultation du PDF avant téléchargement.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quatre formats d’export&lt;/strong&gt; : PDF, DOCX, AsciiDoc et Markdown.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Historique des générations&lt;/strong&gt; : consultation des documents et filtrage par AVP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Administration privée&lt;/strong&gt; : gestion des clés API et suivi de l’activité.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Installation et documentation&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Guide&lt;/th&gt;
&lt;th&gt;Contenu&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/gass-an/CV-Generator/deploy/README.md" rel="noopener noreferrer"&gt;Déploiement Docker&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Installation de production et configurations Docker&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/gass-an/CV-Generator/generator-service/README.md" rel="noopener noreferrer"&gt;Backend et API&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/gass-an/CV-Generator" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Rendez-vous le &lt;strong&gt;4 novembre à Tech&amp;amp;Co&lt;/strong&gt; pour la remise des prix !&lt;/p&gt;

&lt;p&gt;Et vous, quel est le &lt;strong&gt;pire moment&lt;/strong&gt; de cette fameuse quête de la &lt;strong&gt;candidature&lt;/strong&gt; : le CV, la lettre ou l’entretien ? 👇&lt;/p&gt;

</description>
      <category>hackavp</category>
      <category>hackathon</category>
      <category>ai</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
